REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue(...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-08  Dan Bernstein  <mitz@apple.com>
2
3         REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue() when a Dashboard region is specified without offsets
4         https://bugs.webkit.org/show_bug.cgi?id=80614
5
6         Reviewed by Beth Dakin.
7
8         Test: fast/css/dashboard-regions-undefined-length-assertion.html
9
10         * css/CSSStyleSelector.cpp:
11         (WebCore::CSSStyleSelector::collectMatchingRulesForList): Reverted to setting zero lengths,
12         rather than Undefined ones, in the RenderStyle when offsets are not given.
13
14 2012-03-08  Mikkel Kruse Johnsen  <mikkel@linet.dk>
15
16         WebKitGtk+ fails to build on win32 against GTK3
17         https://bugs.webkit.org/show_bug.cgi?id=63919
18
19         Reviewed by Gustavo Noronha Silva.
20
21         * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
22         (WebCore::PluginView::platformStart):
23
24 2012-03-08  Jason Liu  <jason.liu@torchmobile.com.cn>
25
26         [BlackBerry]New feature: support about:cookie for internal build.
27         https://bugs.webkit.org/show_bug.cgi?id=80367
28
29         Reviewed by Antonio Gomes.
30
31         No new tests.
32
33         * platform/blackberry/CookieManager.cpp:
34         (WebCore::CookieManager::generateHtmlFragmentForCookies):
35         (WebCore):
36         * platform/blackberry/CookieManager.h:
37         * platform/network/blackberry/NetworkJob.cpp:
38         (WebCore::NetworkJob::handleAbout):
39
40 2012-03-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
41
42         Make elements with attributes smaller by eliminating the m_element back pointer in NamedNodeMap
43         https://bugs.webkit.org/show_bug.cgi?id=75069
44
45         Reviewed by Ryosuke Niwa.
46
47         NamedNodeMap is an exposed DOM representation of an element's attribute storage. As part of
48         its implementation it keeps a pointer to its associated Element plus all the attribute
49         storage.
50
51         This commit separate the two things: NamedNodeMap is now a wrapper to Element, containing
52         only the pointer, and the attribute storage is now owned by Element directly. Since usage
53         of NamedNodeMap is not very common, it can be stored in ElementRareData. As a result, most
54         elements with attributes now don't need to allocate memory for that extra pointer in
55         NamedNodeMap.
56
57         One consequence of this implementation is that now we explicitly don't support
58         DocumentType.notations and DocumentType.entities. They weren't supported before, a
59         NamedNodeMap was never created for those attributes -- and some NamedNodeMap functions
60         wouldn't work correctly without an associated Element.
61
62         NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
63         code and comments.
64
65         No new tests and should not change results for existing tests.
66
67         * dom/Attribute.h:
68         (WebCore):
69         * dom/DocumentType.h:
70         (DocumentType): Point out that we don't support does attributes yet.
71         * dom/Element.cpp:
72         (WebCore::Element::~Element): Detaching the NamedNodeMap is no longer necessary because it
73         will be destroyed. We still detach the potential Attrs inside our Attributes by using
74         clearAttributes().
75         (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
76         of the attribute storage.
77         (WebCore):
78         (WebCore::Element::getAttribute):
79         (WebCore::Element::setAttributeInternal):
80         (WebCore::Element::parserSetAttributes):
81         (WebCore::Element::hasAttributes):
82         (WebCore::Element::createAttributeData):
83         (WebCore::Element::insertedIntoDocument):
84         (WebCore::Element::removedFromDocument):
85         (WebCore::Element::getURLAttribute):
86         (WebCore::Element::getNonEmptyURLAttribute):
87         (WebCore::Element::hasNamedNodeMap): Helper function for Node::dumpStatistics().
88         * dom/Element.h:
89         (Element):
90         (WebCore::Element::attributeData):
91         (WebCore::Element::ensureAttributeData):
92         (WebCore::Element::fastHasAttribute):
93         (WebCore::Element::fastGetAttribute):
94         (WebCore::Element::hasAttributesWithoutUpdate):
95         (WebCore::Element::idForStyleResolution):
96         (WebCore::Element::attributeCount):
97         (WebCore::Element::attributeItem):
98         (WebCore::Element::getAttributeItem):
99         * dom/ElementAttributeData.h:
100         (WebCore::ElementAttributeData::create):
101         (ElementAttributeData):
102         * dom/ElementRareData.h:
103         (ElementRareData):
104         * dom/NamedNodeMap.cpp: Rewriting now that m_attributeData is not a member, using m_element
105         methods when possible.
106         (WebCore::NamedNodeMap::ref):
107         (WebCore::NamedNodeMap::deref):
108         (WebCore::NamedNodeMap::getNamedItem):
109         (WebCore::NamedNodeMap::getNamedItemNS):
110         (WebCore::NamedNodeMap::removeNamedItem):
111         (WebCore::NamedNodeMap::removeNamedItemNS):
112         (WebCore::NamedNodeMap::setNamedItem):
113         (WebCore::NamedNodeMap::item):
114         (WebCore::NamedNodeMap::length):
115         * dom/NamedNodeMap.h:
116         (WebCore):
117         (WebCore::NamedNodeMap::create):
118         (NamedNodeMap):
119         (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
120         now assert only in the constructor.
121         * dom/Node.cpp:
122         (WebCore::Node::dumpStatistics): Add a counter for elements with rare data, this allows us
123         compare more clearly the impact of moving NamedNodeMap there.
124         (WebCore::Node::isEqualNode): Remove use of mapsEquivalent(). It was dead code, because
125         both entities and notations were always NULL.
126         (WebCore::Node::compareDocumentPosition):
127         * inspector/DOMPatchSupport.h:
128         (WebCore):
129         * svg/SVGElement.cpp:
130         (WebCore::SVGElement::attributeChanged):
131
132 2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
133
134         [BlackBerry] Upstream WebGL related files from platform/graphics
135         https://bugs.webkit.org/show_bug.cgi?id=79876
136
137         Reviewed by Rob Buis.
138
139         Initial upstream, no new tests.
140
141         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
142         (WebCore):
143         (DrawingBufferInternal):
144         (WebCore::generateColorTexture):
145         (WebCore::DrawingBuffer::DrawingBuffer):
146         (WebCore::DrawingBuffer::~DrawingBuffer):
147         (WebCore::DrawingBuffer::publishToPlatformLayer):
148         (WebCore::DrawingBuffer::reset):
149         (WebCore::DrawingBuffer::platformLayer):
150         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Added.
151         (WebCore):
152         (WebCore::GraphicsContext3D::create):
153         (WebCore::GraphicsContext3D::GraphicsContext3D):
154         (WebCore::GraphicsContext3D::~GraphicsContext3D):
155         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
156         (WebCore::GraphicsContext3D::makeContextCurrent):
157         (WebCore::GraphicsContext3D::isGLES2Compliant):
158         (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
159         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
160         (WebCore::GraphicsContext3D::platformTexture):
161         (WebCore::GraphicsContext3D::platformLayer):
162         (WebCore::GraphicsContext3D::paintToCanvas):
163         (WebCore::GraphicsContext3D::setContextLostCallback):
164         * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: Added.
165         (WebCore):
166         (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
167         (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
168         (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
169         (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
170         * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
171         (WebCore):
172         (WebGLLayerWebKitThread):
173         (WebCore::WebGLLayerWebKitThread::create):
174         (WebCore::WebGLLayerWebKitThread::setWebGLContext):
175
176 2012-03-08  Yong Li  <yoli@rim.com>
177
178         [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
179         https://bugs.webkit.org/show_bug.cgi?id=80598
180
181         Reviewed by Rob Buis.
182
183         Turn off stencil/scissor after using them to avoid affecting later GL operation
184         accidentally.
185
186         * platform/graphics/blackberry/LayerRenderer.cpp:
187         (WebCore::LayerRenderer::drawLayers):
188
189 2012-03-08  Simon Hausmann  <simon.hausmann@nokia.com>
190
191         [Qt] Windows build fix.
192
193         Reviewed by Tor Arne Vestbø.
194
195         * DerivedSources.pri: Replace commandline that is too long for Windows with
196         separate lines to be executed in the Makefile for the IDL preprocessing.
197
198 2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
199
200         Web Inspector: The function had to return a hash but it returned just address.
201         https://bugs.webkit.org/show_bug.cgi?id=80591
202
203         Reviewed by Yury Semikhatsky.
204
205         * bindings/v8/RetainedDOMInfo.cpp:
206         (WebCore::RetainedDOMInfo::GetHash):
207
208 2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
209
210         Unreviewed single line fix. The function had to return a hash but it returned just address.
211
212         * bindings/v8/V8GCController.cpp:
213         (WebCore::UnspecifiedGroup::GetHash):
214
215 2012-03-08  Shinya Kawanaka  <shinyak@chromium.org>
216
217         <shadow> should be rendered correctly.
218         https://bugs.webkit.org/show_bug.cgi?id=78596
219
220         Reviewed by Hajime Morita.
221
222         This patch supports <shadow> element rendering.
223
224         When attaching <shadow> element, if it is in the oldest shadow tree, it runs a part of
225         distribution algorithm. If it is in non-oldest shadow tree, it runs tree a part of
226         tree composition algorithm to assign a older shadow root. In this patch, InsertionPonit
227         try to treat the distributed host children and the assigned shadow children similarly.
228
229         NodeRenderingContext supports rendering <shadow> element. Since the assigned shadow children
230         are treated like distributed host children, that change is to consider non-youngest shadow
231         tree basically also.
232
233         Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
234                fast/dom/shadow/shadow-element-rendering-single.html
235
236         * dom/NodeRenderingContext.cpp:
237         (WebCore):
238         (WebCore::NodeRenderingContext::NodeRenderingContext):
239           Does not ignore non-youngest shadow tree.
240         * dom/ShadowRoot.cpp:
241         (WebCore::ShadowRoot::ShadowRoot):
242         * dom/ShadowRoot.h:
243         (ShadowRoot):
244         (WebCore::ShadowRoot::assignedTo):
245         (WebCore):
246         (WebCore::ShadowRoot::setAssignedTo):
247         (WebCore::ShadowRoot::isUsedForRendering):
248           Returns true if ShadowRoot is youngest or assigned to some InsertionPoint.
249         (WebCore::toShadowRoot):
250         * dom/ShadowTree.cpp:
251         (WebCore::ShadowTree::insertionPointFor):
252           Returns InsertionPoint to which node is distributed.
253         * dom/ShadowTree.h:
254         (ShadowTree):
255         * html/shadow/HTMLContentElement.h:
256         (WebCore::HTMLContentElement::doesSelectFromHostChildren):
257         (HTMLContentElement):
258         * html/shadow/HTMLShadowElement.cpp:
259         (WebCore::HTMLShadowElement::HTMLShadowElement):
260         (WebCore::HTMLShadowElement::select):
261         (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
262         (WebCore):
263         * html/shadow/HTMLShadowElement.h:
264         (HTMLShadowElement):
265         * html/shadow/InsertionPoint.cpp:
266         (WebCore::InsertionPoint::attach):
267         (WebCore::InsertionPoint::detach):
268         (WebCore::InsertionPoint::assignedFrom):
269         (WebCore):
270         (WebCore::InsertionPoint::assignShadowRoot):
271         (WebCore::InsertionPoint::clearAssignment):
272         * html/shadow/InsertionPoint.h:
273         (InsertionPoint):
274
275 2012-03-06  Hans Wennborg  <hans@chromium.org>
276
277         Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
278         https://bugs.webkit.org/show_bug.cgi?id=80424
279
280         Reviewed by Adam Barth.
281
282         Implement the SpeechRecognitionAlternative,
283         SpeechRecognitionResult and SpeechRecognitionResultList.
284         (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
285
286         No new tests because these interfaces don't have constructors.
287         They will be tested as more of the API gets implemented.
288
289         * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
290         (WebCore):
291         (WebCore::SpeechRecognitionAlternative::create):
292         (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
293         * Modules/speech/SpeechRecognitionAlternative.h: Added.
294         (WebCore):
295         (SpeechRecognitionAlternative):
296         (WebCore::SpeechRecognitionAlternative::transcript):
297         (WebCore::SpeechRecognitionAlternative::confidence):
298         * Modules/speech/SpeechRecognitionAlternative.idl: Added.
299         * Modules/speech/SpeechRecognitionResult.cpp: Added.
300         (WebCore):
301         (WebCore::SpeechRecognitionResult::create):
302         (WebCore::SpeechRecognitionResult::item):
303         (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
304         * Modules/speech/SpeechRecognitionResult.h: Added.
305         (WebCore):
306         (SpeechRecognitionResult):
307         (WebCore::SpeechRecognitionResult::length):
308         (WebCore::SpeechRecognitionResult::final):
309         * Modules/speech/SpeechRecognitionResult.idl: Added.
310         * Modules/speech/SpeechRecognitionResultList.cpp: Added.
311         (WebCore):
312         (WebCore::SpeechRecognitionResultList::create):
313         (WebCore::SpeechRecognitionResultList::item):
314         (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
315         * Modules/speech/SpeechRecognitionResultList.h: Added.
316         (WebCore):
317         (SpeechRecognitionResultList):
318         (WebCore::SpeechRecognitionResultList::length):
319         * Modules/speech/SpeechRecognitionResultList.idl: Added.
320         * WebCore.gypi:
321
322 2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
323
324         [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
325         https://bugs.webkit.org/show_bug.cgi?id=79867
326
327         Reviewed by Rob Buis.
328
329         Initial upstream, no new tests.
330
331         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
332         (WebCore):
333         (WebCore::setLayerBorderColor):
334         (WebCore::clearBorderColor):
335         (WebCore::setLayerBackgroundColor):
336         (WebCore::clearLayerBackgroundColor):
337         (WebCore::GraphicsLayer::create):
338         (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
339         (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
340         (WebCore::GraphicsLayerBlackBerry::setName):
341         (WebCore::GraphicsLayerBlackBerry::setChildren):
342         (WebCore::GraphicsLayerBlackBerry::addChild):
343         (WebCore::GraphicsLayerBlackBerry::addChildAtIndex):
344         (WebCore::GraphicsLayerBlackBerry::addChildBelow):
345         (WebCore::GraphicsLayerBlackBerry::addChildAbove):
346         (WebCore::GraphicsLayerBlackBerry::replaceChild):
347         (WebCore::GraphicsLayerBlackBerry::removeFromParent):
348         (WebCore::GraphicsLayerBlackBerry::setPosition):
349         (WebCore::GraphicsLayerBlackBerry::setAnchorPoint):
350         (WebCore::GraphicsLayerBlackBerry::setSize):
351         (WebCore::GraphicsLayerBlackBerry::setTransform):
352         (WebCore::GraphicsLayerBlackBerry::setChildrenTransform):
353         (WebCore::GraphicsLayerBlackBerry::setPreserves3D):
354         (WebCore::GraphicsLayerBlackBerry::setMasksToBounds):
355         (WebCore::GraphicsLayerBlackBerry::setDrawsContent):
356         (WebCore::GraphicsLayerBlackBerry::setContentsVisible):
357         (WebCore::GraphicsLayerBlackBerry::setMaskLayer):
358         (WebCore::GraphicsLayerBlackBerry::setReplicatedByLayer):
359         (WebCore::GraphicsLayerBlackBerry::setFixedPosition):
360         (WebCore::GraphicsLayerBlackBerry::setHasFixedContainer):
361         (WebCore::GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree):
362         (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
363         (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
364         (WebCore::GraphicsLayerBlackBerry::setContentsOpaque):
365         (WebCore::GraphicsLayerBlackBerry::setBackfaceVisibility):
366         (WebCore::GraphicsLayerBlackBerry::setOpacity):
367         (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
368         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
369         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
370         (WebCore::GraphicsLayerBlackBerry::setContentsRect):
371         (WebCore::removeAnimationByIdAndProperty):
372         (WebCore::removeAnimationByName):
373         (WebCore::GraphicsLayerBlackBerry::addAnimation):
374         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
375         (WebCore::GraphicsLayerBlackBerry::removeAnimation):
376         (WebCore::GraphicsLayerBlackBerry::suspendAnimations):
377         (WebCore::GraphicsLayerBlackBerry::resumeAnimations):
378         (WebCore::GraphicsLayerBlackBerry::setContentsToImage):
379         (WebCore::GraphicsLayerBlackBerry::updateContentsImage):
380         (WebCore::GraphicsLayerBlackBerry::setContentsToCanvas):
381         (WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
382         (WebCore::GraphicsLayerBlackBerry::hostLayerForSublayers):
383         (WebCore::GraphicsLayerBlackBerry::layerForSuperlayer):
384         (WebCore::GraphicsLayerBlackBerry::platformLayer):
385         (WebCore::GraphicsLayerBlackBerry::setDebugBackgroundColor):
386         (WebCore::GraphicsLayerBlackBerry::setDebugBorder):
387         (WebCore::GraphicsLayerBlackBerry::updateSublayerList):
388         (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
389         (WebCore::GraphicsLayerBlackBerry::updateLayerSize):
390         (WebCore::GraphicsLayerBlackBerry::updateAnchorPoint):
391         (WebCore::GraphicsLayerBlackBerry::updateTransform):
392         (WebCore::GraphicsLayerBlackBerry::updateChildrenTransform):
393         (WebCore::GraphicsLayerBlackBerry::updateMasksToBounds):
394         (WebCore::GraphicsLayerBlackBerry::updateContentsOpaque):
395         (WebCore::GraphicsLayerBlackBerry::updateBackfaceVisibility):
396         (WebCore::GraphicsLayerBlackBerry::updateLayerPreserves3D):
397         (WebCore::GraphicsLayerBlackBerry::updateLayerIsDrawable):
398         (WebCore::GraphicsLayerBlackBerry::updateFixedPosition):
399         (WebCore::GraphicsLayerBlackBerry::updateHasFixedContainer):
400         (WebCore::GraphicsLayerBlackBerry::updateHasFixedAncestorInDOMTree):
401         (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
402         (WebCore::GraphicsLayerBlackBerry::updateAnimations):
403         (WebCore::GraphicsLayerBlackBerry::updateContentsVideo):
404         (WebCore::GraphicsLayerBlackBerry::updateContentsRect):
405         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
406         (WebCore::GraphicsLayerBlackBerry::updateOpacityOnLayer):
407         (WebCore::GraphicsLayerBlackBerry::contentsVisible):
408         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: Added.
409         (WebCore):
410         (GraphicsLayerBlackBerry):
411         (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
412         (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
413         (WebCore::GraphicsLayerBlackBerry::primaryLayer):
414         (WebCore::GraphicsLayerBlackBerry::contentsLayer):
415
416 2012-03-07  Shinya Kawanaka  <shinyak@chromium.org>
417
418         Refactoring: Remove Node::isContentElement and Node::isShadowElement.
419         https://bugs.webkit.org/show_bug.cgi?id=80501
420
421         Reviewed by Hajime Morita.
422
423         Removes Node::isContentElement and Node::isShadowElement. These methods are replaced
424         by hasTagName. However the tag name of HTMLContentElement was not consistent,
425         this patch make them consistent.
426
427         No new tests. Should be covered by existing tests.
428
429         * dom/Node.h:
430         * html/HTMLElement.h:
431         (WebCore::HTMLElement::isInsertionPoint):
432         (HTMLElement):
433         * html/HTMLSummaryElement.cpp:
434         (WebCore::SummaryContentElement::SummaryContentElement):
435           It uses HTMLNames::divTag as tagname. It should use HTMLNames::webkitShadowTagName.
436         * html/shadow/HTMLContentElement.h:
437         (HTMLContentElement):
438         * html/shadow/InsertionPoint.h:
439         (InsertionPoint):
440         (WebCore::InsertionPoint::isInsertionPoint):
441         (WebCore::isInsertionPoint):
442         * testing/Internals.cpp:
443         (WebCore::Internals::isValidContentSelect):
444         * testing/Internals.h:
445         (Internals):
446
447 2012-03-07  Adam Barth  <abarth@webkit.org>
448
449         ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
450         https://bugs.webkit.org/show_bug.cgi?id=80569
451
452         Reviewed by Ryosuke Niwa.
453
454         This patch moves ContainerNode::insertedIntoDocument and
455         removedFromDocument to using a better iteration pattern in which we
456         collect all the nodes we're planning to iterate into a vector and then
457         iterate over them.
458
459         * dom/ContainerNode.cpp:
460         (WebCore::ContainerNode::insertedIntoDocument):
461         (WebCore::ContainerNode::removedFromDocument):
462
463 2012-03-07  Ami Fischman  <fischman@chromium.org>
464
465         [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
466         https://bugs.webkit.org/show_bug.cgi?id=80565
467
468         Reviewed by James Robinson.
469
470         This gets triggered by the video HW decode+render path when threaded compositor is enabled
471         (https://chromiumcodereview.appspot.com/9639005/)
472
473         No new tests.
474
475         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
476         (WebCore::CCLayerTreeHost::context):
477
478 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
479
480         CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
481         https://bugs.webkit.org/show_bug.cgi?id=79621
482
483         Reviewed by Andreas Kling.
484
485         ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
486         length expressions. All property handlers using this template now work with
487         mixed expressions.
488
489         This patch adds a new expression evaluator in CalculationValue.cpp. This is because
490         Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
491         due to layering restrictions.
492
493         Lengths can be copied, and so the expressions are stored in a hashmap, and only their
494         ids are copied along with Length. The expressions are RefCounted, and will get 
495         cleaned up when the last referring Length is destructed.
496
497         * WebCore.exp.in:
498         * css/CSSCalculationValue.cpp:
499         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
500         (CSSCalcPrimitiveValue):
501         (WebCore::CSSCalcBinaryOperation::toCalcValue):
502         (CSSCalcBinaryOperation):
503         * css/CSSCalculationValue.h:
504         (WebCore):
505         (CSSCalcExpressionNode):
506         (CSSCalcValue):
507         (WebCore::CSSCalcValue::toCalcValue):
508         * css/CSSPrimitiveValue.cpp:
509         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
510         * css/CSSStyleApplyProperty.cpp:
511         (WebCore::ApplyPropertyLength::applyValue):
512         * css/CSSStyleSelector.cpp:
513         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
514         * css/CSSStyleSelector.h:
515         (CSSStyleSelector):
516         * platform/CalculationValue.cpp:
517         (WebCore::CalcExpressionBinaryOperation::evaluate):
518         (WebCore):
519         (WebCore::CalculationValue::create):
520         (WebCore::CalculationValue::evaluate):
521         * platform/CalculationValue.h:
522         (CalcExpressionNode):
523         (WebCore::CalcExpressionNode::~CalcExpressionNode):
524         (WebCore):
525         (CalculationValue):
526         (WebCore::CalculationValue::CalculationValue):
527         (CalcExpressionNumber):
528         (WebCore::CalcExpressionNumber::CalcExpressionNumber):
529         (WebCore::CalcExpressionNumber::evaluate):
530         (CalcExpressionLength):
531         (WebCore::CalcExpressionLength::CalcExpressionLength):
532         (WebCore::CalcExpressionLength::evaluate):
533         (CalcExpressionBinaryOperation):
534         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
535         * platform/Length.cpp:
536         (WebCore):
537         (WebCore::Length::~Length):
538         (CalculationValueHandleMap):
539         (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
540         (WebCore::CalculationValueHandleMap::insert):
541         (WebCore::CalculationValueHandleMap::remove):
542         (WebCore::CalculationValueHandleMap::get):
543         (WebCore::calcHandles):
544         (WebCore::Length::Length):
545         (WebCore::Length::calculationValue):
546         (WebCore::Length::calculatedValue):
547         (WebCore::Length::calculatedMinValue):
548         (WebCore::Length::calculatedFloatValue):
549         (WebCore::Length::incrementCalculatedRef):
550         (WebCore::Length::decrementCalculatedRef):
551         (WebCore::Length::nonNanCalculatedValue):
552         * platform/Length.h:
553         (Length):
554         (WebCore::Length::Length):
555         (WebCore::Length::operator=):
556         (WebCore::Length::operator*=):
557         (WebCore::Length::value):
558         (WebCore::Length::setValue):
559         (WebCore::Length::calcValue):
560         (WebCore::Length::calcMinValue):
561         (WebCore::Length::calcFloatValue):
562         (WebCore::Length::isZero):
563         (WebCore::Length::isPositive):
564         (WebCore::Length::isNegative):
565         (WebCore::Length::isPercent):
566         (WebCore::Length::isSpecified):
567         (WebCore::Length::isCalculated):
568         (WebCore::Length::initFromLength):
569         (WebCore::Length::calculationHandle):
570
571 2012-03-07  Kent Tamura  <tkent@chromium.org>
572
573         Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
574         https://bugs.webkit.org/show_bug.cgi?id=80564
575
576         Reviewed by Hajime Morita.
577
578         We'd like to reduce dependency of resultsButtonElement and
579         cancelButtonElement from RenderTextControlSingleLine.
580
581         No behavior change.
582
583         * rendering/RenderTextControlSingleLine.cpp:
584         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
585         Use the left position of innerBlockElement, instead of the width of resultsButtonElement.
586         They are equivalent.
587         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
588         Use <the container width - right position of innerBlockElement>,
589         instead of the width of the cancelButtonElement. They are
590         equivalent.
591
592 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
593
594         use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
595         https://bugs.webkit.org/show_bug.cgi?id=80561
596
597         Reviewed by Eric Seidel.
598
599         This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.
600
601         No new tests as this is not a behaviour change.
602
603         * css/CSSStyleApplyProperty.cpp:
604         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
605
606 2012-03-07  Adam Barth  <abarth@webkit.org>
607
608         ContainerNode::willRemove uses a weak iteration pattern
609         https://bugs.webkit.org/show_bug.cgi?id=80530
610
611         Reviewed by Ryosuke Niwa.
612
613         This patch moves ContainerNode::willRemove to using a better iteration
614         pattern in which we collect all the nodes we're planning to iterate
615         into a vector and then iterate over them.
616
617         * dom/ContainerNode.cpp:
618         (WebCore::ContainerNode::willRemove):
619
620 2012-03-07  Kentaro Hara  <haraken@chromium.org>
621
622         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
623         Element.dataset and Node.attributes
624         https://bugs.webkit.org/show_bug.cgi?id=80376
625
626         Reviewed by Adam Barth.
627
628         This patch improves the performance of HTMLElement.classList, Element.dataset
629         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
630
631         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
632         created every time the DOM attribute is accessed, in spite of the fact that
633         the 'hiddenReferenceName' string is static.
634
635         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
636         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
637         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
638         and is an Object.
639
640         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
641
642         AppleWebKit/JavaScriptCore:
643         div.classList : 382ms
644         div.classList.foo = 123 : 335ms
645         div.dataset : 403ms
646         div.dataset.foo = 123 : 5250ms
647         div.attributes : 183ms
648
649         Chromium/V8 (without this patch):
650         div.classList : 9140ms
651         div.classList.foo = 123 : 9086ms
652         div.dataset : 9930ms
653         div.dataset.foo = 123 : 49698ms
654         div.attributes : 13489ms
655
656         Chromium/V8 (with this patch):
657         div.classList : 1435ms
658         div.classList.foo = 123 : 1470ms
659         div.dataset : 1400ms
660         div.dataset.foo = 123 : 30396ms
661         div.attributes : 1242ms
662
663         No tests. No change in behavior.
664
665         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
666         (WebCore::toV8):
667         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
668         (WebCore::toV8):
669         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
670         (WebCore::toV8):
671
672         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
673         to optimize the macro.
674         (WebCore):
675         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
676         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
677         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
678         or a hidden reference.
679         (WebCore):
680         (V8HiddenPropertyName):
681
682 2012-03-07  Kent Tamura  <tkent@chromium.org>
683
684         Add RenderBoxModelObject::marginWidth() and marginHeight()
685         https://bugs.webkit.org/show_bug.cgi?id=80556
686
687         Reviewed by Kentaro Hara.
688
689         They make some code shorter.
690
691         No behavior change.
692
693         * rendering/RenderBoxModelObject.h:
694         (WebCore::RenderBoxModelObject::marginHeight): Added.
695         (WebCore::RenderBoxModelObject::marginWidth): Added.
696         * inspector/DOMNodeHighlighter.cpp: Use marginHeight() and/or marginWidth().
697         * rendering/RenderBlock.h:
698         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): ditto.
699         * rendering/RenderBlockLineLayout.cpp:
700         (WebCore::RenderBlock::checkFloatsInCleanLine): ditto.
701         * rendering/RenderBox.cpp:
702         (WebCore::RenderBox::repaintLayerRectsForImage): ditto.
703         * rendering/RenderDeprecatedFlexibleBox.cpp:
704         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): ditto.
705         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): ditto.
706         * rendering/RenderFlexibleBox.cpp:
707         (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild): ditto.
708         (WebCore::RenderFlexibleBox::computeNextFlexLine): ditto.
709         * rendering/RenderInline.cpp:
710         (WebCore::RenderInline::culledInlineAbsoluteRects): ditto.
711         (WebCore::RenderInline::culledInlineAbsoluteQuads): ditto.
712         (WebCore::RenderInline::culledInlineBoundingBox): ditto.
713         * rendering/RenderScrollbar.cpp:
714         (WebCore::RenderScrollbar::trackPieceRectWithMargins): ditto.
715         * rendering/RenderTextControl.cpp:
716         (WebCore::RenderTextControl::computeLogicalHeight): ditto.
717         * rendering/RenderTextControlSingleLine.cpp:
718         (WebCore::RenderTextControlSingleLine::computeControlHeight): ditto.
719
720 2012-03-07  Jessie Berlin  <jberlin@apple.com>
721
722         Clean Windows build fails after r110033
723         https://bugs.webkit.org/show_bug.cgi?id=80553
724
725         Rubber-stamped by Jon Honeycutt and Eric Seidel.
726
727         * WebCore.vcproj/WebCore.vcproj:
728         Update the expected location of the copied JSC WTF string implementation files.
729
730 2012-03-07  Michael Nordman  <michaeln@google.com>
731
732         [Chromium] Don't be so CRASH() happy in the bindings layer.
733         https://bugs.webkit.org/show_bug.cgi?id=75111
734         - change the v8 bindings generated code to check for the 'worker is terminating'
735           condition prior to committing a suicidal CRASH()
736         - fixup custom v8 bindings accordingly
737         - simplify bindings/generic/ActiveDOMCallback, there is no need for it to support
738           destruction on a different thread
739
740         Reviewed by David Levin.
741
742         No new tests, existing tests apply.
743
744         * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
745         (WebCore):
746         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
747         (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
748         (WebCore::ActiveDOMCallback::canInvokeCallback):
749         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): New method to avoid CRASH()ing in exceptional conditions in v8 bindings.
750         * bindings/generic/ActiveDOMCallback.h: Derive from ContextDestructionObserver.
751         * bindings/js/WorkerScriptController.cpp:
752         (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
753         (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
754         * bindings/js/WorkerScriptController.h:
755         (WorkerScriptController):
756         * bindings/scripts/CodeGeneratorV8.pm: Generates v8 bindding code that uses isScriptControllerTerminating to avoid CRASH()ing.
757         (GenerateCallbackImplementation):
758         * bindings/scripts/test/V8/V8TestCallback.cpp: Fixup expected outputs of the modified CodeGeneratorV8.pm script.
759         (WebCore::V8TestCallback::callbackWithClass1Param):
760         (WebCore::V8TestCallback::callbackWithClass2Param):
761         (WebCore::V8TestCallback::callbackWithStringList):
762         * bindings/v8/WorkerScriptController.cpp:
763         (WebCore::WorkerScriptController::WorkerScriptController): Initialize a new data member.
764         (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
765         (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
766         * bindings/v8/WorkerScriptController.h: Add a pair of new data members, bool + mutex.
767         (WorkerScriptController):
768         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
769         (WebCore::V8SQLStatementErrorCallback::handleEvent):
770         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
771         (WebCore::V8MutationCallback::handleEvent):
772         * dom/ScriptExecutionContext.cpp:
773         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Initilaize data members.
774         (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Set m_activeDOMObjectsAreStopped.
775         * dom/ScriptExecutionContext.h: Add m_activeDOMObjectsAreStopped data member.
776         (WebCore::ScriptExecutionContext::activeDOMObjectsAreStopped): Simple getter.
777         (ScriptExecutionContext):
778
779 2012-03-07  Kent Tamura  <tkent@chromium.org>
780
781         Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
782         https://bugs.webkit.org/show_bug.cgi?id=80493
783
784         Reviewed by Hajime Morita.
785
786         preferredContentWidth() added border+padding widths of the search result
787         button, search cancel button, and speech input button. It makes no sense
788         to make the intrinsic width wider by only their border+padding width,
789         not their content width.
790
791         The default borders and paddings of these buttons are 0 in all
792         platforms, and adding border or padding to these elements by page
793         authors made unreasonable behavior. So we had better remove this
794         code.
795
796         Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
797                fast/speech/intrinsic-input-width-with-speech-border-padding.html
798
799         * rendering/RenderTextControlSingleLine.cpp:
800         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
801          Remove the meaningless code.
802         * rendering/RenderTextControlSingleLine.h:
803         (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.
804
805 2012-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
806
807         Unreviewed, rolling out r110126.
808         http://trac.webkit.org/changeset/110126
809         https://bugs.webkit.org/show_bug.cgi?id=80558
810
811         compile failed on AppleMac (Requested by ukai on #webkit).
812
813         * WebCore.exp.in:
814         * css/CSSCalculationValue.cpp:
815         * css/CSSCalculationValue.h:
816         (WebCore):
817         (CSSCalcExpressionNode):
818         (CSSCalcValue):
819         * css/CSSPrimitiveValue.cpp:
820         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
821         * css/CSSStyleApplyProperty.cpp:
822         (WebCore::ApplyPropertyLength::applyValue):
823         * css/CSSStyleSelector.cpp:
824         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
825         * css/CSSStyleSelector.h:
826         * platform/CalculationValue.cpp:
827         * platform/CalculationValue.h:
828         * platform/Length.cpp:
829         (WebCore::newLengthArray):
830         * platform/Length.h:
831         (WebCore::Length::operator*=):
832         (WebCore::Length::value):
833         (WebCore::Length::setValue):
834         (Length):
835         (WebCore::Length::calcValue):
836         (WebCore::Length::calcMinValue):
837         (WebCore::Length::calcFloatValue):
838         (WebCore::Length::isZero):
839         (WebCore::Length::isPositive):
840         (WebCore::Length::isNegative):
841         (WebCore::Length::isPercent):
842         (WebCore::Length::isSpecified):
843
844 2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
845
846         Make Node::dumpStatistics() work again
847         https://bugs.webkit.org/show_bug.cgi?id=80327
848
849         Reviewed by Ryosuke Niwa.
850
851         Update the code in dumpStatistics() to the latest attribute storage changes. Also
852         move the DUMP_NODE_STATISTICS define here from the Node.cpp, since its also used
853         by Document.h.
854
855         * dom/Node.cpp:
856         (WebCore::Node::dumpStatistics): Use more self-describing variable names.
857         * dom/Node.h:
858
859 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
860
861         CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
862         https://bugs.webkit.org/show_bug.cgi?id=79621
863
864         Reviewed by Andreas Kling.
865
866         ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
867         length expressions. All property handlers using this template now work with
868         mixed expressions.
869
870         This patch adds a new expression evaluator in CalculationValue.cpp. This is because
871         Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
872         due to layering restrictions.
873
874         Lengths can be copied, and so the expressions are stored in a hashmap, and only their
875         ids are copied along with Length. The expressions are RefCounted, and will get 
876         cleaned up when the last referring Length is destructed.
877
878         * WebCore.exp.in:
879         * css/CSSCalculationValue.cpp:
880         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
881         (CSSCalcPrimitiveValue):
882         (WebCore::CSSCalcBinaryOperation::toCalcValue):
883         (CSSCalcBinaryOperation):
884         * css/CSSCalculationValue.h:
885         (WebCore):
886         (CSSCalcExpressionNode):
887         (CSSCalcValue):
888         (WebCore::CSSCalcValue::toCalcValue):
889         * css/CSSPrimitiveValue.cpp:
890         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
891         * css/CSSStyleApplyProperty.cpp:
892         (WebCore::ApplyPropertyLength::applyValue):
893         * css/CSSStyleSelector.cpp:
894         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
895         * css/CSSStyleSelector.h:
896         (CSSStyleSelector):
897         * platform/CalculationValue.cpp:
898         (WebCore::CalcExpressionBinaryOperation::evaluate):
899         (WebCore):
900         (WebCore::CalculationValue::create):
901         (WebCore::CalculationValue::evaluate):
902         * platform/CalculationValue.h:
903         (CalcExpressionNode):
904         (WebCore::CalcExpressionNode::~CalcExpressionNode):
905         (WebCore):
906         (CalculationValue):
907         (WebCore::CalculationValue::CalculationValue):
908         (CalcExpressionNumber):
909         (WebCore::CalcExpressionNumber::CalcExpressionNumber):
910         (WebCore::CalcExpressionNumber::evaluate):
911         (CalcExpressionLength):
912         (WebCore::CalcExpressionLength::CalcExpressionLength):
913         (WebCore::CalcExpressionLength::evaluate):
914         (CalcExpressionBinaryOperation):
915         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
916         * platform/Length.cpp:
917         (WebCore):
918         (WebCore::Length::~Length):
919         (CalculationValueHandleMap):
920         (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
921         (WebCore::CalculationValueHandleMap::insert):
922         (WebCore::CalculationValueHandleMap::remove):
923         (WebCore::CalculationValueHandleMap::get):
924         (WebCore::calcHandles):
925         (WebCore::Length::Length):
926         (WebCore::Length::calculationValue):
927         (WebCore::Length::calculatedValue):
928         (WebCore::Length::calculatedMinValue):
929         (WebCore::Length::calculatedFloatValue):
930         (WebCore::Length::incrementCalculatedRef):
931         (WebCore::Length::decrementCalculatedRef):
932         (WebCore::Length::nonNanCalculatedValue):
933         * platform/Length.h:
934         (Length):
935         (WebCore::Length::Length):
936         (WebCore::Length::operator=):
937         (WebCore::Length::operator*=):
938         (WebCore::Length::value):
939         (WebCore::Length::setValue):
940         (WebCore::Length::calcValue):
941         (WebCore::Length::calcMinValue):
942         (WebCore::Length::calcFloatValue):
943         (WebCore::Length::isZero):
944         (WebCore::Length::isPositive):
945         (WebCore::Length::isNegative):
946         (WebCore::Length::isPercent):
947         (WebCore::Length::isSpecified):
948         (WebCore::Length::isCalculated):
949         (WebCore::Length::initFromLength):
950         (WebCore::Length::calculationHandle):
951
952 2012-03-07  Emil A Eklund  <eae@chromium.org>
953
954         Change remaining scroll methods to integers
955         https://bugs.webkit.org/show_bug.cgi?id=80539
956
957         Reviewed by Eric Seidel.
958
959         No new tests, no new functionality.
960
961         * rendering/RenderLayer.cpp:
962         (WebCore::RenderLayer::scrollByRecursively):
963         (WebCore::RenderLayer::scrollToOffset):
964         (WebCore::RenderLayer::scrollRectToVisible):
965         (WebCore::RenderLayer::scrollToXOffset):
966         (WebCore::RenderLayer::scrollToYOffset):
967         Change scrollTo methods to take integer x and y values as the actual
968         scrolling is done in increments of full pixels.
969         
970         (WebCore::cornerStart):
971         (WebCore::RenderLayer::scrollWidth):
972         (WebCore::RenderLayer::scrollHeight):
973         Change scrollWidth/Height to return pixel snapped values and remove
974         pixelSnapped versions of same as all callers either used snapped the
975         values or used the pixelSnapped versions of these methods.
976
977         * rendering/RenderListBox.cpp:
978         (WebCore::RenderListBox::scrollWidth):
979         Change scrollWidth to return snapped client width.
980         
981         * rendering/RenderListBox.h:
982         Change scrollSize, scrollPosition and setScrollOffset methods to use
983         integers in accordance with the interface defined by ScrollableArea.
984         
985         * rendering/RenderTreeAsText.cpp:
986         (WebCore::write):
987
988 2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
989
990         Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
991         https://bugs.webkit.org/show_bug.cgi?id=80541
992
993         Reviewed by Ryosuke Niwa.
994
995         DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
996         ElementAttributeData. The difference between them is that Element methods can early
997         return if there's no attribute storage.
998
999         * dom/Element.cpp:
1000         (WebCore::Element::getAttributeNode):
1001         Removed the manual lowercasing letting our existing mechanism in
1002         ElementAttributeData::getAttributeItemIndex() take care of it. I considered that
1003         this could be an optimization, but testing a few Dromaeo tests (dom-attr,
1004         jslib-attr-jquery, jslib-attr-prototype) the difference isn't significant. It
1005         shouldn't affect correctness either.
1006
1007         (WebCore::Element::getAttributeNodeNS):
1008         * dom/ElementAttributeData.cpp:
1009         * dom/ElementAttributeData.h:
1010         (ElementAttributeData):
1011         (WebCore::ElementAttributeData::getAttributeNode):
1012         (WebCore):
1013         * dom/NamedNodeMap.cpp:
1014         (WebCore::NamedNodeMap::getNamedItem):
1015         (WebCore::NamedNodeMap::getNamedItemNS):
1016         * dom/NamedNodeMap.h:
1017         (NamedNodeMap):
1018
1019 2012-03-07  James Robinson  <jamesr@chromium.org>
1020
1021         [chromium] Support printing WebGL content in threaded compositor
1022         https://bugs.webkit.org/show_bug.cgi?id=80464
1023
1024         Reviewed by Kenneth Russell.
1025
1026         Do the readback on the WebGL context instead of the compositor's context since we cannot use the latter from the
1027         main thread. Since we're on the WebGL context, we have to be careful to restore any state we change.
1028
1029         Tested printing manually with threaded compositing enabled.
1030
1031         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1032         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
1033         * platform/graphics/chromium/WebGLLayerChromium.h:
1034         (WebGLLayerChromium):
1035
1036 2012-03-07  Adam Barth  <abarth@webkit.org>
1037
1038         Remove #define private public from WebCache.cpp
1039         https://bugs.webkit.org/show_bug.cgi?id=80520
1040
1041         Reviewed by Eric Seidel.
1042
1043         Add some accessors for state used by WebCache.cpp.
1044
1045         * loader/cache/MemoryCache.h:
1046         (WebCore::MemoryCache::minDeadCapacity):
1047         (WebCore::MemoryCache::maxDeadCapacity):
1048         (WebCore::MemoryCache::capacity):
1049         (WebCore::MemoryCache::liveSize):
1050         (WebCore::MemoryCache::deadSize):
1051         (MemoryCache):
1052
1053 2012-03-07  Kentaro Hara  <haraken@chromium.org>
1054
1055         [V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild,
1056         Element.previousElementSibling, Element.nextElementSibling, Node.parentElement
1057         https://bugs.webkit.org/show_bug.cgi?id=80506
1058
1059         Reviewed by Adam Barth.
1060
1061         This patch improves the performance of Element.firstElementChild by 5.8 times,
1062         Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
1063         Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.
1064
1065         Previously, while toV8(Node*) caches a wrapper object on a node object
1066         (i.e. node->wrapper(), node->setWrapper()), toV8(Element*) does not
1067         cache a wrapper object.
1068
1069         This patch removes toV8(Element*), so that DOM attribute getters that return
1070         Element* use toV8(Node*). This change makes these DOM attribute getters
1071         cache the wrapper object on a node object. This optimization is already
1072         implemented in JavaScriptCore.
1073
1074         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594
1075
1076         The test results in my local Mac environment are as follows:
1077
1078         AppleWebKit/JavaScriptCore:
1079         div.firstElementChild : 1162ms
1080         div.lastElementChild : 1016ms
1081         div.previousElementSibling : 918ms
1082         div.nextElementSibling : 900ms
1083         div.parentElement : 901ms
1084
1085         Chromium/V8 (without this patch):
1086         div.firstElementChild : 9515ms
1087         div.lastElementChild : 9449ms
1088         div.previousElementSibling : 9254ms
1089         div.nextElementSibling : 9315ms
1090         div.parentElement : 9380ms
1091
1092         Chromium/V8 (with this patch):
1093         div.firstElementChild : 1628ms
1094         div.lastElementChild : 1527ms
1095         div.previousElementSibling : 1310ms
1096         div.nextElementSibling : 1310ms
1097         div.parentElement : 1410ms
1098
1099         No tests. No change in behavior.
1100
1101         * dom/Element.idl: Removed toV8(Element*)
1102         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
1103         (WebCore::toV8Slow):
1104         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1105         (GenerateHeader):
1106
1107         * bindings/v8/custom/V8ElementCustom.cpp: Removed.
1108         * Target.pri: Removed V8ElementCustom.cpp.
1109         * UseV8.cmake: Ditto.
1110         * WebCore.gypi: Ditto.
1111
1112 2012-03-07  Joshua Bell  <jsbell@chromium.org>
1113
1114         [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
1115         https://bugs.webkit.org/show_bug.cgi?id=80358
1116
1117         Cache a re-usable context (per isolate) for cases like IDB's key/SSV extraction/injection,
1118         where no user script is run. This yields a 3x-4x performance improvement in basic IDB
1119         operations.
1120
1121         Reviewed by Tony Chang.
1122
1123         No new tests - no behavior changes.
1124
1125         * bindings/v8/IDBBindingUtilities.cpp:
1126         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1127         (WebCore::injectIDBKeyIntoSerializedValue):
1128         * bindings/v8/V8Binding.h:
1129         (WebCore::V8BindingPerIsolateData::auxiliaryContext):
1130         (V8BindingPerIsolateData):
1131         * bindings/v8/V8Utilities.cpp:
1132         (WebCore::V8AuxiliaryContext::V8AuxiliaryContext):
1133         (WebCore::V8AuxiliaryContext::~V8AuxiliaryContext):
1134         (WebCore::V8AuxiliaryContext::auxiliaryContext):
1135         * bindings/v8/V8Utilities.h:
1136         (V8AuxiliaryContext):
1137
1138 2012-03-07  Nat Duca  <nduca@chromium.org>
1139
1140         [chromium] Remove unused wasRecreate variable
1141         https://bugs.webkit.org/show_bug.cgi?id=80533
1142
1143         Reviewed by Adrienne Walker.
1144
1145         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1146         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1147
1148 2012-03-07  Ryan Sleevi  <rsleevi@chromium.org>
1149
1150         [chromium] Update GYP files to reflect file deletes/renames
1151         https://bugs.webkit.org/show_bug.cgi?id=80525
1152
1153         Reviewed by Ryosuke Niwa.
1154
1155         No change in functionality, so no tests.
1156
1157         * WebCore.gypi:
1158         Updated AppleMac private headers due to r109877
1159         Updated platform/qt references due to r109542
1160         Updated platform/mac references due to r109147
1161         Updated platform/mac references due to r108956
1162
1163 2012-03-07  Eric Carlson  <eric.carlson@apple.com>
1164
1165         Html5 video element Useragent string is Quicktime
1166         https://bugs.webkit.org/show_bug.cgi?id=46241
1167
1168         Reviewed by Daniel Bates.
1169
1170         Test: http/tests/media/video-useragent.html
1171
1172         * html/HTMLMediaElement.cpp:
1173         (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
1174         * html/HTMLMediaElement.h:
1175
1176         * platform/graphics/MediaPlayer.cpp:
1177         (WebCore::MediaPlayer::userAgent):  New, return the client's mediaPlayerUserAgent.
1178         * platform/graphics/MediaPlayer.h:
1179         (WebCore::MediaPlayerClient::mediaPlayerUserAgent):
1180
1181         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1182         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
1183             the UA header.
1184
1185 2012-03-07  Scott Byer  <scottbyer@chromium.org>
1186
1187         Get ScrollAnimatorNone to handle the stop and reverse cases.
1188         https://bugs.webkit.org/show_bug.cgi?id=80455
1189
1190         Reviewed by James Robinson.
1191
1192         Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
1193         ScrollAnimatorNoneTest.ReverseInMiddle.
1194
1195         * platform/ScrollAnimatorNone.cpp:
1196         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1197
1198 2012-03-07  Yong Li  <yoli@rim.com>
1199
1200         RenderImage ignores its percent width/height when setContainerSizeForRenderer
1201         https://bugs.webkit.org/show_bug.cgi?id=80431
1202
1203         Reviewed by George Staikos.
1204
1205         Not only respect fixed width/height explicitly specified in img element, but also
1206         respect percent width/height when determining container size for images.
1207
1208         No new tests because there is no functional change but only internal buffer sizes.
1209
1210         * rendering/RenderImage.cpp:
1211         (WebCore::RenderImage::computeReplacedLogicalWidth):
1212
1213 2012-03-06  Benjamin Poulain  <bpoulain@apple.com>
1214
1215         [Mac] Update the configuration files for iOS
1216         https://bugs.webkit.org/show_bug.cgi?id=80435
1217
1218         Reviewed by David Kilzer.
1219
1220         * Configurations/WebCore.xcconfig:
1221
1222 2012-03-07  Dana Jansens  <danakj@chromium.org>
1223
1224         [chromium] Cull occluded tiles during paint
1225         https://bugs.webkit.org/show_bug.cgi?id=76838
1226
1227         Reviewed by Adrienne Walker.
1228
1229         Using CCOcclusionTracker instead of the old custom paint occlusion
1230         tracking. Stops painting tiles when the tile is not visible.
1231
1232         CCOcclusionTracker only uses Layer::opaque() for determining
1233         occlusion so far. The Layer::addSelfToOccludedRegion is being
1234         replaced by a superior method in CCOcclusionTracker that will
1235         work for both threads, so removing that support here.
1236
1237         Unit test: TiledLayerChromiumTest.cpp
1238
1239         * platform/graphics/chromium/ContentLayerChromium.cpp:
1240         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1241         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1242         * platform/graphics/chromium/ContentLayerChromium.h:
1243         (ContentLayerChromium):
1244         * platform/graphics/chromium/ImageLayerChromium.cpp:
1245         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1246         * platform/graphics/chromium/LayerChromium.cpp:
1247         * platform/graphics/chromium/LayerChromium.h:
1248         (WebCore::LayerChromium::idlePaintContentsIfDirty):
1249         (LayerChromium):
1250         * platform/graphics/chromium/TiledLayerChromium.cpp:
1251         (WebCore):
1252         (WebCore::contentToLayerTransform):
1253         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1254         (WebCore::TiledLayerChromium::prepareToUpdate):
1255         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1256         * platform/graphics/chromium/TiledLayerChromium.h:
1257         (TiledLayerChromium):
1258         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1259         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1260         (WebCore::CCLayerTreeHost::paintLayerContents):
1261
1262 2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1263
1264         Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
1265         https://bugs.webkit.org/show_bug.cgi?id=80522
1266
1267         Reviewed by Andreas Kling.
1268
1269         DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
1270         ElementAttributeData. A helper function takeAttribute() was added to increase
1271         code sharing. Also removed some unneeded methods.
1272
1273         * dom/Element.cpp:
1274         (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
1275         (WebCore::Element::removeAttributeNode): Get the index manually and use new
1276         takeAttribute() directly.
1277         * dom/Element.h:
1278         (Element): Remove unused removeAttribute(unsigned index).
1279         * dom/ElementAttributeData.cpp:
1280         (WebCore::ElementAttributeData::takeAttribute): Like removeAttribute() but
1281         returns a reference to old Attr.
1282         (WebCore):
1283         * dom/ElementAttributeData.h:
1284         (ElementAttributeData):
1285         * dom/NamedNodeMap.cpp:
1286         (WebCore::NamedNodeMap::removeNamedItem): Avoid looking up the property twice by
1287         getting the index directly from the name, instead of going through the qualified name.
1288         * dom/NamedNodeMap.h: Remove now unused internal methods for removing attributes.
1289
1290 2012-03-07  Alexey Proskuryakov  <ap@apple.com>
1291
1292         Merge AsyncFileStream with FileStreamProxy
1293         https://bugs.webkit.org/show_bug.cgi?id=80325
1294
1295         Build fix.
1296
1297         * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
1298         with a merge.
1299
1300 2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
1301
1302         Unreviewed ASSERT failure fix.
1303         https://bugs.webkit.org/show_bug.cgi?id=75568
1304
1305         * rendering/RenderBoxModelObject.cpp:
1306         (WebCore::RenderBoxModelObject::styleDidChange):
1307         Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
1308         our layer.
1309
1310 2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
1311
1312         [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
1313         https://bugs.webkit.org/show_bug.cgi?id=80511
1314
1315         Reviewed by Gustavo Noronha Silva.
1316
1317         Added 'const' keyword in front of argument of keyIdentifiersForEvasKeyName/windowsKeyCodeForEvasKeyName.
1318         Since they should not be changed while processing each function.
1319         And initialized missing member variables of PlatformKeyboardEventEfl.
1320
1321         No new tests, since no new feature.
1322
1323         * platform/efl/EflKeyboardUtilities.cpp:
1324         (WebCore::keyIdentifierForEvasKeyName): Added const keyword
1325         (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
1326         * platform/efl/EflKeyboardUtilities.h:
1327         (WebCore):
1328         * platform/efl/PlatformKeyboardEventEfl.cpp:
1329         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1330
1331 2012-03-07  Hironori Bono  <hbono@chromium.org>
1332
1333         [Chromium] Mirror the resizer image of an RTL element when WTF_USE_RTL_SCROLLBAR is 1
1334         https://bugs.webkit.org/show_bug.cgi?id=9223
1335
1336         Reviewed by Tony Chang.
1337
1338         This change mirrors a resizer image of an RTL element horizontall as Firefox
1339         does. This change also mirrors its dragging behavior, i.e. draging the resizer
1340         of an RTL element to the left side increases its width. (This feature is enabled
1341         only when WTF_USE_RTL_SCROLLBAR is 1.)
1342
1343         Test: platform/chromium/scrollbars/drag-rtl-resizer.html
1344
1345         * rendering/RenderLayer.cpp:
1346         (WebCore::RenderLayer::resize): Mirrored the x coordinate of mouse positions
1347         when mirroring a resizer.
1348         (WebCore::RenderLayer::offsetFromResizeCorner): Returned the offset from the
1349         bottom-left corner when rendering a resizer there.
1350         (WebCore::RenderLayer::drawPlatformResizerImage): Mirrored the resizer bitmap
1351         horizontally when rendering a resizer to the bottom-left corner.
1352
1353 2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
1354
1355         Lazily allocate overflow: hidden layers if we have overflowing content
1356         https://bugs.webkit.org/show_bug.cgi?id=75568
1357
1358         Reviewed by David Hyatt.
1359
1360         Change covered by the existing tests and the tons of rebaselines.
1361
1362         This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
1363
1364         Apart from saving some memory, it will also speed up the rendering as we don't need to
1365         go through the layer's machinery when painting and hit testing.
1366
1367         On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
1368         overflow: hidden case in par with the overflow: visible case when scrolling that is a
1369         very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
1370
1371         * rendering/RenderBlock.cpp:
1372         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
1373         Changed this method to update our size cache if needed.
1374
1375         * rendering/RenderBlock.cpp:
1376         (WebCore::RenderBlock::layoutBlock):
1377         (WebCore::RenderBlock::paint):
1378         (WebCore::RenderBlock::isPointInOverflowControl):
1379         * rendering/RenderBlock.h:
1380         (RenderBlock):
1381         * rendering/RenderBox.cpp:
1382         (WebCore::RenderBox::willBeDestroyed):
1383         (WebCore::RenderBox::styleDidChange):
1384         (WebCore::RenderBox::layout):
1385         (WebCore::RenderBox::scrollWidth):
1386         (WebCore::RenderBox::scrollHeight):
1387         (WebCore::RenderBox::scrollLeft):
1388         (WebCore::RenderBox::scrollTop):
1389         (WebCore::RenderBox::setScrollLeft):
1390         (WebCore::RenderBox::setScrollTop):
1391         (WebCore::RenderBox::includeVerticalScrollbarSize):
1392         (WebCore::RenderBox::includeHorizontalScrollbarSize):
1393         (WebCore::RenderBox::scrolledContentOffset):
1394         (WebCore::RenderBox::pushContentsClip):
1395         (WebCore::RenderBox::popContentsClip):
1396         (WebCore::RenderBox::addLayoutOverflow):
1397         Added layer() check to the previous call sites.
1398
1399         (WebCore::cachedSizeForOverflowClipMap):
1400         (WebCore::RenderBox::cachedSizeForOverflowClip):
1401         (WebCore::RenderBox::updateCachedSizeForOverflowClip):
1402         (WebCore::RenderBox::clearCachedSizeForOverflowClip):
1403         This logic stores the size information for later repainting.
1404         It is in practice replicating what RenderLayer is doing.
1405         I had to disable an ASSERT here as it would trigger in NRWT but
1406         not under DRT. I haven't found by code inspection what was wrong.
1407
1408         * rendering/RenderBox.h:
1409         (WebCore::RenderBox::hasOverflowClipWithLayer):
1410         Helper function.
1411
1412         (WebCore::RenderBox::requiresLayerForOverflowClip):
1413         This determines if we can survive without a RenderLayer. For the moment,
1414         it is very conservative.
1415
1416         (WebCore::RenderBox::requiresLayer):
1417         Updated to call requiresLayerForOverflowClip.
1418
1419         * rendering/RenderBoxModelObject.cpp:
1420         (WebCore::RenderBoxModelObject::ensureLayer):
1421         Added this function to create and add a new layer.
1422
1423         (WebCore::RenderBoxModelObject::willBeDestroyed):
1424         (WebCore::RenderBoxModelObject::styleDidChange):
1425         Patched those method to handle updating / removing
1426         cached size entries.
1427
1428         * rendering/RenderBoxModelObject.h:
1429         (WebCore::RenderBoxModelObject::requiresLayer):
1430         Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
1431         overflow clips.
1432
1433         * rendering/RenderTableRow.h:
1434         (WebCore::RenderTableRow::requiresLayer):
1435         Added a comment about why we need a layout for table rows.
1436
1437         * rendering/RenderDeprecatedFlexibleBox.cpp:
1438         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1439         * rendering/RenderFlexibleBox.cpp:
1440         (WebCore::RenderFlexibleBox::layoutBlock):
1441         * rendering/RenderTableSection.cpp:
1442         (WebCore::RenderTableSection::layout):
1443         Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
1444         or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
1445         not tight proof and would need to be rethought to not avoid cases.
1446
1447 2012-03-07  Konrad Piascik  <kpiascik@rim.com>
1448
1449         [BlackBerry] Fix warnings in CookieMap
1450         https://bugs.webkit.org/show_bug.cgi?id=80512
1451
1452         Reviewed by Rob Buis.
1453
1454         No new tests. No behavioural changes.
1455
1456         * platform/blackberry/CookieMap.cpp:
1457         (WebCore::CookieMap::addOrReplaceCookie):
1458         (WebCore::CookieMap::removeCookie):
1459         (WebCore::CookieMap::getAllCookies):
1460         (WebCore::CookieMap::updateOldestCookie):
1461
1462 2012-03-07  Levi Weintraub  <leviw@chromium.org>
1463
1464         Update usage of LayoutUnits in InlineBox and InlineFlowBox
1465         https://bugs.webkit.org/show_bug.cgi?id=80051
1466
1467         Reviewed by Eric Seidel.
1468
1469         Updating LayoutUnit vs Integer usage in InlineBox and InlineFlowBox. While the
1470         line box tree remains floating point, margins are now subpixel, and rects from
1471         the render tree use LayoutUnits. For more information, see the LayoutUnit wiki
1472         page: https://trac.webkit.org/wiki/LayoutUnit
1473
1474         No new tests. No change in behavior.
1475
1476         * rendering/InlineBox.cpp:
1477         (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
1478         * rendering/InlineBox.h:
1479         (InlineBox):
1480         * rendering/InlineFlowBox.cpp:
1481         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): Returning a LayoutUnit
1482         instead of an integer, as it uses margin which is a LayoutUnit.
1483         (WebCore::InlineFlowBox::placeBoxesInInlineDirection): Using a LayoutUnit for
1484         margin.
1485         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Build fixes for when
1486         LayoutUnits are subpixel.
1487         (WebCore::InlineFlowBox::paintFillLayer): Ditto.
1488         * rendering/InlineFlowBox.h:
1489         (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft): Returning a LayoutUnit
1490         instead of an integer since margin is a LayoutUnit.
1491         (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight): Ditto.
1492         (InlineFlowBox):
1493         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): Adding a static_cast that's
1494         redundant now, but required when we switch to subpixel LayoutUnits.
1495         (WebCore::InlineFlowBox::logicalRightLayoutOverflow): Ditto.
1496         (WebCore::InlineFlowBox::logicalLeftVisualOverflow): Ditto.
1497         (WebCore::InlineFlowBox::logicalRightVisualOverflow): Ditto.
1498
1499 2012-03-07  Qi Zhang  <qi.2.zhang@nokia.com>
1500
1501         [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
1502         https://bugs.webkit.org/show_bug.cgi?id=80516
1503
1504         Reviewed by Csaba Osztrogonác.
1505
1506         Missed some files related to websocket, take them in.
1507
1508         * Target.pri:
1509
1510 2012-03-05  Alexey Proskuryakov  <ap@apple.com>
1511
1512         Merge AsyncFileStream with FileStreamProxy
1513         https://bugs.webkit.org/show_bug.cgi?id=80325
1514
1515         Reviewed by Filip Pizlo.
1516
1517         AsyncFileStream sounds like a platform concept, but the implementation is web specific.
1518         Better to just keep it in one place.
1519
1520         This is a step toward decoupling blob scheme support from ResourceHandle, which is supposed
1521         to be an interface to platform networking APIs only, and definitely shouldn't know about
1522         Web concepts.
1523
1524         No change in functionality, so no tests.
1525
1526         * CMakeLists.txt:
1527         * GNUmakefile.list.am:
1528         * Target.pri:
1529         * WebCore.gypi:
1530         * WebCore.vcproj/WebCore.vcproj:
1531         * WebCore.xcodeproj/project.pbxproj:
1532         Updated for moved and removed files. Namely, platform/AsyncFileStream is dead, and
1533         fileapi/FileStreamProxy is now fileapi/AsyncFileStream.
1534
1535         * fileapi/AsyncFileStream.cpp: Copied from Source/WebCore/fileapi/FileStreamProxy.cpp.
1536         (WebCore::AsyncFileStream::AsyncFileStream):
1537         (WebCore::AsyncFileStream::create):
1538         (WebCore::AsyncFileStream::~AsyncFileStream):
1539         (WebCore::AsyncFileStream::fileThread):
1540         (WebCore::didStart):
1541         (WebCore::AsyncFileStream::startOnFileThread):
1542         (WebCore::AsyncFileStream::stop):
1543         (WebCore::derefProxyOnContext):
1544         (WebCore::AsyncFileStream::stopOnFileThread):
1545         (WebCore::didGetSize):
1546         (WebCore::AsyncFileStream::getSize):
1547         (WebCore::AsyncFileStream::getSizeOnFileThread):
1548         (WebCore::didOpen):
1549         (WebCore::AsyncFileStream::openForRead):
1550         (WebCore::AsyncFileStream::openForReadOnFileThread):
1551         (WebCore::AsyncFileStream::openForWrite):
1552         (WebCore::AsyncFileStream::openForWriteOnFileThread):
1553         (WebCore::AsyncFileStream::close):
1554         (WebCore::AsyncFileStream::closeOnFileThread):
1555         (WebCore::didRead):
1556         (WebCore::AsyncFileStream::read):
1557         (WebCore::AsyncFileStream::readOnFileThread):
1558         (WebCore::didWrite):
1559         (WebCore::AsyncFileStream::write):
1560         (WebCore::AsyncFileStream::writeOnFileThread):
1561         (WebCore::didTruncate):
1562         (WebCore::AsyncFileStream::truncate):
1563         (WebCore::AsyncFileStream::truncateOnFileThread):
1564         * fileapi/AsyncFileStream.h: Copied from Source/WebCore/fileapi/FileStreamProxy.h.
1565         (WebCore):
1566         (AsyncFileStream):
1567         (WebCore::AsyncFileStream::client):
1568         (WebCore::AsyncFileStream::setClient):
1569         * fileapi/FileStreamProxy.cpp: Removed.
1570         * fileapi/FileStreamProxy.h: Removed.
1571         * loader/ResourceLoader.cpp:
1572         (WebCore::ResourceLoader::createAsyncFileStream):
1573         * platform/AsyncFileStream.h: Removed.
1574         Fewer files!
1575
1576         * platform/network/BlobRegistry.h: Removed createResourceHandle(). It's logically a method
1577         on in-process BlobRegistryImpl only, and we no longer need to call this from platform code.
1578
1579         * platform/network/BlobRegistryImpl.cpp:
1580         (WebCore::createResourceHandle):
1581         (WebCore::registerBlobResourceHandleConstructor):
1582         (WebCore::BlobRegistryImpl::registerBlobURL):
1583         * platform/network/BlobRegistryImpl.h:
1584         Except for chromium, "blob" is a scheme that's handled internally. Added hooks for that.
1585
1586         * platform/network/ResourceHandle.cpp:
1587         (WebCore::builtinResourceHandleConstructorMap):
1588         (WebCore::ResourceHandle::registerBuiltinConstructor):
1589         (WebCore::ResourceHandle::create):
1590         * platform/network/ResourceHandle.h:
1591         Added a way for other code to register handlers for URL schemes. Non-Chromium platforms
1592         use this for blob: now.
1593
1594 2012-03-07  Dan Bernstein  <mitz@apple.com>
1595
1596         <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
1597         https://bugs.webkit.org/show_bug.cgi?id=80494
1598
1599         Reviewed by Sam Weinig.
1600
1601         Test: fast/dom/HTMLDocument/width-and-height.html
1602
1603         * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
1604         in the JavaScript bindings.
1605
1606 2012-03-07  Philippe Normand  <pnormand@igalia.com>
1607
1608         [GTK] media/audio-garbage-collect.html is flaky
1609         https://bugs.webkit.org/show_bug.cgi?id=72698
1610
1611         Reviewed by Xan Lopez.
1612
1613         Call ::hasPendingActivity() instead of ::paused() when checking if
1614         the audio element is still active. This is similar to what the
1615         image element (another ActiveDOMObject implementation) does just
1616         above. This contributes to fixing the audio-garbage-collect.html
1617         test.
1618
1619         * bindings/js/JSNodeCustom.cpp:
1620         (WebCore::isReachableFromDOM):
1621
1622 2012-03-07  Adele Peterson  <adele@apple.com>
1623
1624         REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
1625         https://bugs.webkit.org/show_bug.cgi?id=80458
1626         <rdar://problem/10873195>
1627
1628         Reviewed by Dan Bernstein.
1629
1630         No tests because we currently don't have any test machinery for cursors.
1631
1632         Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
1633         Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.
1634
1635         * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
1636
1637 2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
1638
1639         [EFL] Key press event is not processed properly.
1640         https://bugs.webkit.org/show_bug.cgi?id=80491
1641
1642         Reviewed by Gustavo Noronha Silva.
1643
1644         This issue is related with mutation observer feature.
1645         If enter key is pressed, then a keyboard event should be processed
1646         and reach to the mutation observer, but it doesn't.
1647         Some special keys like Enter, Backspace and Tab key should be processed
1648         and change to a single character code, but EFL port hasn't handled like that.
1649
1650         At least we can verify this with following two tests as I know. but they require another
1651         functionality for bug79601. I'm going to submit the patch for it after this one.
1652
1653         Test: fast/mutation/end-of-task-delivery.html
1654               fast/mutation/inline-event-listener.html
1655
1656         * platform/efl/EflKeyboardUtilities.cpp:
1657         (WebCore::singleCharacterString):
1658         (WebCore):
1659         * platform/efl/EflKeyboardUtilities.h:
1660         (WebCore):
1661         * platform/efl/PlatformKeyboardEventEfl.cpp:
1662         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1663
1664 2012-03-07  Gavin Peters  <gavinp@chromium.org>
1665
1666         Add Histograms for reporting on PageCache reject reasons
1667         https://bugs.webkit.org/show_bug.cgi?id=80187
1668
1669         Enhance the PageCache debug mode so that it uses Histograms to
1670         report on causes of failure.  Turn on the debug printing path
1671         even in non-debug Chromium builds, so these histograms will
1672         update.
1673
1674         Reviewed by Brady Eidson.
1675
1676         No new tests, does not change behaviour.
1677
1678         * history/PageCache.cpp:
1679         (WebCore):
1680         (WebCore::logCanCacheFrameDecision):
1681         (WebCore::logCanCachePageDecision):
1682         (WebCore::PageCache::canCache):
1683
1684 2012-03-07  Elliot Poger  <epoger@google.com>
1685
1686         [Chromium] Remove use_skia option from GYP
1687         https://bugs.webkit.org/show_bug.cgi?id=75811
1688
1689         Reviewed by Tony Chang.
1690
1691         * WebCore.gyp/WebCore.gyp:
1692
1693 2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
1694
1695         [Forms] Introduce LabelableElement to share "labels" attribute implementation
1696         https://bugs.webkit.org/show_bug.cgi?id=80392
1697
1698         Reviewed by Kent Tamura.
1699
1700         This patch introduces new class LabelableElement as base class of
1701         HTMLFormControlElement for sharing implementation of "labels" 
1702         attribute among form-associate elements, "meter" element, and 
1703         "progress" element.
1704
1705         This patch allows us to change base class of HTMLMeterElement and
1706         HTMLProgressElement dervied from HTMLFormControlElement to 
1707         HTMLElement for remove them from HTMLFormElement::m_associatedFormElements
1708         where we don't need to put "meter" and "progress" elements(bug 80381.)
1709
1710         This patch also changes implementation of isLabelable using virtual
1711         method rather than sequence of hasTagName for execution speed and
1712         better readability.
1713
1714         No new tests are required. No behavior changes.
1715
1716         * CMakeLists.txt: Add LabelableElement.cpp and .h
1717         * GNUmakefile.list.am:  Add LabelableElement.cpp and .h
1718         * Target.pri: Add LabelableElement.cpp and .h
1719         * WebCore.gypi: Add LabelableElement.cpp and .h
1720         * WebCore.vcproj/WebCore.vcproj: Add LabelableElement.cpp and .h
1721         * WebCore.xcodeproj/project.pbxproj: Add LabelableElement.cpp and .h
1722         * html/HTMLButtonElement.h: Implement isLabelable.
1723         * html/HTMLFormControlElement.cpp:
1724         (WebCore::HTMLFormControlElement::HTMLFormControlElement): Change direct base class.
1725         * html/HTMLFormControlElement.h:
1726         (HTMLFormControlElement): Change direct base class.
1727         * html/HTMLInputElement.cpp:
1728         (WebCore::HTMLInputElement::isLabelable): Removed to use virtual method instead of hasTagName.
1729         (WebCore):
1730         * html/HTMLInputElement.h: Declaration of isLabelable.
1731         * html/HTMLKeygenElement.h: Implement isLabelable.
1732         * html/HTMLMeterElement.h: Implement isLabelable.
1733         * html/HTMLProgressElement.h: Implement isLabelable.
1734         * html/HTMLSelectElement.h: Implement isLabelable.
1735         * html/HTMLTextAreaElement.h: Implement isLabelable.
1736         * html/LabelableElement.cpp: Added.
1737         (WebCore):
1738         (WebCore::LabelableElement::LabelableElement):
1739         (WebCore::LabelableElement::~LabelableElement):
1740         (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
1741         * html/LabelableElement.h: Added.
1742         (WebCore):
1743         (LabelableElement):
1744
1745 2012-03-07  Arun Patole  <bmf834@motorola.com>
1746
1747         HTMLTrackElement.idl doesn't have default attribute.
1748         https://bugs.webkit.org/show_bug.cgi?id=80116
1749
1750         Reviewed by Kentaro Hara.
1751
1752         Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
1753         * html/HTMLTrackElement.idl:
1754
1755 2012-03-07  Zoltan Horvath  <zoltan@webkit.org>
1756
1757         [Qt] Add qmake config tests for JPEG and PNG library
1758         https://bugs.webkit.org/show_bug.cgi?id=80398
1759
1760         Reviewed by Tor Arne Vestbø.
1761
1762         Add JPEG and PNG library tests to config.tests and
1763         add error() abort to WebCore.pri if tests don't work.
1764
1765         * WebCore.pri:
1766
1767 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
1768
1769         Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
1770         https://bugs.webkit.org/show_bug.cgi?id=80412
1771
1772         Reviewed by Vsevolod Vlasov.
1773
1774         * WebCore.gypi:
1775         * WebCore.vcproj/WebCore.vcproj:
1776         * inspector/compile-front-end.sh:
1777         * inspector/front-end/ScriptMapping.js:
1778         (WebInspector.ScriptMappingImpl):
1779         (WebInspector.ScriptMappingImpl.prototype.rawLocationToUILocation):
1780         (WebInspector.ScriptMappingImpl.prototype.createLiveLocation):
1781         (WebInspector.ScriptMappingImpl.prototype.uiSourceCodeList):
1782         (WebInspector.ScriptMappingImpl.prototype._handleUISourceCodeListChanged):
1783         (WebInspector.ScriptMappingImpl.prototype._uiSourceCodeListChanged):
1784         (WebInspector.ScriptMappingImpl.prototype._bindScriptToRawSourceCode):
1785         (WebInspector.ScriptMappingImpl.prototype.setFormatSource):
1786         (WebInspector.ScriptMappingImpl.prototype.forceUpdateSourceMapping):
1787         (WebInspector.ScriptMappingImpl.prototype.reset):
1788
1789 2012-03-07  Mark Rowe  <mrowe@apple.com>
1790
1791         Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.
1792
1793         We can't assume that wtf/Platform.h can be found inside BUILT_PRODUCTS_DIR as
1794         that won't be the case if WTF and WebCore are building in to different build
1795         directories. We should instead look for wtf/Platform.h in the header search path.
1796         
1797         Unreviewed due to being a build fix.
1798
1799         * DerivedSources.make: Set up the header search path, and invoke the compiler in
1800         such a manner that it looks for wtf/Platform.h in that search path.
1801
1802 2012-03-07  Robin Cao  <robin.cao@torchmobile.com.cn>
1803
1804         [BlackBerry] Upstream Texture and TextureCache
1805         https://bugs.webkit.org/show_bug.cgi?id=80121
1806
1807         Reviewed by Rob Buis.
1808
1809         Initial upstream, no new tests.
1810
1811         * platform/graphics/blackberry/Texture.cpp: Added.
1812         (WebCore):
1813         (WebCore::copyImageData):
1814         (WebCore::Texture::Texture):
1815         (WebCore::Texture::~Texture):
1816         (WebCore::Texture::updateContents):
1817         (WebCore::Texture::setContentsToColor):
1818         (WebCore::Texture::protect):
1819         * platform/graphics/blackberry/Texture.h: Added.
1820         (WebCore):
1821         (Texture):
1822         (WebCore::Texture::create):
1823         (WebCore::Texture::textureId):
1824         (WebCore::Texture::isDirty):
1825         (WebCore::Texture::hasTexture):
1826         (WebCore::Texture::isColor):
1827         (WebCore::Texture::isOpaque):
1828         (WebCore::Texture::isProtected):
1829         (WebCore::Texture::protect):
1830         (WebCore::Texture::unprotect):
1831         (WebCore::Texture::size):
1832         (WebCore::Texture::width):
1833         (WebCore::Texture::height):
1834         (WebCore::Texture::bytesPerPixel):
1835         (WebCore::Texture::setTextureId):
1836         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: Added.
1837         (WebCore):
1838         (TextureProtector):
1839         (WebCore::TextureProtector::TextureProtector):
1840         (WebCore::TextureProtector::~TextureProtector):
1841         (WebCore::TextureCacheCompositingThread::TextureCacheCompositingThread):
1842         (WebCore::TextureCacheCompositingThread::allocateTextureId):
1843         (WebCore::TextureCacheCompositingThread::freeTextureId):
1844         (WebCore::TextureCacheCompositingThread::collectGarbage):
1845         (WebCore::TextureCacheCompositingThread::textureResized):
1846         (WebCore::TextureCacheCompositingThread::textureDestroyed):
1847         (WebCore::TextureCacheCompositingThread::install):
1848         (WebCore::TextureCacheCompositingThread::evict):
1849         (WebCore::TextureCacheCompositingThread::textureAccessed):
1850         (WebCore::textureCacheCompositingThread):
1851         (WebCore::TextureCacheCompositingThread::prune):
1852         (WebCore::TextureCacheCompositingThread::clear):
1853         (WebCore::TextureCacheCompositingThread::setMemoryUsage):
1854         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
1855         (WebCore::TextureCacheCompositingThread::textureForColor):
1856         (WebCore::TextureCacheCompositingThread::updateContents):
1857         (WebCore::TextureCacheCompositingThread::key):
1858         * platform/graphics/blackberry/TextureCacheCompositingThread.h: Added.
1859         (WebCore):
1860         (TextureCacheCompositingThread):
1861         (WebCore::TextureCacheCompositingThread::createTexture):
1862         (WebCore::TextureCacheCompositingThread::memoryUsage):
1863         (WebCore::TextureCacheCompositingThread::memoryLimit):
1864         (WebCore::TextureCacheCompositingThread::setMemoryLimit):
1865         (WebCore::TextureCacheCompositingThread::prune):
1866         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
1867         (ZombieTexture):
1868         (WebCore::TextureCacheCompositingThread::incMemoryUsage):
1869         (WebCore::TextureCacheCompositingThread::decMemoryUsage):
1870         (WebCore::TextureCacheCompositingThread::ColorHash::hash):
1871         (WebCore::TextureCacheCompositingThread::ColorHash::equal):
1872         (ColorHash):
1873         (ColorHashTraits):
1874         (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
1875         (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):
1876
1877 2012-03-07  Kenichi Ishibashi  <bashi@chromium.org>
1878
1879         [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
1880         https://bugs.webkit.org/show_bug.cgi?id=80103
1881
1882         Reviewed by Kent Tamura.
1883
1884         Add UTF8 validation checks for WebSocket message and close reason.
1885
1886         Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
1887                http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
1888
1889         * Modules/websockets/WebSocket.cpp:
1890         (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
1891         (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
1892         * Modules/websockets/WebSocketChannel.cpp:
1893         (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
1894
1895 2012-03-07  Byungwoo Lee  <bw80.lee@samsung.com>
1896
1897         [EFL] Build warning: Fix warn_unused_result warnings.
1898         https://bugs.webkit.org/show_bug.cgi?id=79194
1899
1900         Reviewed by Filip Pizlo.
1901
1902         Fixed build warning which is getting generated when not using return
1903         value of a fuction, especially declared with warn_unused_result
1904         attribute.
1905
1906         * platform/efl/SharedBufferEfl.cpp:
1907         (WebCore::SharedBuffer::createWithContentsOfFile):
1908
1909 2012-03-07  Kent Tamura  <tkent@chromium.org>
1910
1911         Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
1912         https://bugs.webkit.org/show_bug.cgi?id=80480
1913
1914         Reviewed by Hajime Morita.
1915
1916         The callsite of adjustControlHeightBasedOnLineHeight() stored
1917         padding+border+margin height of the inner text in height(), and
1918         adjustControlHeightBasedOnLineHeight() implementations refered it. It
1919         was unreasonable and hard to understand.
1920
1921         The purpose of adjustControlHeightBasedOnLineHeight() is to compute
1922         - the maximum height of line-heights of the inner text and decorations
1923         - the maximum height of padding+border+margin heights of the inner text and decorations,
1924         and to sum them up. This patch rewrites the code to make it understood easily.
1925
1926         adjustControlHeightBasedOnLineHeight() is renamed to
1927         computeControlheight(), it takes additional parameter of
1928         padding+boder+margin height, and returns the sum of them.
1929
1930         No behavior change.
1931
1932         * rendering/RenderTextControl.cpp:
1933         (WebCore::RenderTextControl::computeLogicalHeight):
1934         * rendering/RenderTextControl.h:
1935         (RenderTextControl):
1936         * rendering/RenderTextControlMultiLine.cpp:
1937         (WebCore::RenderTextControlMultiLine::computeControlHeight):
1938         * rendering/RenderTextControlMultiLine.h:
1939         (RenderTextControlMultiLine):
1940         * rendering/RenderTextControlSingleLine.cpp:
1941         (WebCore::RenderTextControlSingleLine::computeControlHeight):
1942         * rendering/RenderTextControlSingleLine.h:
1943         (RenderTextControlSingleLine):
1944
1945 2012-03-06  Eric Seidel  <eric@webkit.org>
1946
1947         Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
1948         https://bugs.webkit.org/show_bug.cgi?id=80363
1949
1950         Reviewed by Mark Rowe.
1951
1952         ForwardingHeaders/wtf is no longer needed (or functional) now that
1953         JavaScriptCore no longer includes the WTF headers as private headers.
1954
1955         * DerivedSources.make:
1956         * ForwardingHeaders/wtf/ASCIICType.h: Removed.
1957         * ForwardingHeaders/wtf/AVLTree.h: Removed.
1958         * ForwardingHeaders/wtf/Alignment.h: Removed.
1959         * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
1960         * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
1961         * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
1962         * ForwardingHeaders/wtf/Assertions.h: Removed.
1963         * ForwardingHeaders/wtf/Atomics.h: Removed.
1964         * ForwardingHeaders/wtf/Bitmap.h: Removed.
1965         * ForwardingHeaders/wtf/BloomFilter.h: Removed.
1966         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
1967         * ForwardingHeaders/wtf/ByteArray.h: Removed.
1968         * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
1969         * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
1970         * ForwardingHeaders/wtf/Compiler.h: Removed.
1971         * ForwardingHeaders/wtf/Complex.h: Removed.
1972         * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
1973         * ForwardingHeaders/wtf/CurrentTime.h: Removed.
1974         * ForwardingHeaders/wtf/DataLog.h: Removed.
1975         * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
1976         * ForwardingHeaders/wtf/DateMath.h: Removed.
1977         * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
1978         * ForwardingHeaders/wtf/Decoder.h: Removed.
1979         * ForwardingHeaders/wtf/Deque.h: Removed.
1980         * ForwardingHeaders/wtf/DisallowCType.h: Removed.
1981         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
1982         * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
1983         * ForwardingHeaders/wtf/Encoder.h: Removed.
1984         * ForwardingHeaders/wtf/ExportMacros.h: Removed.
1985         * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
1986         * ForwardingHeaders/wtf/FastMalloc.h: Removed.
1987         * ForwardingHeaders/wtf/FixedArray.h: Removed.
1988         * ForwardingHeaders/wtf/Float32Array.h: Removed.
1989         * ForwardingHeaders/wtf/Float64Array.h: Removed.
1990         * ForwardingHeaders/wtf/Forward.h: Removed.
1991         * ForwardingHeaders/wtf/Functional.h: Removed.
1992         * ForwardingHeaders/wtf/GetPtr.h: Removed.
1993         * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
1994         * ForwardingHeaders/wtf/HashFunctions.h: Removed.
1995         * ForwardingHeaders/wtf/HashMap.h: Removed.
1996         * ForwardingHeaders/wtf/HashSet.h: Removed.
1997         * ForwardingHeaders/wtf/HashTable.h: Removed.
1998         * ForwardingHeaders/wtf/HashTraits.h: Removed.
1999         * ForwardingHeaders/wtf/HexNumber.h: Removed.
2000         * ForwardingHeaders/wtf/Int16Array.h: Removed.
2001         * ForwardingHeaders/wtf/Int32Array.h: Removed.
2002         * ForwardingHeaders/wtf/Int8Array.h: Removed.
2003         * ForwardingHeaders/wtf/ListHashSet.h: Removed.
2004         * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
2005         * ForwardingHeaders/wtf/Locker.h: Removed.
2006         * ForwardingHeaders/wtf/MD5.h: Removed.
2007         * ForwardingHeaders/wtf/MainThread.h: Removed.
2008         * ForwardingHeaders/wtf/MathExtras.h: Removed.
2009         * ForwardingHeaders/wtf/MessageQueue.h: Removed.
2010         * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
2011         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
2012         * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
2013         * ForwardingHeaders/wtf/Noncopyable.h: Removed.
2014         * ForwardingHeaders/wtf/NotFound.h: Removed.
2015         * ForwardingHeaders/wtf/OSAllocator.h: Removed.
2016         * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
2017         * ForwardingHeaders/wtf/OwnPtr.h: Removed.
2018         * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
2019         * ForwardingHeaders/wtf/PageAllocation.h: Removed.
2020         * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
2021         * ForwardingHeaders/wtf/PageBlock.h: Removed.
2022         * ForwardingHeaders/wtf/PageReservation.h: Removed.
2023         * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
2024         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
2025         * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
2026         * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
2027         * ForwardingHeaders/wtf/Platform.h: Removed.
2028         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
2029         * ForwardingHeaders/wtf/RandomNumber.h: Removed.
2030         * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
2031         * ForwardingHeaders/wtf/RefCounted.h: Removed.
2032         * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
2033         * ForwardingHeaders/wtf/RefPtr.h: Removed.
2034         * ForwardingHeaders/wtf/RetainPtr.h: Removed.
2035         * ForwardingHeaders/wtf/SHA1.h: Removed.
2036         * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
2037         * ForwardingHeaders/wtf/SimpleStats.h: Removed.
2038         * ForwardingHeaders/wtf/Spectrum.h: Removed.
2039         * ForwardingHeaders/wtf/StackBounds.h: Removed.
2040         * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
2041         * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
2042         * ForwardingHeaders/wtf/StringExtras.h: Removed.
2043         * ForwardingHeaders/wtf/StringHasher.h: Removed.
2044         * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
2045         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
2046         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
2047         * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
2048         * ForwardingHeaders/wtf/Threading.h: Removed.
2049         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
2050         * ForwardingHeaders/wtf/TypeTraits.h: Removed.
2051         * ForwardingHeaders/wtf/Uint16Array.h: Removed.
2052         * ForwardingHeaders/wtf/Uint32Array.h: Removed.
2053         * ForwardingHeaders/wtf/Uint8Array.h: Removed.
2054         * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
2055         * ForwardingHeaders/wtf/UnusedParam.h: Removed.
2056         * ForwardingHeaders/wtf/VMTags.h: Removed.
2057         * ForwardingHeaders/wtf/ValueCheck.h: Removed.
2058         * ForwardingHeaders/wtf/Vector.h: Removed.
2059         * ForwardingHeaders/wtf/VectorTraits.h: Removed.
2060         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
2061         * ForwardingHeaders/wtf/dtoa.h: Removed.
2062         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
2063         * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
2064         * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
2065         * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
2066         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
2067         * ForwardingHeaders/wtf/text/CString.h: Removed.
2068         * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
2069         * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
2070         * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
2071         * ForwardingHeaders/wtf/text/StringHash.h: Removed.
2072         * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
2073         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
2074         * ForwardingHeaders/wtf/text/WTFString.h: Removed.
2075         * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
2076         * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
2077         * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
2078         * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
2079         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
2080         * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
2081         * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
2082
2083 2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
2084
2085         [Forms] The "legend" element should not be a form-associated element.
2086         https://bugs.webkit.org/show_bug.cgi?id=80239
2087
2088         Reviewed by Kent Tamura.
2089
2090         This patch changes base class of HTMLLegendElement to HTMLElement from
2091         HTMLFormControlElement for saving memory space and iteration time of
2092         extra "legend" elements in HTMLFormElement::m_formAssociatedElements
2093         and matching the HTML5 specification for ease of maintenance.
2094
2095         Changes of TextIterator is lead by usage of isFormControlElement. This
2096         changes will be replaced with more meaningful predicate as part of
2097         https://bugs.webkit.org/show_bug.cgi?id=80381
2098
2099         No new tests are required. No behavior changes.
2100
2101         * editing/TextIterator.cpp:
2102         (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
2103         * html/HTMLLegendElement.cpp:
2104         (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
2105         (WebCore::HTMLLegendElement::create): Remove form parameter.
2106         (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
2107         (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
2108         (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
2109         * html/HTMLLegendElement.h:
2110         (HTMLLegendElement): Change base class to HTMLElement.
2111         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
2112
2113 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
2114
2115         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
2116         https://bugs.webkit.org/show_bug.cgi?id=80469
2117
2118         Reviewed by Antonio Gomes.
2119
2120         No new tests, this is a buildsystem change.
2121
2122         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
2123         property on the library being created.
2124
2125 2012-03-06  Lianghui Chen  <liachen@rim.com>
2126
2127         [BlackBerry] Set correct ResourceRequest target type.
2128         https://bugs.webkit.org/show_bug.cgi?id=80430
2129
2130         Reviewed by Rob Buis.
2131
2132         For loads started by AppCache, they are based on the manifest file,
2133         it is not definitely sure what target it is for, so we just guess
2134         based on its mimetype or file extension.
2135
2136         * loader/appcache/ApplicationCacheGroup.cpp:
2137         (WebCore::ApplicationCacheGroup::createResourceHandle):
2138         * loader/cache/CachedResource.cpp:
2139         (WebCore):
2140         (WebCore::CachedResource::load):
2141         * platform/network/blackberry/ResourceRequest.h:
2142         (ResourceRequest):
2143         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2144         (WebCore):
2145         (WebCore::mimeTypeRequestTypeMap):
2146         (WebCore::ResourceRequest::targetTypeFromMimeType):
2147         * workers/DefaultSharedWorkerRepository.cpp:
2148         (WebCore::SharedWorkerScriptLoader::load):
2149         * workers/Worker.cpp:
2150         (WebCore::Worker::create):
2151         * workers/WorkerContext.cpp:
2152         (WebCore::WorkerContext::importScripts):
2153         * workers/WorkerScriptLoader.cpp:
2154         (WebCore::WorkerScriptLoader::createResourceRequest):
2155         * workers/WorkerScriptLoader.h:
2156         (WorkerScriptLoader):
2157
2158 2012-03-06  Dana Jansens  <danakj@chromium.org>
2159
2160         [chromium] Add clipping to scissor rect to CCOcclusionTracker
2161         https://bugs.webkit.org/show_bug.cgi?id=79927
2162
2163         Reviewed by Adrienne Walker.
2164
2165         Adds logic to CCOcclusionTracker to occlude anything outside of the
2166         current screen and target surface scissor rects. When tracking
2167         damage for partial swaps, the scissor rects are bounded by the
2168         tracked damage rects.
2169
2170         Unit tests: CCOcclusionTrackerTest.cpp
2171
2172         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2173         (WebCore::::CCOcclusionTrackerBase):
2174         (WebCore):
2175         (WebCore::::markOccludedBehindLayer):
2176         (WebCore::testContentRectOccluded):
2177         (WebCore::::occluded):
2178         (WebCore::computeUnoccludedContentRect):
2179         (WebCore::::unoccludedContentRect):
2180         (WebCore::::layerScissorRect):
2181         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2182         (WebCore):
2183         (CCOcclusionTrackerDamageClientBase):
2184         (CCOcclusionTrackerBase):
2185
2186 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2187
2188         Unreviewed, rolling out r110011.
2189         http://trac.webkit.org/changeset/110011
2190         https://bugs.webkit.org/show_bug.cgi?id=80376
2191
2192         layout tests crash
2193
2194         * bindings/v8/V8HiddenPropertyName.cpp:
2195         (WebCore):
2196         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2197         * bindings/v8/V8HiddenPropertyName.h:
2198         (WebCore):
2199         (V8HiddenPropertyName):
2200         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2201         (WebCore::toV8):
2202         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2203         (WebCore::toV8):
2204         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2205         (WebCore::toV8):
2206
2207 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2208
2209         Unreviewed, rolling out r110016.
2210         http://trac.webkit.org/changeset/110016
2211
2212         layout tests crash
2213
2214         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2215         (WebCore::toV8):
2216
2217 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2218
2219         Unreviewed, fixed test crashes.
2220
2221         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2222         (WebCore::toV8):
2223
2224 2012-03-06  Hajime Morrita  <morrita@chromium.org>
2225
2226         https://bugs.webkit.org/show_bug.cgi?id=79935
2227         REGRESSION: <content> element is not HTMLUnknownElement when Shadow DOM API is disabled
2228
2229         Reviewed by Adam Barth.
2230
2231         This change introduced "runtimeConditional" keyword to make_name.pl sources,
2232         which allows HTMLElementFactory and HTMLElementWrapperFactory to check RuntimeEnabledFeatures
2233         and treat any tag name as HTMLUnknownElement if its definition has runtimeConditional and
2234         the flag given is turned off.
2235
2236         Test: fast/dom/shadow/content-shadow-unknown.html
2237
2238         * WebCore.exp.in:
2239         * dom/make_names.pl:
2240         (defaultTagPropertyHash):
2241         (printConstructorInterior):
2242         (printFactoryCppFile):
2243         (printWrapperFunctions):
2244         (printWrapperFactoryCppFile):
2245         * html/HTMLTagNames.in:
2246         * html/shadow/HTMLContentElement.cpp:
2247         (WebCore::contentTagName):
2248         * testing/InternalSettings.cpp:
2249         (WebCore::InternalSettings::InternalSettings):
2250         (WebCore::InternalSettings::restoreTo):
2251         (WebCore::InternalSettings::setShadowDOMEnabled):
2252         (WebCore):
2253         * testing/InternalSettings.h:
2254         (InternalSettings):
2255         * testing/InternalSettings.idl:
2256
2257 2012-03-06  Kenichi Ishibashi  <bashi@chromium.org>
2258
2259         [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
2260         https://bugs.webkit.org/show_bug.cgi?id=80356
2261
2262         Reviewed by Kent Tamura.
2263
2264         Introduced ThreadableWebSocketChannel::SendResult type so that
2265         WebSocketChannel can pass the validation result.
2266
2267         No new test. No changes in behavior.
2268
2269         * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
2270         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2271         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2272         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
2273         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
2274         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2275         (ThreadableWebSocketChannelClientWrapper):
2276         * Modules/websockets/WebSocketChannel.cpp:
2277         (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
2278         (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
2279         (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
2280         * Modules/websockets/WebSocketChannel.h:
2281         (WebSocketChannel):
2282         (QueuedFrame): Changed the type of stringData from String to CString.
2283         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2284         (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
2285         (WebCore::workerContextDidSend): Ditto.
2286         (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
2287         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
2288         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2289         (WorkerThreadableWebSocketChannel): ditto.
2290         (Bridge): Ditto.
2291
2292 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2293
2294         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
2295         Element.dataset and Node.attributes
2296         https://bugs.webkit.org/show_bug.cgi?id=80376
2297
2298         Reviewed by Adam Barth.
2299
2300         This patch improves the performance of HTMLElement.classList, Element.dataset
2301         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
2302
2303         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
2304         created every time the DOM attribute is accessed, in spite of the fact that
2305         the 'hiddenReferenceName' string is static.
2306
2307         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
2308         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
2309         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
2310         and is an Object.
2311
2312         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
2313
2314         AppleWebKit/JavaScriptCore:
2315         div.classList : 382ms
2316         div.classList.foo = 123 : 335ms
2317         div.dataset : 403ms
2318         div.dataset.foo = 123 : 5250ms
2319         div.attributes : 183ms
2320
2321         Chromium/V8 (without this patch):
2322         div.classList : 9140ms
2323         div.classList.foo = 123 : 9086ms
2324         div.dataset : 9930ms
2325         div.dataset.foo = 123 : 49698ms
2326         div.attributes : 13489ms
2327
2328         Chromium/V8 (with this patch):
2329         div.classList : 1435ms
2330         div.classList.foo = 123 : 1470ms
2331         div.dataset : 1400ms
2332         div.dataset.foo = 123 : 30396ms
2333         div.attributes : 1242ms
2334
2335         No tests. No change in behavior.
2336
2337         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
2338         (WebCore::toV8):
2339         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
2340         (WebCore::toV8):
2341         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
2342         (WebCore::toV8):
2343
2344         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
2345         to optimize the macro.
2346         (WebCore):
2347         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2348         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
2349         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
2350         or a hidden reference.
2351         (WebCore):
2352         (V8HiddenPropertyName):
2353
2354 2012-03-06  Nat Duca  <nduca@chromium.org>
2355
2356         [chromium] CCThreadProxy context lost support
2357         https://bugs.webkit.org/show_bug.cgi?id=80100
2358
2359         Reviewed by James Robinson.
2360
2361         * platform/graphics/chromium/cc/CCScheduler.cpp:
2362         (WebCore::CCScheduler::didLoseContext):
2363         (WebCore):
2364         (WebCore::CCScheduler::didRecreateContext):
2365         (WebCore::CCScheduler::processScheduledActions):
2366         * platform/graphics/chromium/cc/CCScheduler.h:
2367         (CCSchedulerClient):
2368         (CCScheduler):
2369         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2370         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
2371         (WebCore::CCSchedulerStateMachine::nextAction):
2372         (WebCore::CCSchedulerStateMachine::updateState):
2373         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
2374         (WebCore::CCSchedulerStateMachine::didLoseContext):
2375         (WebCore):
2376         (WebCore::CCSchedulerStateMachine::didRecreateContext):
2377         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2378         (CCSchedulerStateMachine):
2379         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2380         (WebCore::CCThreadProxy::recreateContext):
2381         (WebCore::CCThreadProxy::loseContext):
2382         (WebCore::CCThreadProxy::scheduledActionBeginContextRecreation):
2383         (WebCore):
2384         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2385         (WebCore::CCThreadProxy::setAnimationEvents):
2386         (WebCore::CCThreadProxy::beginContextRecreation):
2387         (WebCore::CCThreadProxy::recreateContextOnImplThread):
2388         (WebCore::CCThreadProxy::loseContextOnImplThread):
2389         * platform/graphics/chromium/cc/CCThreadProxy.h:
2390         (CCThreadProxy):
2391
2392 2012-03-06  Tony Chang  <tony@chromium.org>
2393
2394         refactor method names in RenderFlexibleBox to make them more consistent
2395         https://bugs.webkit.org/show_bug.cgi?id=80446
2396
2397         Reviewed by Ojan Vafai.
2398
2399         No new tests, just renaming internal methods.
2400
2401         * rendering/RenderFlexibleBox.cpp:
2402         (WebCore::RenderFlexibleBox::flowAwareBorderAfter): New, used by layoutAndPlaceChildren
2403         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter): New, used by layoutAndPlaceChildren
2404         (WebCore::RenderFlexibleBox::marginBoxAscentForChild): Add ForChild for consistency.
2405         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): We were adding the before padding+border twice (it's in the offset and
2406         crossAxisBorderAndPaddingExtent() and subtracting it once.  Instead, just add the after padding+border.
2407         (WebCore::RenderFlexibleBox::alignChildren):
2408         * rendering/RenderFlexibleBox.h:
2409         (RenderFlexibleBox): Reorder methods to match the .cpp file.
2410
2411 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2412
2413         Unreviewed, rolling out r109969.
2414         http://trac.webkit.org/changeset/109969
2415         https://bugs.webkit.org/show_bug.cgi?id=80376
2416
2417         layout tests crash
2418
2419         * bindings/v8/V8HiddenPropertyName.cpp:
2420         (WebCore):
2421         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2422         * bindings/v8/V8HiddenPropertyName.h:
2423         (WebCore):
2424         (V8HiddenPropertyName):
2425         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2426         (WebCore::toV8):
2427         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2428         (WebCore::toV8):
2429         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2430         (WebCore::toV8):
2431
2432 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2433
2434         Unreviewed, rolling out r109999.
2435         http://trac.webkit.org/changeset/109999
2436
2437         layout tests crash
2438
2439         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2440         (WebCore::toV8):
2441         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2442         (WebCore::toV8):
2443
2444 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2445
2446         Unreviewed, fix crashes.
2447
2448         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2449         (WebCore::toV8):
2450         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2451         (WebCore::toV8):
2452
2453 2012-03-06  James Robinson  <jamesr@chromium.org>
2454
2455         [chromium] Fix threaded compositing issues in WebGLLayerChromium (except for printing)
2456         https://bugs.webkit.org/show_bug.cgi?id=80459
2457
2458         Reviewed by Kenneth Russell.
2459
2460         This fixes a few wrong-thread issues in WebGLLayerChromium for threaded compositing.  The key requirements that
2461         threaded compositing imposes on LayerChromium subclasses are that the compositor's context can only be used from
2462         the compositor thread, meaning inside of updateCompositorResources() and pushPropertiesTo(), and that
2463         non-compositor contexts can only be used from the main thread. This means specifically that we can't use the
2464         DrawingBuffer's context in either of these two functions.
2465
2466         Summary of changes:
2467         *) Move the publishToPlatformLayer() call and related logic inside of paintContentsIfDirty(), which is called
2468         on the main thread.
2469         *) Move lost context tracking outside of drawsContent(), since that function is called from both threads, to a
2470         separate bool that is updated after each WebGL composite and setDrawingBuffer call.
2471
2472         Printing still doesn't work in threaded mode with this patch, I'll address that separately. Printing and lost
2473         context recovery still work as they did in the single-threaded path.
2474
2475         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2476         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2477         (WebCore::WebGLLayerChromium::drawsContent):
2478         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2479         (WebCore::WebGLLayerChromium::updateCompositorResources):
2480         (WebCore::WebGLLayerChromium::setDrawingBuffer):
2481         * platform/graphics/chromium/WebGLLayerChromium.h:
2482         (WebGLLayerChromium):
2483
2484 2012-03-06  Anders Carlsson  <andersca@apple.com>
2485
2486         Cracks between tiles when zoomed in
2487         https://bugs.webkit.org/show_bug.cgi?id=80460
2488         <rdar://problem/10996688>
2489
2490         Use enclosingIntRect instead of enclosedIntRect when converting from FloatRect to IntRect.
2491
2492         * platform/graphics/mac/WebLayer.mm:
2493         (drawLayerContents):
2494
2495 2012-03-06  Anders Carlsson  <andersca@apple.com>
2496
2497         Tile cache layers should always be clipped to the view's bounds
2498         https://bugs.webkit.org/show_bug.cgi?id=80456
2499         <rdar://problem/10996174>
2500
2501         Reviewed by Simon Fraser.
2502
2503         * rendering/RenderLayerBacking.cpp:
2504         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
2505         Factor this code out into a separate function for better clarity. Always return true if we have a tile cache layer.
2506
2507         (WebCore::RenderLayerBacking::updateCompositedBounds):
2508         Call shouldClipCompositedBounds directly.
2509
2510 2012-03-06  James Robinson  <jamesr@chromium.org>
2511
2512         [chromium] Null-check m_layerRenderer in CCLayerTreeHostImpl::finishAllRendering()
2513         https://bugs.webkit.org/show_bug.cgi?id=80445
2514
2515         Reviewed by Adrienne Walker.
2516
2517         Null-check CCLayerTreeHostImpl::m_layerRenderer since it won't be set if context initialiation failed for any
2518         reason.
2519
2520         Covered by new unit test in CCLayerTreeHostImplTest.
2521
2522         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2523         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
2524
2525 2012-03-06  Ryosuke Niwa  <rniwa@webkit.org>
2526
2527         Can't select a line of RTL text on Facebook
2528         https://bugs.webkit.org/show_bug.cgi?id=59435
2529
2530         Reviewed by Eric Seidel.
2531
2532         Deploy prevLeafChildIgnoringLineBreak and nextLeafChildIgnoringLineBreak
2533         in RenderedPosition::leftBoundaryOfBidiRun and RenderedPosition::rightBoundaryOfBidiRun.
2534
2535         Without this patch, WebKit extends selection from right to left when the user selects
2536         <span dir="rtl">ABC<br></span> from left to right by a mouse drag.
2537
2538         Test: editing/selection/select-bidi-run.html
2539
2540         * editing/RenderedPosition.cpp:
2541         (WebCore::RenderedPosition::leftBoundaryOfBidiRun):
2542         (WebCore::RenderedPosition::rightBoundaryOfBidiRun):
2543
2544 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
2545
2546         undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
2547         https://bugs.webkit.org/show_bug.cgi?id=80282
2548
2549         Reviewed by Antonio Gomes.
2550
2551         No new tests, this is a buildsystem change.
2552
2553         Remove transitive library dependencies; they are especially
2554         dangerous when one ends up linking against WTF, JSC and then WTF
2555         again, since some symbols will not be defined.
2556
2557         Passing --no-copy-dt-needed-entries and --as-needed to the linker
2558         (which some recent Linux distros do by default) makes the issue
2559         even more evident.
2560
2561         * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
2562         from it.
2563         * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.
2564
2565 2012-03-06  James Robinson  <jamesr@chromium.org>
2566
2567         [chromium] REGRESSION(109469): WebGL printing busted
2568         https://bugs.webkit.org/show_bug.cgi?id=80450
2569
2570         Reviewed by Kenneth Russell.
2571
2572         Avoid marking layers as needing display in setContentsTo...() since this breaks WebGL's damage tracking and is
2573         unnecessary.
2574
2575         Tested WebGL printing manually.
2576
2577         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2578         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2579         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2580
2581 2012-03-06  Adrienne Walker  <enne@google.com>
2582
2583         Overlap map for compositing should ignore empty layers
2584         https://bugs.webkit.org/show_bug.cgi?id=63499
2585
2586         Reviewed by Simon Fraser.
2587
2588         Test: compositing/layer-creation/overlap-empty-layer.html
2589
2590         * rendering/RenderLayerCompositor.cpp:
2591         (WebCore::RenderLayerCompositor::addToOverlapMap):
2592         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2593
2594 2012-03-06  Vangelis Kokkevis  <vangelis@chromium.org>
2595
2596         [chromium] Increase the accelerated canvas min size to 256 * 256
2597         https://bugs.webkit.org/show_bug.cgi?id=80451
2598
2599         Reviewed by Stephen White.
2600
2601         Test: Manually
2602
2603         * page/Settings.cpp:
2604         (WebCore::Settings::Settings):
2605
2606 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2607
2608         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
2609         Element.dataset and Node.attributes
2610         https://bugs.webkit.org/show_bug.cgi?id=80376
2611
2612         Reviewed by Adam Barth.
2613
2614         This patch improves the performance of HTMLElement.classList, Element.dataset
2615         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
2616
2617         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
2618         created every time the DOM attribute is accessed, in spite of the fact that
2619         the 'hiddenReferenceName' string is static.
2620
2621         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
2622         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
2623         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
2624         and is an Object.
2625
2626         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
2627
2628         AppleWebKit/JavaScriptCore:
2629         div.classList : 382ms
2630         div.classList.foo = 123 : 335ms
2631         div.dataset : 403ms
2632         div.dataset.foo = 123 : 5250ms
2633         div.attributes : 183ms
2634
2635         Chromium/V8 (without this patch):
2636         div.classList : 9140ms
2637         div.classList.foo = 123 : 9086ms
2638         div.dataset : 9930ms
2639         div.dataset.foo = 123 : 49698ms
2640         div.attributes : 13489ms
2641
2642         Chromium/V8 (with this patch):
2643         div.classList : 1435ms
2644         div.classList.foo = 123 : 1470ms
2645         div.dataset : 1400ms
2646         div.dataset.foo = 123 : 30396ms
2647         div.attributes : 1242ms
2648
2649         No tests. No change in behavior.
2650
2651         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
2652         (WebCore::toV8):
2653         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
2654         (WebCore::toV8):
2655         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
2656         (WebCore::toV8):
2657
2658         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
2659         to optimize the macro.
2660         (WebCore):
2661         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2662         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
2663         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
2664         or a hidden reference.
2665         (WebCore):
2666         (V8HiddenPropertyName):
2667
2668 2012-03-06  Alexis Menard  <alexis.menard@openbossa.org>
2669
2670         getComputedStyle returns incorrect values for the width and height of pseudo-elements
2671         https://bugs.webkit.org/show_bug.cgi?id=37835
2672
2673         Reviewed by Tony Chang.
2674
2675         In case we are querying the computed style of an element with a pseudo-element we can't use
2676         the renderer of the element as this one is not the one used to render the pseudo-element. We need
2677         to use the one created to render the pseudo-element.
2678
2679         No new tests : Extend the existing getComputedStyle-with-pseudo-element.
2680
2681         * css/CSSComputedStyleDeclaration.cpp:
2682         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2683
2684 2012-03-06  Shawn Singh  <shawnsingh@chromium.org>
2685
2686         [chromium] Make compositeAndReadback and damage tracking play nicely together
2687         https://bugs.webkit.org/show_bug.cgi?id=80199
2688
2689         Reviewed by James Robinson.
2690
2691         Requires system-level testing (pixels on front-buffer should be
2692         observed for correct behavior) that cannot be done by layout tests
2693         or unit tests, have to rely on manual testing.
2694
2695         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2696         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2697
2698 2012-03-06  Luke Macpherson   <macpherson@chromium.org>
2699
2700         Make CSSStyleSelector::convertToLength() behave more like CSSPrimitiveValue::convertToLength().
2701         https://bugs.webkit.org/show_bug.cgi?id=80375
2702
2703         Reviewed by Eric Seidel.
2704
2705         No new tests / cleanup only.
2706
2707         This patch removes the bool* ok parameter from CSSStyleSelector's convertToLength,
2708         and instead uses the recently added Length(Undefined) value to indicate failure.
2709         This paves the way for a future patch that will call primitiveValue->convertToLength directly.
2710
2711         * css/CSSStyleSelector.cpp:
2712         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2713
2714 2012-03-06  Raymes Khoury  <raymes@chromium.org>
2715
2716         Add state variable and ASSERTs to DocumentWriter to help track down
2717         https://bugs.webkit.org/show_bug.cgi?id=80427 and prevent illegal usage
2718         of DocumentWriter. This also makes endIfNotLoadingMainResource() private
2719         as there is no external usage.
2720
2721         Reviewed by Adam Barth.
2722
2723         This only adds ASSERT/CRASH and does not change existing behaviour.
2724
2725         * loader/DocumentWriter.cpp:
2726         (WebCore::DocumentWriter::DocumentWriter):
2727         (WebCore::DocumentWriter::begin):
2728         (WebCore::DocumentWriter::addData):
2729         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
2730         (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
2731         * loader/DocumentWriter.h:
2732         (DocumentWriter):
2733
2734 2012-03-06  Mihnea Ovidenie  <mihnea@adobe.com>
2735
2736         [CSSRegions][CSSOM]Restrict parsing of named flow name
2737         https://bugs.webkit.org/show_bug.cgi?id=80359
2738
2739         Reviewed by Andreas Kling.
2740
2741         The function that does the parsing for flow thread name should restrict the
2742         number of parsed properties to 1, otherwise it would allow parsing of
2743         "-webkit-flow-into: flow; color: red;" constructions.
2744
2745         Modified fast/regions/webkit-named-flow-invalid-name.html to include the above case.
2746
2747         * css/CSSParser.cpp:
2748         (WebCore::validFlowName):
2749         (WebCore::CSSParser::parseFlowThread):
2750
2751 2012-03-06  Joseph Pecoraro  <pecoraro@apple.com>
2752
2753         Unreviewed build fix for minimal build after r109939.
2754
2755         Guard access to page->inspectorController with ENABLE(INSPECTOR).
2756
2757         * page/FrameView.cpp:
2758         (WebCore::FrameView::performPostLayoutTasks):
2759
2760 2012-03-05  Dean Jackson  <dino@apple.com>
2761
2762         Enable compositing when a CSS filter is animating
2763         https://bugs.webkit.org/show_bug.cgi?id=79048
2764
2765         Reviewed by Simon Fraser.
2766
2767         Now that some systems (e.g. OS X) have both hardware accelerated
2768         CSS filters, and the ability to animate them via the hardware
2769         compositor, all CSS filters should be composited when animating.
2770
2771         Tests: css3/filters/composited-during-animation-layertree.html
2772                css3/filters/composited-during-animation.html
2773                css3/filters/composited-during-transition-layertree.html
2774
2775         * platform/graphics/ca/GraphicsLayerCA.cpp:
2776         (WebCore):
2777         (WebCore::supportsAcceleratedFilterAnimations):
2778             new method that returns true if the platform supports
2779             hardware animations of filters.
2780         (WebCore::GraphicsLayerCA::addAnimation):
2781         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
2782             only create layer-animations if the platform supports it.
2783         * rendering/RenderLayerCompositor.cpp:
2784         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2785             create a compositing layer if animating a filter on a
2786             supported platform.
2787
2788 2012-03-06  Stephen White  <senorblanco@chromium.org>
2789
2790         Unreviewed, rolling out r109825.
2791         http://trac.webkit.org/changeset/109825
2792         https://bugs.webkit.org/show_bug.cgi?id=79413
2793
2794         Broke webkit_unit_tests on Chromium Win
2795
2796         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2797         (WebCore::IDBLevelDBBackingStore::open):
2798         * platform/leveldb/LevelDBDatabase.cpp:
2799         (WebCore):
2800         * platform/leveldb/LevelDBDatabase.h:
2801         (LevelDBDatabase):
2802
2803 2012-03-06  Beth Dakin  <bdakin@apple.com>
2804
2805         https://bugs.webkit.org/show_bug.cgi?id=80351
2806         InlineTextBox is using the wrong origin when calling 
2807         addRelevantRepaintedObject
2808         -and corresponding-
2809         <rdar://problem/10970221>
2810
2811         Reviewed by Sam Weinig.
2812
2813         boxOrigin represents the actual location of the text. The adjustedPaintOffset 
2814         (which I was using previously) will only correspond to the first line in a 
2815         block of lines.
2816         * rendering/InlineTextBox.cpp:
2817         (WebCore::InlineTextBox::paint):
2818
2819 2012-03-06  Filip Spacek  <fspacek@rim.com>
2820
2821         [BlackBerry] Disable border radius clips (r95239) for BlackBerry
2822         https://bugs.webkit.org/show_bug.cgi?id=80416
2823
2824         Reviewed by Antonio Gomes
2825
2826         The BlackBerry port suffers from the same performance
2827         degradation when border radius clip is enabled as Chromium.
2828
2829         * rendering/RenderLayer.cpp:
2830
2831 2012-03-06  Stephen White  <senorblanco@chromium.org>
2832
2833         Unreviewed, rolling out r109832.
2834         http://trac.webkit.org/changeset/109832
2835         https://bugs.webkit.org/show_bug.cgi?id=80356
2836
2837         Broke WebSocket tests on Chrome Mac and Linux
2838
2839         * Modules/websockets/ThreadableWebSocketChannel.h:
2840         (ThreadableWebSocketChannel):
2841         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2842         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2843         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
2844         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
2845         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2846         (ThreadableWebSocketChannelClientWrapper):
2847         * Modules/websockets/WebSocket.cpp:
2848         (WebCore::WebSocket::send):
2849         * Modules/websockets/WebSocketChannel.cpp:
2850         (WebCore::WebSocketChannel::send):
2851         (WebCore::WebSocketChannel::enqueueTextFrame):
2852         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
2853         * Modules/websockets/WebSocketChannel.h:
2854         (WebSocketChannel):
2855         (QueuedFrame):
2856         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2857         (WebCore::WorkerThreadableWebSocketChannel::send):
2858         (WebCore::workerContextDidSend):
2859         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2860         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2861         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2862         (WorkerThreadableWebSocketChannel):
2863         (Bridge):
2864
2865 2012-03-06  Stephen White  <senorblanco@chromium.org>
2866
2867         Unreviewed, rolling out r109840.
2868         http://trac.webkit.org/changeset/109840
2869         https://bugs.webkit.org/show_bug.cgi?id=80103
2870
2871         Broke WebSocket tests on Chrome Mac and Linux
2872
2873         * Modules/websockets/WebSocket.cpp:
2874         (WebCore::WebSocket::send):
2875         (WebCore::WebSocket::close):
2876         * Modules/websockets/WebSocketChannel.cpp:
2877         (WebCore::WebSocketChannel::send):
2878
2879 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
2880
2881         <http://webkit.org/b/78575> Web Inspector: Disable dock button when not allowed to dock
2882
2883         There are times when an undocked inspector frontend is not allowed to
2884         attach to the main window. We can disable the dock button in those cases.
2885
2886         Reviewed by Pavel Feldman.
2887
2888         No new tests. This functionality is port specific right now.
2889
2890         * page/FrameView.cpp:
2891         (WebCore::FrameView::performPostLayoutTasks):
2892         When the main frame is resized we let the inspector client know,
2893         so that it can react to it as needed.
2894
2895         * WebCore.exp.in:
2896         * inspector/InspectorClient.h:
2897         (WebCore::InspectorClient::didResizeMainFrame):
2898         * inspector/InspectorController.cpp:
2899         * inspector/InspectorController.h:
2900         (WebCore::InspectorController::inspectorClient):
2901         Call up to the port though to the InspectorClient.
2902
2903         * inspector/InspectorFrontendClientLocal.cpp:
2904         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
2905         (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
2906         * inspector/InspectorFrontendClientLocal.h:
2907         On ports where the inspector frontend client is local, provide a 
2908         setDockingUnavailable InspectorFrontendAPI to update the docking state.
2909         Automatically update availability when the frontend completes loading.
2910
2911         * inspector/front-end/InspectorFrontendAPI.js:
2912         (InspectorFrontendAPI.setDockingUnavailable):
2913         * inspector/front-end/inspector.js:
2914         (WebInspector._createGlobalStatusBarItems):
2915         (WebInspector.setAttachedWindow):
2916         (WebInspector.setDockingUnavailable):
2917         (WebInspector.updateDockToggleButton):
2918         Update the dock button's enabled/disabled state when its created,
2919         when the attached state changes, when get a frontend API notification
2920         that we cannot attach.
2921
2922         * inspector/front-end/InspectorFrontendHostStub.js:
2923         Remove unused canAttachWindow method.
2924
2925 2012-03-06  Hans Wennborg  <hans@chromium.org>
2926
2927         Speech JavaScript API: add SpeechRecognitionError
2928         https://bugs.webkit.org/show_bug.cgi?id=80410
2929
2930         Reviewed by Adam Barth.
2931
2932         Add SpeechRecognitionError.
2933
2934         Test: fast/speech/scripted/speechrecognitionerror-basics.html
2935
2936         * Modules/speech/DOMWindowSpeech.idl: Added.
2937         * Modules/speech/SpeechRecognitionError.cpp: Added.
2938         (WebCore):
2939         (WebCore::SpeechRecognitionError::create):
2940         (WebCore::SpeechRecognitionError::SpeechRecognitionError):
2941         * Modules/speech/SpeechRecognitionError.h: Added.
2942         (WebCore):
2943         (SpeechRecognitionError):
2944         (WebCore::SpeechRecognitionError::code):
2945         (WebCore::SpeechRecognitionError::message):
2946         * Modules/speech/SpeechRecognitionError.idl: Added.
2947         * WebCore.gyp/WebCore.gyp:
2948         * WebCore.gypi:
2949
2950 2012-03-06  David Corvoysier  <david.corvoysier@orange.com>
2951
2952         Unreleased gst_object_reference to audio sink in MediaPlayerPrivateGStreamer
2953         https://bugs.webkit.org/show_bug.cgi?id=79795
2954
2955         Bug fix: Used a GRefPtr to hold the reference to the audio sink instead of a GstElement*.
2956         Code cleanup: Used the same pattern for webkit web source and removed explicit gst_unref in destructor.
2957
2958         Reviewed by Philippe Normand.
2959
2960         No new tests. No change in behavior.
2961
2962         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2963         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2964         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2965         (MediaPlayerPrivateGStreamer):
2966
2967 2012-03-06  Patrick Gansterer  <paroga@webkit.org>
2968
2969         [CMake] Build fix for !ENABLE(WORKERS) after r109556 and r109833.
2970
2971         * CMakeLists.txt:
2972
2973 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2974
2975         [Qt][WK2] Crash in Frame.cpp when loading index.hu
2976         https://bugs.webkit.org/show_bug.cgi?id=80165
2977
2978         Guard against possible null document, which can happen
2979         when unsetting a document in a frame.
2980
2981         Reviewed by Kenneth Rohde Christiansen.
2982
2983         * page/Frame.cpp:
2984         (WebCore::Frame::setDocument):
2985
2986 2012-03-06  Lucas Forschler  <lforschler@apple.com>
2987
2988         WebCore build exceeds address space on 32-bit Windows builds.
2989         https://bugs.webkit.org/show_bug.cgi?id=80346
2990
2991         Reviewed by Jessie Berlin.
2992
2993         Patch by Lucas Forschler, landed by Jessie Berlin.
2994
2995         Add AllInOne.cpp files for a few projects.
2996         This will only affect Production and Release builds.
2997         Let VS rebuild the project file.
2998
2999         * WebCore.vcproj/WebCore.vcproj:
3000         * css/MediaAllInOne.cpp: Added.
3001         * loader/appcache/ApplicationCacheAllInOne.cpp: Added.
3002         * mathml/MathMLAllInOne.cpp: Added.
3003         * platform/text/TextAllInOne.cpp: Added.
3004
3005 2012-03-06  Pavel Feldman  <pfeldman@chromium.org>
3006
3007         Web Inspector: add support for inspection of huge (1M elements) arrays.
3008         https://bugs.webkit.org/show_bug.cgi?id=80421
3009
3010         Reviewed by Vsevolod Vlasov.
3011
3012         * inspector/front-end/ConsoleView.js:
3013         (WebInspector.ConsoleView.prototype.completionsForExpression.evaluated):
3014         * inspector/front-end/ElementsPanel.js:
3015         * inspector/front-end/ObjectPropertiesSection.js:
3016         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
3017         (WebInspector.ObjectPropertiesSection.prototype.update):
3018         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
3019         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
3020         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3021         (WebInspector.ArrayGroupingTreeElement):
3022         (WebInspector.ArrayGroupingTreeElement._populateArray):
3023         (WebInspector.ArrayGroupingTreeElement._populateRanges):
3024         (WebInspector.ArrayGroupingTreeElement._populateRanges.callback):
3025         (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
3026         (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processArrayFragment):
3027         (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processProperties):
3028         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
3029         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processObjectFragment):
3030         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processProperties):
3031         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
3032         (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
3033         (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
3034         * inspector/front-end/PropertiesSidebarPane.js:
3035         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
3036         * inspector/front-end/RemoteObject.js:
3037         (WebInspector.RemoteObject.prototype.callFunction):
3038         (WebInspector.RemoteObject.prototype.callFunctionJSON):
3039
3040 2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
3041
3042         Web Inspector: Open link in resources panel only works the second time
3043         https://bugs.webkit.org/show_bug.cgi?id=80407
3044
3045         Reviewed by Pavel Feldman.
3046
3047         * inspector/front-end/inspector.js:
3048         (WebInspector.openResource):
3049
3050 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
3051
3052         Web Inspector: InspectorCounters mechanism should be thread-safe
3053         https://bugs.webkit.org/show_bug.cgi?id=80166
3054
3055         Make InspectorCounters instance thread local so that it can be safely accessed
3056         in workers.
3057
3058         Reviewed by Pavel Feldman.
3059
3060         * bindings/js/JSEventListener.cpp:
3061         (WebCore::JSEventListener::JSEventListener):
3062         (WebCore::JSEventListener::~JSEventListener):
3063         * bindings/v8/V8AbstractEventListener.cpp:
3064         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
3065         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
3066         * dom/Document.cpp:
3067         (WebCore::Document::Document):
3068         (WebCore::Document::~Document):
3069         * dom/Document.h:
3070         (WebCore::Node::Node):
3071         * dom/Node.cpp:
3072         (WebCore::Node::~Node):
3073         * inspector/InspectorCounters.cpp:
3074         (WebCore::InspectorCounters::InspectorCounters):
3075         (WebCore::InspectorCounters::counterValue):
3076         (WebCore):
3077         (WebCore::InspectorCounters::current):
3078         * inspector/InspectorCounters.h:
3079         (WebCore::InspectorCounters::incrementCounter):
3080         (WebCore::InspectorCounters::decrementCounter):
3081         (InspectorCounters):
3082         * inspector/InspectorTimelineAgent.cpp:
3083         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3084         * platform/ThreadGlobalData.cpp:
3085         (WebCore::ThreadGlobalData::ThreadGlobalData):
3086         (WebCore::ThreadGlobalData::destroy):
3087         * platform/ThreadGlobalData.h:
3088         (WebCore):
3089         (ThreadGlobalData):
3090         (WebCore::ThreadGlobalData::inspectorCounters):
3091
3092 2012-03-06  Leo Yang  <leo.yang@torchmobile.com.cn>
3093
3094         [BlackBerry] Upstream typedef of NativeImageSourcePtr and NativeImagePtr
3095         https://bugs.webkit.org/show_bug.cgi?id=80388
3096
3097         Reviewed by Antonio Gomes.
3098
3099         These are the BlackBerry typdefs of NativeImageSourcePtr and NativeImagePtr.
3100
3101         * platform/graphics/ImageSource.h:
3102         (WebCore):
3103
3104 2012-03-06  Hans Muller  <hmuller@adobe.com>
3105
3106         SVG transform-origin presentation attribute
3107         https://bugs.webkit.org/show_bug.cgi?id=79678
3108
3109         Reviewed by Nikolas Zimmermann.
3110
3111         Added the SVG transform-origin presentation attribute.  Currently WebCore::mapAttributeToCSSProperty()
3112         just maps it to -webkit-transform-origin.  When the transform-origin CSS property is supported, this
3113         part of the change can be removed.
3114
3115         Test: svg/transforms/transform-origin-presentation-attribute.xhtml
3116
3117         * svg/SVGStyledElement.cpp:
3118         (WebCore::mapAttributeToCSSProperty):
3119         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
3120         * svg/svgattrs.in:
3121
3122 2012-01-26  Philippe Normand  <pnormand@igalia.com>
3123
3124         [GStreamer] disable GStreamerGWorld when building against 0.11
3125         https://bugs.webkit.org/show_bug.cgi?id=77088
3126
3127         Reviewed by Martin Robinson.
3128
3129         Don't build GStreamerGWorld and PlatformVideoWindow under
3130         GStreamer 0.11. It's supposed to be removed soon anyway.
3131
3132         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
3133         * platform/graphics/gstreamer/GStreamerGWorld.h:
3134         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3135         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
3136         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3137         (MediaPlayerPrivateGStreamer):
3138         * platform/graphics/gstreamer/PlatformVideoWindow.h:
3139         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
3140         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
3141         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
3142         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
3143
3144 2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
3145
3146         Rename m_tileCreationTimer in the tiled backing store
3147         https://bugs.webkit.org/show_bug.cgi?id=80414
3148
3149         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3150
3151         Reviewed by Tor Arne Vestbø.
3152
3153         The m_tileCreationTimer member is currently being used to represent a
3154         timer that is fired when the backing store has been updated which is
3155         confusing with its current name.  This patch fixes this by renaming
3156         the m_tileCreationTimer to m_backingStoreUpdateTimer.
3157
3158         * platform/graphics/TiledBackingStore.cpp:
3159         (WebCore::TiledBackingStore::TiledBackingStore):
3160         (WebCore::TiledBackingStore::setTileSize):
3161         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
3162         (WebCore::TiledBackingStore::createTiles):
3163         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
3164         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
3165         (WebCore::TiledBackingStore::setContentsFrozen):
3166         * platform/graphics/TiledBackingStore.h:
3167         (TiledBackingStore):
3168
3169 2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
3170
3171         Remove TileTimer typedef from the tiled backing store
3172         https://bugs.webkit.org/show_bug.cgi?id=80408
3173
3174         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3175
3176         Reviewed by Tor Arne Vestbø.
3177
3178         * platform/graphics/TiledBackingStore.cpp:
3179         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
3180         (WebCore::TiledBackingStore::tileCreationTimerFired):
3181         * platform/graphics/TiledBackingStore.h:
3182         (TiledBackingStore):
3183
3184 2012-03-06  Robin Cao  <robin.cao@torchmobile.com.cn>
3185
3186         [BlackBerry] Upstream LayerRenderer.{h, cpp}
3187         https://bugs.webkit.org/show_bug.cgi?id=79874
3188
3189         Reviewed by Antonio Gomes.
3190
3191         Initial upstream, no new tests.
3192
3193         * platform/graphics/blackberry/LayerRenderer.cpp: Added.
3194         (WebCore):
3195         (WebCore::checkGLError):
3196         (WebCore::loadShader):
3197         (WebCore::loadShaderProgram):
3198         (WebCore::orthoMatrix):
3199         (WebCore::rawPtrVectorFromRefPtrVector):
3200         (WebCore::LayerRenderer::create):
3201         (WebCore::LayerRenderer::LayerRenderer):
3202         (WebCore::LayerRenderer::~LayerRenderer):
3203         (WebCore::LayerRenderer::releaseLayerResources):
3204         (WebCore::compareLayerZ):
3205         (WebCore::LayerRenderer::drawLayers):
3206         (WebCore::LayerRenderer::useSurface):
3207         (WebCore::LayerRenderer::drawLayersOnSurfaces):
3208         (WebCore::LayerRenderer::setRootLayer):
3209         (WebCore::LayerRenderer::addLayer):
3210         (WebCore::LayerRenderer::removeLayer):
3211         (WebCore::LayerRenderer::addLayerToReleaseTextureResourcesList):
3212         (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
3213         (WebCore::LayerRenderer::toWebKitWindowCoordinates):
3214         (WebCore::LayerRenderer::toWebKitDocumentCoordinates):
3215         (WebCore::LayerRenderer::drawDebugBorder):
3216         (WebCore::LayerRenderer::drawHolePunchRect):
3217         (WebCore::LayerRenderer::updateLayersRecursive):
3218         (WebCore::hasRotationalComponent):
3219         (WebCore::LayerRenderer::layerAlreadyOnSurface):
3220         (WebCore::collect3DPreservingLayers):
3221         (WebCore::LayerRenderer::compositeLayersRecursive):
3222         (WebCore::LayerRenderer::updateScissorIfNeeded):
3223         (WebCore::LayerRenderer::makeContextCurrent):
3224         (WebCore::LayerRenderer::bindCommonAttribLocation):
3225         (WebCore::LayerRenderer::initializeSharedGLObjects):
3226         (WebCore::LayerRenderingResults::holePunchRect):
3227         (WebCore::LayerRenderingResults::addHolePunchRect):
3228         (WebCore::LayerRenderingResults::addDirtyRect):
3229         (WebCore::LayerRenderingResults::isEmpty):
3230         * platform/graphics/blackberry/LayerRenderer.h: Added.
3231         (WebCore):
3232         (LayerRenderingResults):
3233         (WebCore::LayerRenderingResults::LayerRenderingResults):
3234         (WebCore::LayerRenderingResults::holePunchRectSize):
3235         (WebCore::LayerRenderingResults::dirtyRect):
3236         (LayerRenderer):
3237         (WebCore::LayerRenderer::rootLayer):
3238         (WebCore::LayerRenderer::hardwareCompositing):
3239         (WebCore::LayerRenderer::setClearSurfaceOnDrawLayers):
3240         (WebCore::LayerRenderer::clearSurfaceOnDrawLayers):
3241         (WebCore::LayerRenderer::context):
3242         (WebCore::LayerRenderer::lastRenderingResults):
3243         (WebCore::LayerRenderer::setNeedsCommit):
3244
3245 2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
3246
3247         r109563 caused perf regression
3248         https://bugs.webkit.org/show_bug.cgi?id=80404
3249
3250         Add test for Element or ShadowRoot.
3251
3252         Reviewed by Antti Koivisto.
3253
3254         No new tests. (fix)
3255
3256         * css/CSSStyleSelector.cpp:
3257         (WebCore::CSSStyleSelector::pushParentElement):
3258
3259 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
3260
3261         Web Inspector: prepare for extracting ScriptMapping implementation from DebuggerPresentationModel.
3262         https://bugs.webkit.org/show_bug.cgi?id=80396
3263
3264         Limit RawSourceCode usages to a subset of methods. This subset will be moved to ScriptMapping implementation in a separate change.
3265
3266         Reviewed by Vsevolod Vlasov.
3267
3268         * inspector/front-end/DebuggerPresentationModel.js:
3269         (WebInspector.DebuggerPresentationModel):
3270         (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
3271         (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
3272         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
3273         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
3274         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
3275         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
3276         (WebInspector.DebuggerPresentationModel.prototype._forceUpdateSourceMapping):
3277         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
3278         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
3279         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3280         (WebInspector.PresentationCallFrame):
3281         (WebInspector.PresentationCallFrame.prototype.uiLocation):
3282         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
3283         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3284         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3285         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
3286         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
3287
3288 2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
3289
3290         Web Inspector: [Regression] Execution line is not revealed when debugger is stopped if scripts panel was not yet shown.
3291         https://bugs.webkit.org/show_bug.cgi?id=80306
3292
3293         Reviewed by Pavel Feldman.
3294
3295         Test: inspector/debugger/reveal-execution-line.html
3296
3297         * inspector/front-end/ConsoleView.js:
3298         * inspector/front-end/DebuggerPresentationModel.js:
3299         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
3300         * inspector/front-end/JavaScriptSourceFrame.js:
3301         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
3302         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
3303         * inspector/front-end/ScriptsPanel.js:
3304         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
3305         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3306         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
3307         * inspector/front-end/SourceFrame.js:
3308         (WebInspector.SourceFrame.prototype.willHide):
3309         (WebInspector.SourceFrame.prototype.highlightLine):
3310         (WebInspector.SourceFrame.prototype.revealLine):
3311         (WebInspector.SourceFrame.prototype._clearLineToReveal):
3312         (WebInspector.SourceFrame.prototype.setContent):
3313
3314 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
3315
3316         Web Inspector: remove reference to RawSourceCode from UISourceCode.
3317         https://bugs.webkit.org/show_bug.cgi?id=80395
3318
3319         Reviewed by Vsevolod Vlasov.
3320
3321         * inspector/compile-front-end.sh:
3322         * inspector/front-end/DebuggerPresentationModel.js:
3323         (WebInspector.DebuggerPresentationModel):
3324         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3325         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
3326         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3327         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
3328         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
3329         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3330         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3331         * inspector/front-end/RawSourceCode.js:
3332         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3333         * inspector/front-end/UISourceCode.js:
3334         (WebInspector.UISourceCode):
3335
3336 2012-03-06  Andrey Kosyakov  <caseq@chromium.org>
3337
3338         Web Inspector: move timeline panel overview mode toggle buttons to overview sidebar tree
3339         https://bugs.webkit.org/show_bug.cgi?id=80304
3340
3341         Reviewed by Pavel Feldman.
3342
3343         * inspector/front-end/Images/statusbarButtonGlyphs.png:
3344         * inspector/front-end/Settings.js:
3345         (WebInspector.ExperimentsSettings):
3346         * inspector/front-end/TimelineOverviewPane.js:
3347         (WebInspector.TimelineOverviewPane):
3348         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
3349         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
3350         (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
3351         (WebInspector.TimelineOverviewPane.prototype._onOverviewModeChanged):
3352         (WebInspector.TimelineOverviewPane.prototype.update):
3353         (WebInspector.TimelineOverviewPane.prototype.reset):
3354         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
3355         (WebInspector.TimelineVerticalOverview):
3356         (WebInspector.TimelineOverviewModeSelector):
3357         (WebInspector.TimelineOverviewModeSelector.prototype.addButton):
3358         (WebInspector.TimelineOverviewModeSelector.prototype.get value):
3359         (WebInspector.TimelineOverviewModeSelector.prototype._createButton):
3360         (WebInspector.TimelineOverviewModeSelector.prototype._select):
3361         (WebInspector.TimelineOverviewModeSelector.prototype._onClick):
3362         * inspector/front-end/TimelinePanel.js:
3363         (WebInspector.TimelinePanel):
3364         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3365         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3366         (WebInspector.TimelinePanel.prototype._updateEventDividers):
3367         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
3368         (WebInspector.TimelinePanel.prototype.revealRecordAt):
3369         * inspector/front-end/inspector.css:
3370         * inspector/front-end/timelinePanel.css:
3371         (.timeline-vertical-overview #timeline-overview-grid):
3372         (.timeline-vertical-overview .timeline-overview-window):
3373         (.timeline-vertical-overview .timeline-overview-dividers-background):
3374         (.timeline-vertical-overview #timeline-overview-memory):
3375         (.timeline-vertical-overview-status-bar-item.toggled-on .glyph):
3376         (.timeline-vertical-overview-bars):
3377         (.timeline-vertical-overview-bars .padding):
3378         (.timeline-vertical-overview-bars .timeline-bar-vertical):
3379         (.timeline.timeline-vertical-overview .resources-divider):
3380         (.sidebar-tree-item .timeline-vertical-overview-status-bar-item):
3381         (.timeline-overview-mode-selector):
3382         (.timeline-overview-mode-selector .glyph):
3383         (.timeline-overview-mode-selector button):
3384         (.timeline-overview-mode-selector button.toggled):
3385         (.timeline-overview-mode-selector button:active):
3386         (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button):
3387         (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button.toggled):
3388         (.timeline-overview-mode-selector button:first-of-type):
3389         (.timeline-overview-mode-selector button:last-of-type):
3390         (.timeline-mode-vertical-bars .glyph):
3391         (.timeline-mode-horizontal-bars .glyph):
3392
3393 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3394
3395         Make it explicit when we are allowing updates to the actual backing store or the tile buffers
3396         https://bugs.webkit.org/show_bug.cgi?id=80288
3397
3398         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3399
3400         Reviewed by Noam Rosenthal.
3401
3402         * platform/graphics/TiledBackingStore.cpp:
3403         (WebCore::TiledBackingStore::createTiles):
3404         (WebCore::TiledBackingStore::isBackingStoreUpdatesSuspended):
3405         (WebCore):
3406         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
3407         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
3408         (WebCore::TiledBackingStore::startTileCreationTimer):
3409         * platform/graphics/TiledBackingStore.h:
3410         (TiledBackingStore):
3411
3412 2012-03-06  Mark Rowe  <mrowe@apple.com>
3413
3414         Build fix after r109877.
3415
3416         * WebCore.xcodeproj/project.pbxproj: Ensure that headers are copied in to WebCore.framework so that
3417         WebKit can still find them.
3418
3419 2012-03-06  Andreas Kling  <awesomekling@apple.com>
3420
3421         Remove incorrect WTF::Vector traits for CSSProperty.
3422         <http://webkit.org/b/53285>
3423         <rdar://problem/10161286>
3424
3425         Reviewed by Antti Koivisto.
3426
3427         We shouldn't allow copying Vector<CSSProperty> contents around with memcpy()
3428         as CSSProperty has a RefPtr member and this would muck up the refcount.
3429         This was added to facilitate fast comparison of property vectors, and we no
3430         longer use that, so there shouldn't be any performance concerns here.
3431
3432         * css/CSSProperty.h:
3433
3434 2012-03-06  Adam Barth  <abarth@webkit.org>
3435
3436         Attempt to fix the Qt minimal build.
3437
3438         * Target.pri:
3439
3440 2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
3441
3442         :scope should behave as :root outside scoped style sheet
3443         https://bugs.webkit.org/show_bug.cgi?id=80389
3444
3445         Fall through to :root implementation if no scope is used.
3446
3447         Reviewed by Antti Koivisto.
3448
3449         Test: fast/css/style-scoped/scope-pseudo.html
3450
3451         * css/SelectorChecker.cpp:
3452         (WebCore::SelectorChecker::checkOneSelector):
3453
3454 2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
3455
3456         Web Inspector: [Regression] Message bubbles are not removed from scripts panel source frames after console was cleared.
3457         https://bugs.webkit.org/show_bug.cgi?id=80275
3458
3459         Reviewed by Pavel Feldman.
3460
3461         * inspector/front-end/ScriptsPanel.js:
3462         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
3463         * inspector/front-end/utilities.js:
3464
3465 2012-03-06  Adam Barth  <abarth@webkit.org>
3466
3467         Move SQLDatabase code into Modules/webdatabase
3468         https://bugs.webkit.org/show_bug.cgi?id=80393
3469
3470         Reviewed by Kentaro Hara.
3471
3472         There are still a couple (minor) SQLDatabase references from WebCore
3473         proper, but we've gotten this code to the point where it makes sense to
3474         move it into the Modules directory.  (This patch just moves code---no
3475         behavior change.)
3476
3477         * CMakeLists.txt:
3478         * DerivedSources.make:
3479         * DerivedSources.pri:
3480         * GNUmakefile.am:
3481         * GNUmakefile.list.am:
3482         * Modules/webdatabase: Added.