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