1 2010-11-18 Alexander Pavlov <apavlov@chromium.org>
3 Reviewed by Pavel Feldman.
5 [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
6 https://bugs.webkit.org/show_bug.cgi?id=49656
8 Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
10 * bindings/scripts/CodeGeneratorV8.pm:
12 2010-11-18 Nikolas Zimmermann <nzimmermann@rim.com>
14 Reviewed by Dirk Schulze.
16 Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
17 https://bugs.webkit.org/show_bug.cgi?id=49580
19 SVGPathElement.cloneNode loses generated pathSegList
20 https://bugs.webkit.org/show_bug.cgi?id=43388
22 SVG Path elements are not correctly updated through pathSegList manipulation on relative values
23 https://bugs.webkit.org/show_bug.cgi?id=30219
25 Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
26 https://bugs.webkit.org/show_bug.cgi?id=19741
28 SVGPathElement should only build SVGPathSeg* list on demand
29 https://bugs.webkit.org/show_bug.cgi?id=10827
31 Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
32 svg/dom/SVGPathSegList-appendItem.xhtml
33 svg/dom/SVGPathSegList-clear-and-initialize.xhtml
34 svg/dom/SVGPathSegList-cloning.html
35 svg/dom/SVGPathSegList-insertItemBefore.xhtml
36 svg/dom/SVGPathSegList-removeItem.xhtml
37 svg/dom/SVGPathSegList-replaceItem.xhtml
38 svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
39 svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
40 svg/dom/SVGPathSegList-segment-modification.svg
42 Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
43 Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
44 and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
45 themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
46 and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
48 Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
49 to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
50 if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
51 the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
52 Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
53 String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
55 As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
56 concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
58 * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
59 * CMakeLists.txt: Ditto.
60 * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
61 * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
62 * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
63 * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
64 * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
65 * WebCore.pro: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
66 * WebCore.vcproj/WebCore.vcproj: Ditto.
67 * WebCore.xcodeproj/project.pbxproj: Ditto.
68 * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
69 * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
70 (WebCore::setDOMException):
71 * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
72 * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
74 * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
75 * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
76 * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
77 * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
78 * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
79 * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
80 (WebCore::operator<<):
81 * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
82 * svg/SVGAnimatedPathData.cpp: Removed.
83 * svg/SVGAnimatedPathData.h: Removed.
84 * svg/SVGAnimatedPathData.idl: Removed.
85 * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
86 (WebCore::SVGPathElement::SVGPathElement):
87 (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
88 (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
89 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
90 (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
91 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
92 (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
93 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
94 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
95 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
96 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
97 (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
98 (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
99 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
100 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
101 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
102 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
103 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
104 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
105 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
106 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
107 (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
108 (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
109 (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
110 (WebCore::SVGPathElement::synchronizeD): Added.
111 (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
112 (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
113 (WebCore::SVGPathElement::animatedPathSegList): Ditto.
114 (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
115 (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
116 (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
117 * svg/SVGPathElement.h: Add new accessors...
118 (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
119 (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
120 * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
121 * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
122 (WebCore::globalSVGPathSegListBuilder):
123 (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
124 (WebCore::SVGPathParserFactory::buildPathFromByteStream):
125 (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
126 (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
127 (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
128 (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
129 (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
130 * svg/SVGPathParserFactory.h:
131 * svg/SVGPathSeg.cpp: Removed.
132 * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
133 (WebCore::SVGPathSeg::SVGPathSeg):
134 * svg/SVGPathSeg.idl: Reindented.
135 * svg/SVGPathSegArc.cpp: Removed.
136 * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
137 * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
138 * svg/SVGPathSegArcRel.idl: Ditto.
139 * svg/SVGPathSegClosePath.cpp: Removed.
140 * svg/SVGPathSegClosePath.h:
141 * svg/SVGPathSegCurvetoCubic.cpp: Removed.
142 * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
143 * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
144 * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
145 * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
146 * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
147 * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
148 * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
149 * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
150 * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
151 * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
152 * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
153 * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
154 * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
155 * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
156 * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
157 * svg/SVGPathSegLineto.cpp: Removed.
158 * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
159 * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
160 * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
161 * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
162 * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
163 * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
164 * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
165 * svg/SVGPathSegLinetoVertical.cpp: Removed.
166 * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
167 * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
168 * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
169 * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
170 (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
171 (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
172 * svg/SVGPathSegList.h:
173 (WebCore::SVGPathSegList::SVGPathSegList):
174 * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed.
175 * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
176 (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
177 (WebCore::SVGPathSegListBuilder::moveTo):
178 (WebCore::SVGPathSegListBuilder::lineTo):
179 (WebCore::SVGPathSegListBuilder::lineToHorizontal):
180 (WebCore::SVGPathSegListBuilder::lineToVertical):
181 (WebCore::SVGPathSegListBuilder::curveToCubic):
182 (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
183 (WebCore::SVGPathSegListBuilder::curveToQuadratic):
184 (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
185 (WebCore::SVGPathSegListBuilder::arcTo):
186 (WebCore::SVGPathSegListBuilder::closePath):
187 * svg/SVGPathSegListBuilder.h: Ditto.
188 (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
189 (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
190 (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
191 (WebCore::SVGPathSegListBuilder::cleanup):
192 * svg/SVGPathSegListSource.cpp: Ditto.
193 (WebCore::SVGPathSegListSource::SVGPathSegListSource):
194 (WebCore::SVGPathSegListSource::parseSVGSegmentType):
195 (WebCore::SVGPathSegListSource::nextCommand):
196 (WebCore::SVGPathSegListSource::parseMoveToSegment):
197 (WebCore::SVGPathSegListSource::parseLineToSegment):
198 (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
199 * svg/SVGPathSegListSource.h: Ditto.
200 (WebCore::SVGPathSegListSource::create):
201 * svg/SVGPathSegMoveto.cpp: Removed.
202 * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
203 * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
204 * svg/SVGPathSegMovetoRel.idl: Ditto.
205 * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
206 (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
207 (WebCore::SVGPathSegWithContext::animatedProperty):
208 (WebCore::SVGPathSegWithContext::setContextAndRole):
209 (WebCore::SVGPathSegWithContext::commitChange):
210 (WebCore::SVGPathSegSingleCoordinate::x):
211 (WebCore::SVGPathSegSingleCoordinate::setX):
212 (WebCore::SVGPathSegSingleCoordinate::y):
213 (WebCore::SVGPathSegSingleCoordinate::setY):
214 (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
215 * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added.
216 (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
217 (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
218 (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
219 (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
220 (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
221 * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
222 (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
223 (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
224 (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
225 (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
226 (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
227 * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
228 (WebCore::SVGPathSegListPropertyTearOff::create):
229 (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
230 (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
231 (WebCore::SVGPathSegListPropertyTearOff::initialize):
232 (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
233 (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
234 (WebCore::SVGPathSegListPropertyTearOff::appendItem):
235 (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
236 (WebCore::SVGPathSegListPropertyTearOff::commitChange):
237 (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
239 2010-11-18 Mario Sanchez Prada <msanchez@igalia.com>
241 Reviewed by Martin Robinson.
243 [Gtk] atk_text_get_selection returns the wrong offsets after a link
244 https://bugs.webkit.org/show_bug.cgi?id=49514
246 Consider possible embedded objects to calculate startOffset.
248 So far we were using offsetInContainerNode() to calculate the
249 value of startOffset when checking the offsets for the current
250 selection, which was wrong because that wouldn't work ok if any
251 embedded object was present in the paragraph before the
252 selection. Thus, we need to consider this fact when calculating
253 the startOffset from the point of view of the object this function
254 is called on, in order to return the right and actual values.
256 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
257 (getSelectionOffsetsForObject): Check range length from the first
258 position in the object the function is called on until the first
259 position of current selection, and use it as startOffset.
261 2010-11-12 Stephen White <senorblanco@chromium.org>
263 Reviewed by Simon Fraser.
265 Fix for multiple urls in a background-image causing repeated repaints.
266 https://bugs.webkit.org/show_bug.cgi?id=42390
268 Change the key of RenderBoxModelObject's LastPaintSizeMap to include
269 the layer of the element being drawn, so that the same URL used
270 repeated in the same background-image, or another element's
271 background-image, can be uniquely identified. The layer is a void
272 pointer, since it is only used as part of the key and using a
273 void pointer will discourage dereferencing it. This pointer is NULL
274 when called from RenderImage (<img> elements).
276 Covered by fast/backgrounds/size/contain-and-cover.html
278 * rendering/RenderBoxModelObject.cpp:
279 (WebCore::ImageQualityController::keyDestroyed):
280 The old objectDestroyed() is renamed to keyDestroyed().
281 (WebCore::ImageQualityController::objectDestroyed):
282 The new objectDestroyed() iterates over all outstanding resizes
283 to remove any resizes pertaining to this object.
284 (WebCore::ImageQualityController::highQualityRepaintTimerFired):
285 Retrieve the RenderBoxModelObject from the pair's "first" member.
286 (WebCore::ImageQualityController::shouldPaintAtLowQuality):
287 Create a key from the {object, layer} pair, and use it to access
288 the repaint size map.
289 (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
290 Plumb the layer through to the image quality controller.
291 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
292 Pass the bgLayer when checking
293 * rendering/RenderBoxModelObject.h:
294 Add the void* layer parameter to shouldPaintAtLowQuality.
295 * rendering/RenderImage.cpp:
296 (WebCore::RenderImage::paintIntoRect):
297 Pass 0 (null) for the layer parameter in this case.
299 2010-11-18 Chris Rogers <crogers@google.com>
301 Reviewed by Dimitri Glazkov.
303 Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
304 https://bugs.webkit.org/show_bug.cgi?id=49557
306 No new tests since audio API is not yet implemented.
308 * platform/chromium/ChromiumBridge.h:
310 2010-11-17 Sheriff Bot <webkit.review.bot@gmail.com>
312 Unreviewed, rolling out r72228.
313 http://trac.webkit.org/changeset/72228
314 https://bugs.webkit.org/show_bug.cgi?id=49712
316 Caused many >10 regressions on Win and Linux gpu layout test
317 runs. (Requested by dave_levin on #webkit).
319 * html/canvas/WebGLFramebuffer.cpp:
320 (WebCore::WebGLFramebuffer::onAccess):
321 (WebCore::WebGLFramebuffer::initializeRenderbuffers):
322 * html/canvas/WebGLFramebuffer.h:
323 * html/canvas/WebGLRenderingContext.cpp:
324 (WebCore::WebGLRenderingContext::clear):
325 (WebCore::WebGLRenderingContext::copyTexImage2D):
326 (WebCore::WebGLRenderingContext::copyTexSubImage2D):
327 (WebCore::WebGLRenderingContext::drawArrays):
328 (WebCore::WebGLRenderingContext::drawElements):
329 (WebCore::WebGLRenderingContext::readPixels):
330 (WebCore::WebGLRenderingContext::texImage2DBase):
332 2010-11-17 Sheriff Bot <webkit.review.bot@gmail.com>
334 Unreviewed, rolling out r72243.
335 http://trac.webkit.org/changeset/72243
336 https://bugs.webkit.org/show_bug.cgi?id=49710
338 Seemed to cause a large set of Chromium layout test to start
339 failing. (Requested by dave_levin on #webkit).
341 * bindings/v8/V8NPUtils.cpp:
342 (WebCore::convertV8ObjectToNPVariant):
344 2010-11-17 Adam Roben <aroben@apple.com>
346 Fix Acid3 in Safari for Windows
348 Reviewed by Dave Hyatt.
350 * platform/graphics/win/SimpleFontDataWin.cpp:
351 (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
352 if we have a font size of 0.
354 2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
356 Reviewed by Darin Adler.
358 Converge means of querying a parent node into one way, which is Node::parentNode.
359 https://bugs.webkit.org/show_bug.cgi?id=49686
361 No change in behavior, so no new tests.
363 * accessibility/AccessibilityObject.cpp:
364 (WebCore::renderListItemContainerForNode): Changed to use parentNode.
365 * accessibility/AccessibilityRenderObject.cpp:
366 (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
367 (WebCore::siblingWithAriaRole): Ditto.
368 (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
369 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
370 * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
371 (blockquoteLevel): Ditto.
372 * bindings/v8/V8GCController.cpp:
373 (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
374 * dom/ContainerNode.cpp: Ditto.
375 (WebCore::ContainerNode::insertBefore): Ditto.
376 (WebCore::ContainerNode::insertBeforeCommon): Ditto.
377 (WebCore::ContainerNode::replaceChild): Ditto.
378 (WebCore::ContainerNode::removeChild): Ditto.
379 (WebCore::ContainerNode::appendChild): Ditto.
380 (WebCore::ContainerNode::parserAddChild): Ditto.
381 * dom/DocumentType.cpp:
382 (WebCore::DocumentType::insertedIntoDocument): Ditto.
384 (WebCore::Element::computeInheritedLanguage): Ditto.
385 * dom/MouseRelatedEvent.cpp:
386 (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
388 (WebCore::Position::isCandidate): Changed to use parentNode.
389 * dom/PositionIterator.cpp:
390 (WebCore::PositionIterator::isCandidate): Ditto.
391 * editing/AppendNodeCommand.cpp:
392 (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
393 * editing/ApplyStyleCommand.cpp:
394 (WebCore::dummySpanAncestorForNode): Ditto.
395 (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
396 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
397 (WebCore::highestEmbeddingAncestor): Ditto.
398 (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
399 (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
400 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
401 * editing/CompositeEditCommand.cpp:
402 (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
403 * editing/DeleteSelectionCommand.cpp:
404 (WebCore::updatePositionForNodeRemoval): Ditto.
405 * editing/Editor.cpp:
406 (WebCore::Editor::textDirectionForSelection): Ditto.
407 * editing/MergeIdenticalElementsCommand.cpp:
408 (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
409 * editing/htmlediting.cpp:
410 (WebCore::isEmptyTableCell): Ditto.
411 * editing/markup.cpp:
412 (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
413 * editing/visible_units.cpp:
414 (WebCore::previousLinePosition): Ditto.
415 (WebCore::nextLinePosition): Ditto.
416 * html/HTMLAreaElement.cpp:
417 (WebCore::HTMLAreaElement::imageElement): Ditto.
418 * html/HTMLElement.cpp:
419 (WebCore::HTMLElement::setOuterHTML): Ditto.
420 (WebCore::HTMLElement::insertAdjacent): Ditto.
421 (WebCore::HTMLElement::supportsFocus): Ditto.
422 * html/HTMLEmbedElement.cpp:
423 (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
424 (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
425 * html/HTMLTableElement.cpp:
426 (WebCore::HTMLTableElement::insertRow): Ditto.
427 * html/HTMLTableRowsCollection.cpp: Ditto.
428 (WebCore::isInHead): Ditto.
429 (WebCore::isInBody): Ditto.
430 (WebCore::isInFoot): Ditto.
431 (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
432 * html/HTMLViewSourceDocument.cpp:
433 (WebCore::HTMLViewSourceDocument::addRange): Ditto.
434 * html/MediaDocument.cpp:
435 (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
436 * html/parser/HTMLConstructionSite.cpp:
437 (WebCore::HTMLConstructionSite::attach): Ditto.
438 (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
439 * html/parser/HTMLTreeBuilder.cpp:
440 * page/FocusController.cpp:
441 (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
442 * rendering/MediaControlElements.cpp:
443 (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
444 (WebCore::MediaControlElement::attach): Ditto.
445 (WebCore::MediaControlElement::updateStyle): Ditto.
446 (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
447 (WebCore::MediaControlInputElement::attach): Ditto.
448 (WebCore::MediaControlInputElement::updateStyle): Ditto.
449 * rendering/RenderSVGGradientStop.cpp:
450 (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
451 * svg/SVGAElement.cpp:
452 (WebCore::SVGAElement::createRenderer): Ditto.
453 (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
454 * svg/SVGFELightElement.cpp:
455 (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
456 (WebCore::SVGFELightElement::childrenChanged): Ditto.
457 * svg/SVGFEMergeNodeElement.cpp:
458 (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
460 (WebCore::SVGLength::determineViewport): Ditto.
461 * svg/SVGStyledElement.cpp:
462 (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
463 * svg/SVGUseElement.cpp:
464 (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
465 * svg/animation/SVGSMILElement.cpp:
466 (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
467 * xml/XPathNodeSet.cpp:
468 (WebCore::XPath::NodeSet::sort): Ditto.
470 (WebCore::XPath::Step::nodesInAxis): Ditto.
471 * xml/XSLTProcessorLibxslt.cpp:
472 (WebCore::xsltStylesheetPointer): Ditto.
474 2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
476 Reviewed by Andreas Kling.
478 ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
480 This makes paint() with paintEntireContents() do exactly what it's supposed to:
481 paint from 0,0 to contentsSize().
483 The clipping was a no-op anyway since visibleContentRect() will return the whole
484 rect in paintsEntireContents() mode.
486 * platform/ScrollView.cpp:
487 (WebCore::ScrollView::paint):
489 2010-11-17 Kenneth Rohde Christansen <kenneth@webkit.org>
491 Reviewed by Andreas Kling.
493 ScrollView: Update the actualVisibleContentRect after delegating a scroll.
495 This lets us avoid updating the actualVisibleContentRect from the client
496 after each scroll. We had to do this synchronously for WebKit2 to support
497 programmatic "animated scrolling" from JS.
499 * platform/ScrollView.cpp:
500 (WebCore::ScrollView::setScrollPosition):
502 2010-11-17 Andreas Kling <kling@webkit.org>
504 Reviewed by Kenneth Rohde Christiansen.
506 ScrollView: Decouple actualVisibleContentRect from visibleContentRect
508 Added actualVisibleContentRect() which will return the override provided
509 by setActualVisibleContentRect() or fall back to visibleContentRect()
510 if no override has been set.
512 This is similar to what the iPhone does.
514 * platform/ScrollView.cpp:
515 (WebCore::ScrollView::visibleContentRect):
516 * platform/ScrollView.h:
517 (WebCore::ScrollView::actualVisibleContentRect):
518 (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
520 2010-11-17 Tony Chang <tony@chromium.org>
522 Reviewed by Adam Barth.
524 [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
525 https://bugs.webkit.org/show_bug.cgi?id=49036
527 No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
529 In http://codereview.chromium.org/11574, the forked chromium test
530 plugin changed how it testGetIntIdentifier to work around a change
531 caused by a silverlight specific plugin fix:
532 http://codereview.chromium.org/11569/diff/1/2
534 It's not clear to me that this change is needed anymore since
535 silverlight has had multiple releases, testing without this patch
536 works on a test windows build, and safari win seems to run silverlight
537 without this either. Since there's no test for this behavior, I'm
538 rolling it out so we can match the upstream test.
540 * bindings/v8/V8NPUtils.cpp:
541 (WebCore::convertV8ObjectToNPVariant):
543 2010-11-17 Andreas Kling <kling@webkit.org>
545 Reviewed by Kenneth Rohde Christiansen.
547 ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
549 * platform/ScrollView.cpp:
550 (WebCore::ScrollView::visibleContentRect):
552 2010-11-17 James Simonsen <simonjam@chromium.org>
554 Reviewed by Tony Chang.
556 [chromium] Fix negative letter spacing in complex text on linux
557 https://bugs.webkit.org/show_bug.cgi?id=49563
559 Test: fast/text/atsui-negative-spacing-features.html
561 * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
563 2010-11-17 Andreas Kling <kling@webkit.org>
565 Reviewed by Kenneth Rohde Christiansen.
567 ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
569 * platform/ScrollView.cpp:
570 (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
571 newScrollPosition, so move that calculation below the delegation path.
573 2010-11-17 Dave Hyatt <hyatt@apple.com>
575 Reviewed by Sam Weinig.
577 https://bugs.webkit.org/show_bug.cgi?id=48537
579 Fonts with no vertical metrics should synthesize baselines when they appear
580 on lines that do use fonts with vertical metrics. Basically we want to make
581 sure that English text behaves like vertical-align:middle, i.e., its baseline
582 should be treated as though it cuts through the middle of the ascent+descent.
584 The way this works is that each line in the line box tree is labeled as having
585 a baseline type that is either ideographic or alphabetic for the purposes of
586 vertical alignment. A line becomes ideographic if any font with vertical tables
587 is either explicitly specified as the primary font or in any of the used fonts
588 in the text on that line.
590 This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
591 and passed to the ascent and descent methods of the fonts that are examined.
592 The underlying Font code selects an appropriate baseline given the type passed in.
594 This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
595 to instead carry around the cached vertical positions for RenderInlines in a new
596 VerticalPositionCache object. This cache only lives for a single layout
597 operation, but it does cache information across all the lines built and placed during the
600 This matches the old behavior, since every call to layoutInlineChildren invalidated
601 all of the vertical positions in all of the RenderInlines anyway.
603 The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
604 positions for both alphabetic and ideographic baseline types.
606 The vertical-align computation has now been moved out of RenderBoxModelObject and
607 RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
608 This function has been changed to no longer be recursive when checking parents,
609 and it now relies on the fact that the parent vertical alignment computation result
610 has already been stored in the logicalTop() of that parent's line box. By checking
611 the line box logicalTop() value instead of recurring, the performance of first lines
612 now significantly improves to no longer have O(n^2) behavior in the depth of the line
613 box tree on the first line.
615 All of the baselinePosition functions on the various RenderObjects have been amended
616 to take a FontBaseline as the first argument. This patch does not attempt to fix up
617 MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
619 The RenderTableCell baselinePosition virtual method has been made non-virtual and had
620 all arguments removed, since it actually had no real connection with the rest of the
621 baseline positioning system. Cell baseline positioning works by calling firstLineBoxBaseline,
622 and that method has been patched to use the cached baselineType for the first line box
623 when computing the baseline of that line.
625 Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
627 * WebCore.xcodeproj/project.pbxproj:
628 * mathml/RenderMathMLFraction.cpp:
629 (WebCore::RenderMathMLFraction::baselinePosition):
630 * mathml/RenderMathMLFraction.h:
631 * mathml/RenderMathMLOperator.cpp:
632 (WebCore::RenderMathMLOperator::baselinePosition):
633 * mathml/RenderMathMLOperator.h:
634 * mathml/RenderMathMLRow.cpp:
635 (WebCore::RenderMathMLRow::baselinePosition):
636 * mathml/RenderMathMLRow.h:
637 * mathml/RenderMathMLSubSup.cpp:
638 (WebCore::RenderMathMLSubSup::baselinePosition):
639 * mathml/RenderMathMLSubSup.h:
640 * mathml/RenderMathMLUnderOver.cpp:
641 (WebCore::RenderMathMLUnderOver::layout):
642 (WebCore::RenderMathMLUnderOver::baselinePosition):
643 * mathml/RenderMathMLUnderOver.h:
644 * platform/graphics/SimpleFontData.h:
645 * rendering/InlineBox.h:
646 (WebCore::InlineBox::baselinePosition):
647 * rendering/InlineFlowBox.cpp:
648 (WebCore::verticalPositionForBox):
649 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
650 (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
651 * rendering/InlineFlowBox.h:
652 * rendering/InlineTextBox.cpp:
653 (WebCore::InlineTextBox::baselinePosition):
654 * rendering/InlineTextBox.h:
655 * rendering/RenderBlock.cpp:
656 (WebCore::RenderBlock::baselinePosition):
657 (WebCore::RenderBlock::firstLineBoxBaseline):
658 (WebCore::RenderBlock::lastLineBoxBaseline):
659 * rendering/RenderBlock.h:
660 * rendering/RenderBlockLineLayout.cpp:
661 (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
662 (WebCore::RenderBlock::layoutInlineChildren):
663 * rendering/RenderBox.cpp:
664 (WebCore::RenderBox::baselinePosition):
665 * rendering/RenderBox.h:
666 * rendering/RenderBoxModelObject.cpp:
667 * rendering/RenderBoxModelObject.h:
668 * rendering/RenderFileUploadControl.cpp:
669 (WebCore::RenderFileUploadControl::paintObject):
670 * rendering/RenderInline.cpp:
671 (WebCore::RenderInline::RenderInline):
672 (WebCore::RenderInline::baselinePosition):
673 * rendering/RenderInline.h:
674 * rendering/RenderListBox.cpp:
675 (WebCore::RenderListBox::baselinePosition):
676 * rendering/RenderListBox.h:
677 * rendering/RenderListMarker.cpp:
678 (WebCore::RenderListMarker::baselinePosition):
679 * rendering/RenderListMarker.h:
680 * rendering/RenderSlider.cpp:
681 (WebCore::RenderSlider::baselinePosition):
682 * rendering/RenderSlider.h:
683 * rendering/RenderTableCell.cpp:
684 (WebCore::RenderTableCell::baselinePosition):
685 * rendering/RenderTableCell.h:
686 * rendering/RenderTextControlMultiLine.cpp:
687 (WebCore::RenderTextControlMultiLine::baselinePosition):
688 * rendering/RenderTextControlMultiLine.h:
689 * rendering/RootInlineBox.cpp:
690 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
691 * rendering/RootInlineBox.h:
692 (WebCore::RootInlineBox::baselinePosition):
693 * rendering/VerticalPositionCache.h: Added.
694 (WebCore::VerticalPositionCache::VerticalPositionCache):
695 (WebCore::VerticalPositionCache::get):
696 (WebCore::VerticalPositionCache::set):
697 * rendering/svg/SVGInlineTextBox.cpp:
698 (WebCore::SVGInlineTextBox::calculateBoundaries):
700 2010-11-17 Sam Weinig <sam@webkit.org>
702 Reviewed by Anders Carlsson.
704 Add stubbed out ScrollAnimator for the Mac
705 https://bugs.webkit.org/show_bug.cgi?id=49678
707 * WebCore.xcodeproj/project.pbxproj:
708 Add ScrollAnimator.h/cpp.
710 * platform/mac/ScrollAnimatorMac.cpp: Added.
711 (WebCore::ScrollAnimator::create):
712 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
713 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
714 (WebCore::ScrollAnimatorMac::scroll):
715 (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
716 * platform/mac/ScrollAnimatorMac.h: Added.
717 ScrollAnimatorMac just calls through to the base class for now.
719 2010-11-17 Cris Neckar <cdn@chromium.org>
721 Reviewed by Adam Barth.
723 Modified codepath for object fallback content which has failed to load.
724 Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
725 https://bugs.webkit.org/show_bug.cgi?id=46921
727 Test: fast/html/object-image-nested-fallback.html
729 * html/HTMLObjectElement.cpp:
730 (WebCore::HTMLObjectElement::renderFallbackContent):
731 * loader/cache/CachedCSSStyleSheet.cpp:
732 (WebCore::CachedCSSStyleSheet::error):
733 * loader/cache/CachedCSSStyleSheet.h:
734 * loader/cache/CachedFont.cpp:
735 (WebCore::CachedFont::ensureCustomFontData):
736 (WebCore::CachedFont::error):
737 * loader/cache/CachedFont.h:
738 * loader/cache/CachedImage.cpp:
739 (WebCore::CachedImage::data):
740 (WebCore::CachedImage::error):
741 * loader/cache/CachedImage.h:
742 * loader/cache/CachedResource.cpp:
743 (WebCore::CachedResource::CachedResource):
744 (WebCore::CachedResource::canUseCacheValidator):
745 (WebCore::CachedResource::mustRevalidate):
746 * loader/cache/CachedResource.h:
747 (WebCore::CachedResource::error):
748 (WebCore::CachedResource::httpStatusCodeError):
749 (WebCore::CachedResource::errorOccurred):
750 * loader/cache/CachedScript.cpp:
751 (WebCore::CachedScript::error):
752 * loader/cache/CachedScript.h:
753 * loader/cache/CachedXSLStyleSheet.cpp:
754 (WebCore::CachedXSLStyleSheet::error):
755 * loader/cache/CachedXSLStyleSheet.h:
757 (WebCore::Loader::load):
758 (WebCore::Loader::didFinishLoading):
759 (WebCore::Loader::didFail):
760 (WebCore::Loader::didReceiveData):
762 2010-11-16 Zhenyao Mo <zmo@google.com>
764 Reviewed by Kenneth Russell.
766 WebGLRenderingContext needs to zero textures and renderbuffers
767 https://bugs.webkit.org/show_bug.cgi?id=49355
769 Test: fast/canvas/webgl/uninitialized-test.html
771 * html/canvas/WebGLFramebuffer.cpp:
772 (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
773 (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
774 * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
775 * html/canvas/WebGLRenderingContext.cpp:
776 (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
777 (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
778 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
779 (WebCore::WebGLRenderingContext::drawArrays): Ditto.
780 (WebCore::WebGLRenderingContext::drawElements): Ditto.
781 (WebCore::WebGLRenderingContext::readPixels): Ditto.
782 (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
784 2010-11-17 Ryosuke Niwa <rniwa@webkit.org>
786 Reviewed by Darin Adler.
788 Merge ScriptElement and ScriptElementData
789 https://bugs.webkit.org/show_bug.cgi?id=49647
793 * dom/AsyncScriptRunner.cpp:
794 (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
795 (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
796 * dom/AsyncScriptRunner.h:
797 * dom/ScriptElement.cpp:
798 (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
799 (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
800 (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
801 (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
802 (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
803 (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
804 (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
805 (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
806 (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
807 (WebCore::ScriptElement::executeScript): Ditto.
808 (WebCore::ScriptElement::stopLoadRequest): Ditto.
809 (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
810 (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
811 (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
812 (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
813 forAttributeValue, and eventAttributeValue.
814 (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
815 (WebCore::ScriptElement::scriptContent): Ditto.
816 (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
817 (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
818 and deferAttributeValue.
819 * dom/ScriptElement.h:
820 (WebCore::ScriptElement::element):
821 (WebCore::ScriptElement::haveFiredLoadEvent):
822 (WebCore::ScriptElement::setHaveFiredLoadEvent):
823 (WebCore::ScriptElement::createdByParser):
824 (WebCore::ScriptElement::isEvaluated):
826 2010-11-17 Tenghui Zhu <ztenghui@google.com>
828 Reviewed by Jeremy Orlow.
830 profileCallback and profileEndCallback should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
831 https://bugs.webkit.org/show_bug.cgi?id=49623
833 No new tests. Just a compiling error fix.
835 * bindings/v8/custom/V8ConsoleCustom.cpp:
836 Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
838 2010-11-17 John Knottenbelt <jknotten@chromium.org>
840 Reviewed by Jeremy Orlow.
842 Introduce GeoNotifierVector typedef for increased readability
843 https://bugs.webkit.org/show_bug.cgi?id=49597
845 * page/Geolocation.cpp:
846 (WebCore::Geolocation::Watchers::getNotifiersVector):
847 (WebCore::Geolocation::sendError):
848 (WebCore::Geolocation::sendPosition):
849 (WebCore::Geolocation::stopTimer):
850 (WebCore::Geolocation::stopTimersForOneShots):
851 (WebCore::Geolocation::stopTimersForWatchers):
852 (WebCore::Geolocation::cancelRequests):
853 (WebCore::Geolocation::cancelAllRequests):
854 (WebCore::Geolocation::handleError):
855 (WebCore::Geolocation::makeSuccessCallbacks):
856 * page/Geolocation.h:
858 2010-11-17 John Knottenbelt <jknotten@chromium.org>
860 Reviewed by Jeremy Orlow.
862 Convert correctly between GeolocationPosition and Geoposition
864 https://bugs.webkit.org/show_bug.cgi?id=48518
866 Test: fast/dom/Geolocation/timestamp.html
868 * page/Geolocation.cpp:
869 (WebCore::createGeoposition):
871 2010-11-17 Chang Shu <chang.shu@nokia.com>
873 Reviewed by Antonio Gomes.
875 [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
876 This makes spatial navigation work properly for single select box.
878 Test: fast/events/spatial-navigation/snav-single-select.html
880 * dom/SelectElement.cpp:
881 (WebCore::nextValidIndex):
882 (WebCore::SelectElement::menuListDefaultEventHandler):
884 2010-11-17 Satish Sampath <satish@chromium.org>
886 Reviewed by Jeremy Orlow.
888 Clear the speech input mock explicitly before each test.
889 https://bugs.webkit.org/show_bug.cgi?id=49660
891 * platform/mock/SpeechInputClientMock.cpp:
892 (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
893 * platform/mock/SpeechInputClientMock.h:
895 2010-11-17 Alexander Pavlov <apavlov@chromium.org>
897 [Chromium] Unreviewed, fix Chromium-Mac build from r72189.
899 * css/CSSPrimitiveValue.cpp:
900 (WebCore::CSSPrimitiveValue::getDoubleValue):
902 2010-11-17 Hans Wennborg <hans@chromium.org>
904 Reviewed by Jeremy Orlow.
906 IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
907 https://bugs.webkit.org/show_bug.cgi?id=49601
909 The WHERE clause should specifiy a condition for each key column to
910 make sure that the ObjectStoreData_composit index can be used when
911 querying the object store based on key. Not using the index causes
912 severe performance degradation for common IDB operations.
914 * storage/IDBKey.cpp:
915 (WebCore::IDBKey::whereSyntax):
917 2010-11-17 Eric Uhrhane <ericu@chromium.org>
919 Reviewed by David Levin.
921 [Chromium] implementation of async FileWriter for workers
922 https://bugs.webkit.org/show_bug.cgi?id=47681
924 Tests are in a separate changelist.
926 * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
928 2010-11-17 Alejandro G. Castro <alex@igalia.com>
930 Reviewed by Martin Robinson.
932 [gtk] r69119 modified just the gtk2 version of the
933 scrolled_window_paint function but not the gtk3 version
934 https://bugs.webkit.org/show_bug.cgi?id=49585
936 Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
937 using state and use the same values we are using for gtk2 in the
940 * platform/gtk/ScrollbarThemeGtk.cpp:
941 (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
942 depressed attribute of the state variable to avoid using it
943 without initialization.
944 * platform/gtk/gtk3drawing.c:
945 (moz_gtk_scrolled_window_paint):
947 2010-11-16 Alexander Pavlov <apavlov@chromium.org>
949 Reviewed by Simon Fraser.
951 CSSPrimitiveValue.getFloatValue does not convert sizes
952 https://bugs.webkit.org/show_bug.cgi?id=35770
954 Implemented all same-category unit conversions (length, angle, time, frequency) and retained
955 absolute-relative (cm, mm, in, pt, pc) length conversions intact.
956 Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
958 * css/CSSPrimitiveValue.cpp:
959 (WebCore::unitCategory):
960 (WebCore::conversionToCanonicalUnitsScaleFactor):
961 (WebCore::CSSPrimitiveValue::getDoubleValue):
962 (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
963 (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
964 (WebCore::CSSPrimitiveValue::getIdent):
965 * css/CSSPrimitiveValue.h:
966 (WebCore::CSSPrimitiveValue::getFloatValue):
967 (WebCore::CSSPrimitiveValue::getIntValue):
969 2010-11-17 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
971 Reviewed by Andreas Kling.
973 Document::nodesFromRect() has wrong source code documentation
974 https://bugs.webkit.org/show_bug.cgi?id=49610
976 * dom/Document.h: fix nodesFromRect() documentation
978 2010-11-17 Alexis Menard <alexis.menard@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
980 Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
982 [Qt] Add support for use GStreamer with the Qt build
984 Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
985 integration is rather basic at this point, allowing for software based rendering
986 only at the moment. AC integration and fullscreen playback is still missing.
988 * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
989 build option with the USE_GSTREAMER macro.
990 * platform/graphics/MediaPlayer.cpp:
991 (WebCore::installedMediaEngines): Don't use the generic media player registration
992 when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
993 to be able to build with gstreamer _and_ another backend simultaenously.
994 * platform/graphics/gstreamer/ImageGStreamer.h:
995 * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
996 (ImageGStreamer::createImage):
997 (ImageGStreamer::ImageGStreamer):
998 (ImageGStreamer::~ImageGStreamer):
999 * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
1000 * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
1001 (FullScreenVideoWindow::FullScreenVideoWindow):
1002 (FullScreenVideoWindow::keyPressEvent):
1003 (FullScreenVideoWindow::event):
1004 (PlatformVideoWindow::PlatformVideoWindow):
1005 (PlatformVideoWindow::~PlatformVideoWindow):
1006 (PlatformVideoWindow::prepareForOverlay):
1008 2010-11-17 Alexander Pavlov <apavlov@chromium.org>
1010 Reviewed by Pavel Feldman.
1012 Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
1013 https://bugs.webkit.org/show_bug.cgi?id=49602
1015 * inspector/InspectorStyleSheet.cpp:
1016 (WebCore::InspectorStyle::setPropertyText):
1017 * inspector/front-end/StylesSidebarPane.js:
1018 (WebInspector.StylePropertyTreeElement.prototype.get name):
1019 (WebInspector.StylePropertyTreeElement.prototype.get priority):
1020 (WebInspector.StylePropertyTreeElement.prototype.get value):
1022 2010-11-16 Adam Roben <aroben@apple.com>
1024 Move QTMovieWin's settings into a vsprops file
1026 Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
1028 Reviewed by Steve Falkenburg.
1030 * WebCore.vcproj/QTMovieWin.vcproj:
1031 * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
1033 2010-11-16 Andy Estes <aestes@apple.com>
1035 Reviewed by Dave Hyatt.
1037 WebKit mishandles line boxes where the content height exceeds the
1038 specified line-height.
1039 https://bugs.webkit.org/show_bug.cgi?id=49410
1041 If a line height is explicitly specified on a text box and fallback
1042 fonts are in use, only the primary font should be considered when
1043 computing the box's ascent and descent. This prevents the inline box
1044 from being sized larger than the specified line height.
1046 This patch also fixes a math error when computing a used font's descent
1047 in the case where line height isn't explicitly set. This change results
1048 in a number of layout tests needing re-baselining.
1050 Test: fast/css/line-height-determined-by-primary-font.html
1052 * rendering/InlineFlowBox.cpp:
1053 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1055 2010-11-15 Ryosuke Niwa <rniwa@webkit.org>
1057 Reviewed by Darin Adler.
1059 ScriptElementData should be a private member of ScriptElement
1060 https://bugs.webkit.org/show_bug.cgi?id=49578
1062 Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
1063 and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
1065 No tests are added since this is a cleanup.
1067 * dom/ScriptElement.h:
1068 (WebCore::ScriptElement::haveFiredLoadEvent): Added.
1069 (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
1070 (WebCore::ScriptElement::createdByParser): Added.
1071 (WebCore::ScriptElement::isEvaluated): Added.
1072 * html/HTMLScriptElement.cpp:
1073 (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
1074 (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
1075 * html/HTMLScriptElement.h:
1076 (WebCore::HTMLScriptElement::text): Calls scriptContent.
1077 (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
1078 * svg/SVGScriptElement.cpp:
1079 (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
1080 (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
1081 (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
1082 (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
1083 (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
1084 (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
1085 haveFiredLoadEvent, and setHaveFiredLoadEvent.
1087 2010-11-16 Antti Koivisto <antti@apple.com>
1089 Reviewed by Darin Adler.
1091 https://bugs.webkit.org/show_bug.cgi?id=49320
1092 Minor ResourceLoadScheduler cleanups
1094 * loader/ResourceLoadScheduler.cpp:
1095 (WebCore::ResourceLoadScheduler::scheduleLoad):
1096 (WebCore::ResourceLoadScheduler::servePendingRequests):
1097 (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
1098 (WebCore::ResourceLoadScheduler::HostInformation::remove):
1099 (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
1100 * loader/ResourceLoadScheduler.h:
1102 2010-11-16 Dave Hyatt <hyatt@apple.com>
1104 Reviewed by Sam Weinig.
1106 Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
1107 line should be ideographic or alphabetic. Add a requiresIdeographicsBaseline recursive function to
1108 InlineFlowBox that scans for the use of any vertical fonts.
1110 * rendering/InlineFlowBox.cpp:
1111 (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1112 * rendering/InlineFlowBox.h:
1113 * rendering/RootInlineBox.cpp:
1114 (WebCore::RootInlineBox::RootInlineBox):
1115 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1116 * rendering/RootInlineBox.h:
1117 (WebCore::RootInlineBox::baselineType):
1119 2010-11-16 Dave Hyatt <hyatt@apple.com>
1121 Reviewed by Sam Weinig.
1123 Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
1124 alphabetic and ideographic baseline can be requested.
1126 * WebCore.xcodeproj/project.pbxproj:
1127 * platform/graphics/Font.h:
1128 (WebCore::Font::ascent):
1129 (WebCore::Font::descent):
1130 * platform/graphics/FontBaseline.h: Added.
1131 * platform/graphics/SimpleFontData.h:
1132 (WebCore::SimpleFontData::ascent):
1133 (WebCore::SimpleFontData::descent):
1134 (WebCore::SimpleFontData::height):
1136 2010-11-16 Antti Koivisto <koivisto@iki.fi>
1138 Reviewed by Adam Barth.
1140 https://bugs.webkit.org/show_bug.cgi?id=31223
1141 Make primitive values immutable.
1143 Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
1146 - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
1147 - computed style is immutable in all cases, and it wasn't
1148 - no other engine seems to support mutable primitives, as a result there is no content using these APIs
1149 - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
1150 - allowing mutation of primitive values makes optimizations harder
1152 * css/CSSPrimitiveValue.cpp:
1153 (WebCore::CSSPrimitiveValue::setFloatValue):
1154 (WebCore::CSSPrimitiveValue::setStringValue):
1156 2010-11-16 Steve Falkenburg <sfalken@apple.com>
1158 Reviewed by Adam Roben.
1160 Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
1161 https://bugs.webkit.org/show_bug.cgi?id=49632
1163 * WebCore.vcproj/QTMovieWin.vcproj:
1164 * WebCore.vcproj/WebCore.make:
1165 * WebCore.vcproj/WebCore.sln:
1166 * WebCore.vcproj/WebCore.vcproj:
1168 2010-11-16 Anders Carlsson <andersca@apple.com>
1170 Reviewed by John Sullivan.
1172 Set the original URL for downloads
1173 https://bugs.webkit.org/show_bug.cgi?id=49628
1175 Export symbols needed by WebKit2.
1179 2010-11-16 Dave Hyatt <hyatt@apple.com>
1181 Reviewed by Dan Bernstein.
1183 https://bugs.webkit.org/show_bug.cgi?id=11004
1185 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
1186 Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
1187 since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
1188 of the constructor rather than using [NSFont pointSize].
1190 https://bugs.webkit.org/show_bug.cgi?id=49582
1192 Negative leading is not handled correctly. There are two bugs here. The first is that
1193 maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
1194 set them before so that we can allow them to be < 0.
1196 The second issue is that we should understand where fonts will end up relative to
1197 our baseline (excluding line height), and only allow those boxes to impact ascent and
1198 descent if the actual font box (without factoring in line height) is above or below the
1199 root line box baseline.
1201 Added fast/css/negative-leading.html
1203 These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
1206 * css/CSSStyleSelector.cpp:
1207 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
1208 * platform/graphics/cocoa/FontPlatformData.h:
1209 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1210 (WebCore::FontPlatformData::FontPlatformData):
1211 * platform/graphics/mac/FontCacheMac.mm:
1212 (WebCore::FontCache::getFontDataForCharacters):
1213 (WebCore::FontCache::createFontPlatformData):
1214 * platform/graphics/mac/SimpleFontDataMac.mm:
1215 (WebCore::SimpleFontData::smallCapsFontData):
1216 * rendering/InlineFlowBox.cpp:
1217 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1218 * rendering/InlineFlowBox.h:
1219 * rendering/RootInlineBox.cpp:
1220 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1222 2010-11-16 Darin Adler <darin@apple.com>
1224 https://bugs.webkit.org/show_bug.cgi?id=49611
1225 REGRESSION (r72115): 5 layout tests are broken
1227 * loader/FrameLoader.cpp:
1228 (WebCore::FrameLoader::loadFrameRequest): Roll change from
1229 https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
1230 it back in after fixing the failing tests.
1232 2010-11-16 Dan Bernstein <mitz@apple.com>
1234 Reviewed by Simon Fraser.
1236 <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
1237 https://bugs.webkit.org/show_bug.cgi?id=49579
1239 r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
1240 got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
1241 childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
1242 Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
1243 is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
1244 just keep it for when it is needed.
1246 Tests: fast/block/float/015.html
1247 fast/images/style-access-during-imageChanged-style-freeze.html
1250 (WebCore::Document::isPendingStyleRecalc): Added.
1252 * rendering/RenderImage.cpp:
1253 (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
1254 is coming (indicating that current style() is stale).
1256 2010-11-11 Zhenyao Mo <zmo@google.com>
1258 Reviewed by Kenneth Russell.
1260 Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
1261 https://bugs.webkit.org/show_bug.cgi?id=47196
1263 * html/canvas/WebGLRenderingContext.cpp:
1264 (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
1265 (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
1266 * platform/graphics/GraphicsContext3D.cpp:
1267 (WebCore::GraphicsContext3D::extractImageData): Ditto.
1268 * platform/graphics/GraphicsContext3D.h:
1269 * platform/graphics/ImageSource.cpp:
1270 (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
1271 (WebCore::ImageSource::setData): Ditto.
1272 * platform/graphics/ImageSource.h:
1273 * platform/graphics/cg/GraphicsContext3DCG.cpp:
1274 (WebCore::GraphicsContext3D::getImageData): Ditto.
1275 * platform/graphics/cg/ImageSourceCG.cpp:
1276 (WebCore::ImageSource::ImageSource): Ditto.
1277 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1278 (WebCore::GraphicsContext3D::getImageData): Ditto.
1279 * platform/graphics/qt/ImageDecoderQt.cpp:
1280 (WebCore::ImageDecoder::create): Ditto.
1281 (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
1282 * platform/graphics/qt/ImageDecoderQt.h:
1283 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1284 (WebCore::GraphicsContext3D::getImageData): Ditto.
1285 * platform/image-decoders/ImageDecoder.cpp:
1286 (WebCore::ImageDecoder::create): Ditto.
1287 * platform/image-decoders/ImageDecoder.h:
1288 (WebCore::ImageDecoder::ImageDecoder): Ditto.
1289 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1290 (WebCore::BMPImageDecoder::BMPImageDecoder):
1291 * platform/image-decoders/bmp/BMPImageDecoder.h:
1292 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1293 (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
1294 * platform/image-decoders/gif/GIFImageDecoder.h:
1295 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1296 (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
1297 (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
1298 * platform/image-decoders/ico/ICOImageDecoder.h:
1299 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1300 (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
1301 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1302 * platform/image-decoders/png/PNGImageDecoder.cpp:
1303 (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
1304 (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
1305 * platform/image-decoders/png/PNGImageDecoder.h:
1306 * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1307 (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
1308 * platform/image-decoders/webp/WEBPImageDecoder.h:
1310 2010-11-16 Eric Carlson <eric.carlson@apple.com>
1312 Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
1314 * platform/graphics/MediaPlayer.cpp:
1315 (WebCore::installedMediaEngines):
1317 2010-11-12 Zhenyao Mo <zmo@google.com>
1319 Reviewed by Kenneth Russell.
1321 Refactor GL backend flags
1322 https://bugs.webkit.org/show_bug.cgi?id=49460
1324 * html/canvas/WebGLRenderingContext.cpp:
1325 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
1326 (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
1327 (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
1328 (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
1329 (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
1330 * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
1331 (WebCore::WebGLRenderingContext::isGLES2Compliant):
1332 (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
1333 (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
1334 (WebCore::WebGLRenderingContext::isResourceSafe):
1335 (WebCore::WebGLRenderingContext::isDepthStencilSupported):
1336 * platform/graphics/Extensions3D.h: Add NPOT extension.
1337 * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
1338 * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
1339 * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
1341 2010-11-16 Kenneth Russell <kbr@google.com>
1343 Reviewed by Dimitri Glazkov.
1345 WebIDL conversions from string to number and array to number should not generate TypeError
1346 https://bugs.webkit.org/show_bug.cgi?id=49218
1348 Recent SVG-related changes to the StrictTypeChecking extended attribute in
1349 CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
1350 ECMA-262 specifications. In particular, when an attribute or function argument is specified
1351 as a number type (floating-point or integer), passing in a String or object is not supposed
1352 to raise an exception.
1354 The original intent of the StrictTypeChecking extended attribute was to properly raise
1355 TypeError when an interface type is required, but the supplied object does not implement the
1356 interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
1357 silently passed null to the C++ bindings in this case. The handling of strings in the
1358 original StrictTypeChecking implementation was also incorrect, raising exceptions when it
1361 The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
1362 interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
1363 the autogenerated code.
1365 Test: fast/canvas/webgl/type-conversion-test.html
1367 * bindings/scripts/CodeGeneratorJS.pm:
1368 * bindings/scripts/CodeGeneratorV8.pm:
1369 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1370 (WebCore::getObjectParameter):
1371 (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1372 (WebCore::V8WebGLRenderingContext::getParameterCallback):
1373 (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1374 (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1375 (WebCore::vertexAttribAndUniformHelperf):
1377 2010-11-16 Alexey Proskuryakov <ap@apple.com>
1381 * DerivedSources.cpp: Removing CSS Variables generated files.
1383 2010-11-16 Eric Carlson <eric.carlson@apple.com>
1385 Reviewed by John Sullivan.
1387 getMIMEType(s)ForExtension should consult system mapping
1388 https://bugs.webkit.org/show_bug.cgi?id=49497
1390 No new tests possible.
1392 * platform/MIMETypeRegistry.cpp:
1393 (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension.
1394 Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
1395 constains() and then get().
1396 (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
1398 2010-11-16 Eric Carlson <eric.carlson@apple.com>
1400 Reviewed by Darin Adler.
1402 Rename QTKit based media engine class name
1403 https://bugs.webkit.org/show_bug.cgi?id=36663
1405 No new tests as this just renames a class and restructures existing code.
1407 * platform/graphics/MediaPlayer.cpp:
1408 (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
1409 number of #ifs in the code.
1411 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
1412 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1413 (WebCore::MediaPlayerPrivateQTKit::create):
1414 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
1415 (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
1416 (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
1417 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1418 (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
1419 (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
1420 (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
1421 (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
1422 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1423 (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1424 (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
1425 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
1426 (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1427 (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
1428 (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
1429 (WebCore::MediaPlayerPrivateQTKit::createQTTime):
1430 (WebCore::MediaPlayerPrivateQTKit::resumeLoad):
1431 (WebCore::MediaPlayerPrivateQTKit::load):
1432 (WebCore::MediaPlayerPrivateQTKit::loadInternal):
1433 (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
1434 (WebCore::MediaPlayerPrivateQTKit::platformMedia):
1435 (WebCore::MediaPlayerPrivateQTKit::platformLayer):
1436 (WebCore::MediaPlayerPrivateQTKit::play):
1437 (WebCore::MediaPlayerPrivateQTKit::pause):
1438 (WebCore::MediaPlayerPrivateQTKit::duration):
1439 (WebCore::MediaPlayerPrivateQTKit::currentTime):
1440 (WebCore::MediaPlayerPrivateQTKit::seek):
1441 (WebCore::MediaPlayerPrivateQTKit::doSeek):
1442 (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1443 (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
1444 (WebCore::MediaPlayerPrivateQTKit::paused):
1445 (WebCore::MediaPlayerPrivateQTKit::seeking):
1446 (WebCore::MediaPlayerPrivateQTKit::naturalSize):
1447 (WebCore::MediaPlayerPrivateQTKit::hasVideo):
1448 (WebCore::MediaPlayerPrivateQTKit::hasAudio):
1449 (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
1450 (WebCore::MediaPlayerPrivateQTKit::setVolume):
1451 (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
1452 (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
1453 (WebCore::MediaPlayerPrivateQTKit::setRate):
1454 (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1455 (WebCore::MediaPlayerPrivateQTKit::buffered):
1456 (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
1457 (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
1458 (WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
1459 (WebCore::MediaPlayerPrivateQTKit::totalBytes):
1460 (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
1461 (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
1462 (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
1463 (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1464 (WebCore::MediaPlayerPrivateQTKit::updateStates):
1465 (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
1466 (WebCore::MediaPlayerPrivateQTKit::rateChanged):
1467 (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
1468 (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1469 (WebCore::MediaPlayerPrivateQTKit::didEnd):
1470 (WebCore::MediaPlayerPrivateQTKit::setSize):
1471 (WebCore::MediaPlayerPrivateQTKit::setVisible):
1472 (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
1473 (WebCore::MediaPlayerPrivateQTKit::repaint):
1474 (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
1475 (WebCore::MediaPlayerPrivateQTKit::paint):
1476 (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
1477 (WebCore::MediaPlayerPrivateQTKit::supportsType):
1478 (WebCore::MediaPlayerPrivateQTKit::isAvailable):
1479 (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
1480 (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
1481 (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
1482 (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
1483 (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
1484 (WebCore::MediaPlayerPrivateQTKit::movieLoadType):
1485 (WebCore::MediaPlayerPrivateQTKit::setPreload):
1486 (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
1487 (-[WebCoreMovieObserver initWithCallback:]):
1489 2010-11-16 Alexey Proskuryakov <ap@apple.com>
1491 Reviewed by Dave Hyatt.
1493 https://bugs.webkit.org/show_bug.cgi?id=49483
1494 Remove CSS Variable support
1496 * Android.derived.jscbindings.mk:
1497 * Android.derived.v8bindings.mk:
1500 * DerivedSources.make:
1505 * WebCore.vcproj/WebCore.vcproj:
1506 * WebCore.xcodeproj/project.pbxproj:
1507 * bindings/js/JSCSSRuleCustom.cpp:
1509 * bindings/v8/custom/V8DOMWindowCustom.cpp
1510 * bindings/objc/DOMCSS.mm:
1512 * bindings/scripts/CodeGeneratorJS.pm:
1513 * css/CSSComputedStyleDeclaration.cpp:
1514 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1516 * css/CSSMutableStyleDeclaration.cpp:
1517 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1518 (WebCore::CSSMutableStyleDeclaration::removeProperty):
1519 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1520 (WebCore::CSSMutableStyleDeclaration::copy):
1521 * css/CSSMutableStyleDeclaration.h:
1522 (WebCore::CSSMutableStyleDeclaration::create):
1523 * css/CSSParser.cpp:
1524 (WebCore::CSSParser::CSSParser):
1525 (WebCore::CSSParser::~CSSParser):
1526 (WebCore::CSSParser::parseValue):
1527 (WebCore::CSSParser::lex):
1528 (WebCore::CSSParser::recheckAtKeyword):
1529 (WebCore::CSSParser::text):
1530 (WebCore::CSSParser::createMediaRule):
1531 (WebCore::CSSParser::createKeyframesRule):
1532 (WebCore::CSSParser::createStyleRule):
1533 (WebCore::CSSParser::createFontFaceRule):
1534 (WebCore::CSSParser::addNamespace):
1535 (WebCore::CSSParser::createPageRule):
1537 * css/CSSParserValues.cpp:
1538 (WebCore::CSSParserValueList::addValue):
1539 (WebCore::CSSParserValueList::deleteValueAt):
1540 (WebCore::CSSParserValue::createCSSValue):
1541 * css/CSSParserValues.h:
1542 (WebCore::CSSParserValueList::CSSParserValueList):
1543 * css/CSSPrimitiveValue.cpp:
1544 (WebCore::CSSPrimitiveValue::cleanup):
1545 (WebCore::CSSPrimitiveValue::getStringValue):
1546 (WebCore::CSSPrimitiveValue::cssText):
1547 (WebCore::CSSPrimitiveValue::parserValue):
1548 * css/CSSPrimitiveValue.h:
1549 * css/CSSProperty.cpp:
1550 (WebCore::CSSProperty::cssText):
1551 * css/CSSPropertyNames.in:
1554 * css/CSSStyleDeclaration.cpp:
1555 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1556 * css/CSSStyleSelector.cpp:
1557 (WebCore::CSSStyleSelector::addMatchedDeclaration):
1558 (WebCore::CSSRuleSet::addRulesFromSheet):
1559 (WebCore::CSSStyleSelector::applyProperty):
1560 * css/CSSStyleSelector.h:
1562 * css/CSSVariableDependentValue.cpp: Removed.
1563 * css/CSSVariableDependentValue.h: Removed.
1564 * css/CSSVariablesDeclaration.cpp: Removed.
1565 * css/CSSVariablesDeclaration.h: Removed.
1566 * css/CSSVariablesDeclaration.idl: Removed.
1567 * css/CSSVariablesRule.cpp: Removed.
1568 * css/CSSVariablesRule.h: Removed.
1569 * css/CSSVariablesRule.idl: Removed.
1571 (WebCore::StyleBase::isMediaRule):
1572 * css/tokenizer.flex:
1573 * page/DOMWindow.idl:
1575 2010-11-16 Darin Adler <darin@apple.com>
1577 Reviewed by Sam Weinig.
1579 https://bugs.webkit.org/show_bug.cgi?id=48603
1580 Boolean logic mistake in local file check
1582 * loader/FrameLoader.cpp:
1583 (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
1584 before accepting a local file load.
1586 2010-11-15 Darin Adler <darin@apple.com>
1588 Reviewed by Sam Weinig.
1590 Harden additional string functions against large lengths
1591 https://bugs.webkit.org/show_bug.cgi?id=49574
1593 * platform/text/TextCodecUTF16.cpp:
1594 (WebCore::TextCodecUTF16::encode): Check for length that is
1595 too large for size_t.
1597 * platform/text/TextStream.cpp:
1598 (WebCore::TextStream::operator<<): Check for length that is
1599 too large for size_t.
1601 2010-11-16 Pavel Feldman <pfeldman@chromium.org>
1603 Not reviewed. Touching inspector controller to make gtk / qt happier.
1605 * inspector/InspectorController.cpp:
1607 2010-11-16 Carlos Garcia Campos <cgarcia@igalia.com>
1609 Reviewed by Martin Robinson.
1611 [GTK] Use gdk_pixbuf_get_from_surface() when available
1612 https://bugs.webkit.org/show_bug.cgi?id=49532
1614 * platform/graphics/gtk/GdkCairoUtilities.cpp:
1615 (cairoImageSurfaceToGdkPixbuf):
1617 2010-11-16 Pavel Feldman <pfeldman@chromium.org>
1619 Reviewed by Yury Semikhatsky.
1621 Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
1622 https://bugs.webkit.org/show_bug.cgi?id=49596
1624 * inspector/front-end/inspector.js:
1627 2010-11-15 Alexander Pavlov <apavlov@chromium.org>
1629 Reviewed by Pavel Feldman.
1631 Web Inspector: Migrate frontend to the new CSS editing/retrieval API
1632 https://bugs.webkit.org/show_bug.cgi?id=49492
1634 Test: inspector/styles-new-API.html
1636 * inspector/front-end/AuditRules.js:
1637 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1638 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
1639 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1640 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1641 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1642 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1643 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1644 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1645 * inspector/front-end/CSSStyleModel.js:
1646 (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1647 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1648 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1649 (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1650 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1651 (WebInspector.CSSStyleModel.prototype.addRule):
1652 (WebInspector.CSSStyleModel.prototype.addRule.callback):
1653 (WebInspector.CSSStyleDeclaration):
1654 (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
1655 (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
1656 (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
1657 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1658 (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
1659 (WebInspector.CSSRule):
1660 (WebInspector.CSSProperty.prototype.get propertyText):
1661 (WebInspector.CSSProperty.prototype.setText):
1662 (WebInspector.CSSProperty.prototype.setDisabled):
1663 (WebInspector.CSSStyleSheet):
1664 (WebInspector.CSSStyleSheet.createForId):
1665 (WebInspector.CSSStyleSheet.prototype.getText):
1666 (WebInspector.CSSStyleSheet.prototype.setText):
1667 * inspector/front-end/Settings.js:
1668 * inspector/front-end/StylesSidebarPane.js:
1669 (WebInspector.StylePropertiesSection.prototype.onpopulate):
1670 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
1671 (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
1672 (WebInspector.StylePropertiesSection.prototype._debugShowStyle):
1673 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1674 (WebInspector.StylePropertyTreeElement.prototype):
1675 (WebInspector.StylePropertyTreeElement.prototype.):
1676 * inspector/front-end/inspector.css:
1677 (.styles-section .properties li.not-parsed-ok):
1678 (.styles-section .properties li.not-parsed-ok::before):
1679 (.styles-section .properties .inactive):
1681 2010-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
1683 Unreviewed, rolling out r72082.
1684 http://trac.webkit.org/changeset/72082
1685 https://bugs.webkit.org/show_bug.cgi?id=49594
1687 "broken SnowLeopard build" (Requested by apavlov on #webkit).
1689 * css/CSSPrimitiveValue.cpp:
1690 (WebCore::scaleFactorForConversion):
1691 (WebCore::CSSPrimitiveValue::getDoubleValue):
1692 (WebCore::CSSPrimitiveValue::getIdent):
1693 * css/CSSPrimitiveValue.h:
1694 (WebCore::CSSPrimitiveValue::getFloatValue):
1695 (WebCore::CSSPrimitiveValue::getIntValue):
1697 2010-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
1699 Unreviewed, rolling out r72087.
1700 http://trac.webkit.org/changeset/72087
1701 https://bugs.webkit.org/show_bug.cgi?id=49593
1703 "broken build" (Requested by apavlov on #webkit).
1705 * css/CSSPrimitiveValue.cpp:
1706 (WebCore::unitCategory):
1708 2010-11-15 Pavel Feldman <pfeldman@chromium.org>
1710 Reviewed by Yury Semikhatsky.
1712 Web Inspector: rename StoragePanel to ResourcesPanel.
1713 https://bugs.webkit.org/show_bug.cgi?id=49534
1716 * WebCore.vcproj/WebCore.vcproj:
1717 * inspector/front-end/DatabaseQueryView.js:
1718 (WebInspector.DatabaseQueryView.prototype._queryFinished):
1719 * inspector/front-end/DatabaseTableView.js:
1720 (WebInspector.DatabaseTableView.prototype._queryFinished):
1721 * inspector/front-end/ExtensionServer.js:
1722 (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1723 * inspector/front-end/Images/storageIcon.png: Removed.
1724 * inspector/front-end/ResourceManager.js:
1725 (WebInspector.ResourceManager.prototype.setOverrideContent):
1726 (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
1727 (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
1728 (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
1729 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
1730 (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
1731 * inspector/front-end/StoragePanel.js: Removed.
1732 * inspector/front-end/WebKit.qrc:
1733 * inspector/front-end/inspector.css:
1734 (.resources.panel .sidebar):
1735 (.resources.panel .sidebar li):
1736 (.resources.panel .sidebar li.parent):
1737 (.resources.panel .sidebar li.selected):
1738 (.resources.panel .sidebar li.selected .selection):
1739 (.resources.panel .sidebar :focus li.selected .selection):
1740 (body.inactive .resources.panel .sidebar li.selected .selection):
1741 (.resources.panel .sidebar .icon):
1742 (.resources.panel .base-storage-tree-element-title):
1743 (.resources.panel .status):
1744 (.resources.panel li .status .bubble):
1745 * inspector/front-end/inspector.html:
1746 * inspector/front-end/inspector.js:
1747 (WebInspector._createPanels):
1748 (WebInspector.openResource):
1749 (WebInspector.showPanel):
1750 (WebInspector.selectDatabase):
1751 (WebInspector.selectDOMStorage):
1752 (WebInspector.addDatabase):
1753 (WebInspector.addDOMStorage):
1754 (WebInspector.updateDOMStorage):
1755 (WebInspector.updateApplicationCacheStatus):
1756 (WebInspector.didGetFileSystemPath):
1757 (WebInspector.didGetFileSystemError):
1758 (WebInspector.didGetFileSystemDisabled):
1759 (WebInspector.updateNetworkState):
1760 (WebInspector._choosePanelToShowSourceLine):
1762 2010-11-16 Alexander Pavlov <apavlov@chromium.org>
1764 Unreviewed SnowLeopard build fix.
1766 * css/CSSPrimitiveValue.cpp:
1767 (WebCore::unitCategory):
1769 2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
1771 Reviewed by Andreas Kling.
1773 Viewport meta tag: Fix geometry computation
1775 Available width and height should also be divided by the device pixel ratio.
1777 * dom/ViewportArguments.cpp:
1778 (WebCore::computeViewportAttributes):
1779 * platform/network/qt/DnsPrefetchHelper.cpp:
1781 2010-11-12 Alexander Pavlov <apavlov@chromium.org>
1783 Reviewed by Simon Fraser.
1785 CSSPrimitiveValue.getFloatValue does not convert sizes
1786 https://bugs.webkit.org/show_bug.cgi?id=35770
1788 Implemented all same-category unit conversions (length, angle, time, frequency) and retained
1789 absolute-relative (cm, mm, in, pt, pc) length conversions intact.
1790 Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
1792 * css/CSSPrimitiveValue.cpp:
1793 (WebCore::unitCategory):
1794 (WebCore::scaleFactorForConversion):
1795 (WebCore::CSSPrimitiveValue::getDoubleValue):
1796 (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
1797 (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
1798 * css/CSSPrimitiveValue.h:
1800 2010-11-15 Pavel Feldman <pfeldman@chromium.org>
1802 Reviewed by Yury Semikhatsky.
1804 Web Inspector: extract HTML title setter in treeoutline.js.
1805 https://bugs.webkit.org/show_bug.cgi?id=49540
1807 * inspector/front-end/ElementsTreeOutline.js:
1808 (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
1809 (WebInspector.ElementsTreeElement.prototype.updateTitle):
1810 * inspector/front-end/treeoutline.js:
1811 (TreeElement.prototype.get titleHTML):
1812 (TreeElement.prototype.set titleHTML):
1813 (TreeElement.prototype._setListItemNodeContent):
1815 2010-11-16 John Knottenbelt <jknotten@chromium.org>
1817 Reviewed by Jeremy Orlow.
1819 Assert that DeviceOrientationClientMock is used by only one controller.
1820 https://bugs.webkit.org/show_bug.cgi?id=48506
1822 This is a design constraint of the DeviceOrientationClientMock because the
1823 m_controller field can only store a pointer to a single instance of the
1824 corresponding DeviceOrientationController.
1826 * platform/mock/DeviceOrientationClientMock.cpp:
1827 (WebCore::DeviceOrientationClientMock::setController):
1829 2010-11-16 Mihai Parparita <mihaip@chromium.org>
1831 Reviewed by Adam Barth.
1833 fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
1834 https://bugs.webkit.org/show_bug.cgi?id=48634
1836 Specify the capacity when calling CFDataCreateMutable, which can signal
1837 malloc failures (by returning NULL), unlike CFDataSetLength.
1839 * platform/image-decoders/cg/ImageDecoderCG.cpp:
1840 (WebCore::RGBA32Buffer::setSize):
1842 2010-11-15 Rob Buis <rwlbuis@gmail.com>
1844 Reviewed by Dirk Schulze and Darin Adler.
1846 requiredFeatures does not adapt to SVGStringList changes
1847 https://bugs.webkit.org/show_bug.cgi?id=40887
1849 Centralize the const_cast handling and only do it if needed.
1850 Remove the const_cast in all svgAttributeChanged functions and move
1851 it to SVGTest::handleAttributeChange. Add an early return to
1852 handleAttributeChange to avoid unnecessary const_casts.
1854 No tests necessary as functionality has not changed.
1856 * svg/SVGCircleElement.cpp:
1857 (WebCore::SVGCircleElement::svgAttributeChanged):
1858 * svg/SVGEllipseElement.cpp:
1859 (WebCore::SVGEllipseElement::svgAttributeChanged):
1860 * svg/SVGForeignObjectElement.cpp:
1861 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1862 * svg/SVGGElement.cpp:
1863 (WebCore::SVGGElement::svgAttributeChanged):
1864 * svg/SVGImageElement.cpp:
1865 (WebCore::SVGImageElement::svgAttributeChanged):
1866 * svg/SVGLineElement.cpp:
1867 (WebCore::SVGLineElement::svgAttributeChanged):
1868 * svg/SVGPathElement.cpp:
1869 (WebCore::SVGPathElement::svgAttributeChanged):
1870 * svg/SVGPolyElement.cpp:
1871 (WebCore::SVGPolyElement::svgAttributeChanged):
1872 * svg/SVGRectElement.cpp:
1873 (WebCore::SVGRectElement::svgAttributeChanged):
1874 * svg/SVGSVGElement.cpp:
1875 (WebCore::SVGSVGElement::svgAttributeChanged):
1877 (WebCore::SVGTests::handleAttributeChange):
1879 * svg/SVGTextContentElement.cpp:
1880 (WebCore::SVGTextContentElement::svgAttributeChanged):
1881 * svg/SVGUseElement.cpp:
1882 (WebCore::SVGUseElement::svgAttributeChanged):
1884 2010-11-15 Dimitri Glazkov <dglazkov@chromium.org>
1886 Reviewed by Darin Adler.
1888 REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
1889 https://bugs.webkit.org/show_bug.cgi?id=49569
1891 Test: fast/events/remove-shadow-host-crash.html
1893 * rendering/TextControlInnerElements.h:
1894 (WebCore::TextControlInnerElement::isShadowNode):
1895 (WebCore::TextControlInnerElement::shadowParentNode):
1897 2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
1899 Reviewed by Darin Adler.
1901 ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
1902 https://bugs.webkit.org/show_bug.cgi?id=49469
1904 Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
1905 HTMLScriptElement and SVGScriptElement to ScriptElementData.
1907 Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
1908 and handleSourceAttribute of ScriptElement non-static.
1910 No new tests are added since this is a cleanup.
1912 * dom/ScriptElement.cpp:
1913 (WebCore::ScriptElement::scriptCharset): Added.
1914 (WebCore::ScriptElement::scriptContent): Added.
1915 (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
1916 (WebCore::ScriptElement::executeScript): Added.
1917 (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
1918 (WebCore::ScriptElement::removedFromDocument): Ditto.
1919 (WebCore::ScriptElement::childrenChanged): Ditto.
1920 (WebCore::ScriptElement::finishParsingChildren): Ditto.
1921 (WebCore::ScriptElement::handleSourceAttribute): Ditto.
1922 * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
1923 because ScriptElement has to instantiate ScriptElementData.
1924 (WebCore::ScriptElement::ScriptElement): Initializes m_data.
1925 * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
1926 (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
1927 (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
1928 (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
1929 (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
1930 (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
1931 (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
1932 * html/HTMLScriptElement.h:
1933 * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
1934 (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
1935 (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
1936 (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
1937 (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
1938 (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
1939 (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
1940 * svg/SVGScriptElement.h:
1942 2010-11-15 Kent Tamura <tkent@chromium.org>
1944 Reviewed by Darin Adler.
1946 Refactor HTMLInputElement: Move a part of HTMLInputElement::
1947 defaultEventHandler() to InputTypes.
1948 https://bugs.webkit.org/show_bug.cgi?id=48317
1950 Move out the followings to InputTypes:
1951 - click event processing,
1952 - the first keydown event processing, and
1953 - DOMActivate event processing.
1955 Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
1956 m_clickLocation. It's ok to move them because they should be valid only
1957 when HTMLInputElement::m_activeSubmit is true. For type=image,
1958 m_activeSubmit is true only in DOMActivate event handling. So we reset
1959 m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().
1961 No new tests because this is just a refactoring.
1963 * html/BaseDateAndTimeInputType.cpp:
1964 (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
1965 * html/BaseDateAndTimeInputType.h:
1966 * html/FileInputType.cpp:
1967 (WebCore::FileInputType::handleDOMActivateEvent):
1968 * html/FileInputType.h:
1969 * html/HTMLInputElement.cpp:
1970 (WebCore::HTMLInputElement::HTMLInputElement):
1971 (WebCore::HTMLInputElement::defaultEventHandler):
1972 * html/HTMLInputElement.h:
1973 * html/ImageInputType.cpp:
1974 (WebCore::ImageInputType::appendFormData):
1975 (WebCore::ImageInputType::handleDOMActivateEvent):
1976 * html/ImageInputType.h:
1977 * html/InputType.cpp:
1978 (WebCore::InputType::handleClickEvent):
1979 (WebCore::InputType::handleDOMActivateEvent):
1980 (WebCore::InputType::handleKeydownEvent):
1982 * html/NumberInputType.cpp:
1983 (WebCore::NumberInputType::handleKeydownEvent):
1984 * html/NumberInputType.h:
1985 * html/RadioInputType.cpp:
1986 (WebCore::RadioInputType::handleClickEvent):
1987 * html/RadioInputType.h:
1988 * html/RangeInputType.cpp:
1989 (WebCore::RangeInputType::handleKeydownEvent):
1990 * html/RangeInputType.h:
1991 * html/ResetInputType.cpp:
1992 (WebCore::ResetInputType::handleDOMActivateEvent):
1993 * html/ResetInputType.h:
1994 * html/SubmitInputType.cpp:
1995 (WebCore::SubmitInputType::handleDOMActivateEvent):
1996 * html/SubmitInputType.h:
1997 * html/TextFieldInputType.cpp:
1998 (WebCore::TextFieldInputType::handleKeydownEvent):
1999 (WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
2000 * html/TextFieldInputType.h:
2002 2010-11-15 Chris Rogers <crogers@google.com>
2004 Reviewed by Kenneth Russell.
2006 Add AudioNode custom bindings
2007 https://bugs.webkit.org/show_bug.cgi?id=49119
2009 No new tests since audio API is not yet implemented.
2011 * bindings/js/JSAudioNodeCustom.cpp: Added.
2012 (WebCore::JSAudioNode::connect):
2013 (WebCore::JSAudioNode::disconnect):
2014 * bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
2015 (WebCore::V8AudioNode::connectCallback):
2016 (WebCore::V8AudioNode::disconnectCallback):
2017 * webaudio/AudioNode.idl:
2019 2010-11-15 Dave Hyatt <hyatt@apple.com>
2021 Reviewed by Dan Bernstein.
2023 https://bugs.webkit.org/show_bug.cgi?id=49570
2025 Put italics specialization check back in CSSFontSelector. I had to back it out, since it broke
2026 a layout test, and the issue was that local font fallback fonts should not be considered by the
2027 specialization check (since you never want to pick a fallback over an actual @font-face rule if
2028 the @font-face rule can handle it).
2030 * css/CSSFontFace.h:
2031 (WebCore::CSSFontFace::create):
2032 (WebCore::CSSFontFace::isLocalFallback):
2033 (WebCore::CSSFontFace::CSSFontFace):
2034 * css/CSSFontSelector.cpp:
2035 (WebCore::CSSFontSelector::addFontFaceRule):
2036 (WebCore::compareFontFaces):
2038 2010-11-15 Adele Peterson <adele@apple.com>
2040 Reviewed by Darin Adler.
2042 Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
2043 Placeholder should not be swapped in and out of the text control's inner text element
2045 There's no need to swap the placeholder text in and out of the inner text element. Instead, just paint the text.
2046 This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.
2048 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
2049 Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
2050 * rendering/RenderTextControl.cpp:
2051 (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
2052 (WebCore::RenderTextControl::paintObject): Paint the placeholder text during the background phase.
2053 * rendering/RenderTextControl.h:
2054 * rendering/RenderTextControlMultiLine.cpp:
2055 (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
2056 (WebCore::RenderTextControlMultiLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
2057 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
2058 (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
2059 (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
2060 * rendering/RenderTextControlMultiLine.h:
2061 * rendering/RenderTextControlSingleLine.cpp:
2062 (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
2063 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
2064 (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
2065 (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
2066 * rendering/RenderTextControlSingleLine.h:
2067 * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
2069 2010-11-15 Andreas Kling <kling@webkit.org>
2071 Unreviewed buildfix (Qt WebKit2 minimal)
2073 * platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.
2075 2010-11-15 Chris Rogers <crogers@google.com>
2077 Reviewed by Kenneth Russell.
2079 Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
2080 https://bugs.webkit.org/show_bug.cgi?id=49357
2082 No new tests since audio API is not yet implemented.
2084 * bindings/js/JSEventCustom.cpp:
2086 * bindings/js/JSEventTarget.cpp:
2088 * bindings/v8/V8DOMWrapper.cpp:
2089 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2090 * bindings/v8/custom/V8EventCustom.cpp:
2093 (WebCore::Event::isAudioProcessingEvent):
2096 * dom/EventTarget.cpp:
2097 (WebCore::EventTarget::toJavaScriptAudioNode):
2098 * dom/EventTarget.h:
2100 2010-11-15 Alexey Proskuryakov <ap@apple.com>
2102 Reviewed by Darin Adler.
2104 A minor style fix in StyledElement.cpp.
2106 * dom/StyledElement.cpp:
2107 (WebCore::StyledElement::addCSSProperty):
2108 (WebCore::StyledElement::addCSSImageProperty):
2110 2010-11-15 Alexey Proskuryakov <ap@apple.com>
2112 Reviewed by Darin Adler.
2114 https://bugs.webkit.org/show_bug.cgi?id=49565
2115 Remove Attr.style accessor
2117 * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
2120 2010-11-15 Beth Dakin <bdakin@apple.com>
2122 Reviewed by Darin Adler.
2124 Fix for https://bugs.webkit.org/show_bug.cgi?id=49555
2125 Frame::scalePage() should treat the origin as an absolute
2128 <rdar://problem/8667138>
2131 (WebCore::Frame::scalePage):
2133 2010-11-15 Dan Bernstein <mitz@apple.com>
2135 Reviewed by Darin Adler.
2137 <rdar://problem/8662770> Error image has incorrect size when a custom font is used
2139 Test: fast/images/style-access-during-imageChanged-crash.html
2141 * rendering/RenderImage.cpp:
2142 (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
2143 (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
2144 out of setImageSizeForAltText() into this function.
2145 (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
2146 (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
2147 intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
2148 (WebCore::RenderImage::imageChanged): Moved some code from here...
2149 (WebCore::RenderImage::imageDimensionsChanged): ...to here.
2150 * rendering/RenderImage.h:
2152 2010-11-15 Anders Carlsson <andersca@apple.com>
2154 Reviewed by Dimitri Glazkov.
2156 ASSERTION (r72003): Assertion failure when running layout tests
2157 https://bugs.webkit.org/show_bug.cgi?id=49561
2159 r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
2160 but did not add the attribute to the isURLAttribute which lead to assertion failures
2161 when running the layout tests with a debug build.
2163 * html/HTMLButtonElement.cpp:
2164 (WebCore::HTMLButtonElement::isURLAttribute):
2165 * html/HTMLButtonElement.h:
2166 * html/HTMLInputElement.cpp:
2167 (WebCore::HTMLInputElement::isURLAttribute):
2169 2010-11-15 Alexey Proskuryakov <ap@apple.com>
2171 Reviewed by Darin Adler.
2173 https://bugs.webkit.org/show_bug.cgi?id=49559
2174 DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString
2176 No observable change in behavior, so no tests.
2178 * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.
2180 2010-11-15 Andreas Kling <kling@webkit.org>
2182 Reviewed by Tor Arne Vestbø.
2184 [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well
2186 Move this into WebCore/features.pri which is used by both WebCore and WebKit2.
2191 2010-11-15 Martin Robinson <mrobinson@igalia.com>
2195 * GNUmakefile.am: Add some missing generated files to the source list.
2197 2010-11-15 Kenneth Russell <kbr@google.com>
2199 Reviewed by James Robinson.
2201 [chromium] Avoid copying of SkBitmap in LayerRendererChromium
2202 https://bugs.webkit.org/show_bug.cgi?id=49560
2204 Ran CSS 3D content to test. No other new tests.
2206 * platform/graphics/chromium/LayerRendererChromium.cpp:
2207 (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
2209 2010-11-15 Vangelis Kokkevis <vangelis@chromium.org>
2211 Reviewed by Kenneth Russell.
2213 [chromium] Fixes layer opacity implementation of composited layers
2214 https://bugs.webkit.org/show_bug.cgi?id=49233
2216 This introduces a fairly drastic change in how LayerRendererChromium draws
2217 composited layers. Layers that have non-zero opacity as well as layers that
2218 clip their descendants (and have non-trivial transforms) are now first
2219 rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
2220 operation now consists of two distinct phases: First a hierarchical traversal
2221 of the layer tree to compute the layer transforms, determine what the necessary
2222 RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
2223 pass goes through all the RenderSurfaces discovered by the first pass and updates
2225 Additional significant side-effects of this change are:
2226 1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
2227 algorithm to render layers with the preserves-3d property from back to front using
2228 the Z coordinate of their center. This will further be improved in the future with
2229 the intoduction of a BSP tree to properly deal with intersecting layers.
2230 2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
2231 by rendering layer subtrees into an offscreen buffer and setting the appropriate
2232 scissor and viewport transformation.
2234 Tests: abs-position-inside-opacity.html (for the opacity implementation)
2235 and the rest of the compositing layout tests to verify that
2236 everything still works.
2239 * platform/graphics/chromium/ContentLayerChromium.cpp:
2240 (WebCore::ContentLayerChromium::cleanupResources):
2241 (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2242 (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
2243 (WebCore::ContentLayerChromium::updateContents):
2244 * platform/graphics/chromium/LayerChromium.cpp:
2245 (WebCore::LayerChromium::LayerChromium):
2246 (WebCore::LayerChromium::cleanupResources):
2247 (WebCore::LayerChromium::createRenderSurface):
2248 (WebCore::LayerChromium::descendantsDrawContent):
2249 (WebCore::LayerChromium::descendantsDrawContentRecursive):
2250 * platform/graphics/chromium/LayerChromium.h:
2251 (WebCore::LayerChromium::drawTransform):
2252 (WebCore::LayerChromium::layerRenderer):
2253 * platform/graphics/chromium/LayerRendererChromium.cpp:
2254 (WebCore::orthoMatrix):
2255 (WebCore::isScaleOrTranslation):
2256 (WebCore::LayerRendererChromium::compareLayerZ):
2257 (WebCore::LayerRendererChromium::LayerRendererChromium):
2258 (WebCore::LayerRendererChromium::prepareToDrawLayers):
2259 (WebCore::LayerRendererChromium::drawLayers):
2260 (WebCore::LayerRendererChromium::updateLayersRecursive):
2261 (WebCore::LayerRendererChromium::useRenderSurface):
2262 (WebCore::LayerRendererChromium::drawLayer):
2263 (WebCore::LayerRendererChromium::setScissorToRect):
2264 (WebCore::LayerRendererChromium::setDrawViewportRect):
2265 (WebCore::LayerRendererChromium::initializeSharedObjects):
2266 (WebCore::LayerRendererChromium::cleanupSharedObjects):
2267 * platform/graphics/chromium/LayerRendererChromium.h:
2268 * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
2269 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2270 (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
2271 (WebCore::RenderSurfaceChromium::cleanupResources):
2272 (WebCore::RenderSurfaceChromium::layerRenderer):
2273 (WebCore::RenderSurfaceChromium::prepareContentsTexture):
2274 * platform/graphics/chromium/RenderSurfaceChromium.h: Added.
2275 (WebCore::RenderSurfaceChromium::contentRectCenter):
2276 (WebCore::RenderSurfaceChromium::contentRect):
2277 * platform/graphics/chromium/VideoLayerChromium.cpp:
2278 (WebCore::VideoLayerChromium::cleanupResources):
2280 2010-11-15 Martin Robinson <mrobinson@igalia.com>
2282 Reviewed by Andreas Kling.
2284 [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
2285 https://bugs.webkit.org/show_bug.cgi?id=49549
2287 No new tests. This can be verified by loading any existing vertical text test
2288 in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
2289 no automatic way of verifying custom cursors.
2291 * platform/gtk/GtkVersioning.c:
2292 (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.
2294 2010-11-12 Jer Noble <jer.noble@apple.com>
2296 Reviewed by Brady Eidson.
2298 Can't view HTML5 video when running Safari with an authenticated proxy server
2299 <rdar://problem/8351926>
2301 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2302 (WebCore::MediaPlayerPrivate::createQTMovie):
2304 2010-11-14 Abhishek Arya <inferno@chromium.org>
2306 Reviewed by Dimitri Glazkov.
2308 Event dispatch call can blow away the node's renderer initialized
2309 before the call in updateSelectionForMouseDrag function. We need
2310 to initialize it after the call.
2311 https://bugs.webkit.org/show_bug.cgi?id=49524
2313 * page/EventHandler.cpp:
2314 (WebCore::EventHandler::updateSelectionForMouseDrag):
2316 2010-11-15 Patrick Gansterer <paroga@webkit.org>
2318 Reviewed by Martin Robinson.
2320 Make ContextShadow compile on all platforms
2321 https://bugs.webkit.org/show_bug.cgi?id=49535
2323 Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
2324 and move them into the WebCore namespace like all other Platform* typedefs.
2326 * platform/graphics/ContextShadow.h:
2328 2010-11-15 Renata Hodovan <reni@webkit.org>
2330 Reviewed by Andreas Kling.
2332 SVGFEImageElement doesn't support dynamic invalidation
2333 https://bugs.webkit.org/show_bug.cgi?id=49536
2335 The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
2337 Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
2338 svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
2340 * svg/SVGFEImageElement.cpp:
2341 (WebCore::SVGFEImageElement::svgAttributeChanged):
2342 * svg/SVGFEImageElement.h:
2344 2010-11-15 Yael Aharon <yael.aharon@nokia.com>
2346 Reviewed by Antonio Gomes.
2348 [Qt] Focus ring does not show on focused links.
2349 https://bugs.webkit.org/show_bug.cgi?id=49515
2351 After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
2353 The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
2354 but until r69766, we did not check that for links. Qt draws its own focus ring
2355 for controls that it draws, but not for links.
2356 Change the return value to false if the style's appearance is not something that Qt
2357 draws by itself or does not support.
2358 Added a Qt specific test result for the new test added in r69766.
2360 * platform/qt/RenderThemeQt.cpp:
2361 (WebCore::RenderThemeQt::supportsFocusRing):
2363 2010-11-15 Dai Mikurube <dmikurube@google.com>
2365 Reviewed by Kent Tamura.
2367 Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
2368 https://bugs.webkit.org/show_bug.cgi?id=49240
2370 Tests: fast/forms/formaction-attribute.html
2371 fast/forms/formmethod-attribute-button-html.html
2372 fast/forms/formmethod-attribute-input-html.html
2373 fast/forms/formtarget-attribute-button-html.html
2374 fast/forms/formtarget-attribute-input-html.html
2375 fast/forms/mailto/formenctype-attribute-button-html.html
2376 fast/forms/mailto/formenctype-attribute-input-html.html
2377 fast/forms/submit-form-attributes.html
2379 * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
2380 * html/HTMLButtonElement.idl:
2381 * html/HTMLInputElement.idl:
2382 * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
2383 (WebCore::FormSubmission::Attributes::copyFrom):
2384 (WebCore::FormSubmission::create):
2385 * loader/FormSubmission.h:
2387 2010-11-15 Pavel Feldman <pfeldman@chromium.org>
2389 Reviewed by Yury Semikhatsky.
2391 Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
2392 https://bugs.webkit.org/show_bug.cgi?id=49527
2394 * inspector/front-end/TextPrompt.js:
2395 (WebInspector.TextPrompt.prototype._onKeyDown):
2397 2010-11-15 Ilya Sherman <isherman@chromium.org>
2399 Reviewed by Kent Tamura.
2401 Add capability for displaying warnings to autofill popup
2402 Warnings are displayed in dark gray italic.
2403 https://bugs.webkit.org/show_bug.cgi?id=49291
2404 http://code.google.com/p/chromium/issues/detail?id=58509
2406 * platform/chromium/PopupMenuChromium.cpp:
2407 (WebCore::PopupListBox::getRowFont):
2408 Use item-specific font, not just the generic menu font.
2409 (WebCore::PopupListBox::selectIndex):
2410 Updated to clear the selection when hovering over a non-selectable item.
2411 * platform/chromium/PopupMenuChromium.h: Minor cleanup
2413 2010-11-14 David Hyatt <hyatt@apple.com>
2415 Back out the italics portion of the previous patch until I can figure out why it
2418 * css/CSSFontSelector.cpp:
2419 (WebCore::compareFontFaces):
2421 2010-11-14 Kent Tamura <tkent@chromium.org>
2423 Reviewed by Dimitri Glazkov.
2425 Improve API for form validation message strings
2426 https://bugs.webkit.org/show_bug.cgi?id=34945
2428 This change introduces three new functions;
2429 validationMessageTypeMismatchFor*Text(). The implementation for each
2430 platform is just a call to validationMessageTypeMismatchText().
2432 Some validationMessage*() functions have new parameters. The parameters
2433 are ignored in all platforms for now.
2435 This change doesn't change any behavior. However a platform can add
2436 additional information to validation messages. e.g. Changing "type
2437 mismatch" to "Please specify an e-mail address" for <input type=email>.
2439 * html/EmailInputType.cpp:
2440 (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
2441 or validationMessageTypeMismatchForMultipleEmailText().
2442 * html/EmailInputType.h:
2443 * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
2444 * html/HTMLInputElement.cpp: Add the following functions to pass extra
2445 information to validation message string functions.
2446 (WebCore::HTMLInputElement::minimumString):
2447 (WebCore::HTMLInputElement::maximumString):
2448 (WebCore::HTMLInputElement::stepBaseString):
2449 (WebCore::HTMLInputElement::stepString):
2450 (WebCore::HTMLInputElement::typeMismatchText):
2451 * html/HTMLInputElement.h:
2452 * html/HTMLTextAreaElement.h:
2453 * html/InputType.cpp:
2454 (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
2456 * html/URLInputType.cpp:
2457 (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
2458 * html/URLInputType.h:
2459 * html/ValidityState.cpp:
2460 (WebCore::ValidityState::validationMessage):
2461 * platform/LocalizedStrings.cpp:
2462 (WebCore::validationMessageTypeMismatchForEmailText):
2463 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2464 (WebCore::validationMessageTypeMismatchForURLText):
2465 (WebCore::validationMessageTooLongText):
2466 (WebCore::validationMessageRangeUnderflowText):
2467 (WebCore::validationMessageRangeOverflowText):
2468 (WebCore::validationMessageStepMismatchText):
2469 * platform/LocalizedStrings.h:
2470 - Add validationMessageTypeMismatchForEmailText(),
2471 validationMessageTypeMismatchForMultipleEmailText() and
2472 validationMessageTypeMismatchForURLText()
2473 - Add length parameters to validationMessageTooLongText().
2474 - Add the minimum value parameter to validationMessageRangeUnderflowText()
2475 - Add the maximum value parameter to validationMessageRangeOverflowText()
2476 - Add parameters of the base value and the step value to validationMessageStepMismatchText()
2477 * platform/android/LocalizedStringsAndroid.cpp:
2478 (WebCore::validationMessageTypeMismatchForEmailText):
2479 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2480 (WebCore::validationMessageTypeMismatchForURLText):
2481 (WebCore::validationMessageTooLongText):
2482 (WebCore::validationMessageRangeUnderflowText):
2483 (WebCore::validationMessageRangeOverflowText):
2484 (WebCore::validationMessageStepMismatchText):
2485 * platform/brew/LocalizedStringsBrew.cpp:
2486 (WebCore::validationMessageTypeMismatchForEmailText):
2487 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2488 (WebCore::validationMessageTypeMismatchForURLText):
2489 (WebCore::validationMessageTooLongText):
2490 (WebCore::validationMessageRangeUnderflowText):
2491 (WebCore::validationMessageRangeOverflowText):
2492 (WebCore::validationMessageStepMismatchText):
2493 * platform/efl/LocalizedStringsEfl.cpp:
2494 (WebCore::validationMessageRangeOverflowText):
2495 (WebCore::validationMessageRangeUnderflowText):
2496 (WebCore::validationMessageStepMismatchText):
2497 (WebCore::validationMessageTooLongText):
2498 (WebCore::validationMessageTypeMismatchForEmailText):
2499 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2500 (WebCore::validationMessageTypeMismatchForURLText):
2501 * platform/gtk/LocalizedStringsGtk.cpp:
2502 (WebCore::validationMessageTypeMismatchForEmailText):
2503 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2504 (WebCore::validationMessageTypeMismatchForURLText):
2505 (WebCore::validationMessageTooLongText):
2506 (WebCore::validationMessageRangeUnderflowText):
2507 (WebCore::validationMessageRangeOverflowText):
2508 (WebCore::validationMessageStepMismatchText):
2509 * platform/haiku/LocalizedStringsHaiku.cpp:
2510 (WebCore::validationMessageTypeMismatchForEmailText):
2511 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2512 (WebCore::validationMessageTypeMismatchForURLText):
2513 (WebCore::validationMessageTooLongText):
2514 (WebCore::validationMessageRangeUnderflowText):
2515 (WebCore::validationMessageRangeOverflowText):
2516 (WebCore::validationMessageStepMismatchText):
2517 * platform/wx/LocalizedStringsWx.cpp:
2518 (WebCore::validationMessageTypeMismatchForEmailText):
2519 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2520 (WebCore::validationMessageTypeMismatchForURLText):
2521 (WebCore::validationMessageTooLongText):
2522 (WebCore::validationMessageRangeUnderflowText):
2523 (WebCore::validationMessageRangeOverflowText):
2524 (WebCore::validationMessageStepMismatchText):
2526 2010-11-14 Kent Tamura <tkent@chromium.org>
2528 Reviewed by Andreas Kling.
2530 KeyboardEvent::keyIdentifier() should return "const String&"
2531 https://bugs.webkit.org/show_bug.cgi?id=49426
2533 No new tests. This shouldn't change the current behavior.
2535 * dom/KeyboardEvent.h:
2536 (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
2537 * dom/SelectElement.cpp:
2538 (WebCore::SelectElement::menuListDefaultEventHandler):
2539 Change the type of a variable to have keyIdentifier(); String -> const String&
2540 (WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
2541 * html/HTMLInputElement.cpp:
2542 (WebCore::HTMLInputElement::defaultEventHandler): ditto.
2543 (WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
2544 * page/EventHandler.cpp:
2545 (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.
2547 2010-11-14 Kenichi Ishibashi <bashi@google.com>
2549 Reviewed by Kent Tamura.
2551 [HTML5] "form" attribute support for form control elements
2552 https://bugs.webkit.org/show_bug.cgi?id=47813
2554 Adds a list of form-associated elements with form attribute into
2555 the Document class to support form attribute.
2556 Adds a function to determine the right place to locate
2557 form-associated elements with form attribute into
2558 m_associatedElements of HTMLFormElement class.
2560 Tests: fast/forms/form-attribute-elements-order.html
2561 fast/forms/form-attribute-elements-order2.html
2562 fast/forms/form-attribute-elements.html
2563 fast/forms/form-attribute.html
2566 (WebCore::Document::registerFormElementWithFormAttribute): Added.
2567 (WebCore::Document::unregisterFormElementWithFormAttribute): Added.
2568 (WebCore::Document::resetFormElementsOwner): Added.
2569 * dom/Document.h: Added the list for elements with form attribute.
2570 * html/HTMLAttributeNames.in: Added form attribute.
2571 * html/HTMLFormControlElement.cpp:
2572 (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
2574 (WebCore::HTMLFormControlElement::removedFromTree): Ditto.
2575 (WebCore::HTMLFormControlElement::resetFormOwner): Added.
2576 (WebCore::HTMLFormControlElement::attributeChanged): Added.
2577 * html/HTMLFormControlElement.h:
2578 * html/HTMLFormElement.cpp:
2579 (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
2580 newly-added variables.
2581 (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
2582 form owner of form-associated elements.
2583 (WebCore::HTMLFormElement::removedFromDocument): Ditto.
2584 (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
2585 (WebCore::HTMLFormElement::formElementIndex): Modified to treat
2586 form-associated elements with form attribute separately.
2587 (WebCore::HTMLFormElement::removeFormElement): Modified to handle
2588 form-associated elements with form attribute.
2589 * html/HTMLFormElement.h: Added three variables to handle form attribute.
2590 * html/HTMLOutputElement.cpp: Removed "FIXME" comment.
2591 (WebCore::HTMLOutputElement::parseMappedAttribute):
2592 * html/HTMLOutputElement.h: Removed setForm().
2594 2010-11-14 David Hyatt <hyatt@apple.com>
2596 Reviewed by Dan Bernstein.
2598 https://bugs.webkit.org/show_bug.cgi?id=49521
2600 REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
2602 Refine the font selection function for @font-face to be smarter about what fonts it prefers. If
2603 a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
2604 normal and small-caps. The specialized font is more likely to be true small-caps and to not rely
2607 Added the same logic for italic as well. Prefer the font that is specifically restricted to
2608 italic to one that claims it can support anything.
2610 * css/CSSFontSelector.cpp:
2611 (WebCore::compareFontFaces):
2613 2010-11-14 Ryuan Choi <ryuan.choi@samsung.com>
2615 Reviewed by Martin Robinson.
2617 [EFL] add pango support
2618 https://bugs.webkit.org/show_bug.cgi?id=46029
2620 Include pango related files.
2621 No new tests; functionality is unchanged.
2623 * CMakeListsEfl.txt:
2625 2010-11-12 Tenghui Zhu <ztenghui@google.com>
2627 Reviewed by Andreas Kling.
2629 [V8] Code generation script error in generating the SVGStaticListPropertyTearOff
2630 https://bugs.webkit.org/show_bug.cgi?id=49463
2632 * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
2633 the SVGStaticListPropertyTearOff string, not the svgListPropertyType.
2635 2010-11-14 Patrick Gansterer <paroga@webkit.org>
2637 Reviewed by Andreas Kling.
2640 https://bugs.webkit.org/show_bug.cgi?id=49507
2644 2010-11-13 Patrick Gansterer <paroga@webkit.org>
2646 Reviewed by Yury Semikhatsky.
2648 Buildfix for !ENABLE(INSPECTOR)
2649 https://bugs.webkit.org/show_bug.cgi?id=49500
2651 Also unify the position of the condition in the cpp files.
2653 * inspector/ConsoleMessage.cpp:
2654 * inspector/InspectorResourceAgent.cpp:
2655 * inspector/InspectorState.cpp:
2656 * inspector/ScriptCallFrame.cpp:
2657 * inspector/ScriptCallStack.cpp:
2659 2010-11-13 David Hyatt <hyatt@apple.com>
2661 Reviewed by Anders Carlsson.
2663 https://bugs.webkit.org/show_bug.cgi?id=49506
2665 Repaint is broken across writing mode boundaries. It's not enough to add in flipped offsets. You have
2666 to flip the rect itself.
2668 Added fast/repaint/repaint-across-writing-mode-boundary.html
2670 * rendering/RenderBox.cpp:
2671 (WebCore::RenderBox::computeRectForRepaint):
2673 2010-11-13 David Hyatt <hyatt@apple.com>
2675 Reviewed by Dan Bernstein.
2677 https://bugs.webkit.org/show_bug.cgi?id=49505
2679 REGRESSION: @font-face doesn't work with the small-caps variant. This was broken by the addition of SVG fonts
2680 support long ago. This patch fixes the SVG code so that it doesn't break non-SVG fonts.
2682 Added fast/blockflow/broken-ideograph-small-caps.html
2684 * css/CSSFontFace.cpp:
2685 (WebCore::CSSFontFace::hasSVGFontFaceSource):
2686 * css/CSSFontFace.h:
2687 * css/CSSFontFaceSource.cpp:
2688 (WebCore::CSSFontFaceSource::getFontData):
2689 * css/CSSFontFaceSource.h:
2690 * css/CSSFontSelector.cpp:
2691 (WebCore::CSSFontSelector::addFontFaceRule):
2692 (WebCore::CSSFontSelector::getFontData):
2694 2010-11-13 Dan Bernstein <mitz@apple.com>
2696 Reviewed by Dave Hyatt.
2698 fast/text/hyphen* tests have different results on Leopard
2699 https://bugs.webkit.org/show_bug.cgi?id=43296
2701 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2702 (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
2703 through the normal NSUserDefaults search order rather than skipping the application domain.
2704 This makes this function respect DumpRenderTree’s setting of the default in the application
2707 2010-11-13 David Hyatt <hyatt@apple.com>
2709 Reviewed by Dan Bernstein.
2711 https://bugs.webkit.org/show_bug.cgi?id=49499
2713 broken-ideographic-font.html causes layout test flakiness in release builds. The reason for this is
2714 that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
2715 The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
2716 pruned as well. In addition, custom small caps fonts were never getting deleted either.
2718 I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
2721 Unskip fast/blockflow/broken-ideographic-font.html
2723 * platform/graphics/SimpleFontData.cpp:
2724 (WebCore::SimpleFontData::~SimpleFontData):
2725 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2726 (WebCore::SimpleFontData::platformDestroy):
2727 (WebCore::SimpleFontData::smallCapsFontData):
2728 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2729 (WebCore::SimpleFontData::platformDestroy):
2730 (WebCore::SimpleFontData::smallCapsFontData):
2731 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2732 (WebCore::FontPlatformData::allowsLigatures):
2733 * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2734 (WebCore::SimpleFontData::platformDestroy):
2735 (WebCore::SimpleFontData::smallCapsFontData):
2736 * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
2737 (WebCore::SimpleFontData::platformDestroy):
2738 (WebCore::SimpleFontData::smallCapsFontData):
2739 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2740 (WebCore::disableLigatures):
2741 * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2742 (WebCore::SimpleFontData::getCFStringAttributes):
2743 * platform/graphics/mac/SimpleFontDataMac.mm:
2744 (WebCore::SimpleFontData::platformDestroy):
2745 * platform/graphics/win/SimpleFontDataWin.cpp:
2746 (WebCore::SimpleFontData::platformDestroy):
2747 (WebCore::SimpleFontData::smallCapsFontData):
2748 * platform/graphics/wx/SimpleFontDataWx.cpp:
2749 (WebCore::SimpleFontData::platformDestroy):
2750 (WebCore::SimpleFontData::smallCapsFontData):
2752 2010-11-13 David Hyatt <hyatt@apple.com>
2754 https://bugs.webkit.org/show_bug.cgi?id=49496
2756 Fix broken-ideographic-font.html. I had the font installed locally on my machine, and this covered up
2757 the fact that CoreText was implicitly using it as fallback in the vertical case only. The bots don't have
2758 the font installed locally, and so they showed the bug.
2760 Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
2763 * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2764 (WebCore::SimpleFontData::getCFStringAttributes):
2766 2010-11-13 David Hyatt <hyatt@apple.com>
2768 Reviewed by Dan Bernstein.
2770 https://bugs.webkit.org/show_bug.cgi?id=49464
2772 Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
2773 vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
2775 (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
2776 distinct when used in horizontal and vertical forms.
2778 (2) Let the orientation member of FontPlatformData represent the desired orientation rather than
2779 the supported one. Add an orientation member to SimpleFontData that represents the actual
2780 supported orientation of the font.
2782 (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
2783 CJK ideographs are encountered. This is essentially identical to the small caps fallback mechanism
2784 but invoked only for ideographs. The special ideograph font locks the orientation to vertical and
2785 renders the glyphs upright even when the font has no vertical tables. Punctuation and such will
2786 still look funny, and really this is a bug in the font, but at least this way it will be apparent
2787 that the font is to blame.
2789 Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.
2791 * css/CSSFontFaceSource.cpp:
2792 (WebCore::CSSFontFaceSource::getFontData):
2793 * css/CSSSegmentedFontFace.cpp:
2794 (WebCore::CSSSegmentedFontFace::getFontData):
2795 * platform/graphics/Font.cpp:
2796 (WebCore::Font::isCJKIdeograph):
2797 * platform/graphics/Font.h:
2798 * platform/graphics/FontFastPath.cpp:
2799 (WebCore::Font::glyphDataForCharacter):
2800 * platform/graphics/SimpleFontData.cpp:
2801 (WebCore::SimpleFontData::SimpleFontData):
2802 (WebCore::SimpleFontData::~SimpleFontData):
2803 (WebCore::SimpleFontData::brokenIdeographFontData):
2804 * platform/graphics/SimpleFontData.h:
2805 (WebCore::SimpleFontData::orientation):
2806 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2807 (WebCore::FontPlatformData::FontPlatformData):
2808 * platform/graphics/mac/FontMac.mm:
2809 (WebCore::showGlyphsWithAdvances):
2810 * platform/graphics/mac/SimpleFontDataMac.mm:
2811 (WebCore::SimpleFontData::platformInit):
2812 (WebCore::SimpleFontData::platformBoundsForGlyph):
2813 (WebCore::SimpleFontData::platformWidthForGlyph):
2815 2010-11-13 Rob Buis <rwlbuis@gmail.com>
2817 Reviewed by Dirk Schulze.
2819 requiredFeatures does not adapt to SVGStringList changes
2820 https://bugs.webkit.org/show_bug.cgi?id=40887
2822 Centralize logic of handling of SVGElement validity changes.
2823 The logic is to detach the SVGElement when changing from valid
2824 to invalid, and to attach when changing from invalid to valid.
2826 Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
2827 svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
2828 svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
2829 svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
2830 svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
2831 svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
2832 svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
2833 svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
2834 svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
2835 svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
2836 svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
2837 svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
2838 svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
2839 svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
2840 svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
2841 svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
2842 svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
2843 svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
2844 svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
2845 svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
2846 svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
2847 svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
2848 svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
2849 svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
2850 svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
2851 svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html
2853 * svg/SVGCircleElement.cpp:
2854 (WebCore::SVGCircleElement::svgAttributeChanged):
2855 * svg/SVGEllipseElement.cpp:
2856 (WebCore::SVGEllipseElement::svgAttributeChanged):
2857 * svg/SVGForeignObjectElement.cpp:
2858 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
2859 * svg/SVGGElement.cpp:
2860 (WebCore::SVGGElement::svgAttributeChanged):
2861 * svg/SVGImageElement.cpp:
2862 (WebCore::SVGImageElement::svgAttributeChanged):
2863 * svg/SVGLineElement.cpp:
2864 (WebCore::SVGLineElement::svgAttributeChanged):
2865 * svg/SVGPathElement.cpp:
2866 (WebCore::SVGPathElement::svgAttributeChanged):
2867 * svg/SVGPolyElement.cpp:
2868 (WebCore::SVGPolyElement::svgAttributeChanged):
2869 * svg/SVGRectElement.cpp:
2870 (WebCore::SVGRectElement::svgAttributeChanged):
2871 * svg/SVGSVGElement.cpp:
2872 (WebCore::SVGSVGElement::svgAttributeChanged):
2874 (WebCore::knownAttribute):
2875 (WebCore::SVGTests::isKnownAttribute):
2876 (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
2878 * svg/SVGTextContentElement.cpp:
2879 (WebCore::SVGTextContentElement::svgAttributeChanged):
2880 (WebCore::SVGTextContentElement::isKnownAttribute):
2881 * svg/SVGTextContentElement.h:
2882 * svg/SVGUseElement.cpp:
2883 (WebCore::SVGUseElement::svgAttributeChanged):
2885 2010-11-13 Andrey Kosyakov <caseq@chromium.org>
2887 Reviewed by Pavel Feldman.
2889 Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
2890 https://bugs.webkit.org/show_bug.cgi?id=49493
2892 * inspector/front-end/NetworkPanel.js:
2893 (WebInspector.NetworkPanel.prototype._showResource):
2894 * inspector/front-end/ResourceView.js:
2895 (WebInspector.ResourceView):
2896 (WebInspector.ResourceView.prototype.selectContentTab):
2897 (WebInspector.ResourceView.prototype._selectTab):
2898 (WebInspector.ResourceView.prototype._refreshCookies):
2899 (WebInspector.ResourceCookiesTab.prototype.show):
2900 * inspector/front-end/StoragePanel.js:
2901 (WebInspector.StoragePanel.prototype.showResource):
2902 * inspector/front-end/TabbedPane.js:
2903 (WebInspector.TabbedPane.prototype.appendTab):
2904 (WebInspector.TabbedPane.prototype.hasTab):
2905 (WebInspector.TabbedPane.prototype.selectTabById):
2906 (WebInspector.TabbedPane.prototype._hideTab):
2907 (WebInspector.TabbedPane.prototype._showTab):
2908 * inspector/front-end/inspector.css:
2909 (.resource-view-cookies):
2910 (.resource-view-cookies.visible):
2912 2010-11-13 Yury Semikhatsky <yurys@chromium.org>
2914 Reviewed by Pavel Feldman.
2916 REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
2917 https://bugs.webkit.org/show_bug.cgi?id=49362
2920 (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
2921 has been passed to the inspector.
2923 2010-11-13 Yury Semikhatsky <yurys@chromium.org>
2925 Reviewed by Pavel Feldman.
2927 Web Inspector: DOM event listener name is cropped in Elements panel
2928 https://bugs.webkit.org/show_bug.cgi?id=49387
2930 * inspector/front-end/inspector.css:
2931 (.event-bar): use margin-left instead of left to fit child node into its parent
2933 2010-11-13 Ilya Sherman <isherman@chromium.org>
2935 Reviewed by Shinichiro Hamaji.
2937 Fixes regression from previous patch -- computes y offsets for elements
2938 that are scrolled out of the window.
2939 https://bugs.webkit.org/show_bug.cgi?id=49306
2941 * manual-tests/select-scroll.html: Added.
2942 * platform/chromium/PopupMenuChromium.cpp:
2943 (WebCore::PopupListBox::layout):
2945 2010-11-12 Daniel Bates <dbates@rim.com>
2947 Reviewed by Adam Barth.
2949 Transferred <iframe>s may not have a unique internal name
2950 https://bugs.webkit.org/show_bug.cgi?id=48768
2952 Fixes an issue where an <iframe> that is transferred from
2953 document A to document B, where A != B, may not have a
2954 unique internal name in B.
2956 Test: fast/frames/iframe-reparenting-unique-name.html
2958 * html/HTMLFrameElementBase.cpp:
2959 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
2960 HTMLFrameElementBase::setName() so that we can remove setName(), which
2961 was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
2962 * html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
2963 * html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
2965 (WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
2966 * page/FrameTree.cpp:
2967 (WebCore::FrameTree::transferChild): Added.
2968 (WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
2969 (WebCore::FrameTree::actuallyAppendChild): Added.
2972 2010-11-12 Joseph Pecoraro <joepeck@webkit.org>
2974 Reviewed by Alexey Proskuryakov.
2976 Some FrameLoader.h Cleanup
2977 https://bugs.webkit.org/show_bug.cgi?id=49484
2979 Removed function signatures without any implementation. The functions
2980 used to exist, and were nicely refactored into PageCache in r60688 and
2981 the signatures were left behind.
2983 Removed function signature setLoadType. Added in r17238 back when the
2984 file was named WebFrameLoader, and the implementation was lost during
2985 the transition from its mm implementation.
2987 Removed function signature updateHistoryAfterClientRedirect. Implementation
2988 and call points were removed in r18541 but the signature was left behind,
2991 Removed unused debug variable m_didDispatchDidCommitLoad. It was added
2992 and used in Assertions in r28399. It was removed soon after, in r28464
2993 because they were, "firing like crazy. Not sure why yet." It was
2996 Added const qualifier and moved interruptionForPolicyChangeError to
2997 be more like its buddies.
2999 * loader/FrameLoader.cpp:
3000 (WebCore::FrameLoader::FrameLoader):
3001 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3002 (WebCore::FrameLoader::interruptionForPolicyChangeError):
3003 (WebCore::FrameLoader::dispatchDidCommitLoad):
3004 * loader/FrameLoader.h:
3006 2010-11-12 Yael Aharon <yael.aharon@nokia.com>
3008 Reviewed by David Hyatt.
3010 Spatial Navigation: Cannot focus on some ContainerNode
3011 https://bugs.webkit.org/show_bug.cgi?id=48393
3013 ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child
3014 is its own lowest right corner. If that child is an empty text node after an image, it does
3015 not have size and position information, so we should go to the previous child.
3017 Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
3018 fast/events/spatial-navigation/snav-container-white-space.html
3020 * dom/ContainerNode.cpp:
3021 (WebCore::ContainerNode::getLowerRightCorner):
3023 2010-11-12 James Simonsen <simonjam@chromium.org>
3025 Reviewed by Darin Fisher.
3027 [Web Timing] Rename interfaces:
3028 - Navigation -> PerformanceNavigation
3029 - Timing -> PerformanceTiming
3030 https://bugs.webkit.org/show_bug.cgi?id=48919
3032 * DerivedSources.cpp:
3033 * DerivedSources.make:
3036 * WebCore.vcproj/WebCore.vcproj:
3037 * WebCore.xcodeproj/project.pbxproj:
3038 * page/Performance.cpp:
3039 (WebCore::Performance::navigation):
3040 (WebCore::Performance::timing):
3041 * page/Performance.h:
3042 * page/Performance.idl:
3043 * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
3044 (WebCore::PerformanceNavigation::PerformanceNavigation):
3045 (WebCore::PerformanceNavigation::frame):
3046 (WebCore::PerformanceNavigation::disconnectFrame):
3047 (WebCore::PerformanceNavigation::type):
3048 (WebCore::PerformanceNavigation::redirectCount):
3049 * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
3050 (WebCore::PerformanceNavigation::create):
3051 * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
3052 * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
3053 (WebCore::toIntegerMilliseconds):
3054 (WebCore::getPossiblySkewedTimeInKnownRange):
3055 (WebCore::PerformanceTiming::PerformanceTiming):
3056 (WebCore::PerformanceTiming::frame):
3057 (WebCore::PerformanceTiming::disconnectFrame):
3058 (WebCore::PerformanceTiming::navigationStart):
3059 (WebCore::PerformanceTiming::unloadEventEnd):
3060 (WebCore::PerformanceTiming::redirectStart):
3061 (WebCore::PerformanceTiming::redirectEnd):
3062 (WebCore::PerformanceTiming::fetchStart):
3063 (WebCore::PerformanceTiming::domainLookupStart):
3064 (WebCore::PerformanceTiming::domainLookupEnd):
3065 (WebCore::PerformanceTiming::connectStart):
3066 (WebCore::PerformanceTiming::connectEnd):
3067 (WebCore::PerformanceTiming::requestStart):
3068 (WebCore::PerformanceTiming::requestEnd):
3069 (WebCore::PerformanceTiming::responseStart):
3070 (WebCore::PerformanceTiming::responseEnd):
3071 (WebCore::PerformanceTiming::domLoading):
3072 (WebCore::PerformanceTiming::domInteractive):
3073 (WebCore::PerformanceTiming::domContentLoaded):
3074 (WebCore::PerformanceTiming::domComplete):
3075 (WebCore::PerformanceTiming::loadEventStart):
3076 (WebCore::PerformanceTiming::loadEventEnd):
3077 (WebCore::PerformanceTiming::documentLoader):
3078 (WebCore::PerformanceTiming::documentTiming):
3079 (WebCore::PerformanceTiming::documentLoadTiming):
3080 (WebCore::PerformanceTiming::resourceLoadTiming):
3081 (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
3082 * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
3083 (WebCore::PerformanceTiming::create):
3084 * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
3086 2010-11-12 Eric Carlson <eric.carlson@apple.com>
3088 Reviewed by Simon Fraser.
3090 Remove unused code from HTMLMediaElement
3091 https://bugs.webkit.org/show_bug.cgi?id=49451
3093 Just removing code, so no new tests.
3095 * html/HTMLMediaElement.cpp: Removed unused functions.
3096 * html/HTMLMediaElement.h:
3098 2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
3100 Unreviewed Xcode project fix.
3102 * WebCore.xcodeproj/project.pbxproj:
3104 2010-11-12 Alexey Proskuryakov <ap@apple.com>
3106 Reviewed by Simon Fraser.
3108 https://bugs.webkit.org/show_bug.cgi?id=49473
3109 WebKitCSSMatrix shouldn't inherit from StyleBase
3111 No change in behavior, so no tests.
3113 * css/WebKitCSSMatrix.cpp:
3114 (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
3115 no need to initialize always-null parent.
3116 (WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
3119 * css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
3120 constructor and copy constructor.
3122 * html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.
3124 2010-11-12 Helder Correia <helder@sencha.com>
3126 Reviewed by Andreas Kling.
3128 [Qt] Path::addArc() does not set right angle direction on full arcs
3129 https://bugs.webkit.org/show_bug.cgi?id=49138
3131 Ensure correctness of nonzero winding rule for full arc paths.
3132 Invert the sign of the span if the direction is counterclockwise.
3134 Test: fast/canvas/canvas-arc-360-winding.html
3136 * platform/graphics/qt/PathQt.cpp:
3137 (WebCore::Path::addArc):
3139 2010-11-05 Dimitri Glazkov <dglazkov@chromium.org>
3141 Reviewed by Darin Adler.
3143 Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
3144 https://bugs.webkit.org/show_bug.cgi?id=46015
3146 Test: fast/events/shadow-boundary-crossing-2.html
3148 This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
3149 for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
3151 This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
3152 appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
3154 * Android.mk: Added EventContext, WindowEventContext files.
3155 * CMakeLists.txt: Ditto.
3156 * GNUmakefile.am: Ditto.
3157 * WebCore.gypi: Ditto.
3158 * WebCore.pro: Ditto.
3159 * WebCore.xcodeproj/project.pbxproj: Ditto.
3160 * WebCore.vcproj/WebCore.vcproj: Ditto.
3161 * dom/ContainerNode.cpp:
3162 (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
3163 * dom/EventContext.cpp: Added.
3164 * dom/EventContext.h: Added.
3166 (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
3167 (WebCore::Node::createRendererIfNeeded): Ditto.
3168 (WebCore::Node::parentOrHostNode): Added new helper method.
3169 (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
3170 (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
3171 (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
3172 (WebCore::Node::topEventContext): Added.
3173 (WebCore::eventHasListeners): Changed to use EventContexts.
3174 (WebCore::Node::dispatchGenericEvent): Ditto.
3175 * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
3176 and changed signature of eventAncestors to use EventContexts.
3178 (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
3179 * dom/WindowEventContext.cpp: Added.
3180 * dom/WindowEventContext.h: Added.
3181 * inspector/InspectorDOMAgent.cpp:
3182 (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
3183 * page/EventHandler.cpp:
3184 (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
3185 * rendering/RenderTextControlMultiLine.cpp:
3186 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
3187 no longer necessary.
3188 * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
3190 * rendering/TextControlInnerElements.cpp:
3191 (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
3192 from where it was prior to r60418.
3193 * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
3194 * svg/SVGElement.h: Ditto.
3196 2010-11-12 Ryuan Choi <ryuan.choi@samsung.com>
3198 Reviewed by Martin Robinson.
3200 [GTK] Remove unnecessary header for FontPlatformDataPango.cpp
3201 https://bugs.webkit.org/show_bug.cgi?id=46029
3203 Remove unnecessary header includes.
3204 No new tests, as there's no functionality.
3206 * platform/graphics/pango/FontPlatformDataPango.cpp:
3208 2010-11-11 Abhishek Arya <inferno@chromium.org>
3210 Reviewed by Adam Barth.
3212 Not allow drag and drop across different origins.
3213 https://bugs.webkit.org/show_bug.cgi?id=49098
3215 Test: http/tests/security/drag-drop-different-origin.html
3217 * page/DragController.cpp:
3218 (WebCore::DragController::tryDocumentDrag):
3219 * page/SecurityOrigin.cpp:
3220 (WebCore::SecurityOrigin::canDropOnTarget):
3221 * page/SecurityOrigin.h:
3223 2010-11-11 Alexander Pavlov <apavlov@chromium.org>
3225 Reviewed by Yury Semikhatsky.
3227 Web Inspector: Inspect element tooltip obscures element metrics
3228 https://bugs.webkit.org/show_bug.cgi?id=47822
3230 * inspector/InspectorController.cpp:
3231 (WebCore::InspectorController::drawNodeHighlight):
3232 (WebCore::InspectorController::drawElementTitle):
3234 2010-11-12 Luiz Agostini <luiz.agostini@openbossa.org>
3236 Reviewed by Kenneth Rohde Christiansen.
3238 [Qt] Button's background style from default Qt Mobile Theme is overriding facebook's button style
3239 https://bugs.webkit.org/show_bug.cgi?id=48198
3241 Instead of creating gradients that goes from white to grey and cover the whole element the gradients
3242 are created by varying the alpha channel of a dark color. This way the effect will not override the
3243 background color of the elements.
3245 * css/themeQtMobile.css:
3247 2010-11-12 Justin Schuh <jschuh@chromium.org>
3249 Reviewed by Adam Barth.
3251 Use a RefPtr inside ContainerNode::willRemove loop
3252 https://bugs.webkit.org/show_bug.cgi?id=49237
3254 Test: fast/innerHTML/innerHTML-iframe.html
3256 * dom/ContainerNode.cpp:
3257 (WebCore::ContainerNode::willRemove):
3259 2010-11-12 Pavel Feldman <pfeldman@chromium.org>
3261 Reviewed by Yury Semikhatsky.
3263 Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
3264 https://bugs.webkit.org/show_bug.cgi?id=49130
3266 * English.lproj/localizedStrings.js:
3267 * inspector/front-end/BreakpointManager.js:
3268 (WebInspector.BreakpointManager.prototype.debuggerPaused):
3269 (WebInspector.Breakpoint.jsBreakpointId):
3270 (WebInspector.Breakpoint.prototype.get id):
3271 * inspector/front-end/BreakpointsSidebarPane.js:
3272 (WebInspector.EventListenerBreakpointsSidebarPane):
3273 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
3274 * inspector/front-end/CallStackSidebarPane.js:
3275 (WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
3276 since there is no specific message in that case.
3277 * inspector/front-end/ScriptsPanel.js:
3278 (WebInspector.ScriptsPanel):
3279 (WebInspector.ScriptsPanel.prototype.reset):
3280 * inspector/front-end/inspector.css:
3281 (#elements-sidebar):
3284 (li.breakpoint-hit .breakpoint-hit-marker):
3286 2010-11-12 Andrey Kosyakov <caseq@chromium.org>
3288 Reviewed by Yury Semikhatsky.
3290 Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
3291 https://bugs.webkit.org/show_bug.cgi?id=49441
3293 * inspector/front-end/ExtensionAPI.js:
3294 (WebInspector.injectedExtensionAPI.PanelImpl):
3295 (WebInspector.injectedExtensionAPI):
3296 (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
3297 (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
3298 (WebInspector.injectedExtensionAPI.AuditResultImpl):
3299 (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
3300 (WebInspector.injectedExtensionAPI.):
3302 2010-11-12 Renata Hodovan <reni@webkit.org>
3304 Reviewed by Nikolas Zimmermann.
3306 SVGFEDisplacementMapElement doesn't support dynamic invalidation
3307 https://bugs.webkit.org/show_bug.cgi?id=49430
3309 The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
3311 Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
3312 svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
3313 svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
3314 svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
3315 svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
3316 svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
3317 svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
3318 svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
3319 svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
3320 svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html
3322 * svg/SVGFEDisplacementMapElement.cpp:
3323 (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
3324 * svg/SVGFEDisplacementMapElement.h:
3326 2010-11-12 Andrey Kosyakov <caseq@chromium.org>
3328 Reviewed by Yury Semikhatsky.
3330 Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
3331 https://bugs.webkit.org/show_bug.cgi?id=49439
3333 * inspector/front-end/TabbedPane.js:
3334 (WebInspector.TabbedPane):
3335 (WebInspector.TabbedPane.prototype.appendTab):
3336 * inspector/front-end/inspector.css:
3337 (.resource-view.visible):
3338 (.resource-view .tabbed-pane-header):
3339 (.resource-view-cookies):
3341 (.tabbed-pane-content):
3342 * inspector/front-end/networkPanel.css:
3344 2010-11-12 John Knottenbelt <jknotten@chromium.org>
3346 Reviewed by Steve Block.
3348 Rename GeolocationControllerClient to GeolocationClient.
3349 https://bugs.webkit.org/show_bug.cgi?id=49259
3351 No new tests, renaming only.
3356 * WebCore.vcproj/WebCore.vcproj:
3357 * WebCore.xcodeproj/project.pbxproj:
3358 * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
3359 (WebCore::GeolocationClient::~GeolocationClient):
3360 * page/GeolocationController.cpp:
3361 (WebCore::GeolocationController::GeolocationController):
3362 * page/GeolocationController.h:
3365 2010-11-12 Ilya Sherman <isherman@chromium.org>
3367 Reviewed by Eric Seidel.
3369 Remove some trailing whitespace
3370 https://bugs.webkit.org/show_bug.cgi?id=49433
3372 * platform/PopupMenuClient.h:
3373 * platform/chromium/PopupMenuChromium.cpp:
3374 (WebCore::PopupContainer::show):
3375 (WebCore::PopupListBox::paintRow):
3376 (WebCore::PopupListBox::scrollToRevealRow):
3377 * platform/chromium/PopupMenuChromium.h:
3378 * platform/chromium/SearchPopupMenuChromium.cpp:
3379 * rendering/RenderMenuList.h:
3380 (WebCore::RenderMenuList::toRenderMenuList):
3381 * rendering/RenderTextControlSingleLine.h:
3382 (WebCore::toRenderTextControlSingleLine):
3384 2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
3386 Reviewed by Csaba Osztrogonác.
3388 [qt] script-clone tests added in r71895 fails on qt platform
3389 https://bugs.webkit.org/show_bug.cgi?id=49429
3391 Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.
3393 * dom/XMLDocumentParserQt.cpp:
3394 (WebCore::XMLDocumentParser::parseEndElement):
3396 2010-11-05 MORITA Hajime <morrita@google.com>
3398 Reviewed by Kent Tamura.
3400 Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
3401 https://bugs.webkit.org/show_bug.cgi?id=49053
3403 Replaced paragraphAlignedRange() function call into
3404 TextCheckingParagraph class. The class encapsulates a range of a
3405 paragraph, and its relation within associated checking range.
3406 Instance variables of the class are computed lazily. So we can save unnecessary
3407 memory allocation and DOM tree traversal.
3409 No new tests, no behavior change.
3411 * editing/Editor.cpp:
3412 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
3413 (WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
3414 * editing/TextCheckingHelper.cpp:
3415 (WebCore::expandToParagraphBoundary):
3416 (WebCore::TextCheckingParagraph::TextCheckingParagraph):
3417 (WebCore::TextCheckingParagraph::~TextCheckingParagraph):
3418 (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
3419 (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
3420 (WebCore::TextCheckingParagraph::rangeLength):
3421 (WebCore::TextCheckingParagraph::paragraphRange):
3422 (WebCore::TextCheckingParagraph::subrange):
3423 (WebCore::TextCheckingParagraph::offsetTo):
3424 (WebCore::TextCheckingParagraph::isEmpty):
3425 (WebCore::TextCheckingParagraph::offsetAsRange):
3426 (WebCore::TextCheckingParagraph::text):
3427 (WebCore::TextCheckingParagraph::checkingStart):
3428 (WebCore::TextCheckingParagraph::checkingEnd):
3429 (WebCore::TextCheckingParagraph::checkingLength):
3430 (WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
3431 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
3432 * editing/TextCheckingHelper.h:
3433 (WebCore::TextCheckingParagraph::textLength):
3434 (WebCore::TextCheckingParagraph::textSubstring):
3435 (WebCore::TextCheckingParagraph::textCharacters):
3436 (WebCore::TextCheckingParagraph::textCharAt):
3437 (WebCore::TextCheckingParagraph::checkingSubstring):
3438 (WebCore::TextCheckingParagraph::checkingRangeMatches):
3439 (WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
3440 (WebCore::TextCheckingParagraph::checkingRangeCovers):
3441 (WebCore::TextCheckingParagraph::checkingRange):
3442 (WebCore::TextCheckingParagraph::isTextEmpty):
3443 (WebCore::TextCheckingParagraph::isRangeEmpty):
3445 2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
3447 Reviewed by Darin Adler.
3449 Script runs more than once after a clone
3450 https://bugs.webkit.org/show_bug.cgi?id=48966
3452 The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
3453 which indicates whether or not the script has already started, and the fact
3454 neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.
3456 Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
3457 and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
3458 and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
3459 which updates the isEvaluated flag properly.
3461 See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started
3463 Tests: fast/dom/script-clone-rerun-self.html
3464 fast/dom/script-clone-rerun.html
3465 svg/dom/SVGScriptElement/script-clone-rerun-self.svg
3466 svg/dom/SVGScriptElement/script-clone-rerun.svg
3469 (WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
3470 (WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
3472 * dom/ScriptElement.cpp:
3473 (WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
3474 (WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
3475 (WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
3476 (WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
3477 * dom/ScriptElement.h: Renamed evaluated to isEvaluated.
3478 (WebCore::ScriptElementData::isEvaluated): Added.
3479 * dom/XMLDocumentParserLibxml2.cpp:
3480 (WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
3481 * html/HTMLScriptElement.cpp:
3482 (WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
3483 (WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
3484 (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
3485 (WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
3486 * html/HTMLScriptElement.h:
3487 * html/parser/HTMLScriptRunner.cpp:
3488 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
3489 in extracting ScriptElementData::executeScript.
3490 (WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
3491 * html/parser/HTMLScriptRunner.h:
3492 * svg/SVGScriptElement.cpp:
3493 (WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
3494 (WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
3495 (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
3496 (WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
3497 * svg/SVGScriptElement.h:
3499 2010-11-11 Shinichiro Hamaji <hamaji@chromium.org>
3501 Reviewed by Darin Adler.
3503 REGRESSION: window.print in onload doesn't fire if there's an img
3504 https://bugs.webkit.org/show_bug.cgi?id=48195
3506 This issue was introduced in
3507 https://bugs.webkit.org/show_bug.cgi?id=43658
3508 This happens because FrameLoader::isLoading() is false while an
3509 image is still loading. Now, window.print() happens after all
3510 resources are loaded.
3512 Also changed the name of a member variable as Darin suggested in Bug 43658.
3514 Added a manual test as DRT doesn't support window.print() yet.
3516 * loader/DocumentLoader.cpp:
3517 (WebCore::DocumentLoader::DocumentLoader):
3518 (WebCore::DocumentLoader::updateLoading):
3519 * loader/DocumentLoader.h:
3520 * page/DOMWindow.cpp:
3521 (WebCore::DOMWindow::DOMWindow):
3522 (WebCore::DOMWindow::print):
3523 (WebCore::DOMWindow::finishedLoading):
3526 2010-11-11 James Simonsen <simonjam@chromium.org>
3528 Reviewed by Tony Chang.
3530 [chromium] Support letter spacing and fix whitespace wrapping on linux
3532 When lines wrapped on RTL text, the whitespace was inserted before
3533 the first character on the new line instead of at the end of the
3534 previous line. This has been fixed.
3536 The missing cluster information needed for letter spacing was hidden in
3537 harfbuzz's attributes struct.
3539 https://bugs.webkit.org/show_bug.cgi?id=49405
3541 * platform/graphics/chromium/FontLinux.cpp:
3542 (WebCore::TextRunWalker::letterSpacing): Added.
3543 (WebCore::TextRunWalker::isWordBreak): No need for isRTL.
3544 (WebCore::TextRunWalker::setPadding): Ditto.
3545 (WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
3546 (WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.
3548 2010-11-11 Kavita Kanetkar <kkanetkar@chromium.org>
3550 Reviewed by Dumitru Daniliuc.
3552 FileSystem: Fix a link error for non-chromium WebKit build
3553 https://bugs.webkit.org/show_bug.cgi?id=49296
3555 * WebCore.xcodeproj/project.pbxproj:
3556 * inspector/InspectorFileSystemAgent.cpp:
3557 (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
3558 (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
3559 (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
3560 (WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
3561 (WebCore::InspectorFileSystemAgentCallbacks::didFail):
3562 (WebCore::InspectorFileSystemAgent::revealFolderInOS):
3564 2010-11-11 Nate Chapin <japhet@chromium.org>
3566 Reviewed by Antti Koivisto.
3568 Cleanup after http://trac.webkit.org/changeset/71562, namely:
3569 Make deferred request handle simpler.
3570 Don't perform callbacks associated with network load starting
3571 (e.g., willSendRequest) until the load is in fact sent to the network.
3572 Make ResourceLoadScheduler a friend of ResourceLoader and make
3573 ResourceLoader::start() protected to try to ensure loads actually
3574 go through the scheduler.
3575 https://bugs.webkit.org/show_bug.cgi?id=49351
3577 Behavior should be covered by existing tests.
3579 * loader/NetscapePlugInStreamLoader.cpp:
3580 (WebCore::NetscapePlugInStreamLoader::create):
3581 * loader/ResourceLoadScheduler.cpp:
3582 (WebCore::ResourceLoadScheduler::servePendingRequests):
3583 * loader/ResourceLoadScheduler.h:
3584 (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
3585 * loader/ResourceLoader.cpp:
3586 (WebCore::ResourceLoader::init):
3587 (WebCore::ResourceLoader::start):
3588 (WebCore::ResourceLoader::setDefersLoading):
3589 (WebCore::ResourceLoader::didCancel):
3590 * loader/ResourceLoader.h:
3591 (WebCore::ResourceLoader::reachedTerminalState):
3592 (WebCore::ResourceLoader::request):
3593 * loader/SubresourceLoader.cpp:
3594 (WebCore::SubresourceLoader::create):
3595 * loader/loader.cpp:
3596 (WebCore::Loader::load):
3597 (WebCore::Loader::willSendRequest):
3600 2010-11-11 Carol Szabo <carol.szabo@nokia.com>
3602 Reviewed by Kent Tamura.
3604 css2:order of counters in out-of flow content
3605 https://bugs.webkit.org/show_bug.cgi?id=32412
3607 Tests: fast/css/content/content-none.html
3608 fast/css/content/content-normal.html
3610 * css/CSSParser.cpp:
3611 (WebCore::CSSParser::parseContent):
3612 Added support for none, normal, open-quote, no-open-quote, etc.
3613 identifiers in terms of parsing only, as this has effect on the
3614 evaluation of counters. No further implementation needed for
3615 none and normal, the others are parsed but do not work as expected.
3617 2010-11-11 Julie-Jeongeun-Kim <jiyuluna@gmail.com>
3619 Reviewed by Kent Tamura.
3621 SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
3622 https://bugs.webkit.org/show_bug.cgi?id=25444
3624 'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
3625 It means that just editable elements can get selection information.
3626 ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
3627 INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
3628 So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
3629 Even if they are read-only, they are selectable.
3631 new tests:fast/forms/selection-start-end-readonly.html
3633 * html/HTMLInputElement.idl:
3634 * rendering/RenderTextControl.cpp:
3635 (WebCore::RenderTextControl::isSelectableElement):
3636 (WebCore::RenderTextControl::indexForVisiblePosition):
3637 * rendering/RenderTextControl.h:
3639 2010-11-11 Adam Barth <abarth@webkit.org>
3641 Reviewed by David Levin.
3643 Add some RefPtrs to be on the safe side
3644 https://bugs.webkit.org/show_bug.cgi?id=49301
3646 Hopefully no behavior change.
3648 * html/parser/HTMLTreeBuilder.cpp:
3649 (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3651 2010-11-11 Chris Rogers <crogers@google.com>
3653 Reviewed by Kenneth Russell.
3655 Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
3656 On the Mac we use the highly optimized versions in Accelerate.framework
3657 In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
3658 of the same name as our namespaced function names, so we must handle this case differently.
3659 Other architectures (64bit, ARM, etc.) do not include this header file.
3661 https://bugs.webkit.org/show_bug.cgi?id=49112
3663 No new tests since audio API is not yet implemented.
3665 * platform/audio/VectorMath.cpp:
3666 (WebCore::VectorMath::vsmul):
3667 (WebCore::VectorMath::vadd):
3669 2010-11-11 Dan Bernstein <mitz@apple.com>
3671 Reviewed by Darin Adler.
3673 <rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
3674 https://bugs.webkit.org/show_bug.cgi?id=49378
3676 * platform/graphics/win/UniscribeController.cpp:
3677 (WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
3678 as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
3679 and word spacing only at characters treated as (non-zero-width) spaces.
3681 2010-11-11 Darin Adler <darin@apple.com>
3683 Reviewed by Sam Weinig.
3685 Harden some string functions against large lengths
3686 https://bugs.webkit.org/show_bug.cgi?id=49293
3688 * rendering/RenderText.cpp:
3689 (WebCore::makeCapitalized): Check before incrementing length.
3691 2010-11-10 Zhenyao Mo <zmo@google.com>
3693 Reviewed by Kenneth Russell.
3695 bufferData/bufferSubData should not crash with null data input
3696 https://bugs.webkit.org/show_bug.cgi?id=49350
3698 * html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
3699 (WebCore::WebGLRenderingContext::bufferData):
3700 (WebCore::WebGLRenderingContext::bufferSubData):
3702 2010-11-10 Zhenyao Mo <zmo@google.com>
3704 Reviewed by Kenneth Russell.
3706 Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
3707 https://bugs.webkit.org/show_bug.cgi?id=47196
3709 This is the first patch for this bug. We add constants and methods, but haven't hooked it up with texture uploading yet. Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.
3711 Test: fast/canvas/webgl/constants.html
3713 * html/canvas/WebGLRenderingContext.cpp:
3714 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
3715 (WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
3716 (WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
3717 (WebCore::WebGLRenderingContext::pixelStorei): Ditto.
3718 * html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
3719 * html/canvas/WebGLRenderingContext.idl: Update constants.
3720 * platform/graphics/GraphicsContext3D.h: Update constants.
3722 2010-11-11 Chris Marrin <cmarrin@apple.com>
3724 Reviewed by James Robinson.
3726 Add multisampling support to DrawingBuffer.
3727 https://bugs.webkit.org/show_bug.cgi?id=49206
3729 Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
3730 extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
3732 This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
3733 the change from http://trac.webkit.org/changeset/71831 and additional changes to
3734 DrawingBufferChromium.cpp which cause the broken canvas tests to pass.
3736 * platform/graphics/Extensions3D.h:
3737 * platform/graphics/chromium/DrawingBufferChromium.cpp:
3738 (WebCore::DrawingBuffer::DrawingBuffer):
3739 (WebCore::DrawingBuffer::~DrawingBuffer):
3740 (WebCore::DrawingBuffer::publishToPlatformLayer):
3741 (WebCore::DrawingBuffer::didReset):
3742 (WebCore::DrawingBuffer::platformColorBuffer):
3743 * platform/graphics/chromium/Extensions3DChromium.h:
3744 (WebCore::Extensions3DChromium::blitFramebuffer):
3745 (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
3746 * platform/graphics/gpu/DrawingBuffer.cpp:
3747 (WebCore::DrawingBuffer::create):
3748 (WebCore::DrawingBuffer::clear):
3749 (WebCore::DrawingBuffer::reset):
3750 (WebCore::DrawingBuffer::commit):
3751 (WebCore::DrawingBuffer::bind):
3752 * platform/graphics/gpu/DrawingBuffer.h:
3753 (WebCore::DrawingBuffer::multisample):
3754 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3755 (WebCore::DrawingBuffer::DrawingBuffer):
3756 (WebCore::DrawingBuffer::didReset):
3757 (WebCore::DrawingBuffer::platformColorBuffer):
3758 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3759 (WebCore::Extensions3DOpenGL::supports):
3760 (WebCore::Extensions3DOpenGL::blitFramebuffer):
3761 (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
3762 * platform/graphics/opengl/Extensions3DOpenGL.h:
3763 * platform/graphics/skia/ImageBufferSkia.cpp:
3764 (WebCore::ImageBuffer::draw):
3766 2010-11-11 David Hyatt <hyatt@apple.com>
3768 Reviewed by Simon Fraser.
3770 https://bugs.webkit.org/show_bug.cgi?id=48664
3772 Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
3774 This patch disables the layout state for flipped blocks, since the paint offset isn't right.
3776 Bugs in the overflow sides for lines have been fixed. before/AfterSideVisible/LayoutOverflowForLine
3777 now respect flipping (and don't incorrectly change sides). This is a very confusing aspect of
3778 the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
3781 offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
3782 This means at every step up you convert to the correct physical coordinate. It also means these
3783 functions will be unreliable during layout for flipped blocks. At first glance, this seems to be
3786 computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary. This
3787 allows for documents to be fully flipped and repaint during layout can still be reliable. This is
3788 critical for incremental line layout repainting.
3790 Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
3791 of all the stale results and failures.
3793 * editing/SelectionController.cpp:
3794 (WebCore::SelectionController::absoluteBoundsForLocalRect):
3795 (WebCore::SelectionController::paintCaret):
3796 * rendering/InlineTextBox.cpp:
3797 (WebCore::InlineTextBox::selectionRect):
3798 * rendering/RenderBlock.cpp:
3799 (WebCore::RenderBlock::layoutBlock):
3800 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
3801 (WebCore::RenderBlock::paintSelection):
3802 * rendering/RenderBlockLineLayout.cpp:
3803 (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
3804 (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
3805 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
3806 (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
3807 * rendering/RenderBox.cpp:
3808 (WebCore::RenderBox::layout):
3809 (WebCore::RenderBox::mapLocalToContainer):
3810 (WebCore::RenderBox::offsetFromContainer):
3811 (WebCore::RenderBox::clippedOverflowRectForRepaint):
3812 (WebCore::RenderBox::computeRectForRepaint):
3813 (WebCore::RenderBox::flipForWritingMode):
3814 (WebCore::RenderBox::locationOffsetIncludingFlipping):
3815 * rendering/RenderBox.h:
3816 * rendering/RenderFlexibleBox.cpp:
3817 (WebCore::RenderFlexibleBox::layoutBlock):
3818 * rendering/RenderInline.cpp:
3819 (WebCore::RenderInline::clippedOverflowRectForRepaint):
3820 * rendering/RenderSlider.cpp:
3821 (WebCore::RenderSlider::layout):
3822 * rendering/RenderTable.cpp:
3823 (WebCore::RenderTable::layout):
3824 * rendering/RenderTableRow.cpp:
3825 (WebCore::RenderTableRow::layout):
3826 * rendering/RenderTableSection.cpp:
3827 (WebCore::RenderTableSection::layout):
3828 (WebCore::RenderTableSection::layoutRows):
3829 * rendering/RenderView.cpp:
3830 (WebCore::RenderView::computeRectForRepaint):
3831 * rendering/ShadowElement.cpp:
3832 (WebCore::ShadowBlockElement::layoutAsPart):
3834 2010-11-11 Chris Marrin <cmarrin@apple.com>
3836 Reviewed by Simon Fraser.
3838 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
3839 https://bugs.webkit.org/show_bug.cgi?id=49388
3841 Renamed GraphicsLayerCA.* to GraphicsLayerMac.*
3843 * WebCore.xcodeproj/project.pbxproj:
3844 * platform/graphics/mac/GraphicsLayerCA.h: Removed.
3845 * platform/graphics/mac/GraphicsLayerCA.mm: Removed.
3846 * platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
3847 * platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.
3849 2010-11-11 Kenneth Russell <kbr@google.com>
3851 Reviewed by James Robinson.
3853 [chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
3854 https://bugs.webkit.org/show_bug.cgi?id=49359
3856 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3857 (WebCore::GraphicsContext3D::getImageData):
3859 2010-11-11 Dan Bernstein <mitz@apple.com>
3861 Reviewed by Adam Roben.
3863 <rdar://problem/8113511> Enable auto-hyphenation
3865 * WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
3866 * platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
3867 and CFStringIsHyphenationAvailableForLocale at runtime.
3868 (wkCFStringGetHyphenationLocationBeforeIndex):
3869 (wkCFStringIsHyphenationAvailableForLocale):
3870 (WebCore::lastHyphenLocation): Added a cast.
3872 2010-11-11 Eric Carlson <eric.carlson@apple.com>
3874 Reviewed by Eric Seidel.
3876 video-pause-immediately.html sometimes fails
3877 https://bugs.webkit.org/show_bug.cgi?id=49397
3879 * html/HTMLMediaElement.cpp:
3880 (WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
3881 will be called from updatePlayState.
3882 (WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
3883 will be called from updatePlayState.
3884 (WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
3885 engine to pause so we cache the post-paused time.
3887 2010-11-11 Mihai Parparita <mihaip@chromium.org>
3891 Roll out r71827 and r71831, which caused many GPU canvas test failures.
3893 * platform/graphics/Extensions3D.h:
3894 * platform/graphics/chromium/DrawingBufferChromium.cpp:
3895 (WebCore::DrawingBuffer::reset):
3896 (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
3897 * platform/graphics/chromium/Extensions3DChromium.h:
3898 * platform/graphics/gpu/DrawingBuffer.cpp:
3899 (WebCore::DrawingBuffer::create):
3900 (WebCore::DrawingBuffer::clear):
3901 (WebCore::DrawingBuffer::bind):
3902 * platform/graphics/gpu/DrawingBuffer.h:
3903 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3904 (WebCore::SharedGraphicsContext3D::create):
3905 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3906 (WebCore::DrawingBuffer::DrawingBuffer):
3907 (WebCore::DrawingBuffer::reset):
3908 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3909 (WebCore::Extensions3DOpenGL::supports):
3910 * platform/graphics/opengl/Extensions3DOpenGL.h:
3911 * platform/graphics/skia/ImageBufferSkia.cpp:
3912 (WebCore::ImageBuffer::draw):
3914 2010-11-11 Eric Carlson <eric.carlson@apple.com>
3916 Restore the portion of the ChangeLog removed in my last commit.
3918 2010-11-11 Eric Carlson <eric.carlson@apple.com>
3920 Unreviewed Leoaprd build fix.
3922 * html/HTMLMediaElement.cpp:
3923 (WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.
3925 2010-11-11 Dirk Schulze <krit@webkit.org>
3927 Unreviewed Qt build fix.
3929 SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
3930 https://bugs.webkit.org/show_bug.cgi?id=49284
3932 * svg/SVGAnimationElement.cpp:
3933 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
3934 (WebCore::SVGAnimationElement::startedActiveInterval):
3936 2010-11-11 Hans Wennborg <hans@chromium.org>
3938 Reviewed by Jeremy Orlow.
3940 IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
3941 https://bugs.webkit.org/show_bug.cgi?id=49313
3943 Define IDBFactoryBackendInterface destructor out-of-line to allow
3944 for embedder-specific implementation. For Chromium, have the
3945 destructor call ChromiumBridge::idbShutdown().
3947 * platform/chromium/ChromiumBridge.h:
3948 * storage/IDBFactoryBackendInterface.cpp:
3949 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3950 * storage/IDBFactoryBackendInterface.h:
3951 * storage/chromium/IDBFactoryBackendInterface.cpp:
3952 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3954 2010-11-11 Dirk Schulze <krit@webkit.org>
3956 Reviewed by Nikolas Zimmermann.
3958 SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
3959 https://bugs.webkit.org/show_bug.cgi?id=49284
3961 Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.
3963 Tests: svg/animations/animate-calcMode-spline-by.html
3964 svg/animations/animate-calcMode-spline-from-by.html
3965 svg/animations/animate-calcMode-spline-from-to.html
3966 svg/animations/animate-calcMode-spline-to.html
3967 svg/animations/animate-calcMode-spline-values.html
3969 * svg/SVGAnimationElement.cpp:
3970 (WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
3971 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
3972 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3973 (WebCore::SVGAnimationElement::startedActiveInterval):
3974 (WebCore::SVGAnimationElement::updateAnimation):
3975 * svg/SVGAnimationElement.h:
3977 2010-11-10 Chris Marrin <cmarrin@apple.com>
3979 Reviewed by James Robinson.
3981 Add multisampling support to DrawingBuffer.
3982 https://bugs.webkit.org/show_bug.cgi?id=49206
3984 Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
3985 extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
3987 * platform/graphics/Extensions3D.h:
3988 * platform/graphics/chromium/DrawingBufferChromium.cpp:
3989 (WebCore::DrawingBuffer::platformColorBuffer):
3990 * platform/graphics/chromium/Extensions3DChromium.h:
3991 (WebCore::Extensions3DChromium::blitFramebuffer):
3992 (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
3993 * platform/graphics/gpu/DrawingBuffer.cpp:
3994 (WebCore::DrawingBuffer::create):
3995 (WebCore::DrawingBuffer::clear):
3996 (WebCore::DrawingBuffer::reset):
3997 (WebCore::DrawingBuffer::commit):
3998 (WebCore::DrawingBuffer::bind):
3999 * platform/graphics/gpu/DrawingBuffer.h:
4000 (WebCore::DrawingBuffer::multisample):
4001 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
4002 (WebCore::DrawingBuffer::DrawingBuffer):
4003 (WebCore::DrawingBuffer::platformLayer):
4004 (WebCore::DrawingBuffer::platformColorBuffer):
4005 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
4006 (WebCore::Extensions3DOpenGL::supports):
4007 (WebCore::Extensions3DOpenGL::blitFramebuffer):
4008 (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
4009 * platform/graphics/opengl/Extensions3DOpenGL.h:
4010 * platform/graphics/skia/ImageBufferSkia.cpp:
4011 (WebCore::ImageBuffer::draw):
4013 2010-11-11 Eric Carlson <eric.carlson@apple.com>
4015 Build fix after r71824.
4017 * html/HTMLMediaElement.cpp:
4018 (WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
4019 (WebCore::HTMLMediaElement::currentTime): Ditto.
4021 2010-11-11 Eric Carlson <eric.carlson@apple.com>
4023 Reviewed by Antti Koivisto.
4025 Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
4026 https://bugs.webkit.org/show_bug.cgi?id=49009
4028 Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
4029 as [cached time + elapsed wall time]. The media engine returns the maximum duration it
4030 is safe to calculate time before resampling the actual movie time with the new
4031 maximumDurationToCacheMovieTime method. Because this may be different for different media
4032 engines the default return value is 0, making it an opt-in feature.
4034 No new tests were added because the existing tests already check currentTime, and because
4035 it is only possible to look for drift between the calculated and actual media time by
4036 calculating the time AND getting the actual media time - which the defeats the purpose of
4037 the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
4038 and logs warnings when the delta between calculated and observed is greater than 0.01.
4040 * html/HTMLMediaElement.cpp:
4041 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
4042 (WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
4043 (WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
4044 seeking so there is no drift.
4045 (WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
4046 wall clock time it was recorded.
4047 (WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
4048 (WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
4049 engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
4050 the maximum cache interval.
4051 (WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
4052 (WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
4053 (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
4054 MediaPlayer so we use the cached time as much as it possible.
4055 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
4057 (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
4058 (WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
4059 * html/HTMLMediaElement.h:
4061 * platform/graphics/MediaPlayer.cpp:
4062 (WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
4063 * platform/graphics/MediaPlayer.h:
4064 * platform/graphics/MediaPlayerPrivate.h:
4065 (WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.
4067 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
4068 (WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
4069 time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).
4071 2010-11-11 Adam Roben <aroben@apple.com>
4073 Windows build fix after r71816
4076 WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
4077 WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
4078 Windows port pick up this header in preference to
4079 WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
4081 WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
4082 picked up by Apple's Windows build.
4084 * WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
4087 * WebCore.vcproj/WebCoreCairo.vsprops: Added
4088 platform/graphics/win/cairo to the include path.
4090 * WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
4091 platform/graphics/win/cairo to $WebKitOutputDir.
4093 * platform/graphics/cg/FontPlatformData.h: Touched to force this file
4094 to be recopied for Apple's build.
4096 * platform/graphics/win/cairo/FontPlatformData.h