1 2012-01-13 Jer Noble <jer.noble@apple.com>
3 WebAudio: Optimize calculateNormalizationScale().
4 https://bugs.webkit.org/show_bug.cgi?id=74372
6 Reviewed by Eric Carlson.
8 No new tests; optimization of existing code, so covered by existing test cases.
10 * platform/audio/Reverb.cpp:
11 (WebCore::calculateNormalizationScale): Replace implementation with optimized vector
13 (WebCore::Reverb::Reverb):
14 * platform/audio/VectorMath.cpp:
15 (WebCore::VectorMath::vsvesq): Vector math operation for squared sum of elements.
16 * platform/audio/VectorMath.h:
18 2012-01-13 Nico Weber <thakis@chromium.org>
20 Remove a unused variable.
21 https://bugs.webkit.org/show_bug.cgi?id=76307
23 Reviewed by James Robinson.
25 * platform/mac/ScrollElasticityController.mm:
26 (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
28 2012-01-13 Nate Chapin <japhet@chromium.org>
30 Revert most of the multipart changes in
31 http://trac.webkit.org/changeset/104756.
32 https://bugs.webkit.org/show_bug.cgi?id=76297
34 Reviewed by Alexey Proskuryakov.
36 http/tests/multipart/invalid-image-data.html
37 should stop asserting on chromium win dbg.
39 * loader/SubresourceLoader.cpp:
40 (WebCore::SubresourceLoader::didReceiveResponse):
41 (WebCore::SubresourceLoader::didReceiveData):
42 (WebCore::SubresourceLoader::sendDataToResource):
44 2011-01-13 Jer Noble <jer.noble@apple.com>
46 WebAudio: Use float instead of double values for gain operations.
47 https://bugs.webkit.org/show_bug.cgi?id=74345
49 Reviewed by Sam Weinig.
51 No new tests; optimization of existing code, so covered by existing test cases.
53 The following functions now take or operate on floats instead of doubles:
54 (WebCore::AudioBus::scale):
55 (WebCore::AudioBus::processWithGainFrom):
56 (WebCore::AudioBus::copyWithGainFrom):
57 (WebCore::AudioBus::sumWithGainFrom):
58 * platform/audio/AudioBus.h:
59 (WebCore::AudioBus::setGain):
60 (WebCore::AudioBus::gain):
61 * platform/audio/AudioChannel.cpp:
62 (WebCore::AudioChannel::scale):
63 * platform/audio/AudioChannel.h:
64 * webaudio/AudioBufferSourceNode.cpp:
65 (WebCore::AudioBufferSourceNode::process):
66 * webaudio/AudioBufferSourceNode.h:
67 * webaudio/AudioGainNode.h:
68 * webaudio/AudioPannerNode.h:
70 2012-01-13 Greg Billock <gbillock@google.com>
72 Don't use pending activity notification in IntentRequest
73 https://bugs.webkit.org/show_bug.cgi?id=76302
75 Reviewed by Adam Barth.
77 * Modules/intents/IntentRequest.cpp:
78 (WebCore::IntentRequest::IntentRequest):
79 (WebCore::IntentRequest::postResult):
80 (WebCore::IntentRequest::postFailure):
82 2012-01-13 Raymond Toy <rtoy@google.com>
84 EQUALPOWER panner incorrectly computes gain
85 https://bugs.webkit.org/show_bug.cgi?id=75767
87 Reviewed by Kenneth Russell.
91 * platform/audio/EqualPowerPanner.cpp:
92 (WebCore::EqualPowerPanner::pan): Correct the formula.
94 2012-01-13 Ojan Vafai <ojan@chromium.org>
96 Unreviewed, rolling out r104972.
97 http://trac.webkit.org/changeset/104972
98 https://bugs.webkit.org/show_bug.cgi?id=75782
102 * css/CSSComputedStyleDeclaration.cpp:
103 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
105 (WebCore::CSSParser::parseValue):
106 * css/CSSProperty.cpp:
107 (WebCore::CSSProperty::isInheritedProperty):
108 * css/CSSPropertyNames.in:
109 * css/CSSStyleApplyProperty.cpp:
110 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
111 * css/CSSStyleSelector.cpp:
112 (WebCore::CSSStyleSelector::applyProperty):
113 * rendering/RenderBox.cpp:
114 (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
115 * rendering/RenderFlexibleBox.cpp:
116 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
117 (WebCore::RenderFlexibleBox::alignChildren):
118 * rendering/style/RenderStyle.h:
119 (WebCore::RenderStyleBitfields::initialFlexItemAlign):
120 * rendering/style/StyleFlexibleBoxData.cpp:
121 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
122 (WebCore::StyleFlexibleBoxData::operator==):
123 * rendering/style/StyleFlexibleBoxData.h:
125 2012-01-13 Anders Carlsson <andersca@apple.com>
127 -[WebTileCacheLayer setNeedsDisplay] doesn't trigger invalidation
128 https://bugs.webkit.org/show_bug.cgi?id=76299
130 Reviewed by Simon Fraser.
132 Override -[WebTileCacheLayer setNeedsDisplay] and call TileCache::setNeedsDisplay from there,
133 instead of ending up with a huge rectangle in TileCache::setNeedsDisplayInRect which causes our
134 tile computation logic to fail due to integer overflow when converting from CGFloats to ints.
136 * platform/graphics/ca/mac/TileCache.h:
137 * platform/graphics/ca/mac/TileCache.mm:
138 (WebCore::TileCache::setNeedsDisplay):
139 * platform/graphics/ca/mac/WebTileCacheLayer.mm:
140 (-[WebTileCacheLayer setNeedsDisplay]):
142 2012-01-12 Ojan Vafai <ojan@chromium.org>
145 https://bugs.webkit.org/show_bug.cgi?id=75782
147 Reviewed by Tony Chang.
149 * css/CSSComputedStyleDeclaration.cpp:
150 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
151 Not 100% sure about this, but I think the computed value of
152 flex-item-align needs to take the parent's flex-align into
153 account for computed auto values.
155 (WebCore::CSSParser::parseValue):
156 * css/CSSProperty.cpp:
157 (WebCore::CSSProperty::isInheritedProperty):
158 * css/CSSPropertyNames.in:
159 * css/CSSStyleApplyProperty.cpp:
160 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
161 * css/CSSStyleSelector.cpp:
162 (WebCore::CSSStyleSelector::applyProperty):
163 * rendering/RenderBox.cpp:
164 (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
165 * rendering/RenderFlexibleBox.cpp:
166 (WebCore::flexAlign):
167 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
168 (WebCore::RenderFlexibleBox::alignChildren):
169 * rendering/style/RenderStyle.h:
170 (WebCore::RenderStyleBitfields::flexAlign):
171 (WebCore::RenderStyleBitfields::setFlexAlign):
172 (WebCore::RenderStyleBitfields::initialFlexAlign):
173 (WebCore::RenderStyleBitfields::initialFlexItemAlign):
174 * rendering/style/StyleFlexibleBoxData.cpp:
175 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
176 (WebCore::StyleFlexibleBoxData::operator==):
177 * rendering/style/StyleFlexibleBoxData.h:
179 2012-01-13 Simon Fraser <simon.fraser@apple.com>
181 Rename GraphicsContext* argument in various RenderLayer methods
182 https://bugs.webkit.org/show_bug.cgi?id=76283
184 Reviewed by James Robinson/Anders Carlsson.
186 Rename the GraphicsContext* parameter "p" in various RenderLayer
187 methods to "context". "p" was a historical name from when it was
190 * rendering/RenderLayer.cpp:
191 (WebCore::RenderLayer::beginTransparencyLayers):
192 (WebCore::RenderLayer::paint):
193 (WebCore::RenderLayer::paintOverlayScrollbars):
194 (WebCore::RenderLayer::restoreClip):
195 (WebCore::RenderLayer::paintLayer):
196 (WebCore::RenderLayer::paintLayerContentsAndReflection):
197 (WebCore::RenderLayer::paintLayerContents):
198 (WebCore::RenderLayer::paintList):
200 2012-01-13 Mihnea Ovidenie <mihnea@adobe.com>
202 [CSSRegions]Add back region style code removed in r104036
203 https://bugs.webkit.org/show_bug.cgi?id=76064
205 Reviewed by David Hyatt.
207 No new tests. The region style tests are still skipped. A follow up patch will enable
208 both region style for background-color and region style tests.
211 * css/CSSStyleSelector.cpp:
212 (WebCore::RuleData::useInRegionStyle):
213 (WebCore::CSSStyleSelector::CSSStyleSelector):
214 (WebCore::CSSStyleSelector::addMatchedDeclaration):
215 (WebCore::CSSStyleSelector::matchRules):
216 (WebCore::CSSStyleSelector::matchAllRules):
217 (WebCore::CSSStyleSelector::initForRegionStyling):
218 (WebCore::CSSStyleSelector::initRegionRules):
219 (WebCore::CSSStyleSelector::styleForElement):
220 (WebCore::CSSStyleSelector::pseudoStyleForElement):
221 (WebCore::RuleData::RuleData):
222 (WebCore::RuleSet::RuleSet):
223 (WebCore::RuleSet::addToRuleSet):
224 (WebCore::CSSStyleSelector::applyDeclarations):
225 (WebCore::isValidRegionStyleProperty):
226 (WebCore::CSSStyleSelector::applyProperty):
227 * css/CSSStyleSelector.h:
228 (WebCore::CSSStyleSelector::setRegionForStyling):
229 (WebCore::CSSStyleSelector::regionForStyling):
230 (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
231 * rendering/RenderFlowThread.cpp:
232 (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
233 (WebCore::RenderFlowThread::setRegionRangeForBox):
234 * rendering/RenderFlowThread.h:
235 * rendering/RenderLayer.cpp:
236 (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
237 (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
238 (WebCore::RenderLayer::paint):
239 (WebCore::RenderLayer::hitTest):
240 * rendering/RenderObject.cpp:
241 (WebCore::RenderObject::styleInRegion):
242 * rendering/RenderObject.h:
243 (WebCore::RenderObject::canHaveRegionStyle):
244 * rendering/RenderObjectChildList.cpp:
245 (WebCore::RenderObjectChildList::removeChildNode):
246 * rendering/RenderRegion.cpp:
247 (WebCore::RenderRegion::renderObjectRegionStyle):
248 (WebCore::RenderRegion::computeStyleInRegion):
249 (WebCore::RenderRegion::clearObjectStyleInRegion):
250 * rendering/RenderRegion.h:
251 * rendering/RenderView.cpp:
252 (WebCore::RenderView::RenderView):
253 * rendering/RenderView.h:
254 (WebCore::RenderView::currentRenderRegion):
255 (WebCore::RenderView::setCurrentRenderRegion):
257 2012-01-13 Kenneth Russell <kbr@google.com>
259 Unreviewed build fix; added project.pbxproj changes lost in r104954.
260 https://bugs.webkit.org/show_bug.cgi?id=75906
262 * WebCore.xcodeproj/project.pbxproj:
264 2012-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
266 TextureMapper: Extract layer transform logic to a LayerTransform class.
267 https://bugs.webkit.org/show_bug.cgi?id=76291
269 Reviewed by Noam Rosenthal.
271 * GNUmakefile.list.am:
274 * platform/graphics/texmap/LayerTransform.cpp: Added.
275 (WebCore::LayerTransform::LayerTransform):
276 (WebCore::LayerTransform::setPosition):
277 (WebCore::LayerTransform::setSize):
278 (WebCore::LayerTransform::setAnchorPoint):
279 (WebCore::LayerTransform::setFlattening):
280 (WebCore::LayerTransform::setLocalTransform):
281 (WebCore::LayerTransform::setChildrenTransform):
282 (WebCore::LayerTransform::combined):
283 (WebCore::LayerTransform::combinedForChildren):
284 (WebCore::LayerTransform::combineTransforms):
285 (WebCore::LayerTransform::combineTransformsForChildren):
286 * platform/graphics/texmap/LayerTransform.h: Added.
287 * platform/graphics/texmap/TextureMapperNode.cpp:
288 (WebCore::TextureMapperNode::setTransform):
289 (WebCore::TextureMapperNode::computeTransformsRecursive):
290 (WebCore::TextureMapperNode::collectVisibleContentsRects):
291 (WebCore::TextureMapperNode::paintSelf):
292 (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
293 (WebCore::TextureMapperNode::paintSelfAndChildren):
294 (WebCore::TextureMapperNode::paintReflection):
295 (WebCore::TextureMapperNode::syncCompositingStateSelf):
296 * platform/graphics/texmap/TextureMapperNode.h:
297 (WebCore::TextureMapperNode::TextureMapperNode):
299 2012-01-13 Kenneth Russell <kbr@google.com>
301 Unreviewed, build fix for unused argument warning after r104954.
302 https://bugs.webkit.org/show_bug.cgi?id=75906
304 Also fixed up somebody's bad merge in Source/WebCore/ChangeLog.
306 * html/canvas/WebGLObject.cpp:
307 (WebCore::WebGLObject::WebGLObject):
309 2012-01-13 Raphael Kubo da Costa <kubo@profusion.mobi>
311 [soup] Initialize m_soupFlags in all ResourceResponse constructors.
313 Rubber-stamped by Gustavo Noronha Silva.
315 m_soupFlags was being initialized in two of the three ResourceResponse
316 constructors, causing some trouble in
317 FrameLoaderClient::dispatchDidReceiveResponse (ports which use
318 ResourceRequest::setSoupMessageFlags with the response's unitialized
321 * platform/network/soup/ResourceResponse.h:
322 (WebCore::ResourceResponse::ResourceResponse):
324 2012-01-13 Alexey Proskuryakov <ap@apple.com>
326 CFURLRef to KURL conversion shouldn't turn raw paths into file URLs
327 https://bugs.webkit.org/show_bug.cgi?id=76251
329 Reviewed by Dan Bernstein.
331 * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Removed the offending code.
333 2012-01-13 Konrad Piascik <kpiascik@rim.com>
335 Web Inspector: Disconnecting the front-end does not disable profiling.
336 https://bugs.webkit.org/show_bug.cgi?id=76213
338 Reviewed by Pavel Feldman.
342 * inspector/InspectorProfilerAgent.cpp:
343 (WebCore::InspectorProfilerAgent::clearFrontend):
345 2012-01-13 Andreas Kling <awesomekling@apple.com>
347 JSC/DOM bindings: Reduce HandleHeap churn in cacheWrapper().
348 <http://webkit.org/b/76271>
350 Reviewed by Darin Adler.
352 Use JSC::Weak::swap() to move JSDOMWrappers into the DOMWrapperWorld's wrapper map.
353 This avoids invoking the JSC::Weak copy constructor and associated HandleHeap churn.
355 * bindings/js/JSDOMBinding.h:
356 (WebCore::cacheWrapper):
358 2012-01-13 Vsevolod Vlasov <vsevik@chromium.org>
360 Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
361 https://bugs.webkit.org/show_bug.cgi?id=76264
363 Reviewed by Pavel Feldman.
367 * WebCore.vcproj/WebCore.vcproj:
368 * inspector/CodeGeneratorInspector.py:
369 * inspector/Inspector.json:
370 * inspector/InspectorController.cpp:
371 (WebCore::InspectorController::InspectorController):
372 * inspector/InspectorIndexedDBAgent.cpp: Added.
373 (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
374 (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
375 (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
376 (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
377 (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
378 (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
379 (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
380 (WebCore::InspectorIndexedDBAgent::setFrontend):
381 (WebCore::InspectorIndexedDBAgent::clearFrontend):
382 (WebCore::InspectorIndexedDBAgent::restore):
383 (WebCore::InspectorIndexedDBAgent::enable):
384 (WebCore::InspectorIndexedDBAgent::disable):
385 (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
386 * inspector/InspectorIndexedDBAgent.h: Added.
387 (WebCore::InspectorIndexedDBAgent::create):
388 * inspector/InspectorPageAgent.cpp:
389 (WebCore::InspectorPageAgent::buildObjectForFrame):
390 * inspector/compile-front-end.sh:
391 * inspector/front-end/IndexedDBModel.js: Added.
392 * inspector/front-end/ResourceTreeModel.js:
393 (WebInspector.ResourceTreeFrame):
394 (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
395 (WebInspector.ResourceTreeFrame.prototype._navigate):
396 * inspector/front-end/WebKit.qrc:
397 * inspector/front-end/inspector.html:
399 2012-01-13 Sheriff Bot <webkit.review.bot@gmail.com>
401 Unreviewed, rolling out r104935.
402 http://trac.webkit.org/changeset/104935
403 https://bugs.webkit.org/show_bug.cgi?id=76277
405 Breaks AppleWin compilation (Requested by vsevik on #webkit).
409 * WebCore.vcproj/WebCore.vcproj:
410 * inspector/CodeGeneratorInspector.py:
411 * inspector/Inspector.json:
412 * inspector/InspectorController.cpp:
413 (WebCore::InspectorController::InspectorController):
414 * inspector/InspectorIndexedDBAgent.cpp: Removed.
415 * inspector/InspectorIndexedDBAgent.h: Removed.
416 * inspector/InspectorPageAgent.cpp:
417 (WebCore::InspectorPageAgent::buildObjectForFrame):
418 * inspector/compile-front-end.sh:
419 * inspector/front-end/IndexedDBModel.js: Removed.
420 * inspector/front-end/ResourceTreeModel.js:
421 (WebInspector.ResourceTreeFrame):
422 (WebInspector.ResourceTreeFrame.prototype._navigate):
423 * inspector/front-end/WebKit.qrc:
424 * inspector/front-end/inspector.html:
426 2012-01-13 Vsevolod Vlasov <vsevik@chromium.org>
428 Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
429 https://bugs.webkit.org/show_bug.cgi?id=76264
431 Reviewed by Pavel Feldman.
435 * WebCore.vcproj/WebCore.vcproj:
436 * inspector/CodeGeneratorInspector.py:
437 * inspector/Inspector.json:
438 * inspector/InspectorController.cpp:
439 (WebCore::InspectorController::InspectorController):
440 * inspector/InspectorIndexedDBAgent.cpp: Added.
441 (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
442 (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
443 (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
444 (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
445 (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
446 (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
447 (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
448 (WebCore::InspectorIndexedDBAgent::setFrontend):
449 (WebCore::InspectorIndexedDBAgent::clearFrontend):
450 (WebCore::InspectorIndexedDBAgent::restore):
451 (WebCore::InspectorIndexedDBAgent::enable):
452 (WebCore::InspectorIndexedDBAgent::disable):
453 (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
454 * inspector/InspectorIndexedDBAgent.h: Added.
455 (WebCore::InspectorIndexedDBAgent::create):
456 * inspector/InspectorPageAgent.cpp:
457 (WebCore::InspectorPageAgent::buildObjectForFrame):
458 * inspector/compile-front-end.sh:
459 * inspector/front-end/IndexedDBModel.js: Added.
460 * inspector/front-end/ResourceTreeModel.js:
461 (WebInspector.ResourceTreeFrame):
462 (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
463 (WebInspector.ResourceTreeFrame.prototype._navigate):
464 * inspector/front-end/WebKit.qrc:
465 * inspector/front-end/inspector.html:
467 2012-01-13 Simon Hausmann <simon.hausmann@nokia.com>
469 [Qt] Fix build when using TextureMapper with OpenGL/ES
470 https://bugs.webkit.org/show_bug.cgi?id=76268
472 Reviewed by Tor Arne Vestbø.
474 * WebCore.pri: When the texture mapper uses OpenGL/ES, then it also relies on the
475 availability of libEGL by using eglGetCurrentContext(). In that case we need to link against
478 2012-01-13 Jochen Eisinger <jochen@chromium.org>
480 Don't artifically keep IDBDatabase objects alive if there are no references to it.
481 https://bugs.webkit.org/show_bug.cgi?id=75859
483 Originally, this code was added to keep the IDBDatabase object alive
484 even if no reference from JavaScript to the object existed, because
485 running transactions could still send events for this database
486 connection. Meanwhile, transactions are marked as active DOM objects
487 during their lifetime, and they keep a RefPtr to the IDBDatabase
488 object, so this hack is no longer required.
490 Reviewed by Tony Gentilcore.
492 Test: storage/indexeddb/delete-closed-database-object.html
494 * storage/IDBDatabase.cpp:
495 * storage/IDBDatabase.h:
497 2012-01-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
499 TextureMapper: Do the node transform computation when painting.
500 https://bugs.webkit.org/show_bug.cgi?id=74721
502 Reviewed by Noam Rosenthal.
504 The transform of the node tree was built during the syncCompositingState
505 step. This would cause an ASSERT with QWebView, trying to use a dirty transform
506 state since the rootTextureMapperNode in QWebFramePrivate::renderCompositedLayers
507 doesn't run the sync step after getting the world transform set.
509 This moves the transform computation from the sync to the paint step to
510 prevent making sure that the sync step has been run on all nodes before painting.
512 * platform/graphics/texmap/TextureMapperNode.cpp:
513 (WebCore::TextureMapperNode::computeTransformsRecursive):
514 (WebCore::TextureMapperNode::computeTiles):
515 Remove an unused variable.
516 (WebCore::TextureMapperNode::paint):
517 (WebCore::TextureMapperNode::syncAnimationsRecursively):
518 (WebCore::TextureMapperNode::syncCompositingState):
519 * platform/graphics/texmap/TextureMapperNode.h:
521 2012-01-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
523 TextureMapper: Simplify transform manipulations.
524 https://bugs.webkit.org/show_bug.cgi?id=74719
526 Reviewed by Noam Rosenthal.
528 - Make sure that the replica node has a complete transform and
529 use it directly instead of keeping a copy in the source.
530 - Apply the origin and position translation only once, on the
531 target and descendants transforms.
532 - Use to2dTransform() on !preserves3D layers instead of doing
533 the flattening manually.
534 - Remove mentions of perspective as this is handled by WebCore
535 through the children transform.
536 - Apply the inverse target transform on the replica only where it
537 is needed in paintReflection since it uses the full transform in paintSelf.
538 - Merge the base and local transforms.
540 * platform/graphics/texmap/TextureMapperNode.cpp:
541 (WebCore::TextureMapperNode::setTransform):
542 (WebCore::TextureMapperNode::computeTransformsSelf):
543 (WebCore::TextureMapperNode::computeAllTransforms):
544 (WebCore::TextureMapperNode::paintSelf):
545 (WebCore::TextureMapperNode::paintReflection):
546 * platform/graphics/texmap/TextureMapperNode.h:
548 2012-01-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
550 TextureMapper: Fix the fillsForward transform adjustment in syncAnimations.
551 https://bugs.webkit.org/show_bug.cgi?id=76184
553 Reviewed by Noam Rosenthal.
555 Also make the intention clearer by using setTransform and setOpacity.
557 * platform/graphics/texmap/TextureMapperNode.cpp:
558 (WebCore::TextureMapperNode::syncAnimations):
560 2012-01-13 Vsevolod Vlasov <vsevik@chromium.org>
562 Unreviewed inspector scripts navigator style fixes.
564 * inspector/front-end/scriptsPanel.css:
565 (#scripts-editor-container-tabbed-pane .tabbed-pane-header-tab):
567 2012-01-13 Jochen Eisinger <jochen@chromium.org>
569 Once we prepared a script element for execution, execute it, even if the script element was meanwhile removed from the dom tree.
570 https://bugs.webkit.org/show_bug.cgi?id=76083
572 Reviewed by Adam Barth.
574 This bug was caught by the following IE Test Center test:
576 http://samples.msdn.microsoft.com/ietestcenter/HTML5/show_async_test.htm?11_RemovingAsyncScript
578 Test: http/tests/misc/async-script-removed.html
579 http/tests/misc/async-script.html
581 * dom/ScriptElement.cpp:
582 * dom/ScriptElement.h:
583 * dom/ScriptRunner.cpp:
584 (WebCore::ScriptRunner::queueScriptForExecution):
585 * html/HTMLScriptElement.cpp:
586 * html/HTMLScriptElement.h:
587 * svg/SVGScriptElement.cpp:
588 * svg/SVGScriptElement.h:
590 2012-01-12 Nikolas Zimmermann <nzimmermann@rim.com>
592 Large SVG text layout performance regression in r81168
593 https://bugs.webkit.org/show_bug.cgi?id=65711
595 Reviewed by Antti Koivisto.
597 Finish SVGTextMetricsBuilder introduction, tested in my local svg-text-performance branch.
598 SVGTextMetricsBuilder has two public methods:
599 a) SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText*)
600 It will be used exclusively for non-initial, incremental layout changes. Once the inital
601 text layout ran, any mutation of eg. a child text node of a <tspan>, will only trigger
602 a rebuild of the layout attributes associated with the passed in renderer.
604 b) SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes(RenderSVGText*, RenderSVGInlineText* stopAtLeaf, SVGCharacterDataMap& allCharactersMap)
606 This carries out the initial layout phase. It measures all characters of the whole <text> subtree, and stores the SVGTextMetrics for each character
607 in the SVGTextLayoutAttributes, stored in the RenderSVGInlineText object. It requires a SVGCharacterDataMap allCharactersMap as input argument,
608 which contains a HashMap<unsigned, {float x, y, dx, dy, rotate}>, which maps each character position to a set of x/y/dx/dy/rotate values.
609 The SVGCharacterDataMap living in SVGTextLayoutAttributes will be filled, from the global "allCharactersMap", so that each RenderSVGInlineText only
610 stores the positioning information for its children, if any.
612 Note: SVGTextMetricsBuilder is not yet deployed, so this talks about the design, once everything is landed.
615 This is never used for the initial layout phase. If the initial layout is done, and eg. a <tspan> is added to the <text> subtree, we no longer
616 need to rebuild the metrics map & layout attributes for the whole tree, but only for the desired <tspan>, and its previous/next sibling, if present
617 (which may be affected by the inclusion of another node inbetween them).
619 SVGTextMetricsBuilder is now finished, and will be used in the next patch chunk.
620 Doesn't affect any tests yet.
622 * rendering/svg/SVGTextLayoutAttributes.h:
623 (WebCore::SVGTextLayoutAttributes::clear):
624 (WebCore::SVGCharacterData::SVGCharacterData):
625 * rendering/svg/SVGTextMetricsBuilder.cpp:
626 (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
627 (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
628 (WebCore::SVGTextMetricsBuilder::advance):
629 (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
630 (WebCore::SVGTextMetricsBuilder::advanceComplexText):
631 (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
632 (WebCore::MeasureTextData::MeasureTextData):
633 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
634 (WebCore::SVGTextMetricsBuilder::walkTree):
635 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
636 (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
637 * rendering/svg/SVGTextMetricsBuilder.h:
639 2012-01-13 Pavel Feldman <pfeldman@google.com>
641 Not reviewed: Fixing Win builders.
643 * inspector/DOMEditor.cpp:
644 (WebCore::DOMEditor::diff):
646 2012-01-13 Grzegorz Czajkowski <g.czajkowski@samsung.com>
648 [EFL] Add 'Copy Image Address' to context menu.
649 https://bugs.webkit.org/show_bug.cgi?id=76153
651 Reviewed by Andreas Kling.
653 Enables 'Copy Image Address' option to context menu in WebKit-EFL as it is enabled in GTK and QT ports.
655 * page/ContextMenuController.cpp:
656 (WebCore::ContextMenuController::contextMenuItemSelected):
657 (WebCore::ContextMenuController::populate):
658 (WebCore::ContextMenuController::checkOrEnableIfNeeded):
659 * platform/ContextMenuItem.h:
660 * platform/LocalizationStrategy.h:
661 * platform/LocalizedStrings.cpp:
662 * platform/LocalizedStrings.h:
663 * platform/efl/LocalizedStringsEfl.cpp:
664 (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
666 2012-01-13 Pavel Feldman <pfeldman@google.com>
668 Not reviewed: 32bit build fix.
670 * inspector/DOMEditor.cpp:
671 * inspector/DOMEditor.h:
673 2012-01-13 Mario Sanchez Prada <msanchez@igalia.com>
675 Unreviewed, rolling out r104905.
676 http://trac.webkit.org/changeset/104905
677 https://bugs.webkit.org/show_bug.cgi?id=76267
679 This patch broke tests in the GTK 64bit Debug bot (Requested
680 by msanchez on #webkit).
682 * editing/gtk/FrameSelectionGtk.cpp:
683 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
685 2012-01-13 Pavel Feldman <pfeldman@google.com>
687 Web Inspector: make HTML editing preserve node identity when node nesting level changes.
688 https://bugs.webkit.org/show_bug.cgi?id=76183
690 Reviewed by Yury Semikhatsky.
692 Test: inspector/elements/set-outer-html-2.html
694 * inspector/DOMEditor.cpp:
695 (WebCore::DOMEditor::patchDocument):
696 (WebCore::DOMEditor::patchNode):
697 (WebCore::DOMEditor::innerPatchHTMLElement):
698 (WebCore::DOMEditor::innerPatchNode):
699 (WebCore::DOMEditor::diff):
700 (WebCore::DOMEditor::innerPatchChildren):
701 (WebCore::DOMEditor::createDigest):
702 (WebCore::DOMEditor::insertBefore):
703 (WebCore::DOMEditor::removeChild):
704 (WebCore::DOMEditor::markNodeAsUsed):
705 (WebCore::DOMEditor::dumpMap):
706 * inspector/DOMEditor.h:
707 * inspector/InspectorDOMAgent.cpp:
708 (WebCore::InspectorDOMAgent::setOuterHTML):
710 2012-01-13 Shinya Kawanaka <shinyak@google.com>
712 ShadowContentElement should be able to use query.
713 https://bugs.webkit.org/show_bug.cgi?id=75302
715 Reviewed by Hajime Morita.
717 This patch introduces a selector to query elements in ShadowContentElement.
718 This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
720 Tests: fast/dom/shadow/shadow-contents-select-expected.html
721 fast/dom/shadow/shadow-contents-select.html
724 * GNUmakefile.list.am:
727 * WebCore.vcproj/WebCore.vcproj:
728 * WebCore.xcodeproj/project.pbxproj:
729 * dom/DOMAllInOne.cpp:
730 * dom/SelectorQuery.cpp:
731 (WebCore::SelectorDataList::SelectorDataList):
732 Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
733 (WebCore::SelectorDataList::initialize):
734 (WebCore::SelectorDataList::matches):
735 (WebCore::SelectorDataList::queryAll):
736 (WebCore::SelectorDataList::queryFirst):
737 (WebCore::SelectorDataList::canUseIdLookup):
738 (WebCore::SelectorDataList::execute):
739 (WebCore::SelectorQuery::SelectorQuery):
740 (WebCore::SelectorQuery::queryAll):
741 (WebCore::SelectorQuery::queryFirst):
742 * dom/SelectorQuery.h:
743 (WebCore::SelectorDataList::size):
744 * dom/ShadowContentElement.cpp:
745 (WebCore::ShadowContentElement::select):
746 (WebCore::ShadowContentElement::setSelect):
747 * dom/ShadowContentElement.h:
748 * dom/ShadowContentSelectorQuery.cpp: Added.
749 (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
750 (WebCore::ShadowContentSelectorQuery::matches):
751 Returns true if Node is matched by the query.
752 * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
753 * dom/ShadowInclusionSelector.cpp:
754 (WebCore::ShadowInclusionSelector::select):
755 * dom/ShadowInclusionSelector.h:
756 * html/HTMLAttributeNames.in:
757 * html/HTMLDetailsElement.cpp:
758 (WebCore::summaryQuerySelector):
759 (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
760 (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
762 2012-01-13 Ilya Tikhonovsky <loislo@chromium.org>
764 Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.
765 https://bugs.webkit.org/show_bug.cgi?id=76252
767 _calculateFlags speed is about 10k edges per second.
768 It requires 150sec for the snapshot with 1.5m edges.
769 The root of problem is var node = list.shift();
770 shift() is not effective in term of memory and cpu.
771 In our case it can be replaced with pop().
772 Now the function works 40 times faster.
774 Drive by change: if statement was reformatted a bit for better readability.
776 Reviewed by Yury Semikhatsky.
778 * inspector/front-end/HeapSnapshot.js:
779 (WebInspector.HeapSnapshot.prototype._calculateFlags):
781 2012-01-13 Alexander Pavlov <apavlov@chromium.org>
783 Web Inspector: [Chromium] JavaScriptOutlineDialog fails to open
784 https://bugs.webkit.org/show_bug.cgi?id=76259
786 Reviewed by Yury Semikhatsky.
790 2012-01-13 Kentaro Hara <haraken@chromium.org>
792 text-decorations should not be propagated to floating, absolutely or fixed
793 positioned decendants
794 https://bugs.webkit.org/show_bug.cgi?id=18611
796 Reviewed by Darin Adler.
798 Previously text-decorations were propagated to all child elements,
799 but they should not be propagated to out-of-flow descendants,
800 i.e. floating, absolutely or fixed positioned elements.
802 The spec says "text decorations are not propagated to any out-of-flow descendants":
803 http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
805 Test: fast/css/text-decoration-in-descendants.html
807 * rendering/RenderObject.cpp:
808 (WebCore::RenderObject::getTextDecorationColors):
810 2012-01-13 Kent Tamura <tkent@chromium.org>
812 REGRESSION (r104668): Crash in HTMLFormElement destructor if the
813 document contains radio groups with the identical name.
814 https://bugs.webkit.org/show_bug.cgi?id=76206
816 Reviewed by Darin Adler.
818 Test: fast/forms/radio/radio-group-document-destruction.html
820 * html/HTMLInputElement.cpp:
821 (WebCore::HTMLInputElement::~HTMLInputElement):
822 setForm(0) may register this to a document-level radio button group.
823 We need to unregister this from the group because
824 Document::checkedRadioButtons() is still accessible from other objects.
826 2012-01-13 Mario Sanchez Prada <msanchez@igalia.com>
828 [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
829 https://bugs.webkit.org/show_bug.cgi?id=76069
831 Reviewed by Martin Robinson.
833 Fix bug introduced with patch for Bug 72830.
835 * editing/gtk/FrameSelectionGtk.cpp:
836 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
837 Pass the right accessibility object associated with the current
838 selection to objectFocusedAndCaretOffsetUnignored.
840 2012-01-13 Alexandru Chiculita <achicu@adobe.com>
842 Refactor RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer()/paintLayerContents() to avoid duplicate code
843 https://bugs.webkit.org/show_bug.cgi?id=75983
845 Reviewed by Simon Fraser.
847 No new tests, just merging two duplicate methods.
849 * rendering/RenderLayer.cpp:
850 (WebCore::RenderLayer::paintLayer):
851 This method is used only in non-composited mode, so I've moved the check for composited mode much earlier.
853 (WebCore::RenderLayer::paintLayerContentsAndReflection):
854 Also used just in non-composited mode, it will draw the reflection and then just call paintLayerContents.
856 (WebCore::RenderLayer::paintLayerContents):
857 Old method, that is now used by both composited and non-composited mode. I've added 3 more flags used to render the
858 Graphics layers: Background, Foreground and Mask.
860 * rendering/RenderLayer.h:
861 * rendering/RenderLayerBacking.cpp:
862 (WebCore::RenderLayerBacking::paintIntoLayer):
863 Removed all the code and delegated the work to RenderLayer::paintLayerContents.
865 2012-01-12 Gavin Barraclough <barraclough@apple.com>
867 Clean up putDirect (part 2)
868 https://bugs.webkit.org/show_bug.cgi?id=76232
870 Reviewed by Sam Weinig.
872 Rename putWithAttributes to putDirectVirtual.
874 * bindings/js/JSDOMWindowShell.cpp:
875 (WebCore::JSDOMWindowShell::putDirectVirtual):
876 * bindings/js/JSDOMWindowShell.h:
878 2012-01-12 MORITA Hajime <morrita@google.com>
880 [Chromium] JSExportMacros.h should be visible.
881 https://bugs.webkit.org/show_bug.cgi?id=76147
883 Reviewed by Tony Chang.
885 No new tests. No behavior change.
889 2012-01-12 ChangSeok Oh <shivamidow@gmail.com>
891 Split GraphicsContext3DOpenGL into several files
892 https://bugs.webkit.org/show_bug.cgi?id=75462
894 Reviewed by Kenneth Russell.
896 Split GraphicsContext3DOpenGL.cpp into three files, GraphicsContext3DOpenGLCommon.cpp,
897 GraphicsContext3DOpenGL.cpp & GraphicsContext3DOpenGLES.cpp so that makes gles support possible
898 for WebGL etc. Most of common APIs between gl and gles are in GraphicsContext3DOpenGLCommon.cpp.
899 The other gl and gles specific APIs are placed apart in GraphicsContext3DOpenGL.cpp &
900 GraphicsContext3DOpenGLES.cpp
902 No new tests required.
904 * GNUmakefile.list.am: Added GraphicsContext3DOpenGLCommon.cpp
905 * Target.pri: Added GraphicsContext3DOpenGLCommon.cpp
906 * WebCore.gypi: Added GraphicsContext3DOpenGLCommon.cpp
907 * WebCore.xcodeproj/project.pbxproj: Added GraphicsContext3DOpenGLCommon.cpp
908 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
909 (WebCore::GraphicsContext3D::readPixels):
910 (WebCore::GraphicsContext3D::renderbufferStorage):
911 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
912 (WebCore::GraphicsContext3D::validateAttributes):
913 (WebCore::GraphicsContext3D::isResourceSafe):
914 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
915 (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
916 (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
917 (WebCore::GraphicsContext3D::getInternalFramebufferSize):
918 (WebCore::GraphicsContext3D::activeTexture):
919 (WebCore::GraphicsContext3D::attachShader):
920 (WebCore::GraphicsContext3D::bindAttribLocation):
921 (WebCore::GraphicsContext3D::bindBuffer):
922 (WebCore::GraphicsContext3D::bindRenderbuffer):
923 (WebCore::GraphicsContext3D::bindTexture):
924 (WebCore::GraphicsContext3D::blendColor):
925 (WebCore::GraphicsContext3D::blendEquation):
926 (WebCore::GraphicsContext3D::blendEquationSeparate):
927 (WebCore::GraphicsContext3D::blendFunc):
928 (WebCore::GraphicsContext3D::blendFuncSeparate):
929 (WebCore::GraphicsContext3D::bufferData):
930 (WebCore::GraphicsContext3D::bufferSubData):
931 (WebCore::GraphicsContext3D::checkFramebufferStatus):
932 (WebCore::GraphicsContext3D::clearColor):
933 (WebCore::GraphicsContext3D::clear):
934 (WebCore::GraphicsContext3D::clearDepth):
935 (WebCore::GraphicsContext3D::clearStencil):
936 (WebCore::GraphicsContext3D::colorMask):
937 (WebCore::GraphicsContext3D::compileShader):
938 (WebCore::GraphicsContext3D::cullFace):
939 (WebCore::GraphicsContext3D::depthFunc):
940 (WebCore::GraphicsContext3D::depthMask):
941 (WebCore::GraphicsContext3D::depthRange):
942 (WebCore::GraphicsContext3D::detachShader):
943 (WebCore::GraphicsContext3D::disable):
944 (WebCore::GraphicsContext3D::disableVertexAttribArray):
945 (WebCore::GraphicsContext3D::drawArrays):
946 (WebCore::GraphicsContext3D::drawElements):
947 (WebCore::GraphicsContext3D::enable):
948 (WebCore::GraphicsContext3D::enableVertexAttribArray):
949 (WebCore::GraphicsContext3D::finish):
950 (WebCore::GraphicsContext3D::flush):
951 (WebCore::GraphicsContext3D::framebufferRenderbuffer):
952 (WebCore::GraphicsContext3D::framebufferTexture2D):
953 (WebCore::GraphicsContext3D::frontFace):
954 (WebCore::GraphicsContext3D::generateMipmap):
955 (WebCore::GraphicsContext3D::getActiveAttrib):
956 (WebCore::GraphicsContext3D::getAttachedShaders):
957 (WebCore::GraphicsContext3D::getAttribLocation):
958 (WebCore::GraphicsContext3D::getContextAttributes):
959 (WebCore::GraphicsContext3D::getError):
960 (WebCore::GraphicsContext3D::getString):
961 (WebCore::GraphicsContext3D::hint):
962 (WebCore::GraphicsContext3D::isBuffer):
963 (WebCore::GraphicsContext3D::isEnabled):
964 (WebCore::GraphicsContext3D::isFramebuffer):
965 (WebCore::GraphicsContext3D::isProgram):
966 (WebCore::GraphicsContext3D::isRenderbuffer):
967 (WebCore::GraphicsContext3D::isShader):
968 (WebCore::GraphicsContext3D::isTexture):
969 (WebCore::GraphicsContext3D::lineWidth):
970 (WebCore::GraphicsContext3D::linkProgram):
971 (WebCore::GraphicsContext3D::pixelStorei):
972 (WebCore::GraphicsContext3D::polygonOffset):
973 (WebCore::GraphicsContext3D::releaseShaderCompiler):
974 (WebCore::GraphicsContext3D::sampleCoverage):
975 (WebCore::GraphicsContext3D::scissor):
976 (WebCore::GraphicsContext3D::shaderSource):
977 (WebCore::GraphicsContext3D::stencilFunc):
978 (WebCore::GraphicsContext3D::stencilFuncSeparate):
979 (WebCore::GraphicsContext3D::stencilMask):
980 (WebCore::GraphicsContext3D::stencilMaskSeparate):
981 (WebCore::GraphicsContext3D::stencilOp):
982 (WebCore::GraphicsContext3D::stencilOpSeparate):
983 (WebCore::GraphicsContext3D::texParameterf):
984 (WebCore::GraphicsContext3D::texParameteri):
985 (WebCore::GraphicsContext3D::uniform1f):
986 (WebCore::GraphicsContext3D::uniform1fv):
987 (WebCore::GraphicsContext3D::uniform2f):
988 (WebCore::GraphicsContext3D::uniform2fv):
989 (WebCore::GraphicsContext3D::uniform3f):
990 (WebCore::GraphicsContext3D::uniform3fv):
991 (WebCore::GraphicsContext3D::uniform4f):
992 (WebCore::GraphicsContext3D::uniform4fv):
993 (WebCore::GraphicsContext3D::uniform1i):
994 (WebCore::GraphicsContext3D::uniform1iv):
995 (WebCore::GraphicsContext3D::uniform2i):
996 (WebCore::GraphicsContext3D::uniform2iv):
997 (WebCore::GraphicsContext3D::uniform3i):
998 (WebCore::GraphicsContext3D::uniform3iv):
999 (WebCore::GraphicsContext3D::uniform4i):
1000 (WebCore::GraphicsContext3D::uniform4iv):
1001 (WebCore::GraphicsContext3D::uniformMatrix2fv):
1002 (WebCore::GraphicsContext3D::uniformMatrix3fv):
1003 (WebCore::GraphicsContext3D::uniformMatrix4fv):
1004 (WebCore::GraphicsContext3D::useProgram):
1005 (WebCore::GraphicsContext3D::validateProgram):
1006 (WebCore::GraphicsContext3D::vertexAttrib1f):
1007 (WebCore::GraphicsContext3D::vertexAttrib1fv):
1008 (WebCore::GraphicsContext3D::vertexAttrib2f):
1009 (WebCore::GraphicsContext3D::vertexAttrib2fv):
1010 (WebCore::GraphicsContext3D::vertexAttrib3f):
1011 (WebCore::GraphicsContext3D::vertexAttrib3fv):
1012 (WebCore::GraphicsContext3D::vertexAttrib4f):
1013 (WebCore::GraphicsContext3D::vertexAttrib4fv):
1014 (WebCore::GraphicsContext3D::vertexAttribPointer):
1015 (WebCore::GraphicsContext3D::viewport):
1016 (WebCore::GraphicsContext3D::getBooleanv):
1017 (WebCore::GraphicsContext3D::getBufferParameteriv):
1018 (WebCore::GraphicsContext3D::getFloatv):
1019 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1020 (WebCore::GraphicsContext3D::getProgramiv):
1021 (WebCore::GraphicsContext3D::getProgramInfoLog):
1022 (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1023 (WebCore::GraphicsContext3D::getShaderiv):
1024 (WebCore::GraphicsContext3D::getShaderInfoLog):
1025 (WebCore::GraphicsContext3D::getShaderSource):
1026 (WebCore::GraphicsContext3D::getTexParameterfv):
1027 (WebCore::GraphicsContext3D::getTexParameteriv):
1028 (WebCore::GraphicsContext3D::getUniformfv):
1029 (WebCore::GraphicsContext3D::getUniformiv):
1030 (WebCore::GraphicsContext3D::getUniformLocation):
1031 (WebCore::GraphicsContext3D::getVertexAttribfv):
1032 (WebCore::GraphicsContext3D::getVertexAttribiv):
1033 (WebCore::GraphicsContext3D::getVertexAttribOffset):
1034 (WebCore::GraphicsContext3D::texSubImage2D):
1035 (WebCore::GraphicsContext3D::compressedTexImage2D):
1036 (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1037 (WebCore::GraphicsContext3D::createBuffer):
1038 (WebCore::GraphicsContext3D::createFramebuffer):
1039 (WebCore::GraphicsContext3D::createProgram):
1040 (WebCore::GraphicsContext3D::createRenderbuffer):
1041 (WebCore::GraphicsContext3D::createShader):
1042 (WebCore::GraphicsContext3D::createTexture):
1043 (WebCore::GraphicsContext3D::deleteBuffer):
1044 (WebCore::GraphicsContext3D::deleteFramebuffer):
1045 (WebCore::GraphicsContext3D::deleteProgram):
1046 (WebCore::GraphicsContext3D::deleteRenderbuffer):
1047 (WebCore::GraphicsContext3D::deleteShader):
1048 (WebCore::GraphicsContext3D::deleteTexture):
1049 (WebCore::GraphicsContext3D::synthesizeGLError):
1050 (WebCore::GraphicsContext3D::markContextChanged):
1051 (WebCore::GraphicsContext3D::markLayerComposited):
1052 (WebCore::GraphicsContext3D::layerComposited):
1053 (WebCore::GraphicsContext3D::getExtensions):
1054 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Added.
1055 (WebCore::GraphicsContext3D::readRenderingResults):
1056 (WebCore::GraphicsContext3D::reshape):
1057 (WebCore::GraphicsContext3D::prepareTexture):
1058 (WebCore::GraphicsContext3D::bindFramebuffer):
1059 (WebCore::GraphicsContext3D::copyTexImage2D):
1060 (WebCore::GraphicsContext3D::copyTexSubImage2D):
1061 (WebCore::GraphicsContext3D::getActiveUniform):
1062 (WebCore::GraphicsContext3D::readPixels):
1063 (WebCore::GraphicsContext3D::renderbufferStorage):
1064 (WebCore::GraphicsContext3D::getIntegerv):
1065 (WebCore::GraphicsContext3D::texImage2D):
1067 2012-01-12 Wei James <james.wei@intel.com>
1069 Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus
1070 https://bugs.webkit.org/show_bug.cgi?id=75835
1072 When summing a audio bus, the source is multiplied with the scale and
1073 then summed into the destination bus. Add this function to fulfill it.
1075 Reviewed by Kenneth Russell.
1077 * platform/audio/AudioBus.cpp:
1078 * platform/audio/VectorMath.cpp:
1079 (WebCore::VectorMath::vsma):
1080 * platform/audio/VectorMath.h:
1082 2012-01-12 James Simonsen <simonjam@chromium.org>
1084 Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
1085 https://bugs.webkit.org/show_bug.cgi?id=76176
1087 Reviewed by Nate Chapin.
1089 No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.
1091 * loader/SubresourceLoader.cpp:
1092 (WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.
1094 2012-01-12 Alexey Proskuryakov <ap@apple.com>
1096 NSURL to KURL conversion shouldn't turn raw paths into file URLs
1097 https://bugs.webkit.org/show_bug.cgi?id=76234
1099 Reviewed by Darin Adler.
1101 * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Removed this code.
1103 2012-01-12 Anders Carlsson <andersca@apple.com>
1105 Create a GraphicsLayer for the overhang areas if threaded scrolling is enabled
1106 https://bugs.webkit.org/show_bug.cgi?id=76220
1108 Reviewed by Simon Fraser.
1110 * page/FrameView.cpp:
1111 Remove PLATFORM(CHROMIUM) #ifdefs.
1116 * platform/ScrollView.cpp:
1117 (WebCore::ScrollView::wheelEvent):
1120 * platform/ScrollableArea.h:
1123 * rendering/RenderLayerCompositor.cpp:
1124 (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1127 (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
1128 Make this return true if we have a scrolling coordinator.
1130 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1131 Remove PLATFORM(CHROMIUM) #ifdefs. Fix a bug the overhang layer was being added above the clip layer.
1133 (WebCore::RenderLayerCompositor::destroyRootLayer):
1134 Remove PLATFORM(CHROMIUM) #ifdefs.
1136 * rendering/RenderLayerCompositor.h:
1139 2012-01-12 Kenichi Ishibashi <bashi@chromium.org>
1141 Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
1142 https://bugs.webkit.org/show_bug.cgi?id=76155
1144 Reviewed by Tony Chang.
1146 No new tests. No behavior change.
1148 * PlatformBlackBerry.cmake:
1149 * WebCore.gyp/WebCore.gyp:
1151 * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
1152 (WebCore::SimpleFontData::platformInit):
1153 (WebCore::SimpleFontData::platformCharWidthInit):
1154 (WebCore::SimpleFontData::platformDestroy):
1155 (WebCore::SimpleFontData::createScaledFontData):
1156 (WebCore::SimpleFontData::smallCapsFontData):
1157 (WebCore::SimpleFontData::emphasisMarkFontData):
1158 (WebCore::SimpleFontData::containsCharacters):
1159 (WebCore::SimpleFontData::determinePitch):
1160 (WebCore::SimpleFontData::platformBoundsForGlyph):
1161 (WebCore::SimpleFontData::platformWidthForGlyph):
1163 2012-01-12 Benjamin Poulain <bpoulain@apple.com>
1165 A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
1166 https://bugs.webkit.org/show_bug.cgi?id=76154
1168 Reviewed by Beth Dakin.
1170 In a frame with inSubframeLayoutWithFrameFlattening == true, if
1171 -m_hasPendingPostLayoutTasks == true
1172 -FrameView::unscheduleRelayout() is executed
1173 -->the timer m_postLayoutTasksTimer is stopped
1174 -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true
1176 This patch revert the handling of the postLayoutTasks to its state prior to r66552.
1178 The timer itself is used as the only state to know if post layout tasks are scheduled.
1180 For the case without frame flattening:
1181 -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
1182 and the post layout tasks would be executed during the next layout().
1183 -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
1184 was not invoked before.
1186 * page/FrameView.cpp:
1187 (WebCore::FrameView::FrameView):
1188 (WebCore::FrameView::~FrameView):
1189 (WebCore::FrameView::reset):
1190 (WebCore::FrameView::layout):
1191 (WebCore::FrameView::unscheduleRelayout):
1192 (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
1193 (WebCore::FrameView::performPostLayoutTasks):
1196 2012-01-12 Yongjun Zhang <yongjun_zhang@apple.com>
1198 Reviewed by Benjamin Poulain.
1200 https://bugs.webkit.org/show_bug.cgi?id=75991
1201 Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.
1203 Move memory pressure handling code inside a new function (releaseMemory) so that
1204 we could shared it between mac and iOS.
1206 * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
1207 * platform/MemoryPressureHandler.h:
1208 * platform/mac/MemoryPressureHandlerMac.mm:
1209 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1210 (WebCore::MemoryPressureHandler::releaseMemory):
1212 2012-01-12 Eric Seidel <eric@webkit.org>
1214 Refactor DOMImplementation.hasFeature logic into helper functions.
1215 https://bugs.webkit.org/show_bug.cgi?id=76212
1217 Reviewed by Adam Barth.
1219 This patch should not have any behavior change. The goal was
1220 to move our feature detection towards a more modular architecture
1221 (as that seems to be the current trend in webkit). In a future
1222 patch we could easily move the SVG feature detection into the
1223 SVG directory, for example. I've also added a list of all the
1224 Event3 features (currently commented out) which makes it obvious
1225 how many we're missing.
1227 * dom/DOMImplementation.cpp:
1228 (WebCore::isSVG10Feature):
1229 (WebCore::isSVG11Feature):
1230 (WebCore::isEvents2Feature):
1231 (WebCore::isEvents3Feature):
1232 (WebCore::DOMImplementation::hasFeature):
1234 2012-01-12 Adam Barth <abarth@webkit.org>
1236 NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
1237 https://bugs.webkit.org/show_bug.cgi?id=76146
1239 Reviewed by Eric Seidel.
1241 In the case where we're removing the reference node we can end up with
1242 the wrong reference node. This patch makes sure we traverse outside of
1243 the removed node's subtree.
1245 This bug was caught by the following IE Test Center test:
1247 http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode
1249 Our new behavior also match Firefox.
1251 I experimented a bit with adding ASSERT_NOT_REACHED to various branches
1252 in NodeIterator::updateForNodeRemoval, and it seems our test coverage
1253 for this function is relatively poor. In the future, we should
1254 consider adding more tests for this complicated function.
1256 Test: fast/dom/node-iterator-reference-node-removed.html
1258 * dom/NodeIterator.cpp:
1259 (WebCore::NodeIterator::updateForNodeRemoval):
1261 2012-01-12 Joshua Bell <jsbell@chromium.org>
1263 IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
1264 https://bugs.webkit.org/show_bug.cgi?id=76100
1266 The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
1269 Reviewed by Tony Chang.
1271 Test: storage/indexeddb/cursor-continue.html
1273 * storage/IDBCursorBackendImpl.cpp:
1274 (WebCore::IDBCursorBackendImpl::continueFunction):
1276 2012-01-12 Jon Lee <jonlee@apple.com>
1278 Setting value on a select element to a non existing option value should clear selection
1279 https://bugs.webkit.org/show_bug.cgi?id=67233
1280 <rdar://problem/10057159>
1282 Reviewed by Darin Adler.
1284 Test: fast/forms/select/setting-to-invalid-value.html
1286 * html/HTMLSelectElement.cpp:
1287 (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
1288 find an option with the specified value. The spec states to clear the selectedness of all
1289 options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
1290 option(s) only when don't find the appropriate option.
1292 Also, correct the sentence style of a comment.
1294 2012-01-12 Jer Noble <jer.noble@apple.com>
1296 Unreviewed build fix after r104858.
1298 NSDataReadingMappedIfSafe is not defined on <= 10.6. Use NSDataReadingMapped on that platform instead.
1300 * platform/audio/mac/AudioBusMac.mm:
1301 (WebCore::AudioBus::loadPlatformResource):
1303 2012-01-12 Dana Jansens <danakj@chromium.org>
1305 [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
1306 https://bugs.webkit.org/show_bug.cgi?id=74352
1308 Reviewed by Stephen White.
1310 New unit tests in PlatformContextSkiaTest.cpp
1313 * platform/graphics/skia/GraphicsContextSkia.cpp:
1314 (WebCore::GraphicsContext::clearRect):
1315 (WebCore::GraphicsContext::drawConvexPolygon):
1316 (WebCore::GraphicsContext::drawEllipse):
1317 (WebCore::drawOuterPath):
1318 (WebCore::drawInnerPath):
1319 (WebCore::GraphicsContext::drawFocusRing):
1320 (WebCore::GraphicsContext::drawLine):
1321 (WebCore::GraphicsContext::drawLineForTextChecking):
1322 (WebCore::GraphicsContext::drawLineForText):
1323 (WebCore::GraphicsContext::fillPath):
1324 (WebCore::GraphicsContext::fillRect):
1325 (WebCore::GraphicsContext::fillRoundedRect):
1326 (WebCore::GraphicsContext::strokeArc):
1327 (WebCore::GraphicsContext::strokePath):
1328 (WebCore::GraphicsContext::strokeRect):
1329 * platform/graphics/skia/ImageSkia.cpp:
1330 (WebCore::paintSkBitmap):
1331 * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
1332 (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
1333 (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
1334 (WebCore::OpaqueRegionSkia::asRect):
1335 (WebCore::xfermodeIsOpaque):
1336 (WebCore::xfermodePreservesOpaque):
1337 (WebCore::paintIsOpaque):
1338 (WebCore::OpaqueRegionSkia::didDrawRect):
1339 (WebCore::OpaqueRegionSkia::didDrawPath):
1340 (WebCore::OpaqueRegionSkia::didDrawPoints):
1341 (WebCore::OpaqueRegionSkia::didDrawBounded):
1342 (WebCore::OpaqueRegionSkia::didDraw):
1343 (WebCore::OpaqueRegionSkia::didDrawUnbounded):
1344 (WebCore::OpaqueRegionSkia::markRectAsOpaque):
1345 (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
1346 * platform/graphics/skia/OpaqueRegionSkia.h: Added.
1347 * platform/graphics/skia/PlatformContextSkia.cpp:
1348 (WebCore::PlatformContextSkia::PlatformContextSkia):
1349 (WebCore::PlatformContextSkia::clippedToImage):
1350 (WebCore::PlatformContextSkia::drawRect):
1351 (WebCore::PlatformContextSkia::paintSkPaint):
1352 (WebCore::PlatformContextSkia::didDrawRect):
1353 (WebCore::PlatformContextSkia::didDrawPath):
1354 (WebCore::PlatformContextSkia::didDrawPoints):
1355 (WebCore::PlatformContextSkia::didDrawBounded):
1356 * platform/graphics/skia/PlatformContextSkia.h:
1357 (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
1358 (WebCore::PlatformContextSkia::opaqueRegion):
1360 2012-01-12 Beth Dakin <bdakin@apple.com>
1362 https://bugs.webkit.org/show_bug.cgi?id=76209
1363 Support expanded scrollbars
1365 <rdar://problem/10527734>
1367 Reviewed by Sam Weinig.
1369 All this really requires is leaving the proper amount of space for the
1371 * platform/mac/NSScrollerImpDetails.h:
1372 * platform/mac/ScrollbarThemeMac.mm:
1373 (WebCore::supportsExpandedScrollbars):
1374 (WebCore::ScrollbarThemeMac::scrollbarThickness):
1376 2011-12-12 Jer Noble <jer.noble@apple.com>
1378 WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
1379 https://bugs.webkit.org/show_bug.cgi?id=74328
1381 Reviewed by Eric Carlson.
1383 No new tests; no net change in functionality.
1385 * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
1386 Removed IRC_*.wav resources from the project.
1387 * platform/audio/AudioBus.cpp:
1388 (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
1389 * platform/audio/AudioBus.h:
1390 * platform/audio/HRTFElevation.cpp:
1392 2011-12-12 Jer Noble <jer.noble@apple.com>
1394 WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
1395 https://bugs.webkit.org/show_bug.cgi?id=74326
1397 Reviewed by Darin Adler.
1399 No new tests; no net change in functionality.
1401 Use NSDataReadingMappedIfSafe when reading platform audio file data.
1403 * platform/audio/mac/AudioBusMac.mm:
1404 (WebCore::AudioBus::loadPlatformResource):
1406 2011-12-12 Jer Noble <jer.noble@apple.com>
1408 WebAudio: Use Logging instead of printf.
1409 https://bugs.webkit.org/show_bug.cgi?id=74322
1411 Reviewed by Darin Adler.
1413 No new tests; no net change in functionality.
1415 Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of
1416 printf statements in webaudio classes.
1418 * platform/Logging.cpp:
1419 (WebCore::getChannelFromName):
1420 * platform/Logging.h:
1421 * platform/mac/LoggingMac.mm:
1422 (WebCore::InitializeLoggingChannelsIfNecessary):
1423 * platform/audio/FFTFrame.cpp:
1424 (WebCore::FFTFrame::print):
1425 * webaudio/DefaultAudioDestinationNode.cpp:
1426 (WebCore::DefaultAudioDestinationNode::initialize):
1428 2012-01-12 Anders Carlsson <andersca@apple.com>
1430 Make ScrollElasticityController members private
1431 https://bugs.webkit.org/show_bug.cgi?id=76208
1433 Reviewed by Andreas Kling.
1435 * platform/mac/ScrollAnimatorMac.mm:
1436 (WebCore::ScrollAnimatorMac::endScrollGesture):
1437 Call ScrollElasticityController::endScrollGesture.
1439 * platform/mac/ScrollElasticityController.h:
1440 Make members private.
1442 * platform/mac/ScrollElasticityController.mm:
1443 (WebCore::ScrollElasticityController::endScrollGesture):
1444 Call snapRubberBand.
1446 (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
1447 Call stopSnapRubberbandTimer.
1449 2012-01-12 Anders Carlsson <andersca@apple.com>
1451 Move wheel event handling to ScrollElasticityController::handleWheelEvent
1452 https://bugs.webkit.org/show_bug.cgi?id=76205
1454 Reviewed by Andreas Kling.
1456 Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
1457 change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
1458 This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
1459 but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.
1461 * platform/mac/ScrollAnimatorMac.h:
1462 * platform/mac/ScrollAnimatorMac.mm:
1463 (WebCore::ScrollAnimatorMac::handleWheelEvent):
1464 * platform/mac/ScrollElasticityController.h:
1465 * platform/mac/ScrollElasticityController.mm:
1466 (WebCore::elasticDeltaForReboundDelta):
1467 (WebCore::scrollWheelMultiplier):
1468 (WebCore::ScrollElasticityController::handleWheelEvent):
1470 2012-01-12 Simon Fraser <simon.fraser@apple.com>
1472 Borders and box masks behave incorrectly with overlapping offsets
1473 https://bugs.webkit.org/show_bug.cgi?id=76137
1475 Reviewed by Dave Hyatt.
1477 When border-image-slice sizes add up to more than the height or width
1478 of the border-image, the middle sections should not be rendered, per spec.
1480 Test: fast/borders/border-image-slice-constrained.html
1482 * rendering/RenderBoxModelObject.cpp:
1483 (WebCore::RenderBoxModelObject::paintNinePieceImage):
1485 2012-01-12 Anders Carlsson <andersca@apple.com>
1487 Make all calls to pinnedInDirection go through the ScrollElasticityController
1488 https://bugs.webkit.org/show_bug.cgi?id=76204
1490 Reviewed by Andreas Kling.
1492 * platform/mac/ScrollAnimatorMac.mm:
1493 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1495 2012-01-12 Stephen White <senorblanco@chromium.org>
1497 [chromium] Re-enable Skia feColorMatrix filter implementation.
1498 https://bugs.webkit.org/show_bug.cgi?id=76186
1500 This code was landed in http://trac.webkit.org/changeset/104566 and
1501 partially reverted in http://trac.webkit.org/changeset/104632 due
1502 to problems with the Windows Shared builder. Those problems have
1503 been fixed in r3006, since rolled into Chrome.
1505 Reviewed by Kenneth Russell.
1507 Covered by SVG feColorMatrix tests.
1510 * platform/graphics/filters/FEColorMatrix.h:
1512 2012-01-12 Anders Carlsson <andersca@apple.com>
1514 Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
1515 https://bugs.webkit.org/show_bug.cgi?id=76202
1517 Reviewed by Andreas Kling.
1519 * platform/mac/ScrollAnimatorMac.h:
1520 * platform/mac/ScrollAnimatorMac.mm:
1521 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
1522 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
1523 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1524 * platform/mac/ScrollElasticityController.h:
1526 2012-01-12 Anders Carlsson <andersca@apple.com>
1528 Move snapRubberBand to ScrollElasticityController
1529 https://bugs.webkit.org/show_bug.cgi?id=76200
1531 Reviewed by Andreas Kling.
1533 * platform/mac/ScrollAnimatorMac.h:
1534 * platform/mac/ScrollAnimatorMac.mm:
1535 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1536 (WebCore::ScrollAnimatorMac::endScrollGesture):
1537 * platform/mac/ScrollElasticityController.h:
1538 * platform/mac/ScrollElasticityController.mm:
1540 (WebCore::ScrollElasticityController::snapRubberBand):
1542 2012-01-12 Antti Koivisto <antti@apple.com>
1544 REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers
1545 https://bugs.webkit.org/show_bug.cgi?id=76191
1547 Reviewed by Andreas Kling.
1549 Setting the user style sheet frees the existing user style sheet data structures. The code
1550 in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
1551 style selector so it is not left with stale pointers. However under certain conditions
1552 involving pending stylesheets it may bail out quickly without clearing.
1554 Document::styleSelectorChanged has to take care that it never leaves the style selector stale
1555 even when bailing out early.
1557 Test: fast/css/user-stylesheet-crash.html
1560 (WebCore::Document::styleSelectorChanged):
1562 2012-01-12 Nat Duca <nduca@chromium.org>
1564 [chromium] Turn off FrameRateController timesource when it is not needed
1565 https://bugs.webkit.org/show_bug.cgi?id=76149
1567 Reviewed by James Robinson.
1569 * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1570 (WebCore::CCDelayBasedTimeSource::active):
1571 * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1572 (WebCore::CCFrameRateController::setActive):
1573 (WebCore::CCFrameRateController::onTimerTick):
1574 * platform/graphics/chromium/cc/CCFrameRateController.h:
1575 * platform/graphics/chromium/cc/CCScheduler.cpp:
1576 (WebCore::CCScheduler::CCScheduler):
1577 (WebCore::CCScheduler::setVisible):
1578 (WebCore::CCScheduler::processScheduledActions):
1579 * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1580 (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
1581 * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1582 * platform/graphics/chromium/cc/CCTimeSource.h:
1584 2012-01-12 Anders Carlsson <andersca@apple.com>
1586 Move snapRubberBandTimerFired to ScrollElasticityController
1587 https://bugs.webkit.org/show_bug.cgi?id=76196
1589 Reviewed by Andreas Kling.
1591 * platform/mac/ScrollAnimatorMac.mm:
1592 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1593 * platform/mac/ScrollElasticityController.h:
1594 * platform/mac/ScrollElasticityController.mm:
1595 (WebCore::elasticDeltaForTimeDelta):
1596 (WebCore::roundTowardZero):
1597 (WebCore::roundToDevicePixelTowardZero):
1598 (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
1600 2012-01-12 Joshua Bell <jsbell@chromium.org>
1602 IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
1603 https://bugs.webkit.org/show_bug.cgi?id=76072
1605 Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406
1607 Reviewed by Tony Chang.
1609 Tests: storage/indexeddb/transaction-basics.html
1611 * storage/IDBDatabase.cpp:
1612 (WebCore::IDBDatabase::transaction):
1614 2012-01-12 Anders Carlsson <andersca@apple.com>
1616 Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
1617 https://bugs.webkit.org/show_bug.cgi?id=76193
1619 Reviewed by Andreas Kling.
1621 Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.
1623 * platform/mac/ScrollAnimatorMac.mm:
1624 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1626 2011-09-26 Jer Noble <jer.noble@apple.com>
1628 Emit an error event when a request to enter full-screen is rejected.
1629 https://bugs.webkit.org/show_bug.cgi?id=62320
1631 Reviewed by Eric Carlson.
1633 Tests: fullscreen/full-screen-request-rejected.html
1634 fullscreen/full-screen-request-removed.html
1636 When a request to enter full-screen is rejected, emit an event
1637 (webkitfullscreenerror) in response. But emit the event during the next
1638 trip through the run-loop, like the webkitfullscreenchange event, and so a new
1639 timer and queue are necessary.
1642 (WebCore::Document::requestFullScreenForElement): Emit the error event
1643 if the request does not pass all our requirements.
1644 * dom/Document.h: Add new ivars.
1645 * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
1646 * dom/Element.h: Ditto.
1647 * dom/Element.idl: Ditto.
1648 * dom/EventNames.h: Add the name for the error event.
1650 2012-01-12 Beth Dakin <bdakin@apple.com>
1652 https://bugs.webkit.org/show_bug.cgi?id=76133
1653 ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should
1654 only do stuff for legacy scrollbars
1656 <rdar://problem/10603290>
1658 Reviewed by Sam Weinig.
1660 * platform/mac/ScrollAnimatorMac.mm:
1661 (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1662 (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1664 2012-01-12 Dan Bernstein <mitz@apple.com>
1666 When generating derived sources, use the same compiler that is used to compile WebCore.
1668 Fixes <http://webkit.org/b/76189>
1669 [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources
1671 Reviewed by Mark Rowe.
1673 * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
1674 * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
1675 according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
1678 2012-01-12 Pierre Rossi <pierre.rossi@gmail.com>
1680 [Qt] Unreviewed build fix after r104828.
1682 * platform/qt/RenderThemeQtMobile.cpp:
1683 (WebCore::StylePainterMobile::findComboButton):
1685 2012-01-12 Sheriff Bot <webkit.review.bot@gmail.com>
1687 Unreviewed, rolling out r104829.
1688 http://trac.webkit.org/changeset/104829
1689 https://bugs.webkit.org/show_bug.cgi?id=76188
1691 it broke qt-minimal (Requested by loislo1 on #webkit).
1693 * inspector/CodeGeneratorInspector.py:
1695 (CodeGenerator.generate_type_builder):
1696 (CodeGenerator.generate_type_builder.AdHocTypeContext):
1697 (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
1698 (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
1699 (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1700 (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
1701 (CodeGenerator.register_use):
1703 (RawTypesBinding.get_code_generator):
1704 (RawTypesBinding.get_in_c_type_text):
1705 (RawTypesBinding.get_setter_value_expression_pattern):
1706 (RawTypesBinding.reduce_to_raw_type):
1707 (TypeData.__init__):
1708 * inspector/InspectorValues.h:
1710 2012-01-12 Pavel Podivilov <podivilov@chromium.org>
1712 Web Inspector: [JSC] //@ sourceURL is not respected.
1713 https://bugs.webkit.org/show_bug.cgi?id=65532
1715 Reviewed by Pavel Feldman.
1717 Test: inspector/debugger/source-url-comment.html
1719 * bindings/js/ScriptDebugServer.cpp:
1720 (WebCore::ScriptDebugServer::dispatchDidParseSource):
1721 * inspector/ContentSearchUtils.cpp:
1722 (WebCore::ContentSearchUtils::findMagicComment):
1723 (WebCore::ContentSearchUtils::findSourceURL):
1724 (WebCore::ContentSearchUtils::findSourceMapURL):
1725 * inspector/ContentSearchUtils.h:
1727 2012-01-12 Csaba Osztrogonác <ossy@webkit.org>
1729 [Qt] Unreviewed trivial buildfix after r104828.
1731 * platform/qt/RenderThemeQtMobile.cpp:
1732 (WebCore::StylePainterMobile::findComboButton):
1734 2012-01-12 Peter Rybin <peter.rybin@gmail.com>
1736 Web Inspector: CodeGeneratorInspector.py: generate array types.
1737 https://bugs.webkit.org/show_bug.cgi?id=75284
1739 Reviewed by Yury Semikhatsky.
1741 New classes are generated for ecah array type instance.
1743 * inspector/CodeGeneratorInspector.py:
1745 (ArrayBinding.get_code_generator):
1746 (ArrayBinding.get_code_generator.CodeGenerator):
1747 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
1748 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
1749 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
1750 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
1751 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1752 (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
1753 (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
1754 (ArrayBinding.get_code_generator.CodeGenerator.register_use):
1755 (ArrayBinding.get_in_c_type_text):
1756 (ArrayBinding.get_setter_value_expression_pattern):
1757 (ArrayBinding.reduce_to_raw_type):
1759 (RawTypeBinding.__init__):
1760 (RawTypeBinding.get_code_generator):
1761 (RawTypeBinding.get_in_c_type_text):
1762 (RawTypeBinding.get_setter_value_expression_pattern):
1763 (RawTypeBinding.reduce_to_raw_type):
1764 (TypeData.__init__):
1765 (TypeData.get_binding):
1766 * inspector/InspectorValues.h:
1768 2012-01-12 Pierre Rossi <pierre.rossi@gmail.com>
1770 [Qt] Avoid string operations in mobile theme's caching mechanism
1771 https://bugs.webkit.org/show_bug.cgi?id=75010
1773 The string operations constantly performed in the mobile theme
1774 to fetch or put controls in the pixmap cache can be pretty expensive.
1775 The new mechanism harnesses the QPixmapCache::Key API instead.
1777 Reviewed by Kenneth Rohde Christiansen.
1779 No new tests, internal refactoring.
1781 * platform/qt/RenderThemeQtMobile.cpp:
1783 (WebCore::StylePainterMobile::findCachedControl):
1784 (WebCore::StylePainterMobile::insertIntoCache):
1785 (WebCore::StylePainterMobile::findCheckBox):
1786 (WebCore::StylePainterMobile::drawRadio):
1787 (WebCore::StylePainterMobile::findRadio):
1788 (WebCore::StylePainterMobile::drawMultipleComboButton):
1789 (WebCore::StylePainterMobile::drawSimpleComboButton):
1790 (WebCore::StylePainterMobile::getButtonImageSize):
1791 (WebCore::StylePainterMobile::findComboButton):
1792 (WebCore::StylePainterMobile::findLineEdit):
1793 (WebCore::StylePainterMobile::findPushButton):
1794 (WebCore::StylePainterMobile::drawComboBox):
1795 (WebCore::StylePainterMobile::drawProgress):
1796 (WebCore::StylePainterMobile::drawSliderThumb):
1797 (WebCore::RenderThemeQtMobile::paintTextField):
1798 (WebCore::RenderThemeQtMobile::paintMenuList):
1799 * platform/qt/RenderThemeQtMobile.h:
1800 (WebCore::KeyIdentifier::KeyIdentifier):
1801 (WebCore::KeyIdentifier::operator==):
1803 2012-01-12 Sheriff Bot <webkit.review.bot@gmail.com>
1805 Unreviewed, rolling out r104805.
1806 http://trac.webkit.org/changeset/104805
1807 https://bugs.webkit.org/show_bug.cgi?id=76180
1809 Breaks apple win compilation. (Requested by vsevik on
1813 * GNUmakefile.list.am:
1817 * WebCore.vcproj/WebCore.vcproj:
1818 * WebCore.xcodeproj/project.pbxproj:
1819 * dom/DOMAllInOne.cpp:
1820 * dom/SelectorQuery.cpp:
1821 (WebCore::SelectorQuery::SelectorQuery):
1822 (WebCore::SelectorQuery::queryAll):
1823 (WebCore::SelectorQuery::queryFirst):
1824 (WebCore::SelectorQuery::canUseIdLookup):
1825 (WebCore::SelectorQuery::execute):
1826 * dom/SelectorQuery.h:
1827 * dom/ShadowContentElement.cpp:
1828 (WebCore::ShadowContentElement::create):
1829 (WebCore::ShadowContentElement::ShadowContentElement):
1830 (WebCore::ShadowContentElement::shouldInclude):
1831 * dom/ShadowContentElement.h:
1832 * dom/ShadowContentSelectorQuery.cpp: Removed.
1833 * dom/ShadowContentSelectorQuery.h: Removed.
1834 * dom/ShadowInclusionSelector.cpp:
1835 (WebCore::ShadowInclusionSelector::select):
1836 * dom/ShadowInclusionSelector.h:
1837 * html/HTMLDetailsElement.cpp:
1838 (WebCore::DetailsContentElement::DetailsContentElement):
1839 (WebCore::DetailsContentElement::shouldInclude):
1840 (WebCore::DetailsSummaryElement::DetailsSummaryElement):
1841 (WebCore::DetailsSummaryElement::shouldInclude):
1842 * html/HTMLSummaryElement.cpp:
1843 (WebCore::SummaryContentElement::SummaryContentElement):
1844 * testing/Internals.cpp:
1845 (WebCore::Internals::createShadowContentElement):
1846 * testing/Internals.h:
1847 * testing/Internals.idl:
1849 2012-01-12 Zoltan Herczeg <zherczeg@webkit.org>
1851 Fix turbulence bug when stitch tiles enabled and rendered in parallel
1852 https://bugs.webkit.org/show_bug.cgi?id=76042
1854 Reviewed by Nikolas Zimmermann.
1856 The width / height / wrap members are used by all threads
1857 in the same time. The patch makes them local for all threads.
1859 Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*
1861 * platform/graphics/filters/FETurbulence.cpp:
1862 (WebCore::FETurbulence::noise2D):
1863 (WebCore::Noise::if):
1864 (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
1865 (WebCore::FETurbulence::fillRegion):
1866 * platform/graphics/filters/FETurbulence.h:
1867 (WebCore::FETurbulence::PaintingData::PaintingData):
1868 (WebCore::FETurbulence::StitchData::StitchData):
1870 2012-01-12 Ilya Tikhonovsky <loislo@chromium.org>
1872 Web Inspector: performance: restore 'log 300 messages into console' test.
1873 https://bugs.webkit.org/show_bug.cgi?id=76170
1875 It was removed in order of transition from layout tests to perf tests.
1877 Reviewed by Yury Semikhatsky.
1879 * inspector/front-end/ConsoleView.js:
1880 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
1881 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
1883 2012-01-12 Hans Wennborg <hans@chromium.org>
1885 Speech input: Send text to correct element even if focus has changed
1886 https://bugs.webkit.org/show_bug.cgi?id=76071
1888 Reviewed by Steve Block.
1890 Make sure that the text from speech input ends up in the correct
1891 element even if focus has changed since the user clicked on it.
1893 Test: fast/speech/change-focus.html
1895 * html/shadow/TextControlInnerElements.cpp:
1896 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1898 2012-01-10 Pavel Podivilov <podivilov@chromium.org>
1900 Web Inspector: make source urls relative to source map url.
1901 https://bugs.webkit.org/show_bug.cgi?id=75968
1903 Reviewed by Yury Semikhatsky.
1905 * inspector/front-end/CompilerSourceMapping.js:
1906 (WebInspector.ClosureCompilerSourceMapping):
1907 (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1908 (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
1910 2012-01-12 Nikolas Zimmermann <nzimmermann@rim.com>
1912 Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.
1914 * WebCore.xcodeproj/project.pbxproj:
1916 2012-01-12 Shinya Kawanaka <shinyak@google.com>
1918 ShadowContentElement should be able to use query.
1919 https://bugs.webkit.org/show_bug.cgi?id=75302
1921 Reviewed by Hajime Morita.
1923 This patch introduces a selector to query elements in ShadowContentElement.
1924 This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
1926 Tests: fast/dom/shadow/shadow-contents-select-expected.html
1927 fast/dom/shadow/shadow-contents-select.html
1930 * GNUmakefile.list.am:
1934 * WebCore.vcproj/WebCore.vcproj:
1935 * WebCore.xcodeproj/project.pbxproj:
1936 * dom/DOMAllInOne.cpp:
1937 * dom/SelectorQuery.cpp:
1938 (WebCore::SelectorDataList::SelectorDataList):
1939 Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
1940 (WebCore::SelectorDataList::initialize):
1941 (WebCore::SelectorDataList::matches):
1942 (WebCore::SelectorDataList::queryAll):
1943 (WebCore::SelectorDataList::queryFirst):
1944 (WebCore::SelectorDataList::canUseIdLookup):
1945 (WebCore::SelectorDataList::execute):
1946 (WebCore::SelectorQuery::SelectorQuery):
1947 (WebCore::SelectorQuery::queryAll):
1948 (WebCore::SelectorQuery::queryFirst):
1949 * dom/SelectorQuery.h:
1950 (WebCore::SelectorDataList::size):
1951 * dom/ShadowContentElement.cpp:
1952 (WebCore::selectAttr):
1953 (WebCore::ShadowContentElement::create):
1954 (WebCore::ShadowContentElement::ShadowContentElement):
1955 (WebCore::ShadowContentElement::select):
1956 * dom/ShadowContentElement.h:
1957 * dom/ShadowContentSelectorQuery.cpp: Added.
1958 (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
1959 (WebCore::ShadowContentSelectorQuery::matches):
1960 Returns true if Node is matched by the query.
1961 * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
1962 * dom/ShadowInclusionSelector.cpp:
1963 (WebCore::ShadowInclusionSelector::select):
1964 * dom/ShadowInclusionSelector.h:
1965 * html/HTMLDetailsElement.cpp:
1966 (WebCore::summaryQuerySelector):
1967 (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
1968 (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
1969 * html/HTMLSummaryElement.cpp:
1970 (WebCore::SummaryContentElement::SummaryContentElement):
1971 * testing/Internals.cpp:
1972 (WebCore::Internals::createShadowContentElement):
1973 * testing/Internals.h:
1974 * testing/Internals.idl:
1976 2012-01-11 Vsevolod Vlasov <vsevik@chromium.org>
1978 Make default console messages line numbers consistent.
1979 https://bugs.webkit.org/show_bug.cgi?id=74075
1981 Reviewed by Pavel Feldman.
1983 Added default values for Console::addMessage sourceURL, lineNumber and
1984 callStack parameters, moved lineNumber after sourceURL.
1985 Made virtual method ScriptExecutionContext::addMessage private
1986 Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
1987 callStack parameters, moved lineNumber after sourceURL.
1988 Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
1989 Reordered sourceURL and lineNumber parameters in inspector methods.
1990 Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
1991 Unset line numbers are not printed to console in QT now.
1993 * bindings/js/JSCustomXPathNSResolver.cpp:
1994 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1995 * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1996 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1998 (WebCore::Document::logExceptionToConsole):
1999 (WebCore::Document::addMessage):
2001 * dom/ScriptExecutionContext.cpp:
2002 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
2003 (WebCore::ScriptExecutionContext::reportException):
2004 (WebCore::ScriptExecutionContext::addConsoleMessage):
2005 * dom/ScriptExecutionContext.h:
2007 (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
2008 * dom/ViewportArguments.cpp:
2009 (WebCore::reportViewportWarning):
2010 * html/HTMLFormElement.cpp:
2011 (WebCore::HTMLFormElement::validateInteractively):
2012 * html/canvas/WebGLRenderingContext.cpp:
2013 (WebCore::WebGLRenderingContext::printWarningToConsole):
2014 * inspector/ConsoleMessage.cpp:
2015 (WebCore::ConsoleMessage::ConsoleMessage):
2016 * inspector/ConsoleMessage.h:
2017 * inspector/InspectorConsoleAgent.cpp:
2018 (WebCore::InspectorConsoleAgent::enable):
2019 (WebCore::InspectorConsoleAgent::addMessageToConsole):
2020 (WebCore::InspectorConsoleAgent::stopTiming):
2021 (WebCore::InspectorConsoleAgent::count):
2022 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2023 * inspector/InspectorConsoleAgent.h:
2024 * inspector/InspectorConsoleInstrumentation.h:
2025 (WebCore::InspectorInstrumentation::addMessageToConsole):
2026 * inspector/InspectorInstrumentation.cpp:
2027 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2028 * inspector/InspectorInstrumentation.h:
2029 * inspector/InspectorProfilerAgent.cpp:
2030 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
2031 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2032 * loader/FrameLoader.cpp:
2033 (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2034 (WebCore::FrameLoader::checkIfRunInsecureContent):
2035 (WebCore::FrameLoader::reportLocalLoadFailed):
2036 (WebCore::FrameLoader::shouldAllowNavigation):
2037 * loader/MainResourceLoader.cpp:
2038 (WebCore::MainResourceLoader::didReceiveResponse):
2039 * loader/appcache/ApplicationCacheGroup.cpp:
2040 (WebCore::ApplicationCacheGroup::didReceiveResponse):
2041 (WebCore::ApplicationCacheGroup::didFinishLoading):
2042 (WebCore::ApplicationCacheGroup::didFail):
2043 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2044 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2045 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2046 * loader/cache/CachedResourceLoader.cpp:
2047 (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2049 (WebCore::Console::addMessage):
2050 (WebCore::Console::groupEnd):
2052 * page/DOMWindow.cpp:
2053 (WebCore::DOMWindow::postMessageTimerFired):
2054 (WebCore::DOMWindow::printErrorMessage):
2055 * storage/AbstractDatabase.cpp:
2056 (WebCore::AbstractDatabase::logErrorMessage):
2057 * svg/SVGDocumentExtensions.cpp:
2058 (WebCore::reportMessage):
2059 * websockets/WebSocket.cpp:
2060 (WebCore::WebSocket::connect):
2061 * websockets/WebSocketChannel.cpp:
2062 (WebCore::WebSocketChannel::fail):
2063 (WebCore::WebSocketChannel::didFailSocketStream):
2064 * workers/DefaultSharedWorkerRepository.cpp:
2065 (WebCore::postConsoleMessageTask):
2066 (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
2067 * workers/SharedWorkerContext.cpp:
2068 (WebCore::SharedWorkerContext::logExceptionToConsole):
2069 * workers/SharedWorkerContext.h:
2070 * workers/WorkerContext.cpp:
2071 (WebCore::WorkerContext::logExceptionToConsole):
2072 (WebCore::WorkerContext::addMessage):
2073 (WebCore::WorkerContext::addMessageToWorkerConsole):
2074 * workers/WorkerContext.h:
2075 * workers/WorkerMessagingProxy.cpp:
2076 (WebCore::postConsoleMessageTask):
2077 * xml/XSLTProcessorLibxslt.cpp:
2078 (WebCore::XSLTProcessor::parseErrorFunc):
2079 * xml/XSLTProcessorQt.cpp:
2080 (WebCore::XSLTMessageHandler::handleMessage):
2082 2012-01-12 Mihnea Ovidenie <mihnea@adobe.com>
2084 Add RenderStyle::isPositioned() helper method
2085 https://bugs.webkit.org/show_bug.cgi?id=75959
2087 Reviewed by Tony Chang.
2089 No new tests since this is refactoring of existing code.
2090 Replace (style()->position() == AbsolutePosition || style()->position() == FixedPosition)
2091 with (style()->isPositioned()).
2092 Replace (style()->position() != AbsolutePosition && style()->position() != FixedPosition)
2093 with (!style()->isPositioned()).
2095 * rendering/RenderBox.cpp:
2096 (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2097 (WebCore::RenderBox::offsetFromContainer):
2098 * rendering/RenderBoxModelObject.cpp:
2099 (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2100 * rendering/RenderInline.cpp:
2101 (WebCore::RenderInline::computeRectForRepaint):
2102 * rendering/RenderObject.cpp:
2103 (WebCore::RenderObject::markContainingBlocksForLayout):
2104 (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
2105 (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
2106 * rendering/style/RenderStyle.h:
2107 (WebCore::RenderStyleBitfields::isPositioned):
2109 2012-01-11 KwangHyuk Kim <hyuki.kim@samsung.com>
2111 [EFL] Rename parameter and variable name 'r' to 'rect' in IntRectEfl.cpp.
2112 https://bugs.webkit.org/show_bug.cgi?id=76140
2114 Reviewed by Andreas Kling.
2116 No new tests : Just for change of parameter and variable name.
2118 * platform/graphics/efl/IntRectEfl.cpp:
2119 (WebCore::IntRect::IntRect):
2120 (WebCore::IntRect::operator Eina_Rectangle):
2122 2012-01-11 Shinya Kawanaka <shinyak@google.com>
2124 QuerySelector should not have side effect.
2125 https://bugs.webkit.org/show_bug.cgi?id=75298
2127 Reviewed by Antti Koivisto.
2129 Since SelectorChecker is not collecting-rules-only mode, it may set some flags in render styles
2130 if some pseudo types (e.g. first-of-type) are used.
2132 No new tests. Covered by existing tests.
2134 * dom/SelectorQuery.cpp:
2135 (WebCore::SelectorQuery::SelectorQuery):
2136 Made collecting rules only.
2138 2012-01-11 Dan Bernstein <mitz@apple.com>
2140 <rdar://problem/10679035> Implement font-variant-ligatures: {no-}common-ligatures
2141 https://bugs.webkit.org/show_bug.cgi?id=76103
2143 Reviewed by Sam Weinig.
2145 Tests: fast/css/parsing-font-variant-ligatures.html
2146 fast/text/font-variant-ligatures-expected.html
2147 fast/text/font-variant-ligatures.html
2149 Added support for all font-variant-ligatures values in the style system and in
2150 FontDescription, and made the {no-}common-ligatures value keywords control basic ligatures.
2151 The {no-}{discretionary,historical}-ligatures keywords have no effect on rendering at this
2154 font-variant-ligatures was not made part of the font shorthand property.
2156 * css/CSSComputedStyleDeclaration.cpp:
2157 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
2158 font-variant-ligatures.
2159 * css/CSSParser.cpp:
2160 (WebCore::CSSParser::parseValue): Added code to handle font-variant-ligatures.
2161 (WebCore::CSSParser::parseFontVariantLigatures): Added. Parses font-variant-ligatures.
2163 * css/CSSProperty.cpp:
2164 (WebCore::CSSProperty::isInheritedProperty): Added font-variant-ligatures to the set of
2165 inherited properties.
2166 * css/CSSPropertyNames.in: Added -webkit-font-variant-ligatures.
2167 * css/CSSStyleApplyProperty.cpp:
2168 (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Added. Copies
2169 {common,discretionary,historical}LigaturesState from the parent style font description.
2170 (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Added. Sets
2171 {common,discretionary,historical}LigaturesState to normal.
2172 (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Added.
2173 (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Added.
2174 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for
2175 font-variant-ligatures.
2176 * css/CSSStyleSelector.cpp:
2177 (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
2179 (WebCore::CSSStyleSelector::applyProperty): Added CSSPropertyWebkitFontVariantLigatures to
2180 the switch statement, which needs to list all values in SVG-disabled builds.
2181 * css/CSSValueKeywords.in: Added the value keywords
2182 {no-}{common,discretionary,historical}-ligatures.
2183 * platform/graphics/Font.h:
2184 (WebCore::Font::typesettingFeatures): Changed to enable ligatures if common ligatures are
2185 enabled in the font description, disable them if they are disabled, and leave them to the
2186 default (determined by the text-rendering property) if they are in the normal state.
2187 * platform/graphics/FontDescription.h:
2188 (WebCore::FontDescription::FontDescription): Added initializers.
2189 (WebCore::FontDescription::commonLigaturesState): Added this accessor.
2190 (WebCore::FontDescription::discretionaryLigaturesState): Ditto.
2191 (WebCore::FontDescription::historicalLigaturesState): Ditto.
2192 (WebCore::FontDescription::setCommonLigaturesState): Ditto.
2193 (WebCore::FontDescription::setDiscretionaryLigaturesState): Ditto.
2194 (WebCore::FontDescription::setHistoricalLigaturesState): Ditto.
2195 (WebCore::FontDescription::operator==): Updated to compare the ligatures state members.
2197 2012-01-11 Adrienne Walker <enne@google.com>
2199 Repaint all graphics layers when their renderer offset changes
2200 https://bugs.webkit.org/show_bug.cgi?id=75730
2202 Reviewed by Simon Fraser.
2204 In RenderLayerBacking, only the main graphics layer gets repainted
2205 when the offset changes. If the offset on other graphics layers (e.g.
2206 the foreground layer) changes, they should get repainted as well.
2208 Test: compositing/geometry/foreground-offset-change.html
2210 * platform/graphics/GraphicsLayer.cpp:
2211 (WebCore::GraphicsLayer::setOffsetFromRenderer):
2212 (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2213 * platform/graphics/GraphicsLayer.h:
2214 * rendering/RenderLayerBacking.cpp:
2215 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2216 (WebCore::RenderLayerBacking::paintContents):
2218 2012-01-11 Scott Violet <sky@google.com>
2220 [chromium] TiledLayerChromium drops invalidates that occur during
2221 LayerTextureUpdater::prepareToUpdate
2222 https://bugs.webkit.org/show_bug.cgi?id=76067
2224 Reviewed by James Robinson.
2226 Test coverage in TiledLayerChromiumTest.
2228 * platform/graphics/chromium/TiledLayerChromium.cpp:
2229 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2231 2012-01-11 Kentaro Hara <haraken@chromium.org>
2233 [JSC] Remove redundant arguments from [Supplemental] custom methods
2234 https://bugs.webkit.org/show_bug.cgi?id=76127
2236 Reviewed by Adam Barth.
2238 Since in JSC a callback of custom methods is non-static, we do not need
2239 to pass a pointer of an implementation object.
2241 Before (JSTestInterface.cpp):
2242 JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
2244 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
2245 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
2246 return castedThis->supplementalStr3(impl, exec);
2249 After (JSTestInterface.cpp):
2250 JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
2252 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
2253 return castedThis->supplementalStr3(exec); // JSTestInterface knows 'impl'.
2256 Tests: bindings/scripts/test/TestInterface.idl
2257 http/tests/websocket/tests/*
2260 * bindings/scripts/CodeGeneratorJS.pm:
2261 (GenerateHeader): Previously when we specify [CustomGetter, CustomSetter], the header for
2262 the custom setter was not generated. This patch fixes the bug.
2263 (GenerateImplementation):
2265 * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed redundant DOMWindow* from webkitAudioContext().
2266 (WebCore::JSDOMWindow::webkitAudioContext):
2267 * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed redundant DOMWindow* from webSocket().
2268 (WebCore::JSDOMWindow::webSocket):
2270 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
2271 (WebCore::jsTestInterfaceSupplementalStr3):
2272 (WebCore::setJSTestInterfaceSupplementalStr3):
2273 * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2275 2012-01-11 Adam Barth <abarth@webkit.org>
2277 iframe sandbox doesn't block autofocus (IETC automatic-feature-block-autofocus-form-control)
2278 https://bugs.webkit.org/show_bug.cgi?id=76120
2280 Reviewed by Eric Seidel.
2282 Test: fast/forms/no-autofocus-in-sandbox.html
2284 * html/HTMLFormControlElement.cpp:
2285 (WebCore::shouldAutofocus):
2286 - The HTML5 spec says that we shouldn't autofocus elements when the
2287 automatic features are sandboxed.
2289 2012-01-11 Beth Dakin <bdakin@apple.com>
2291 https://bugs.webkit.org/show_bug.cgi?id=75904
2292 WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all
2295 <rdar://problem/10498816>
2297 Reviewed by Darin Adler.
2299 This patch gets rid of the optional parameter called onlyUpdateScrollbars for
2300 mouseMoved() and instead moves that functionality into its own function
2301 called passMouseMovedEventToScrollbars().
2303 * page/EventHandler.cpp:
2304 (WebCore::EventHandler::mouseMoved):
2305 (WebCore::EventHandler::passMouseMovedEventToScrollbars):
2306 * page/EventHandler.h:
2307 * page/mac/EventHandlerMac.mm:
2308 (WebCore::EventHandler::passMouseMovedEventToScrollbars):
2310 2012-01-11 Joshua Bell <jsbell@chromium.org>
2312 IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted
2313 https://bugs.webkit.org/show_bug.cgi?id=76108
2315 Updated IDBDatabaseException error codes to match spec (the pre-DOM4 version),
2316 including updated description strings, and changed relevant store and index
2317 methods to raise the expected exception type now that it is detailed in the spec.
2319 Reviewed by Tony Chang.
2321 Tests: storage/indexeddb/transaction-basics.html
2323 * storage/IDBCursorBackendImpl.cpp:
2324 (WebCore::IDBCursorBackendImpl::continueFunction):
2325 (WebCore::IDBCursorBackendImpl::prefetchContinue):
2326 * storage/IDBDatabaseException.cpp:
2327 * storage/IDBDatabaseException.h:
2328 * storage/IDBDatabaseException.idl:
2329 * storage/IDBIndexBackendImpl.cpp:
2330 (WebCore::IDBIndexBackendImpl::openCursor):
2331 (WebCore::IDBIndexBackendImpl::openKeyCursor):
2332 (WebCore::IDBIndexBackendImpl::count):
2333 (WebCore::IDBIndexBackendImpl::get):
2334 (WebCore::IDBIndexBackendImpl::getKey):
2335 * storage/IDBObjectStoreBackendImpl.cpp:
2336 (WebCore::IDBObjectStoreBackendImpl::get):
2337 (WebCore::IDBObjectStoreBackendImpl::put):
2338 (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
2339 (WebCore::IDBObjectStoreBackendImpl::clear):
2340 (WebCore::IDBObjectStoreBackendImpl::createIndex):
2341 (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
2342 (WebCore::IDBObjectStoreBackendImpl::openCursor):
2343 (WebCore::IDBObjectStoreBackendImpl::count):
2345 2012-01-11 Kentaro Hara <haraken@chromium.org>
2347 Implement the [Supplemental] IDL for custom methods
2348 https://bugs.webkit.org/show_bug.cgi?id=76036
2350 Reviewed by Adam Barth.
2352 We have implemented the [Supplemental] IDL for non-custom methods in bug 75944.
2353 This patch implements it for custom methods. This patch modifies only CodeGeneratorV8.pm,
2354 since CodeGeneratorJS.pm requires no change and other code generators
2355 do not support custom methods.
2357 Test: bindings/scripts/test/TestSupplemental.idl
2359 * bindings/scripts/CodeGeneratorV8.pm:
2362 * bindings/scripts/test/TestSupplemental.idl: Added a custom method with the [Supplemental] IDL.
2364 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
2365 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
2366 * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2367 * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
2368 * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
2369 (-[DOMTestInterface supplementalMethod3]):
2370 * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
2372 2011-12-21 Shaw Andy <andy.shaw@digia.com>
2374 Fix build issue on Windows when Qt is configured with -ltcg
2375 https://bugs.webkit.org/show_bug.cgi?id=75003
2377 Rubber-stamped by Simon Hausmann.
2381 2012-01-09 Avi Drissman <avi@chromium.org>
2383 https://bugs.webkit.org/show_bug.cgi?id=75860
2384 [Chromium Mac] no background is drawn for input elements
2386 Reviewed by Eric Seidel.
2388 Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
2389 API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
2391 * rendering/RenderThemeChromiumMac.h:
2392 * rendering/RenderThemeChromiumMac.mm:
2393 (WebCore::RenderThemeChromiumMac::paintTextField):
2395 2012-01-11 Adam Barth <abarth@webkit.org>
2397 iframe sandbox doesn't block videos from autoplaying (IETC automatic-feature-block-autoplay-video)
2398 https://bugs.webkit.org/show_bug.cgi?id=76111
2400 Reviewed by Eric Seidel.
2402 Test: media/no-auto-play-in-sandbox.html
2404 * dom/SecurityContext.h:
2405 - Add a flag for sandboxing automatic features, per the HTML5 spec.
2406 * html/HTMLMediaElement.cpp:
2407 (WebCore::HTMLMediaElement::setReadyState):
2408 - Implement requirement in the HTML5 spec to not autoplay media
2409 when automatic features are sandboxed.
2411 2012-01-11 Nate Chapin <japhet@chromium.org>
2413 SubresourceLoader cleanup post r100311.
2414 1. Simplify matching incrementRequestCount()/decrementRequestCount() calls.
2415 2. Remove CachedImage custom code from SubresourceLoader.
2416 3. Add a bunch of ASSERTs.
2417 4. Remove the multipart-only call to didReceiveData() from didReceiveResponse(),
2418 since didReceiveData() would get called immediately after anyway.
2419 https://bugs.webkit.org/show_bug.cgi?id=75887
2421 Reviewed by Adam Barth.
2423 No new tests, refactor only.
2425 * loader/SubresourceLoader.cpp:
2426 (WebCore::SubresourceLoader::didReceiveResponse): Remove multipart special case, handle it in didReceiveData().
2427 (WebCore::SubresourceLoader::didReceiveData): Handle multipart state here, since we will receive only one
2428 didReceiveData() call per multipart segment, but no didFinishLoading() call.
2429 * loader/SubresourceLoader.h: Add a RequestCountTracker subclass to reduce complexity of ensuring we don't
2430 decrement request count twice on CachedResourceLoader.
2431 * loader/cache/CachedImage.cpp:
2432 (WebCore::CachedImage::setResponse): Move CachedImage::clear() call out of SubresourceLoader, since it's
2433 kind of a layering violation as is.
2434 * loader/cache/CachedImage.h:
2435 * loader/cache/CachedResource.cpp:
2437 2012-01-11 Joshua Bell <jsbell@chromium.org>
2439 IndexedDB: Version change transaction should abort if constraints fail during createIndex
2440 https://bugs.webkit.org/show_bug.cgi?id=76094
2442 Reviewed by Tony Chang.
2444 Test: storage/indexeddb/index-population.html
2446 * storage/IDBIndexBackendImpl.cpp:
2447 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
2448 * storage/IDBIndexBackendImpl.h:
2449 * storage/IDBLevelDBBackingStore.cpp:
2450 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
2451 * storage/IDBObjectStoreBackendImpl.cpp:
2453 2012-01-11 Greg Billock <gbillock@google.com>
2455 Switch web intents to use supplemental IDL for DOMWindow
2456 https://bugs.webkit.org/show_bug.cgi?id=76092
2458 Reviewed by Adam Barth.
2460 * Modules/intents/DOMWindowIntents.idl: Added.
2462 * page/DOMWindow.idl:
2464 2012-01-11 Kent Tamura <tkent@chromium.org>
2466 Rename HTMLInputElement::setDefaultName to setInitialName.
2467 https://bugs.webkit.org/show_bug.cgi?id=76039
2469 Reviewed by Darin Adler.
2471 Rename setDefaultName to setInitialName, make it protected, and add two
2474 This change should not change any behavior.
2476 Test: fast/forms/isindex-name.html
2478 * html/HTMLInputElement.cpp:
2479 (WebCore::HTMLInputElement::setInitialName):
2480 - Renamed from setDefaultName.
2482 * html/HTMLInputElement.h:
2483 Rename setDefaultName to setInitialName, and move it to protected.
2484 * html/HTMLIsIndexElement.cpp:
2485 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2486 Update a setDefaultName callsite.
2487 (WebCore::HTMLIsIndexElement::parseMappedAttribute):
2490 2012-01-11 Adam Treat <atreat@rim.com>
2492 https://bugs.webkit.org/show_bug.cgi?id=76088
2493 The common case of content type = text/plain is not optimized and the plugin database is initialized instead
2495 In the dom/DOMImplementation.cpp file you can find the comment that text/plain is
2496 optimized so that the plugin database is not loaded. Unfortunately, this has been
2497 regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which
2498 refactored a bunch of the plugin code. Now, the plugin database is initialized
2499 before we handle text/plain. This line in DOMImplementation.cpp triggers
2500 the plugin initialization:
2502 pluginData = frame->page()->pluginData();
2504 The case of image types != PDF and the case of HTML5 video content type are also
2505 not optimized to be handled before plugin initialization.
2507 The solution is to refactor so all of these content types are handled before
2508 we initialize the plugin database.
2510 Reviewed by Adam Treat.
2512 * dom/DOMImplementation.cpp:
2513 (WebCore::DOMImplementation::createDocument):
2515 2012-01-11 Alexandre Elias <aelias@google.com>
2517 [chromium] Make Skia canvas opaque for root layer tiles
2518 https://bugs.webkit.org/show_bug.cgi?id=75939
2520 Reviewed by James Robinson.
2522 Skia has extra optimizations if a bitmap has the "opaque" flag -- in
2523 particular, it doesn't do an unnecessary memset at creation time.
2524 Pass down the LayerChromium's opaque flag to Skia.
2526 * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2527 (WebCore::BitmapCanvasLayerTextureUpdater::setIsNonCompositedContent):
2528 * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
2529 * platform/graphics/chromium/ContentLayerChromium.cpp:
2530 (WebCore::ContentLayerChromium::createTextureUpdater):
2531 * platform/graphics/chromium/LayerTextureUpdater.h:
2532 (WebCore::LayerTextureUpdater::setIsNonCompositedContent):
2533 * platform/graphics/chromium/PlatformCanvas.cpp:
2534 (WebCore::PlatformCanvas::PlatformCanvas):
2535 (WebCore::PlatformCanvas::resize):
2536 * platform/graphics/chromium/PlatformCanvas.h:
2537 (WebCore::PlatformCanvas::setOpaque):
2538 (WebCore::PlatformCanvas::opaque):
2539 * platform/graphics/chromium/TiledLayerChromium.cpp:
2540 (WebCore::TiledLayerChromium::setIsNonCompositedContent):
2542 2012-01-11 Greg Billock <gbillock@google.com>
2544 [Coverity] Address some uninit constructor issues in WebCore/dom
2545 https://bugs.webkit.org/show_bug.cgi?id=74977
2547 Reviewed by Ryosuke Niwa.
2549 * css/SelectorChecker.h:
2550 (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
2551 * dom/DeviceMotionData.cpp:
2552 (WebCore::DeviceMotionData::DeviceMotionData):
2553 * dom/DeviceOrientation.cpp:
2554 (WebCore::DeviceOrientation::DeviceOrientation):
2556 2012-01-11 Kenneth Russell <kbr@google.com>
2558 [chromium] Color profiles are incorrect for images without premultiplied alpha
2559 https://bugs.webkit.org/show_bug.cgi?id=75999
2561 Reviewed by Stephen White.
2563 Don't apply the color profile if the user has requested separate alpha.
2565 Test: fast/canvas/webgl/texture-color-profile.html
2567 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2568 (WebCore::ImageFrame::setStatus):
2570 2012-01-11 No'am Rosenthal <noam.rosenthal@nokia.com>
2572 [Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.
2573 https://bugs.webkit.org/show_bug.cgi?id=75910
2575 Reviewed by Simon Hausmann.
2577 Handle the mask surface correctly when drawing in two passes. Also, improve the readability
2578 of the code that decides whether to draw in two passes.
2580 LayoutTests/compositing/masks/masked-ancestor.html tests this.
2582 * platform/graphics/texmap/TextureMapperNode.cpp:
2583 (WebCore::TextureMapperNode::computeAllTransforms):
2584 (WebCore::TextureMapperNode::hasMoreThanOneTile):
2585 (WebCore::TextureMapperNode::paintRecursive):
2586 * platform/graphics/texmap/TextureMapperNode.h:
2588 2012-01-11 Dmitry Titov <dimich@chromium.org>
2590 Add new CSS enum value to a switch() in CSSStyleSelector::applyProperty() to fix compile error.
2591 https://bugs.webkit.org/show_bug.cgi?id=76081
2593 Reviewed by David Levin.
2595 * css/CSSStyleSelector.cpp:
2596 (WebCore::CSSStyleSelector::applyProperty):
2598 2012-01-11 Alexey Proskuryakov <ap@apple.com>
2600 Reviewed by Darin Adler. Prepared by Sheriff Bot. Rolling out r94902.
2601 http://trac.webkit.org/changeset/94902
2602 https://bugs.webkit.org/show_bug.cgi?id=75905
2604 Disagrees with general direction for WebKit, and makes
2605 refactoring harder (Requested by ap on #webkit).
2607 * loader/DocumentWriter.cpp:
2608 (WebCore::DocumentWriter::deprecatedFrameEncoding):
2609 * loader/DocumentWriter.h:
2610 * loader/FrameLoader.cpp:
2611 (WebCore::FrameLoader::addExtraFieldsToRequest):
2612 * platform/network/ResourceRequestBase.cpp:
2613 (WebCore::ResourceRequestBase::adopt):
2614 (WebCore::ResourceRequestBase::copyData):
2615 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2616 * platform/network/ResourceRequestBase.h:
2618 2012-01-11 Eli Fidler <efidler@rim.com>
2620 Fix OpenGL dependency in CMake build system
2621 https://bugs.webkit.org/show_bug.cgi?id=73559
2623 Reviewed by Daniel Bates.
2626 * PlatformEfl.cmake:
2628 2012-01-11 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2630 Use HashMap<OwnPtr> for RenderBoxRegionInfo map in RenderRegion
2631 https://bugs.webkit.org/show_bug.cgi?id=75348
2633 Reviewed by Darin Adler.
2635 * rendering/RenderFlowThread.cpp:
2636 (WebCore::RenderFlowThread::logicalWidthChangedInRegions): use OwnPtr.
2637 * rendering/RenderRegion.cpp:
2638 (WebCore::RenderRegion::setRenderBoxRegionInfo): use HashMap::add() instead of
2639 get() potentially followed by set().
2640 (WebCore::RenderRegion::takeRenderBoxRegionInfo): change to return PassOwnPtr.
2641 (WebCore::RenderRegion::removeRenderBoxRegionInfo):
2642 (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
2643 * rendering/RenderRegion.h:
2645 2012-01-11 Joel Webber <jgw@google.com>
2647 Implement setCurrentTime() and pauseAnimations() on SVGSVGElement
2648 https://bugs.webkit.org/show_bug.cgi?id=12073
2650 Reviewed by Nikolas Zimmermann.
2652 Adds the ability to reset an SVGSMILElement internally. SVGSMILElements are no longer removed
2653 from their containers when they become inactive, because they sometimes have to be reactivated
2654 when the container's current time is changed.
2656 Test: svg/animations/animate-setcurrenttime.html
2658 * svg/SVGSVGElement.cpp:
2659 (WebCore::SVGSVGElement::setCurrentTime):
2660 * svg/animation/SMILTimeContainer.cpp:
2661 (WebCore::SMILTimeContainer::SMILTimeContainer):
2662 (WebCore::SMILTimeContainer::begin):
2663 (WebCore::SMILTimeContainer::pause):
2664 (WebCore::SMILTimeContainer::setElapsed):
2665 (WebCore::SMILTimeContainer::updateAnimations):
2666 * svg/animation/SMILTimeContainer.h:
2667 * svg/animation/SVGSMILElement.cpp:
2668 (WebCore::SVGSMILElement::reset):
2669 * svg/animation/SVGSMILElement.h:
2671 2012-01-11 Peter Rybin <peter.rybin@gmail.com>
2673 Web Inspector: CodeGeneratorInspector.py: fix codestyle of generated enums
2674 https://bugs.webkit.org/show_bug.cgi?id=76062
2676 Reviewed by Yury Semikhatsky.
2678 This only changes how constants are named in generated .h file.
2680 * inspector/CodeGeneratorInspector.py:
2682 2012-01-11 Pavel Feldman <pfeldman@google.com>
2684 Web Inspector: "undefined" instead of error message in the SourceFrame.
2685 https://bugs.webkit.org/show_bug.cgi?id=76060
2687 Reviewed by Yury Semikhatsky.
2689 * inspector/front-end/ConsoleMessage.js:
2690 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2691 (WebInspector.ConsoleMessageImpl.prototype.get message):
2693 2012-01-11 Pavel Feldman <pfeldman@google.com>
2695 Web Inspector: make setOuterHTML use new DOMEditor, cover it with tests.
2696 https://bugs.webkit.org/show_bug.cgi?id=76056
2698 Reviewed by Yury Semikhatsky.
2700 Test: inspector/elements/set-outer-html.html
2702 * inspector/DOMEditor.cpp:
2703 (WebCore::DOMEditor::Digest::Digest):
2704 (WebCore::DOMEditor::patchDocument):
2705 (WebCore::DOMEditor::patchNode):
2706 (WebCore::DOMEditor::innerPatchHTMLElement):
2707 (WebCore::DOMEditor::innerPatchNode):
2708 (WebCore::DOMEditor::diff):
2709 (WebCore::DOMEditor::innerPatchChildren):
2710 (WebCore::DOMEditor::createDigest):
2711 * inspector/DOMEditor.h:
2712 * inspector/Inspector-0.1.json:
2713 * inspector/Inspector.json:
2714 * inspector/InspectorDOMAgent.cpp:
2715 (WebCore::InspectorDOMAgent::setOuterHTML):
2716 * inspector/InspectorDOMAgent.h:
2717 * inspector/front-end/DOMAgent.js:
2718 (WebInspector.DOMNode):
2719 (WebInspector.DOMNode.prototype._renumber):
2720 * inspector/front-end/ElementsTreeOutline.js:
2723 2012-01-10 Alexander Pavlov <apavlov@chromium.org>
2725 Web Inspector: introduce "source" column in the CSS profiler.
2726 https://bugs.webkit.org/show_bug.cgi?id=75378
2728 Reviewed by Pavel Feldman.
2730 Rules are no longer merged by their selectors but are shown one per profile entry, with a link to
2731 their selector in the source whenever the latter is available.
2733 * inspector/Inspector.json:
2734 * inspector/InspectorCSSAgent.cpp:
2735 (WebCore::RuleMatchingStats::RuleMatchingStats):
2736 (WebCore::SelectorProfile::makeKey):
2737 (WebCore::SelectorProfile::startSelector):
2738 (WebCore::SelectorProfile::commitSelector):
2739 (WebCore::SelectorProfile::commitSelectorTime):
2740 (WebCore::SelectorProfile::toInspectorObject):
2741 (WebCore::InspectorCSSAgent::willMatchRule):
2742 (WebCore::InspectorCSSAgent::willProcessRule):
2743 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2744 * inspector/InspectorStyleSheet.cpp:
2745 (WebCore::InspectorStyleSheet::styleSheetURL):
2746 (WebCore::InspectorStyleSheet::finalURL):
2747 (WebCore::InspectorStyleSheet::setRuleSelector):
2748 * inspector/InspectorStyleSheet.h:
2749 * inspector/front-end/CSSSelectorProfileView.js:
2750 (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
2751 (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
2752 (WebInspector.CSSSelectorProfileView):
2753 (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
2754 (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
2755 (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
2756 * inspector/front-end/ProfilesPanel.js:
2757 (WebInspector.ProfilesPanel.prototype.sidebarResized):
2758 * inspector/front-end/dataGrid.css:
2759 (.data-grid:focus tr.selected a):
2761 2012-01-11 Peter Rybin <peter.rybin@gmail.com>
2763 Web Inspector: CodeGeneratorInspector.py: generate enum types.
2764 https://bugs.webkit.org/show_bug.cgi?id=74954
2766 Reviewed by Yury Semikhatsky.
2768 Internal map of string contants is created. C enums are created for
2771 * inspector/CodeGeneratorInspector.py:
2772 (EnumConstants.add_constant):
2774 (EnumConstants.get_enum_constant_code):
2775 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2776 (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
2777 (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
2778 (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
2779 (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
2780 (get_in_c_type_text):
2781 (get_setter_value_expression_pattern):
2782 (PlainObjectBinding.get_in_c_type_text):
2783 (PlainObjectBinding.get_setter_value_expression_pattern):
2784 (RawTypesBinding.get_in_c_type_text):
2785 (RawTypesBinding.get_setter_value_expression_pattern):
2786 (get_annotated_type_text):
2787 (MethodGenerateModes.get_modes):
2788 (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
2789 (MethodGenerateModes.StrictParameterMode):
2790 (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
2791 (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
2792 (MethodGenerateModes.RawParameterMode):
2793 (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
2794 (MethodGenerateModes.CombinedMode.get_c_param_type_text):
2795 (MethodGenerateModes):
2796 (MethodGenerateModes.CombinedMode):
2797 (MethodGenerateModes.CombinedMode.get_setter_value_expression):
2799 2012-01-11 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2801 Avoid separate heap allocation for each RenderRegionRange in RenderFlowThread
2802 https://bugs.webkit.org/show_bug.cgi?id=75908
2804 Reviewed by Darin Adler.
2806 There's no benefit in explicit allocating RenderRegionRange in the heap. So this
2807 patch changes the RenderRegionRangeMap to use the value type directly instead of
2810 * rendering/RenderFlowThread.cpp:
2811 (WebCore::RenderFlowThread::removeRegionFromThread):
2812 (WebCore::RenderFlowThread::layout):
2813 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2814 (WebCore::RenderFlowThread::setRegionRangeForBox):
2815 (WebCore::RenderFlowThread::getRegionRangeForBox):
2816 * rendering/RenderFlowThread.h: add default constructor to act as emptyValue()
2819 2012-01-09 Alexandru Chiculita <achicu@adobe.com>
2821 [CSS Shaders] Move CustomFilterOperation to the platform layer
2822 https://bugs.webkit.org/show_bug.cgi?id=74652
2824 Reviewed by Chris Marrin.
2826 FilterOperations are now part of the platform code and cannot reference style classes directly, but
2827 CustomFilterOperation requires to link to the CachedShader for the vertex and the fragment shader.
2829 The fix is to introduce another object that will actually keep a link to the cached resources, so in this patch
2830 I'm adding a new class called CustomFilterProgram that will sit in the
2831 platform/graphics/filters directory and will be referenced from CustomFilterOperation.
2833 CustomFilterProgram is the base class of StyleCustomFilterProgram that is created from
2834 CSSStyleSelector when a new CustomFilterOperation is created. StyleCustomFilterProgram is responsible
2835 with loading and keeping references to the StyleCachedShaders and the CachedShaders.
2837 More patches will follow with optimizations about reusing 3D graphics contexts and compiled shaders.
2839 Tests: css3/filters/custom-filter-shader-cache.html
2840 css3/filters/missing-custom-filter-shader.html
2843 * GNUmakefile.list.am:
2846 * WebCore.vcproj/WebCore.vcproj:
2847 * WebCore.xcodeproj/project.pbxproj:
2848 * css/CSSComputedStyleDeclaration.cpp:
2849 (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2850 * css/CSSStyleSelector.cpp:
2851 (WebCore::CSSStyleSelector::loadPendingShaders):
2852 (WebCore::CSSStyleSelector::createCustomFilterOperation):
2853 Updated to use the StyleCustomFilterProgram instead of the CustomFilterOperation.
2855 * platform/graphics/filters/CustomFilterOperation.h: Renamed from Source/WebCore/rendering/style/CustomFilterOperation.h.
2856 (WebCore::CustomFilterOperation::create):
2857 Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
2859 (WebCore::CustomFilterOperation::program): Returns the CustomFilterProgram.
2861 (WebCore::CustomFilterOperation::CustomFilterOperation):
2862 Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
2864 * platform/graphics/filters/CustomFilterProgram.cpp: Added.
2865 (WebCore::CustomFilterProgram::CustomFilterProgram):
2866 (WebCore::CustomFilterProgram::~CustomFilterProgram):
2867 (WebCore::CustomFilterProgram::addClient):
2868 (WebCore::CustomFilterProgram::removeClient):
2869 (WebCore::CustomFilterProgram::notifyClients):
2870 (WebCore::CustomFilterProgram::createShaderWithContext):
2871 * platform/graphics/filters/CustomFilterProgram.h: Added.
2872 * platform/graphics/filters/CustomFilterProgramClient.h: Added.
2873 (WebCore::CustomFilterProgramClient::~CustomFilterProgramClient):
2875 * platform/graphics/filters/FECustomFilter.cpp:
2876 FECustomFilter will not use strings anymore. It will just get a reference to the CustomFilterProgram.
2878 (WebCore::FECustomFilter::FECustomFilter):
2879 (WebCore::FECustomFilter::create):
2880 (WebCore::FECustomFilter::initializeContext):
2881 Using the CustomFilterProgram to generate the CustomFilterShader instance. A better name for CustomFilterShader
2882 would be CustomFilterCompiledProgram, but I would prefer to make that change in a different patch.
2884 * platform/graphics/filters/FECustomFilter.h:
2885 * rendering/FilterEffectRenderer.cpp:
2886 (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
2887 (WebCore::FilterEffectRenderer::build):
2888 (WebCore::FilterEffectRenderer::notifyCustomFilterProgramLoaded):
2889 (WebCore::FilterEffectRenderer::removeCustomFilterClients):
2890 * rendering/FilterEffectRenderer.h:
2891 * rendering/style/StyleCustomFilterProgram.h: Added.
2892 (WebCore::StyleCustomFilterProgram::create):
2893 (WebCore::StyleCustomFilterProgram::setVertexShader):
2894 (WebCore::StyleCustomFilterProgram::vertexShader):
2895 (WebCore::StyleCustomFilterProgram::setFragmentShader):
2896 (WebCore::StyleCustomFilterProgram::fragmentShader):
2897 (WebCore::StyleCustomFilterProgram::vertexShaderString):
2898 (WebCore::StyleCustomFilterProgram::fragmentShaderString):
2899 (WebCore::StyleCustomFilterProgram::isLoaded):
2900 (WebCore::StyleCustomFilterProgram::willHaveClients):
2901 (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
2902 (WebCore::StyleCustomFilterProgram::notifyFinished):
2903 (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
2905 2012-01-11 Alexandru Chiculita <achicu@adobe.com>
2907 CSS Filters: apply the filters in RenderLayerBacking::paintIntoLayer when filters cannot be composited in hardware
2908 https://bugs.webkit.org/show_bug.cgi?id=75842
2910 Reviewed by Simon Fraser.
2912 RenderLayers have two possible states: composited or not. When composited the RenderLayerBacking::paintIntoLayer is used
2913 to render the result inside the graphics context of the GraphicsLayer. When not composited the RenderLayer::paintLayer method will draw
2914 the result in the graphics context of the parent layer.
2916 Because a recent patch forced creation of composited layers for filters, this patch makes RenderLayerBacking::paintIntoLayer aware
2917 that it might need to apply the filters when the composition engine failed to apply them in platform code.
2919 No new tests needed, I've just updated some of the old tests to force disable the accelerated composition
2920 so that we can still test software painted filters.
2922 * platform/graphics/GraphicsLayer.h:
2923 (WebCore::GraphicsLayer::clearFilters):
2924 * platform/graphics/ca/GraphicsLayerCA.cpp:
2925 (WebCore::GraphicsLayerCA::setFilters):
2926 If filtersCanBeComposited() is false we need to reset the CoreAnimation layer to remove any previously applied filter.
2927 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2928 (PlatformCALayer::filtersCanBeComposited):
2929 Added grayscale, brightness and contrast in the list of not accelerated filters. Otherwise an assert if triggered.
2930 * rendering/FilterEffectRenderer.cpp:
2931 (WebCore::FilterEffectRenderer::updateBackingStore):
2932 Moved this method from RenderLayer::updateFilterBackingStore. It had no dependencies on RenderLayer.
2933 (WebCore::FilterEffectRendererHelper::beginFilterEffect):
2934 (WebCore::FilterEffectRendererHelper::applyFilterEffect):
2935 Consolidated the filter rendering inside this helper class that is now used in both RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer.
2936 * rendering/FilterEffectRenderer.h:
2937 (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
2938 (WebCore::FilterEffectRendererHelper::haveFilterEffect):
2939 (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
2940 * rendering/RenderLayer.cpp:
2941 (WebCore::RenderLayer::paintLayer):
2942 Filters should apply after the opacity is applied, so I moved this down to paintLayerContents.
2943 (WebCore::RenderLayer::paintLayerContents):
2944 * rendering/RenderLayer.h:
2945 (WebCore::RenderLayer::filter):
2946 * rendering/RenderLayerBacking.cpp:
2947 (WebCore::RenderLayerBacking::paintIntoLayer):
2948 Added software fallback rendering of the filters on composited RenderLayers.
2950 2012-01-11 Jochen Eisinger <jochen@chromium.org>
2952 Move the check for canExecuteScripts out of V8Proxy::retrieve
2953 https://bugs.webkit.org/show_bug.cgi?id=75533
2955 Reviewed by Adam Barth.
2957 This change doesn't move the check to custom/generated bindings for
2958 individual objects, as these won't get executed if scripts are disabled
2961 No new tests. No functional change.
2963 * bindings/v8/PageScriptDebugServer.cpp:
2964 (WebCore::PageScriptDebugServer::addListener):
2965 * bindings/v8/ScheduledAction.cpp:
2966 (WebCore::ScheduledAction::execute):
2967 * bindings/v8/ScriptCachedFrameData.cpp:
2968 (WebCore::ScriptCachedFrameData::restore):
2969 * bindings/v8/V8DOMWrapper.cpp:
2970 (WebCore::V8DOMWrapper::instantiateV8Object):
2971 * bindings/v8/V8EventListener.cpp:
2972 (WebCore::V8EventListener::callListenerFunction):
2973 * bindings/v8/V8LazyEventListener.cpp:
2974 (WebCore::V8LazyEventListener::callListenerFunction):
2975 (WebCore::V8LazyEventListener::prepareListenerObject):
2976 * bindings/v8/V8Proxy.cpp:
2977 (WebCore::V8Proxy::handleOutOfMemory):
2978 (WebCore::V8Proxy::retrieve):
2979 (WebCore::toV8Context):
2981 2012-01-11 Kentaro Hara <haraken@chromium.org>
2983 ShouldSkipTypeInHeader() and ShouldSkipTypeInImplementation() should be the same
2984 https://bugs.webkit.org/show_bug.cgi?id=76030
2986 Reviewed by Adam Barth.
2988 Because the attributes/methods that do not appear in the implementation
2989 do not need to appear in the header.
2991 Tests: bindings/scripts/test/TestCallback.idl
2992 bindings/scripts/test/TestObj.idl
2994 * bindings/scripts/CodeGeneratorCPP.pm:
2995 (ShouldSkipType): Renamed from ShouldSkipTypeInImplementation().
2996 (GenerateHeader): Replaced ShouldSkipTypeInImplementation() with ShouldSkipType(),
2997 and replaced ShouldSkipTypeInHeader() with ShouldSkipType().
2998 (GenerateImplementation): Ditto.
2999 * bindings/scripts/test/CPP/WebDOMTestCallback.h: Updated the test result.
3000 * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
3002 2012-01-11 Zoltan Herczeg <zherczeg@webkit.org>
3004 Fix more style errors in CSSParser.cpp (followup patch)
3005 https://bugs.webkit.org/show_bug.cgi?id=76038
3007 Reviewed by Nikolas Zimmermann.
3009 The previous was: http://trac.webkit.org/changeset/104576
3010 This patch mostly contains C cast to static_cast rewrites.
3012 * css/CSSParser.cpp:
3013 (WebCore::CSSParser::parseValue):
3014 (WebCore::CSSParser::parseBackgroundColor):
3015 (WebCore::ShadowParseContext::commitLength):
3016 (WebCore::BorderImageSliceParseContext::commitNumber):
3017 (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
3018 (WebCore::BorderImageQuadParseContext::commitNumber):
3019 (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
3020 (WebCore::parseDeprecatedGradientPoint):
3022 2012-01-11 Nikolas Zimmermann <nzimmermann@rim.com>
3024 Not reviewed. Fix release builds.
3026 * rendering/svg/SVGTextMetricsBuilder.cpp:
3027 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
3029 2012-01-11 Kentaro Hara <haraken@chromium.org>
3031 REGRESSION(r101445): [V8] Generated code for custom getters and setters
3032 with the [Supplemental] IDL is wrong
3033 https://bugs.webkit.org/show_bug.cgi?id=76034
3035 Reviewed by Adam Barth.
3037 This patch fixes the class name of the implementation of custom getters
3038 and setters, as follows.
3040 Previous V8TestInterface.cpp:
3041 // Attribute 'supplementalStr3'
3042 {"supplementalStr3", V8TestSupplemental::supplementalStr3AccessorGetter, V8TestSupplemental::supplementalStr3AccessorSetter, ...},
3044 New V8TestInterface.cpp:
3045 // Attribute 'supplementalStr3'
3046 {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, ...},
3048 Test: bindings/scripts/test/TestInterface.idl
3049 bindings/scripts/test/TestSupplemental.idl
3051 * bindings/scripts/CodeGeneratorV8.pm:
3052 (GenerateSingleBatchedAttribute):
3053 * bindings/scripts/test/V8/V8TestInterface.cpp:
3055 2012-01-10 Nikolas Zimmermann <nzimmermann@rim.com>
3057 Large SVG text layout performance regression in r81168
3058 https://bugs.webkit.org/show_bug.cgi?id=65711
3060 Reviewed by Zoltan Herczeg.
3062 Introduce SVGTextMetricsBuilder, which will be used to speed-up measuring of SVG text,
3063 by using the simple code path, whenever possibly. It's not enabled yet, as it requires
3064 a restructurization of SVGTextLayoutAttributesBuilder - its the first chunk of a set
3065 of patches, that all together fix the performance regression and much more :-)
3067 Doesn't affect any tests, SVGTextMetricsBuilder is not turned on yet.
3069 * CMakeLists.txt: Add SVGTextMetricsBuilder.cpp/h to build.
3070 * GNUmakefile.list.am: Ditto.
3071 * Target.pri: Ditto.
3072 * WebCore.gypi: Ditto.
3073 * WebCore.vcproj/WebCore.vcproj: Ditto.
3074 * WebCore.xcodeproj/project.pbxproj: Ditto.
3075 * platform/graphics/Font.h:
3076 (WebCore::Font::codePath): Make it public, to be usable from SVGTextMetricsBuilder.
3077 * rendering/svg/RenderSVGAllInOne.cpp: Add SVGTextMetricsBuilder.cpp to build.
3078 * rendering/svg/RenderSVGText.cpp:
3079 * rendering/svg/RenderSVGText.h:
3080 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
3081 (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): SVGTextMetrics::emptyMetrics() is gone, adapt code.
3082 * rendering/svg/SVGTextLayoutEngine.cpp:
3083 (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): Ditto.
3084 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Ditto.
3085 * rendering/svg/SVGTextMetrics.cpp:
3086 (WebCore::SVGTextMetrics::SVGTextMetrics): Made public, now used in SVGTextLayoutEngine.
3087 (WebCore::SVGTextMetrics::constructTextRun): Move to public static function, to be usable from SVGTextMetricsBuilder.
3088 * rendering/svg/SVGTextMetrics.h:
3089 (WebCore::SVGTextMetrics::isEmpty): Add new isEmpty method, which replaces the == empyMetrics().
3090 (WebCore::SVGTextMetrics::setWidth): Remove friendship with SVGTextLayoutAttributesBuilder, and make it public, to avoid another friendship.
3091 * rendering/svg/SVGTextMetricsBuilder.cpp: Added.
3092 (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
3093 (WebCore::SVGTextMetricsBuilder::advance):
3094 (WebCore::SVGTextMetricsBuilder::advanceSimpleText): New variant using WidthIterator directly, this is finally possible as SVG Fonts have been integrated into the glyph pages concept a while ago.
3095 (WebCore::SVGTextMetricsBuilder::advanceComplexText): Complex code path, accounting for sum of glyph widths != run width.
3096 (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Either measure the text renderer, or just figure out lastCharacter.
3097 (WebCore::SVGTextMetricsBuilder::walkTreeUntilSpecificLeafIsReached): Walks SVG <text> tree, correctly computing "lastCharacter" until the leaf is reached.
3098 (WebCore::SVGTextMetricsBuilder::measureAllCharactersOfRenderer): Use above method.
3099 * rendering/svg/SVGTextMetricsBuilder.h: Added.
3101 2012-01-11 Dan Bernstein <mitz@apple.com>
3103 <rdar://problem/10674686> Implement the font-kerning CSS property
3104 https://bugs.webkit.org/show_bug.cgi?id=76033
3106 Reviewed by Darin Adler.
3108 Tests: fast/text/font-kerning-expected.html
3109 fast/text/font-kerning.html
3111 * css/CSSComputedStyleDeclaration.cpp:
3112 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
3114 * css/CSSParser.cpp:
3115 (WebCore::CSSParser::parseValue): Ditto.
3116 * css/CSSPrimitiveValueMappings.h:
3117 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from FontDescription::Kerning.
3118 (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning): Added mapping to
3119 FontDescription::Kerning.
3120 * css/CSSProperty.cpp:
3121 (WebCore::CSSProperty::isInheritedProperty): Added font-kerning to the set of inherited
3123 * css/CSSPropertyNames.in: Added -webkit-font-kerning.
3124 * css/CSSStyleApplyProperty.cpp:
3125 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for font-kerning.
3126 * css/CSSStyleSelector.cpp:
3127 (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
3129 * platform/graphics/Font.h:
3130 (WebCore::Font::typesettingFeatures): Changed to enable kerning if font-kerning is set to
3131 normal, disable it if font-kerning is set to none, and leave it to the default (determined
3132 by the text-rendering property) if font-kerning is set to auto.
3133 * platform/graphics/FontDescription.h:
3134 (WebCore::FontDescription::FontDescription): Added a Kerning enum.
3135 (WebCore::FontDescription::kerning): Added this getter.
3136 (WebCore::FontDescription::setKerning): Added this setter.
3137 (WebCore::FontDescription::operator==): Updated to compare the m_kerning member.
3139 2012-01-10 Ryosuke Niwa <rniwa@webkit.org>
3141 Build fix. Forgot to revert Node.h.
3145 2012-01-10 Ryosuke Niwa <rniwa@webkit.org>
3147 Revert r104210. It turned out that this patch makes improving the node list caches harder.
3150 (WebCore::Attr::setValue):
3151 (WebCore::Attr::childrenChanged):
3152 * dom/DynamicNodeList.cpp:
3153 (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
3154 (WebCore::DynamicSubtreeNodeList::length):
3155 (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
3156 (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
3157 (WebCore::DynamicSubtreeNodeList::item):
3158 (WebCore::DynamicSubtreeNodeList::invalidateCache):
3159 (WebCore::DynamicSubtreeNodeList::Caches::create):
3160 (WebCore::DynamicSubtreeNodeList::Caches::reset):
3161 * dom/DynamicNodeList.h:
3163 (WebCore::Element::updateAfterAttributeChanged):
3165 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
3166 (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
3167 (WebCore::Node::notifyLocalNodeListsLabelChanged):
3168 (WebCore::Node::itemTypeAttributeChanged):
3169 (WebCore::NodeListsNodeData::invalidateCaches):
3170 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
3171 * dom/NodeRareData.h:
3172 * html/HTMLElement.cpp:
3173 (WebCore::HTMLElement::parseMappedAttribute):
3174 * html/HTMLLabelElement.cpp:
3175 (WebCore::HTMLLabelElement::parseMappedAttribute):
3176 * html/HTMLLabelElement.h:
3178 2012-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
3180 Unreviewed, rolling out r104263 and r104381.
3181 http://trac.webkit.org/changeset/104263
3182 http://trac.webkit.org/changeset/104381
3183 https://bugs.webkit.org/show_bug.cgi?id=76029
3185 Preparation to rollout r104210 (Requested by rniwa on
3188 * dom/DynamicNodeList.cpp:
3189 (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
3190 (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
3191 (WebCore::DynamicSubtreeNodeList::length):
3192 (WebCore::DynamicSubtreeNodeList::item):
3193 * dom/DynamicNodeList.h:
3194 (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
3195 (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
3196 (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):
3198 2012-01-10 David Kilzer <ddkilzer@apple.com>
3200 Add TestWebKitAPI tests for KURL
3201 <http://webkit.org/b/75774>
3203 Reviewed by Adam Barth.
3205 * WebCore.exp.in: Export additional KURL methods used in
3208 2012-01-10 Jer Noble <jer.noble@apple.com>
3210 Crash in HTMLMediaElement::shouldDisableSleep()
3211 https://bugs.webkit.org/show_bug.cgi?id=76025
3213 Reviewed by Dan Bernstein.
3215 Check nullity of m_player before dereferencing.
3217 * html/HTMLMediaElement.cpp:
3218 (WebCore::HTMLMediaElement::shouldDisableSleep):
3220 2012-01-04 Kent Tamura <tkent@chromium.org>
3222 A radio button not in a document should not join a radio button group
3223 https://bugs.webkit.org/show_bug.cgi?id=45719
3225 Reviewed by Darin Adler.
3227 As per the standard and other browser behaviors, we should not add a
3228 radio button not in a document to a radio button group.
3230 So, CheckedRadioButton member functions should be called in
3231 insertedIntoDocument() and removedFromDocument(), and they should do
3232 nothing if the specified radio button is not in a document.
3234 This change also fixes a bug that form owner change by 'form' attribute
3235 didn't update radio button groups correctly.
3237 Test: fast/forms/radio/radio-group.html
3239 * dom/CheckedRadioButtons.cpp:
3240 (WebCore::shouldMakeRadioGroup): A helper function to check <input> state.
3241 (WebCore::CheckedRadioButtons::addButton):
3242 - Change the argument type: HTMLFormControlElement* -> HTMLInputElement*.
3243 - Use shouldMakeRadioGroup().
3244 (WebCore::CheckedRadioButtons::removeButton): ditto.
3245 * dom/CheckedRadioButtons.h:
3246 Change the argument types of addButton() and removeButton():
3247 HTMLFormControlElement* -> HTMLInputElement*.
3248 * html/FormAssociatedElement.cpp:
3249 Do not update m_form except in setForm() and formWillBeDestroyed().
3250 This helps us to call registerFormElement() and removeFromElement()
3251 correctly, and call willChangeForm()/didChangeForm() hooks correctly.
3252 (WebCore::FormAssociatedElement::FormAssociatedElement):
3253 (WebCore::FormAssociatedElement::~FormAssociatedElement):
3254 (WebCore::FormAssociatedElement::insertedIntoTree):
3255 (WebCore::FormAssociatedElement::removedFromTree):
3256 (WebCore::FormAssociatedElement::setForm):
3257 (WebCore::FormAssociatedElement::willChangeForm):
3258 This virtual function is called before the owner form is updated.
3259 (WebCore::FormAssociatedElement::didChangeForm):
3260 This virtual function is called after the owner form was updated.
3261 (WebCore::FormAssociatedElement::formWillBeDestroyed):
3262 - Renamaed from formDestroyed()
3263 - Add calls to willChangeForm() and didChangeForm().
3264 (WebCore::FormAssociatedElement::resetFormOwner): Use setForm().
3265 (WebCore::FormAssociatedElement::formAttributeChanged): ditto.
3266 * html/FormAssociatedElement.h:
3267 * html/HTMLFormControlElement.cpp:
3268 (WebCore::HTMLFormControlElement::HTMLFormControlElement): Use setForm().
3269 (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
3270 removeFormElement() is not needed. ~FormAssociatedElement() treats it.
3271 (WebCore::HTMLFormControlElement::parseMappedAttribute):
3272 No need to handle CheckedRadioButtons here. It is handled by HTMLInputElement.
3273 (WebCore::HTMLFormControlElement::insertedIntoTree): ditto.
3274 * html/HTMLFormElement.cpp:
3275 (WebCore::HTMLFormElement::~HTMLFormElement):
3276 Rename formDestroyed() with willDestroyForm().
3277 (WebCore::HTMLFormElement::registerFormElement):
3278 We don't need to handle radio button groups here.
3279 (WebCore::HTMLFormElement::removeFormElement): ditto.
3280 * html/HTMLInputElement.cpp:
3281 (WebCore::HTMLInputElement::~HTMLInputElement):
3282 Calls setForm(0) so that it calls correct virtual functions of
3284 (WebCore::HTMLInputElement::updateCheckedRadioButtons):
3285 Checking attached() was wrong.
3286 (WebCore::HTMLInputElement::willChangeForm):
3287 Remove this radio button from a radio button group for the old form.
3288 (WebCore::HTMLInputElement::didChangeForm):
3289 Add this radio button to a radio button group for the new form.
3290 (WebCore::HTMLInputElement::insertedIntoDocument):
3291 Add CheckedRadioButtons::addButton() call.
3292 (WebCore::HTMLInputElement::removedFromDocument):
3293 Add CheckedRadioButtons::removeButton() call.
3294 (WebCore::HTMLInputElement::didMoveToNewDocument):
3295 We don't need to handle CheckedRadioButton() here because
3296 removedFromDocument() handles it.
3297 * html/HTMLInputElement.h:
3298 * html/HTMLObjectElement.cpp:
3299 (WebCore::HTMLObjectElement::HTMLObjectElement): Use setForm().
3300 (WebCore::HTMLObjectElement::~HTMLObjectElement):
3301 removeFormElement() is not needed. ~FormAssociatedElement() treats it.
3303 2012-01-10 Kentaro Hara <haraken@chromium.org>
3305 Remove redundant code from DOMWindowSQLDatabase.cpp
3306 https://bugs.webkit.org/show_bug.cgi?id=76010
3308 Reviewed by Adam Barth.
3310 This patch removes redundant code from DOMWindowSQLDatabase.cpp.
3312 - Remove window->frame() check, since window->frame() is always true when
3313 window->isCurrentlyDisplayedInFrame() is true.
3314 - window->frame()->document() can just be window->document()
3316 Tests: storage/open-database-creation-callback-isolated-world.html
3317 storage/open-database-creation-callback.html
3318 storage/open-database-empty-version.html
3319 storage/open-database-over-quota.html
3320 storage/open-database-set-empty-version.html
3321 storage/open-database-while-transaction-in-progress.html
3323 * storage/DOMWindowSQLDatabase.cpp:
3324 (WebCore::DOMWindowSQLDatabase::openDatabase):
3326 2012-01-10 Dale Curtis <dalecurtis@chromium.org>
3328 Repaint video controls when buffering during pause.
3329 https://bugs.webkit.org/show_bug.cgi?id=73957
3331 Pipes support for a new bufferingProgressed() method on MediaControls
3332 elements. Allows controls to be repainted as data buffers when paused.
3334 Reviewed by Hajime Morita.
3336 Test: http/tests/media/video-buffering-repaints-controls.html
3338 * html/HTMLMediaElement.cpp:
3339 (WebCore::HTMLMediaElement::setNetworkState):
3340 (WebCore::HTMLMediaElement::progressEventTimerFired):
3341 * html/shadow/MediaControlRootElement.cpp:
3342 (WebCore::MediaControlRootElement::bufferingProgressed):
3343 * html/shadow/MediaControlRootElement.h:
3344 * html/shadow/MediaControlRootElementChromium.cpp:
3345 (WebCore::MediaControlRootElementChromium::bufferingProgressed):
3346 * html/shadow/MediaControlRootElementChromium.h:
3347 * html/shadow/MediaControls.h:
3349 2012-01-10 Daniel Cheng <dcheng@chromium.org>
3351 [chromium] Pasteboard::documentFragment should fall back to text if there's no HTML text
3352 https://bugs.webkit.org/show_bug.cgi?id=75923
3354 Reviewed by Tony Chang.
3356 Test: editing/pasteboard/pasting-empty-html-falls-back-to-text.html
3358 * platform/chromium/PasteboardChromium.cpp:
3359 (WebCore::Pasteboard::documentFragment):
3361 2012-01-10 Kentaro Hara <haraken@chromium.org>
3363 Use the [Supplemental] IDL in SQLDatabase
3364 https://bugs.webkit.org/show_bug.cgi?id=76004
3366 Reviewed by Adam Barth.
3368 We've been working on WebKit modularization. By using the [Supplemental] IDL,
3369 we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl}
3370 to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.
3372 Tests: storage/open-database-creation-callback-isolated-world.html
3373 storage/open-database-creation-callback.html
3374 storage/open-database-empty-version.html
3375 storage/open-database-over-quota.html
3376 storage/open-database-set-empty-version.html
3377 storage/open-database-while-transaction-in-progress.html
3379 * CMakeLists.txt: Added DOMWindowSQLDatabase.{idl,h,cpp} to the build script.
3380 * DerivedSources.make: Ditto.
3381 * DerivedSources.pri: Ditto.
3382 * GNUmakefile.list.am: Ditto.
3383 * Target.pri: Ditto.
3384 * WebCore.gypi: Ditto.
3385 * WebCore.vcproj/WebCore.vcproj: Ditto.
3386 * WebCore.xcodeproj/project.pbxproj: Ditto.
3388 * page/DOMWindow.cpp: Removed SQLDatabase related code.
3389 * page/DOMWindow.idl: Ditto.
3390 * page/DOMWindow.h: Ditto. Moved isCurrentlyDisplayedInFrame() from private: to public:
3391 so that DOMWindowSQLDatabase::openDatabase() can access it.
3393 * storage/DOMWindowSQLDatabase.cpp: Added. Moved openDatabase() from DOMWindow.cpp to here.
3394 (WebCore::DOMWindowSQLDatabase::openDatabase):
3395 * storage/DOMWindowSQLDatabase.h: Added. Moved openDatabase() from DOMWindow.h to here.
3396 * storage/DOMWindowSQLDatabase.idl: Added. Using the [Supplemental] IDL, moved openDatabase()
3397 and SQLException from DOMWindow.idl to here.
3399 2012-01-10 Chris Marrin <cmarrin@apple.com>
3401 CIFilter version of Sepia Tone filter doesn't match software
3402 https://bugs.webkit.org/show_bug.cgi?id=75129
3404 Reviewed by Simon Fraser.
3406 Changed sepia tone filter to use a CIColorMatrix filter with
3407 values that match sw filter.
3409 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3411 (PlatformCALayer::setFilters):
3413 2012-01-10 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
3415 [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
3416 https://bugs.webkit.org/show_bug.cgi?id=74176
3418 Reviewed by Noam Rosenthal.
3420 Replaces static global GL resource holder with holder shared between
3421 TextureMapperGL instances created on the same GL context. Also adds
3422 deallocation of GL resources when last TextureMapperGL instance on the
3423 current GL context gets deleted.
3425 Tested by multipleWebViewWindows and multipleWebViews Qt WK2 API tests.
3427 * platform/graphics/opengl/TextureMapperGL.cpp:
3428 (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
3429 (WebCore::TextureMapperGLData::SharedGLData::glContextDataMap):
3430 (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
3431 (WebCore::TextureMapperGLData::SharedGLData::ProgramInfo::ProgramInfo):
3432 (WebCore::TextureMapperGLData::SharedGLData::createShaderProgram):
3433 (WebCore::TextureMapperGLData::SharedGLData::deleteShaderProgram):
3434 (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
3435 (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
3436 (WebCore::TextureMapperGLData::sharedGLData):
3437 (WebCore::TextureMapperGLData::TextureMapperGLData):
3438 (WebCore::TextureMapperGLData::SharedGLData::initializeShaders):
3439 (WebCore::TextureMapperGL::beginPainting):
3440 (WebCore::TextureMapperGL::drawTexture):
3441 (WebCore::BitmapTextureGL::bind):
3442 (WebCore::TextureMapperGL::bindSurface):
3443 (WebCore::TextureMapperGL::beginClip):
3444 (WebCore::TextureMapperGL::endClip):
3445 * platform/graphics/opengl/TextureMapperGL.h:
3447 2012-01-10 Simon Fraser <simon.fraser@apple.com>
3449 Disabled mock scrollbars should draw differently
3450 https://bugs.webkit.org/show_bug.cgi?id=75995
3452 Reviewed by James Robinson.
3454 When the scrollbar is disabled, paint the entire track of
3455 mock scrollbars with a lighter gray, and hide the thumb.
3457 No tests, since mock scrollbars aren't enabled by default on Mac yet.
3459 * platform/mock/ScrollbarThemeMock.cpp:
3460 (WebCore::ScrollbarThemeMock::paintTrackBackground):
3461 (WebCore::ScrollbarThemeMock::paintThumb):
3463 2012-01-10 Tony Chang <tony@chromium.org>
3465 Need to handle absolutely positioned elements inside flexboxes
3466 https://bugs.webkit.org/show_bug.cgi?id=70793
3468 Reviewed by David Hyatt.
3470 Tests: css3/flexbox/insert-text-crash.html
3471 css3/flexbox/position-absolute-child.html
3473 * rendering/RenderFlexibleBox.cpp:
3474 (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
3475 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
3476 (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.