Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=78256
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-09  David Hyatt  <hyatt@apple.com>
2
3         https://bugs.webkit.org/show_bug.cgi?id=78256
4         
5         Rename line-grid-snap to line-snap so that it matches the draft proposal for the
6         property.
7
8         Reviewed by Dan Bernstein.
9
10         * css/CSSComputedStyleDeclaration.cpp:
11         (WebCore):
12         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
13         * css/CSSParser.cpp:
14         (WebCore::CSSParser::parseValue):
15         * css/CSSPrimitiveValueMappings.h:
16         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
17         (WebCore::CSSPrimitiveValue::operator LineSnap):
18         * css/CSSProperty.cpp:
19         (WebCore::CSSProperty::isInheritedProperty):
20         * css/CSSPropertyNames.in:
21         * css/CSSStyleApplyProperty.cpp:
22         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
23         * css/CSSStyleSelector.cpp:
24         (WebCore::CSSStyleSelector::applyProperty):
25         * rendering/RootInlineBox.cpp:
26         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
27         (WebCore::RootInlineBox::lineSnapAdjustment):
28         * rendering/RootInlineBox.h:
29         (RootInlineBox):
30         * rendering/style/RenderStyle.cpp:
31         (WebCore::RenderStyle::diff):
32         * rendering/style/RenderStyle.h:
33         * rendering/style/RenderStyleConstants.h:
34         * rendering/style/StyleRareInheritedData.cpp:
35         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
36         (WebCore::StyleRareInheritedData::operator==):
37         * rendering/style/StyleRareInheritedData.h:
38         (StyleRareInheritedData):
39
40 2012-02-09  Benjamin Poulain  <bpoulain@apple.com>
41
42         The localization of htmlSelectMultipleItems() needs better support of pluralization
43         https://bugs.webkit.org/show_bug.cgi?id=78197
44
45         Reviewed by Joseph Pecoraro.
46
47         For translation, the localization of 0 and 1 depends on the language.
48
49         * English.lproj/Localizable.strings:
50         * platform/DefaultLocalizationStrategy.cpp:
51         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
52
53 2012-02-09  Anders Carlsson  <andersca@apple.com>
54
55         ScrollingTreeNodeMac should implement ScrollElasticityController
56         https://bugs.webkit.org/show_bug.cgi?id=78277
57
58         Reviewed by Andreas Kling.
59
60         Add stubbed out implementations of the ScrollElasticityController member functions.
61
62         * page/scrolling/mac/ScrollingTreeNodeMac.h:
63         (ScrollingTreeNodeMac):
64         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
65         (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
66         (WebCore):
67         (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
68         (WebCore::ScrollingTreeNodeMac::stretchAmount):
69         (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
70         (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
71         (WebCore::ScrollingTreeNodeMac::canScrollVertically):
72         (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
73         (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
74         (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
75         (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
76         (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
77         (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
78
79 2012-02-09  Adrienne Walker  <enne@google.com>
80
81         [chromium] Correct potential double reserveTextures() in CCLayerTreeHost
82         https://bugs.webkit.org/show_bug.cgi?id=78258
83
84         Reviewed by James Robinson.
85
86         This isn't a problem currently, because scrollbar layers don't create
87         render surfaces. However, if this ever got used for other layers, we
88         could call reserve on them twice needlessly. It's also just bad form
89         to have an iterator doing the wrong thing.
90
91         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
92         (WebCore::CCLayerTreeHost::reserveTextures):
93
94 2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
95
96         Unreviewed, rolling out r107261.
97         http://trac.webkit.org/changeset/107261
98         https://bugs.webkit.org/show_bug.cgi?id=78274
99
100         It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using
101         lang() selectors) (Requested by jchaffraix on #webkit).
102
103         * css/CSSStyleSelector.cpp:
104         (WebCore::CSSStyleSelector::canShareStyleWithControl):
105         (WebCore::CSSStyleSelector::canShareStyleWithElement):
106         (WebCore::isCommonAttributeSelectorAttribute):
107
108 2012-02-09  Joshua Bell  <jsbell@chromium.org>
109
110         [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject
111         https://bugs.webkit.org/show_bug.cgi?id=78167
112
113         Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not
114         automagically inherited from IDBRequest.idl.
115
116         Reviewed by Adam Barth.
117
118         Test: storage/indexeddb/versionchangerequest-activedomobject.html
119
120         * storage/IDBVersionChangeRequest.idl:
121
122 2012-02-09  Anders Carlsson  <andersca@apple.com>
123
124         The scrolling tree should know more about the scrollbar state
125         https://bugs.webkit.org/show_bug.cgi?id=78268
126
127         Reviewed by Andreas Kling.
128
129         With this change, the scroll tree now keeps track of the horizontal scroll elasticity,
130         the vertical scroll elasticity and whether the page has enabled scrollbars.
131
132         This is needed in order to make rubber-banding work correctly when doing fast scrolling.
133
134         * page/scrolling/ScrollingCoordinator.cpp:
135         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
136         * page/scrolling/ScrollingTreeNode.cpp:
137         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
138         (WebCore::ScrollingTreeNode::update):
139         * page/scrolling/ScrollingTreeNode.h:
140         (ScrollingTreeNode):
141         * page/scrolling/ScrollingTreeState.cpp:
142         (WebCore::ScrollingTreeState::ScrollingTreeState):
143         (WebCore::ScrollingTreeState::setHorizontalScrollElasticity):
144         (WebCore):
145         (WebCore::ScrollingTreeState::setVerticalScrollElasticity):
146         (WebCore::ScrollingTreeState::setHasEnabledHorizontalScrollbar):
147         (WebCore::ScrollingTreeState::setHasEnabledVerticalScrollbar):
148         * page/scrolling/ScrollingTreeState.h:
149         (WebCore::ScrollingTreeState::horizontalScrollElasticity):
150         (ScrollingTreeState):
151         (WebCore::ScrollingTreeState::verticalScrollElasticity):
152         (WebCore::ScrollingTreeState::hasEnabledHorizontalScrollbar):
153         (WebCore::ScrollingTreeState::hasEnabledVerticalScrollbar):
154
155 2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
156
157         Unnecessary and incorrect invalidation about composited fixed-position layers
158         https://bugs.webkit.org/show_bug.cgi?id=75638
159
160         When a FrameView scrolls, composited fixed-position layers should
161         not contribute to the invalidation rect of the root layer.
162
163         Reviewed by Simon Fraser.
164
165         No new tests. Haven't found a good way to test this programatically.
166
167         * page/FrameView.cpp:
168         (WebCore::FrameView::scrollContentsFastPath):
169
170 2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
171
172         Unreviewed, rolling out r107035.
173         http://trac.webkit.org/changeset/107035
174         https://bugs.webkit.org/show_bug.cgi?id=78253
175
176         Regressed DOMDivWalk (Requested by arv on #webkit).
177
178         * Target.pri:
179         * UseV8.cmake:
180         * WebCore.gypi:
181         * bindings/scripts/CodeGeneratorV8.pm:
182         (GenerateNormalAttrGetter):
183         (HasCustomToV8Implementation):
184         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
185         (WebCore::toV8):
186         (WebCore):
187         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp.
188         (WebCore):
189         (WebCore::toV8):
190         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
191         (WebCore::toV8):
192         (WebCore):
193
194 2012-02-09  David Barton  <dbarton@mathscribe.com>
195
196         MathML internals for bug 52444 fix - type checking, PassRefPtr
197         https://bugs.webkit.org/show_bug.cgi?id=78180
198
199         Reviewed by Eric Seidel.
200         
201         static_cast<Element*>(node()) is done in methods in RenderMathMLFenced.cpp and a few
202         other files. It is more type-safe if the RenderMathMLFenced() or other constructor only
203         accepts an Element*, not a Node*. Also a couple functions were changed to return a
204         PassRefPtr instead of a RefPtr.
205
206         No new tests.
207
208         * rendering/mathml/RenderMathMLFenced.cpp:
209         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
210         (WebCore::RenderMathMLFenced::updateFromElement):
211         (WebCore::RenderMathMLFenced::makeOperatorStyle):
212         (WebCore::RenderMathMLFenced::makeFences):
213         (WebCore::RenderMathMLFenced::addChild):
214         * rendering/mathml/RenderMathMLFenced.h:
215         (RenderMathMLFenced):
216         * rendering/mathml/RenderMathMLFraction.cpp:
217         (WebCore::RenderMathMLFraction::RenderMathMLFraction):
218         * rendering/mathml/RenderMathMLFraction.h:
219         (RenderMathMLFraction):
220         * rendering/mathml/RenderMathMLMath.cpp:
221         (WebCore::RenderMathMLMath::RenderMathMLMath):
222         * rendering/mathml/RenderMathMLMath.h:
223         (RenderMathMLMath):
224         * rendering/mathml/RenderMathMLOperator.cpp:
225         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
226         (WebCore::RenderMathMLOperator::updateFromElement):
227         (WebCore::RenderMathMLOperator::createStackableStyle):
228         (WebCore::RenderMathMLOperator::createGlyph):
229         * rendering/mathml/RenderMathMLOperator.h:
230         (RenderMathMLOperator):
231         * rendering/mathml/RenderMathMLRoot.cpp:
232         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
233         (WebCore::RenderMathMLRoot::layout):
234         * rendering/mathml/RenderMathMLRoot.h:
235         (RenderMathMLRoot):
236         * rendering/mathml/RenderMathMLRow.cpp:
237         (WebCore::RenderMathMLRow::RenderMathMLRow):
238         * rendering/mathml/RenderMathMLRow.h:
239         (RenderMathMLRow):
240         * rendering/mathml/RenderMathMLSquareRoot.cpp:
241         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
242         * rendering/mathml/RenderMathMLSquareRoot.h:
243         (RenderMathMLSquareRoot):
244         * rendering/mathml/RenderMathMLSubSup.cpp:
245         (WebCore::RenderMathMLSubSup::addChild):
246         * rendering/mathml/RenderMathMLSubSup.h:
247         (RenderMathMLSubSup):
248         * rendering/mathml/RenderMathMLUnderOver.cpp:
249         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
250         * rendering/mathml/RenderMathMLUnderOver.h:
251         (RenderMathMLUnderOver):
252
253 2012-02-09  Andreas Kling  <awesomekling@apple.com>
254
255         Avoid unnecessary work when evaluating style sharing candidates.
256         <http://webkit.org/b/78220>
257
258         Reviewed by Antti Koivisto.
259
260         Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
261         Remove comparison of attributes that are reflected in the attribute styles (cellpadding,
262         lang and xml:lang.) Moved comparison of "type" and "readonly" attributes into the more
263         specific canShareStyleWithControl() since they are only relevant for input elements.
264         Don't bother calling isFormControlElement() on both elements since we already know they
265         have the same tagQName().
266
267         Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test.
268
269         * css/CSSStyleSelector.cpp:
270         (WebCore::CSSStyleSelector::canShareStyleWithControl):
271         (WebCore::CSSStyleSelector::canShareStyleWithElement):
272         (WebCore::isCommonAttributeSelectorAttribute):
273
274 2012-02-09  Mike Lawther  <mikelawther@chromium.org>
275
276         CSS3 calc() - remove mod
277         https://bugs.webkit.org/show_bug.cgi?id=78226
278
279         mod has been removed from the spec for calc().
280
281         Reviewed by Ojan Vafai.
282
283         * css/CSSCalculationValue.cpp:
284         (WebCore::CSSCalcBinaryOperation::create):
285         (WebCore::CSSCalcBinaryOperation::evaluate):
286         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
287         * css/CSSGrammar.y:
288         * platform/CalculationValue.h:
289
290 2012-02-09  Pavel Feldman  <pfeldman@google.com>
291
292         Web Inspector: rename DOMEditor to DOMPatchSupport, move undoable actions from
293         InspectorDOMAgent to the new DOMEditor.
294         https://bugs.webkit.org/show_bug.cgi?id=78245
295
296         Reviewed by Yury Semikhatsky.
297
298         * CMakeLists.txt:
299         * GNUmakefile.list.am:
300         * Target.pri:
301         * WebCore.gypi:
302         * WebCore.vcproj/WebCore.vcproj:
303         * WebCore.xcodeproj/project.pbxproj:
304         * inspector/DOMEditor.cpp:
305         (DOMEditor::DOMAction):
306         (WebCore::DOMEditor::DOMAction::DOMAction):
307         (WebCore::DOMEditor::DOMAction::perform):
308         (WebCore::DOMEditor::DOMAction::undo):
309         (DOMEditor::RemoveChildAction):
310         (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
311         (WebCore::DOMEditor::RemoveChildAction::perform):
312         (WebCore::DOMEditor::RemoveChildAction::undo):
313         (DOMEditor::InsertBeforeAction):
314         (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
315         (WebCore::DOMEditor::InsertBeforeAction::perform):
316         (WebCore::DOMEditor::InsertBeforeAction::undo):
317         (DOMEditor::RemoveAttributeAction):
318         (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
319         (WebCore::DOMEditor::RemoveAttributeAction::perform):
320         (WebCore::DOMEditor::RemoveAttributeAction::undo):
321         (DOMEditor::SetAttributeAction):
322         (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
323         (WebCore::DOMEditor::SetAttributeAction::perform):
324         (WebCore::DOMEditor::SetAttributeAction::undo):
325         (DOMEditor::SetOuterHTMLAction):
326         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
327         (WebCore::DOMEditor::SetOuterHTMLAction::perform):
328         (WebCore::DOMEditor::SetOuterHTMLAction::undo):
329         (WebCore::DOMEditor::SetOuterHTMLAction::newNode):
330         (DOMEditor::ReplaceWholeTextAction):
331         (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
332         (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
333         (WebCore::DOMEditor::ReplaceWholeTextAction::undo):
334         (WebCore::DOMEditor::DOMEditor):
335         (WebCore):
336         (WebCore::DOMEditor::~DOMEditor):
337         (WebCore::DOMEditor::insertBefore):
338         (WebCore::DOMEditor::removeChild):
339         (WebCore::DOMEditor::setAttribute):
340         (WebCore::DOMEditor::removeAttribute):
341         (WebCore::DOMEditor::setOuterHTML):
342         (WebCore::DOMEditor::replaceWholeText):
343         * inspector/DOMEditor.h:
344         (WebCore):
345         (DOMEditor):
346         * inspector/DOMPatchSupport.cpp: Copied from Source/WebCore/inspector/DOMEditor.cpp.
347         (WebCore::DOMPatchSupport::DOMPatchSupport):
348         (WebCore::DOMPatchSupport::~DOMPatchSupport):
349         (WebCore::DOMPatchSupport::patchDocument):
350         (WebCore::DOMPatchSupport::patchNode):
351         (WebCore::DOMPatchSupport::innerPatchNode):
352         (WebCore):
353         (WebCore::DOMPatchSupport::diff):
354         (WebCore::DOMPatchSupport::innerPatchChildren):
355         (WebCore::DOMPatchSupport::createDigest):
356         (WebCore::DOMPatchSupport::insertBefore):
357         (WebCore::DOMPatchSupport::removeChild):
358         (WebCore::DOMPatchSupport::markNodeAsUsed):
359         (WebCore::DOMPatchSupport::dumpMap):
360         * inspector/DOMPatchSupport.h: Copied from Source/WebCore/inspector/DOMEditor.h.
361         (DOMPatchSupport):
362         * inspector/InspectorDOMAgent.cpp:
363         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
364         (WebCore::InspectorDOMAgent::setFrontend):
365         (WebCore::InspectorDOMAgent::clearFrontend):
366         (WebCore::InspectorDOMAgent::reset):
367         (WebCore::InspectorDOMAgent::setAttributeValue):
368         (WebCore::InspectorDOMAgent::setAttributesAsText):
369         (WebCore::InspectorDOMAgent::removeAttribute):
370         (WebCore::InspectorDOMAgent::removeNode):
371         (WebCore::InspectorDOMAgent::setNodeName):
372         (WebCore::InspectorDOMAgent::setOuterHTML):
373         (WebCore::InspectorDOMAgent::setNodeValue):
374         (WebCore::InspectorDOMAgent::moveTo):
375         * inspector/InspectorDOMAgent.h:
376         (WebCore):
377         (InspectorDOMAgent):
378         * inspector/InspectorPageAgent.cpp:
379         (WebCore::InspectorPageAgent::setDocumentContent):
380
381 2012-02-09  Mark Rowe  <mrowe@apple.com>
382
383         REGRESSION (r104746): iframes load PDFs as media documents
384         <http://webkit.org/b/77079> / <rdar://problem/10757933>
385
386         Roll out r104746 since it completely broke support for loading PDF documents in subframes.
387
388         Reviewed by Adam Treat.
389
390         * dom/DOMImplementation.cpp:
391         (WebCore::DOMImplementation::createDocument):
392
393 2012-02-09  Andrey Kosyakov  <caseq@chromium.org>
394
395         Web Inspector: [refactoring] take _showShortEvents out of timeline calculator
396         https://bugs.webkit.org/show_bug.cgi?id=78230
397
398         Reviewed by Pavel Feldman.
399
400         * inspector/front-end/TimelinePanel.js:
401         (WebInspector.TimelinePanel):
402         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
403         (WebInspector.TimelinePanel.prototype._refresh):
404         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
405
406 2012-02-08  Dan Vrátil  <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>
407
408         [GTK] Embedded GtkWidgets are not drawn
409         https://bugs.webkit.org/show_bug.cgi?id=63451
410
411         Remove widget from it's parent container when GtkPluginWidget is destroyed.
412         Remove paint() method because real expose even is used for drawing child widgets now.
413
414         Reviewed by Martin Robinson.
415
416         * platform/gtk/GtkPluginWidget.cpp:
417         (WebCore::GtkPluginWidget::~GtkPluginWidget):
418         (WebCore):
419         * platform/gtk/GtkPluginWidget.h:
420         (GtkPluginWidget):
421
422 2012-02-09  Arun Patole  <arun.patole@motorola.com>
423
424         Setting media element 'src' attribute to "" should trigger load
425         https://bugs.webkit.org/show_bug.cgi?id=47907
426
427         Reviewed by Eric Carlson.
428
429         Test: media/video-src-empty.html
430
431         * html/HTMLMediaElement.cpp:
432         (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present.
433
434 2012-02-09  Jonathan Backer  <backer@chromium.org>
435
436         [chromium] Add setNeedsRedraw to WebWidget
437         https://bugs.webkit.org/show_bug.cgi?id=77555
438
439         Reviewed by James Robinson.
440
441         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
442         (WebCore::CCLayerTreeHost::setNeedsRedraw):
443         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
444         (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
445         (WebCore):
446         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
447         (CCLayerTreeHostImpl):
448         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
449         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
450         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
451         (WebCore::CCThreadProxy::setNeedsRedraw):
452         (WebCore::CCThreadProxy::setFullRootLayerDamageOnImplThread):
453         (WebCore):
454         * platform/graphics/chromium/cc/CCThreadProxy.h:
455         (CCThreadProxy):
456
457 2012-02-09  Pavel Feldman  <pfeldman@google.com>
458
459         Web Inspector: fix setOuterHTML for the case that adds / removes duplicate.
460         https://bugs.webkit.org/show_bug.cgi?id=78235
461
462         Reviewed by Yury Semikhatsky.
463
464         * inspector/DOMEditor.cpp:
465         (WebCore::DOMEditor::diff):
466         (WebCore::DOMEditor::innerPatchChildren):
467         (WebCore):
468         (WebCore::nodeName):
469         (WebCore::DOMEditor::dumpMap):
470         * inspector/DOMEditor.h:
471         (DOMEditor):
472
473 2012-02-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
474
475         Ensure timers and other active DOM objects do not fire in suspended documents.
476         https://bugs.webkit.org/show_bug.cgi?id=53733
477
478         ScriptExecutionContext now remembers it has suspended active DOM objects
479         and suspends all newly installed active DOM objects as well.
480
481         All create-calls active DOM objects now calls the post constructor method
482         suspendIfNeeded that updates the suspend state. It is post constructor
483         because the suspend/resume functions are virtual and thus can not be called
484         from constructors.
485
486         Reviewed by Mihai Parparita.
487
488         Test: fast/events/suspend-timers.html
489
490         * Modules/intents/IntentRequest.cpp:
491         (WebCore::IntentRequest::create):
492         * bindings/generic/ActiveDOMCallback.cpp:
493         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
494         * dom/ActiveDOMObject.cpp:
495         (WebCore::ActiveDOMObject::ActiveDOMObject):
496         (WebCore::ActiveDOMObject::~ActiveDOMObject):
497         (WebCore::ActiveDOMObject::suspendIfNeeded):
498         * dom/ActiveDOMObject.h:
499         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
500         * dom/DocumentEventQueue.cpp:
501         (WebCore::DocumentEventQueue::DocumentEventQueue):
502         * dom/ScriptExecutionContext.cpp:
503         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
504         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
505         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
506         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
507         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
508         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
509         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
510         * dom/ScriptExecutionContext.h:
511         (ScriptExecutionContext):
512         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
513         * fileapi/DOMFileSystem.cpp:
514         (WebCore::DOMFileSystem::create):
515         * fileapi/FileReader.cpp:
516         (WebCore::FileReader::create):
517         * fileapi/FileReader.h:
518         * fileapi/FileWriter.cpp:
519         (WebCore::FileWriter::create):
520         * fileapi/FileWriter.h:
521         * history/CachedFrame.cpp:
522         (WebCore::CachedFrame::CachedFrame):
523         * html/HTMLAudioElement.cpp:
524         (WebCore::HTMLAudioElement::create):
525         (WebCore::HTMLAudioElement::createForJSConstructor):
526         * html/HTMLMarqueeElement.cpp:
527         (WebCore::HTMLMarqueeElement::create):
528         * html/HTMLVideoElement.cpp:
529         (WebCore::HTMLVideoElement::create):
530         * mediastream/PeerConnection.cpp:
531         (WebCore::PeerConnection::create):
532         * notifications/Notification.cpp:
533         (WebCore::Notification::create):
534         * notifications/NotificationCenter.cpp:
535         (WebCore::NotificationCenter::create):
536         * notifications/NotificationCenter.h:
537         * page/DOMTimer.cpp:
538         (WebCore::DOMTimer::install):
539         (WebCore::DOMTimer::fired):
540         * page/EventSource.cpp:
541         (WebCore::EventSource::create):
542         * page/SuspendableTimer.cpp:
543         (WebCore::SuspendableTimer::SuspendableTimer):
544         * storage/IDBDatabase.cpp:
545         (WebCore::IDBDatabase::create):
546         * storage/IDBRequest.cpp:
547         (WebCore::IDBRequest::create):
548         * storage/IDBTransaction.cpp:
549         (WebCore::IDBTransaction::create):
550         * storage/IDBVersionChangeRequest.cpp:
551         (WebCore::IDBVersionChangeRequest::create):
552         * webaudio/AudioContext.cpp:
553         (WebCore::AudioContext::create):
554         (WebCore::AudioContext::createOfflineContext):
555         * websockets/WebSocket.cpp:
556         (WebCore::WebSocket::create):
557         * websockets/WebSocket.h:
558         * workers/SharedWorker.cpp:
559         (WebCore::SharedWorker::create):
560         * workers/Worker.cpp:
561         (WebCore::Worker::create):
562         * xml/XMLHttpRequest.cpp:
563         (WebCore::XMLHttpRequest::create):
564
565 2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
566
567         Unreviewed followup for r107235.
568
569         * inspector/front-end/ScriptsPanel.js:
570         (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
571         (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
572
573 2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
574
575         Web Inspector: Support hiding scripts panel debug sidebar.
576         https://bugs.webkit.org/show_bug.cgi?id=77543
577
578         Reviewed by Pavel Feldman.
579
580         * English.lproj/localizedStrings.js:
581         * WebCore.gypi:
582         * WebCore.vcproj/WebCore.vcproj:
583         * inspector/compile-front-end.sh:
584         * inspector/front-end/Dialog.js:
585         (WebInspector.Dialog):
586         (WebInspector.DialogDelegate.prototype.show):
587         * inspector/front-end/Images/navigatorPinButton.png: Added.
588         * inspector/front-end/Images/navigatorShowHideButton.png: Added.
589         * inspector/front-end/ScriptsNavigator.js:
590         (WebInspector.ScriptsNavigator):
591         (WebInspector.ScriptsNavigator.prototype.get view):
592         (WebInspector.ScriptsNavigator.prototype.get element):
593         (WebInspector.ScriptsNavigator.prototype.show):
594         (WebInspector.ScriptsNavigator.prototype.focus):
595         * inspector/front-end/ScriptsPanel.js:
596         (WebInspector.ScriptsPanel.prototype._fileSelected):
597         (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
598         (WebInspector.ScriptsPanel.prototype._createNavigatorControls):
599         (WebInspector.ScriptsPanel.prototype._createNavigatorControlButton):
600         (WebInspector.ScriptsPanel.prototype._toggleNavigator):
601         (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
602         (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
603         (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
604         (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
605         (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
606         (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
607         * inspector/front-end/SidebarOverlay.js: Added.
608         * inspector/front-end/SplitView.js:
609         (WebInspector.SplitView.prototype.get resizable):
610         (WebInspector.SplitView.prototype.hideMainElement):
611         (WebInspector.SplitView.prototype.showMainElement):
612         (WebInspector.SplitView.prototype.hideSidebarElement):
613         (WebInspector.SplitView.prototype.showSidebarElement):
614         (WebInspector.SplitView.prototype._resizerDragging):
615         * inspector/front-end/TabbedEditorContainer.js:
616         (WebInspector.TabbedEditorContainer.prototype.get element):
617         * inspector/front-end/WebKit.qrc:
618         * inspector/front-end/dialog.css:
619         * inspector/front-end/inspector.html:
620         * inspector/front-end/scriptsPanel.css:
621
622 2012-02-09  Alexei Filippov  <alexeif@chromium.org>
623
624         Web Inspector: Show percentage by default in heap profiler.
625         https://bugs.webkit.org/show_bug.cgi?id=78103
626
627         Reviewed by Pavel Feldman.
628
629         * inspector/front-end/DetailedHeapshotGridNodes.js:
630         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
631         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
632         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
633         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
634         * inspector/front-end/DetailedHeapshotView.js:
635         (WebInspector.DetailedHeapshotView.profileCallback):
636         (WebInspector.DetailedHeapshotView):
637         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
638         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
639         (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
640         * inspector/front-end/UIUtils.js:
641         (Number.withThousandsSeparator):
642         * inspector/front-end/heapProfiler.css:
643         (.detailed-heapshot-view .data-grid span.percent-column):
644
645 2012-02-09  Ilya Tikhonovsky  <loislo@chromium.org>
646
647         Web Inspector: Timeline memory graph would have been more useful if it had used minUsedHeapSize as the lower bound. Currently it uses zero as the lower bound.
648         https://bugs.webkit.org/show_bug.cgi?id=78222
649
650         Reviewed by Pavel Feldman.
651
652         * inspector/front-end/TimelineOverviewPane.js:
653         (WebInspector.HeapGraph):
654         (WebInspector.HeapGraph.prototype.update):
655         * inspector/front-end/timelinePanel.css:
656         (.memory-graph-label):
657         (.max.memory-graph-label):
658         (.min.memory-graph-label):
659
660 2012-02-09  Alexander Pavlov  <apavlov@chromium.org>
661
662         Web Inspector: Update protocol and UI to follow bug 77204 (Kill per-Attribute style declarations)
663         https://bugs.webkit.org/show_bug.cgi?id=77962
664
665         Reviewed by Pavel Feldman.
666
667         * English.lproj/localizedStrings.js:
668         * inspector/Inspector.json:
669         * inspector/InspectorCSSAgent.cpp:
670         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
671         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
672         * inspector/InspectorCSSAgent.h:
673         (InspectorCSSAgent):
674         * inspector/front-end/AuditRules.js:
675         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
676         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
677         * inspector/front-end/CSSStyleModel.js:
678         (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
679         * inspector/front-end/StylesSidebarPane.js:
680         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
681         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
682         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
683
684 2012-02-08  Pavel Feldman  <pfeldman@google.com>
685
686         Web Inspector: toggle Edit as HTML on F2, drag nodes up / down upon Ctrl(Cmd) Up / Down.
687         https://bugs.webkit.org/show_bug.cgi?id=78123
688
689         Reviewed by Yury Semikhatsky.
690
691         * English.lproj/localizedStrings.js:
692         * inspector/InspectorDOMAgent.cpp:
693         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
694         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
695         (InspectorDOMAgent::SetOuterHTMLAction):
696         * inspector/front-end/ElementsPanel.js:
697         (WebInspector.ElementsPanel.prototype._registerShortcuts):
698         (WebInspector.ElementsPanel.prototype.handleShortcut):
699         * inspector/front-end/ElementsTreeOutline.js:
700         (WebInspector.ElementsTreeOutline.prototype._ondragstart):
701         (WebInspector.ElementsTreeOutline.prototype._ondragover):
702         (WebInspector.ElementsTreeOutline.prototype._doMove):
703         (WebInspector.ElementsTreeOutline.prototype._ondragend):
704         (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
705         (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
706         (WebInspector.ElementsTreeOutline.prototype._toggleEditAsHTML):
707         (WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
708         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
709         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
710         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
711         * inspector/front-end/UIUtils.js:
712
713 2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
714
715         SelectorChecker::checkSelector: move parameters into a struct
716         https://bugs.webkit.org/show_bug.cgi?id=77525
717
718         Added 'SelectorCheckingContext' struct to hold parameters for the function.
719         Adapted calling sites.
720         (fixing change log after the commit message got bungled up).
721
722         Reviewed by Antti Koivisto.
723
724         No new tests. (refactoring)
725
726         * css/CSSStyleSelector.cpp:
727         (WebCore::CSSStyleSelector::checkSelector):
728         * css/SelectorChecker.cpp:
729         (WebCore::SelectorChecker::checkSelector):
730         (WebCore):
731         (WebCore::SelectorChecker::checkOneSelector):
732         * css/SelectorChecker.h:
733         (SelectorCheckingContext):
734         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
735         (SelectorChecker):
736
737 2012-02-09  Philip Rogers  <pdr@google.com>
738
739         Fix mirroring with SVG fonts
740         https://bugs.webkit.org/show_bug.cgi?id=77067
741
742         Reviewed by Nikolas Zimmermann.
743
744         SVG fonts were incorrectly handling mirrored characters in bidi text.
745         In this change I added the function createStringWithMirroredCharacters
746         which handles mirroring the characters when selecting glyphs for SVG
747         fonts. I also made a small cosmetic change in the function
748         charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
749         which better reflects what it actually does.
750
751         Several new tests were added to test mirroring with SVG fonts in the
752         presence of Arabic forms and non-BMP characters.
753
754         Tests: svg/custom/glyph-selection-arabic-forms.svg
755                svg/custom/glyph-selection-bidi-mirror.svg
756                svg/custom/glyph-selection-non-bmp.svg
757
758         * platform/graphics/SVGGlyph.cpp:
759         (WebCore::charactersWithArabicForm):
760         * svg/SVGFontData.cpp:
761         (WebCore::SVGFontData::applySVGGlyphSelection):
762         (WebCore::SVGFontData::createStringWithMirroredCharacters):
763         * svg/SVGFontData.h:
764         (SVGFontData):
765
766 2012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
767
768         Web Inspector: Scripts navigator fails to reopen previously closed script.
769         https://bugs.webkit.org/show_bug.cgi?id=78212
770
771         Reviewed by Pavel Feldman.
772
773         * inspector/front-end/ScriptsPanel.js:
774         (WebInspector.ScriptsPanel.prototype._reset):
775         (WebInspector.ScriptsPanel.prototype._showFile):
776         (WebInspector.ScriptsPanel.prototype._editorClosed):
777         * inspector/front-end/TabbedEditorContainer.js:
778         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
779
780 2012-02-09  Shinya Kawanaka  <shinyak@google.com>
781
782         ASSERT_NO_EXCEPTION should be initialized with non-zero value.
783         https://bugs.webkit.org/show_bug.cgi?id=78194
784
785         Reviewed by Hajime Morita.
786
787         ExceptionCode should not be checked without initializing it.
788         However, we encountered a bug that breaks this rule.
789         It was missed until now because ExceptionCode is sometimes set to 0 even if it is not initialized.
790         This patch ensures it is initialized as non-zero value.
791
792         No new tests, no change in behavior.
793
794         * dom/ExceptionCodePlaceholder.cpp:
795         (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
796         (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
797         * dom/ExceptionCodePlaceholder.h:
798         (NoExceptionAssertionChecker):
799
800 2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
801
802         Unreviewed, rolling out r107197.
803         http://trac.webkit.org/changeset/107197
804         https://bugs.webkit.org/show_bug.cgi?id=77525
805
806         broke Chromium Linux
807
808         * css/CSSStyleSelector.cpp:
809         (WebCore::CSSStyleSelector::checkSelector):
810         * css/SelectorChecker.cpp:
811         (WebCore::SelectorChecker::checkSelector):
812         (WebCore):
813         (WebCore::SelectorChecker::checkOneSelector):
814         * css/SelectorChecker.h:
815
816 2012-02-09  Kentaro Hara  <haraken@chromium.org>
817
818         Unreviewed, rolling out r107182, r107186, r107189, r107191,
819         and r107199.
820         http://trac.webkit.org/changeset/107182
821         http://trac.webkit.org/changeset/107186
822         http://trac.webkit.org/changeset/107189
823         http://trac.webkit.org/changeset/107191
824         http://trac.webkit.org/changeset/107199
825         https://bugs.webkit.org/show_bug.cgi?id=78200
826
827         Layout tests of JSC-related port are crashing
828
829         * Modules/gamepad/GamepadList.idl:
830         * Modules/intents/Intent.idl:
831         * bindings/js/JSDOMBinding.h:
832         * bindings/scripts/CodeGeneratorJS.pm:
833         (GenerateGetOwnPropertySlotBody):
834         (GenerateParametersCheck):
835         (NativeToJSValue):
836         (GenerateConstructorDefinition):
837         * bindings/scripts/CodeGeneratorV8.pm:
838         (GenerateParametersCheck):
839         (GenerateImplementationIndexer):
840         (RequiresCustomSignature):
841         (NativeToJSValue):
842         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
843         * bindings/scripts/test/CPP/WebDOMTestObj.h:
844         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
845         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
846         * bindings/scripts/test/JS/JSFloat64Array.cpp:
847         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
848         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
849         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
850         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
851         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
852         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
853         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
854         (WebCore::jsTestEventTargetPrototypeFunctionItem):
855         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
856         * bindings/scripts/test/JS/JSTestInterface.cpp:
857         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
858         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
859         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
860         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
861         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
862         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
863         * bindings/scripts/test/JS/JSTestObj.cpp:
864         (WebCore):
865         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
866         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
867         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
868         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
869         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
870         (WebCore::jsTestObjPrototypeFunctionIdbKey):
871         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
872         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
873         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
874         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
875         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
876         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
877         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
878         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
879         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
880         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
881         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
882         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
883         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
884         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
885         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
886         (WebCore::jsTestObjPrototypeFunctionConvert1):
887         (WebCore::jsTestObjPrototypeFunctionConvert2):
888         (WebCore::jsTestObjPrototypeFunctionConvert3):
889         (WebCore::jsTestObjPrototypeFunctionConvert4):
890         (WebCore::jsTestObjPrototypeFunctionConvert5):
891         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
892         * bindings/scripts/test/JS/JSTestObj.h:
893         (WebCore):
894         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
895         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
896         * bindings/scripts/test/ObjC/DOMTestObj.h:
897         * bindings/scripts/test/ObjC/DOMTestObj.mm:
898         * bindings/scripts/test/TestInterface.idl:
899         * bindings/scripts/test/TestNamedConstructor.idl:
900         * bindings/scripts/test/TestObj.idl:
901         * bindings/scripts/test/V8/V8Float64Array.cpp:
902         (WebCore::Float64ArrayInternal::fooCallback):
903         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
904         (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
905         (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
906         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
907         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
908         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
909         (WebCore::TestEventTargetInternal::itemCallback):
910         (WebCore::TestEventTargetInternal::dispatchEventCallback):
911         * bindings/scripts/test/V8/V8TestInterface.cpp:
912         (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
913         (WebCore::V8TestInterface::constructorCallback):
914         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
915         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
916         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
917         (WebCore::V8TestNamedConstructorConstructorCallback):
918         * bindings/scripts/test/V8/V8TestObj.cpp:
919         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
920         (WebCore::TestObjInternal::intMethodWithArgsCallback):
921         (WebCore::TestObjInternal::objMethodWithArgsCallback):
922         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
923         (WebCore::TestObjInternal::idbKeyCallback):
924         (WebCore::TestObjInternal::optionsObjectCallback):
925         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
926         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
927         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
928         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
929         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
930         (WebCore::TestObjInternal::overloadedMethod1Callback):
931         (WebCore::TestObjInternal::overloadedMethod2Callback):
932         (WebCore::TestObjInternal::overloadedMethod3Callback):
933         (WebCore::TestObjInternal::overloadedMethod4Callback):
934         (WebCore::TestObjInternal::overloadedMethod6Callback):
935         (WebCore::TestObjInternal::overloadedMethod7Callback):
936         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
937         (WebCore::TestObjInternal::overloadedMethod11Callback):
938         (WebCore::TestObjInternal::overloadedMethod12Callback):
939         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
940         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
941         (WebCore::TestObjInternal::convert1Callback):
942         (WebCore::TestObjInternal::convert2Callback):
943         (WebCore::TestObjInternal::convert3Callback):
944         (WebCore::TestObjInternal::convert4Callback):
945         (WebCore::TestObjInternal::convert5Callback):
946         (WebCore::TestObjInternal::strictFunctionCallback):
947         (WebCore):
948         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
949         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
950         * bindings/v8/V8Binding.h:
951         * bindings/v8/custom/V8BindingMacros.h:
952         * css/CSSCharsetRule.idl:
953         * css/CSSImportRule.idl:
954         * css/CSSMediaRule.idl:
955         * css/CSSPageRule.idl:
956         * css/CSSPrimitiveValue.idl:
957         * css/CSSRule.idl:
958         * css/CSSRuleList.idl:
959         * css/CSSStyleDeclaration.idl:
960         * css/CSSStyleRule.idl:
961         * css/CSSStyleSheet.idl:
962         * css/CSSValue.idl:
963         * css/CSSValueList.idl:
964         * css/MediaList.idl:
965         * css/MediaQueryList.idl:
966         * css/MediaQueryListListener.idl:
967         * css/StyleMedia.idl:
968         * css/StyleSheet.idl:
969         * css/StyleSheetList.idl:
970         * css/WebKitCSSKeyframesRule.idl:
971         * css/WebKitCSSMatrix.idl:
972         * dom/Attr.idl:
973         * dom/CharacterData.idl:
974         * dom/ClientRectList.idl:
975         * dom/Clipboard.idl:
976         * dom/CompositionEvent.idl:
977         * dom/CustomEvent.idl:
978         * dom/DOMImplementation.idl:
979         * dom/DOMStringList.idl:
980         * dom/DataTransferItem.idl:
981         * dom/DataTransferItemList.idl:
982         * dom/DeviceMotionEvent.idl:
983         * dom/DeviceOrientationEvent.idl:
984         * dom/Document.idl:
985         * dom/DocumentType.idl:
986         * dom/Element.idl:
987         * dom/Entity.idl:
988         * dom/Event.idl:
989         * dom/HashChangeEvent.idl:
990         * dom/KeyboardEvent.idl:
991         * dom/MessageEvent.idl:
992         * dom/MouseEvent.idl:
993         * dom/MutationEvent.idl:
994         * dom/MutationRecord.idl:
995         * dom/NamedNodeMap.idl:
996         * dom/Node.idl:
997         * dom/NodeFilter.idl:
998         * dom/NodeList.idl:
999         * dom/Notation.idl:
1000         * dom/OverflowEvent.idl:
1001         * dom/ProcessingInstruction.idl:
1002         * dom/Range.idl:
1003         * dom/ShadowRoot.idl:
1004         * dom/Text.idl:
1005         * dom/TextEvent.idl:
1006         * dom/TouchEvent.idl:
1007         * dom/UIEvent.idl:
1008         * dom/WheelEvent.idl:
1009         * html/DOMFormData.idl:
1010         * html/DOMTokenList.idl:
1011         * html/DOMURL.idl:
1012         * html/HTMLAllCollection.idl:
1013         * html/HTMLAudioElement.idl:
1014         * html/HTMLCanvasElement.idl:
1015         * html/HTMLCollection.idl:
1016         * html/HTMLDocument.idl:
1017         * html/HTMLElement.idl:
1018         * html/HTMLInputElement.idl:
1019         * html/HTMLMediaElement.idl:
1020         * html/HTMLOptionElement.idl:
1021         * html/HTMLOptionsCollection.idl:
1022         * html/HTMLSelectElement.idl:
1023         * html/HTMLTableElement.idl:
1024         * html/HTMLTableRowElement.idl:
1025         * html/HTMLTableSectionElement.idl:
1026         * html/HTMLTextAreaElement.idl:
1027         * html/TextTrackCue.idl:
1028         * html/canvas/CanvasGradient.idl:
1029         * html/canvas/CanvasRenderingContext2D.idl:
1030         * html/canvas/Float32Array.idl:
1031         * html/canvas/Float64Array.idl:
1032         * html/canvas/Int16Array.idl:
1033         * html/canvas/Int32Array.idl:
1034         * html/canvas/Int8Array.idl:
1035         * html/canvas/OESVertexArrayObject.idl:
1036         * html/canvas/Uint16Array.idl:
1037         * html/canvas/Uint32Array.idl:
1038         * html/canvas/Uint8Array.idl:
1039         * html/canvas/Uint8ClampedArray.idl:
1040         * html/canvas/WebGLDebugShaders.idl:
1041         * html/canvas/WebGLRenderingContext.idl:
1042         * page/Console.idl:
1043         * page/DOMSelection.idl:
1044         * page/DOMWindow.idl:
1045         * page/History.idl:
1046         * page/Location.idl:
1047         * plugins/DOMMimeTypeArray.idl:
1048         * plugins/DOMPlugin.idl:
1049         * plugins/DOMPluginArray.idl:
1050         * storage/IDBDatabase.idl:
1051         * storage/IDBObjectStore.idl:
1052         * storage/IDBRequest.idl:
1053         * storage/Storage.idl:
1054         * storage/StorageEvent.idl:
1055         * svg/ElementTimeControl.idl:
1056         * svg/SVGDocument.idl:
1057         * svg/SVGElementInstanceList.idl:
1058         * svg/SVGFEDropShadowElement.idl:
1059         * svg/SVGFEGaussianBlurElement.idl:
1060         * svg/SVGFEMorphologyElement.idl:
1061         * svg/SVGFilterElement.idl:
1062         * svg/SVGLocatable.idl:
1063         * svg/SVGMarkerElement.idl:
1064         * svg/SVGPathElement.idl:
1065         * svg/SVGSVGElement.idl:
1066         * svg/SVGStylable.idl:
1067         * svg/SVGTests.idl:
1068         * svg/SVGTextContentElement.idl:
1069         * webaudio/AudioNode.idl:
1070         * websockets/WebSocket.idl:
1071         * workers/SharedWorker.idl:
1072         * workers/WorkerContext.idl:
1073         * xml/DOMParser.idl:
1074         * xml/XMLHttpRequest.idl:
1075         * xml/XMLSerializer.idl:
1076         * xml/XPathEvaluator.idl:
1077         * xml/XPathExpression.idl:
1078         * xml/XPathNSResolver.idl:
1079         * xml/XPathResult.idl:
1080         * xml/XSLTProcessor.idl:
1081
1082 2012-02-09  Shinya Kawanaka  <shinyak@google.com>
1083
1084         Disable adding a shadow root to elements having a dynamic built-in shadow root.
1085         https://bugs.webkit.org/show_bug.cgi?id=77935
1086
1087         Reviewed by Hajime Morita.
1088
1089         We temporarily disable adding a shadow root in elements having a dynamic user agent shadow root.
1090         These shadow roots are currently created using Element::ensureShadowRoot.
1091         So we don't check the condition if a shadow root is created eaither using Element::ensureShadowRoot
1092         or ShadowRoot::CreatingUserAgentShadowRoot is specified for ShadowRoot::create.
1093
1094         Test: fast/dom/shadow/shadow-disable.html
1095
1096         * dom/Element.cpp:
1097         (WebCore::Element::ensureShadowRoot):
1098         * dom/ShadowRoot.cpp:
1099         (WebCore::allowsUserShadowRoot):
1100         (WebCore):
1101         (WebCore::ShadowRoot::create):
1102         * dom/ShadowRoot.h:
1103         (ShadowRoot):
1104         * html/HTMLDetailsElement.cpp:
1105         (WebCore::HTMLDetailsElement::createShadowSubtree):
1106           ShadowRoot::CreatingUserAgentShadowRoot is specified.
1107         * html/HTMLKeygenElement.cpp:
1108         (WebCore::HTMLKeygenElement::HTMLKeygenElement): ditto.
1109         * html/HTMLMeterElement.cpp:
1110         (WebCore::HTMLMeterElement::createShadowSubtree): ditto.
1111         * html/HTMLProgressElement.cpp:
1112         (WebCore::HTMLProgressElement::createShadowSubtree): ditto.
1113         * html/HTMLSummaryElement.cpp:
1114         (WebCore::HTMLSummaryElement::createShadowSubtree): ditto.
1115         * html/HTMLTextAreaElement.cpp:
1116         (WebCore::HTMLTextAreaElement::createShadowSubtree): ditto.
1117
1118 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
1119
1120         Web Inspector: hovering over element with :hover style halts inspector
1121         https://bugs.webkit.org/show_bug.cgi?id=78086
1122
1123         Reviewed by Pavel Feldman.
1124
1125         Test: inspector/styles/updates-throttled.html
1126
1127         * inspector/front-end/StylesSidebarPane.js:
1128         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
1129         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
1130         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
1131
1132 2012-02-09  Kentaro Hara  <haraken@chromium.org>
1133
1134         Unreviewed. Fix build failure caused by r107191.
1135
1136         * bindings/scripts/CodeGeneratorJS.pm:
1137         (GenerateParametersCheck):
1138         * bindings/scripts/CodeGeneratorV8.pm:
1139         (GenerateParametersCheck):
1140
1141 2012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
1142
1143         SelectorChecker::checkSelector: move parameters into a struct
1144         https://bugs.webkit.org/show_bug.cgi?id=77525
1145
1146         Added 'SelectorCheckingContext' struct to hold parameters for the function.
1147         Adapted calling sites.
1148
1149         Reviewed by Antti Koivisto.
1150
1151         No new tests. (refactoring)
1152
1153         * css/CSSStyleSelector.cpp:
1154         (WebCore::CSSStyleSelector::checkSelector):
1155         * css/SelectorChecker.cpp:
1156         (WebCore::SelectorChecker::checkSelector):
1157         (WebCore):
1158         (WebCore::SelectorChecker::checkOneSelector):
1159         * css/SelectorChecker.h:
1160         (SelectorCheckingContext):
1161         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1162         (SelectorChecker):
1163
1164 2012-02-09  Kent Tamura  <tkent@chromium.org>
1165
1166         Do not localize numbers in scientific notation
1167         https://bugs.webkit.org/show_bug.cgi?id=78208
1168
1169         Reviewed by Hajime Morita.
1170
1171         For a preparation of fixing http://wkb.ug/62939, we stop supporting
1172         localized numbers in scientific notation in <input type=number>.
1173
1174         We're going to change number localization processing so that it replaces
1175         letters one by one. It will be very hard to support scientific notation.
1176
1177         * html/NumberInputType.cpp:
1178         (WebCore::isE): A helper functio for String::find() to detect scientific notation.
1179         (WebCore::NumberInputType::visibleValue): Avoid localization for scientific notation.
1180         (WebCore::NumberInputType::convertFromVisibleValue): ditto.
1181         (WebCore::NumberInputType::isAcceptableValue):
1182         Use convertFromVisibleValue, also stop accepting a standard format as a fallback.
1183
1184 2012-02-09  Leo Yang  <leo.yang@torchmobile.com.cn>
1185
1186         EntryBase.cpp is missing in CMake build system when turning on ENABLE_FILE_SYSTEM
1187         https://bugs.webkit.org/show_bug.cgi?id=78190
1188
1189         Reviewed by Antonio Gomes.
1190
1191         EntryBase.cpp is not in the CMake build system, which causes build failure (undefined
1192         symbols to EntryBase) when turning on ENABLE_FILE_SYSTEM.
1193
1194         Build system fix, no new tests.
1195
1196         * CMakeLists.txt:
1197
1198 2012-02-09  Andreas Kling  <awesomekling@apple.com>
1199
1200         REGRESSION(r53878): Input elements don't share their styles if the document contains no validity style rules.
1201         <http://webkit.org/b/69400>
1202
1203         Reviewed by Kent Tamura.
1204
1205         Don't reject style sharing candidates prematurely just because the document doesn't
1206         have any :valid or :invalid selectors.
1207
1208         * css/CSSStyleSelector.cpp:
1209         (WebCore::CSSStyleSelector::canShareStyleWithControl):
1210
1211 2012-02-09  Kentaro Hara  <haraken@chromium.org>
1212
1213         Unreviewed. Fixed typo in the following files. [TreatUndefinedAs] => [TreatAsUndefined].
1214
1215         * bindings/scripts/CodeGeneratorJS.pm:
1216         (GenerateParametersCheck):
1217
1218         * bindings/scripts/test/TestObj.idl:
1219
1220         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1221         (WebDOMTestObj::methodWithOptionalIsUndefinedString):
1222         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1223         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1224         (webkit_dom_test_obj_method_with_optional_is_undefined_string):
1225         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1226         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1227         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1228         * bindings/scripts/test/JS/JSTestObj.cpp:
1229         (WebCore):
1230         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsUndefinedString):
1231         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
1232         (WebCore::jsTestObjPrototypeFunctionConvert5):
1233         * bindings/scripts/test/JS/JSTestObj.h:
1234         (WebCore):
1235         * bindings/scripts/test/ObjC/DOMTestObj.h:
1236         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1237         (-[DOMTestObj methodWithOptionalIsUndefinedString:]):
1238         * bindings/scripts/test/V8/V8TestObj.cpp:
1239         (WebCore::TestObjInternal::methodWithOptionalIsUndefinedStringCallback):
1240         (WebCore):
1241
1242 2012-02-09  Kentaro Hara  <haraken@chromium.org>
1243
1244         Unreviewed. Fixed typo in the following files. [TreatReturnedNullStringTo=] => [TreatReturnedNullStringAs=].
1245
1246         * bindings/scripts/test/TestObj.idl:
1247         * css/CSSCharsetRule.idl:
1248         * css/CSSImportRule.idl:
1249         * css/CSSPageRule.idl:
1250         * css/CSSRule.idl:
1251         * css/CSSStyleDeclaration.idl:
1252         * css/CSSStyleRule.idl:
1253         * css/CSSValue.idl:
1254         * css/MediaList.idl:
1255         * css/StyleSheet.idl:
1256         * css/WebKitCSSKeyframesRule.idl:
1257         * dom/Attr.idl:
1258         * dom/CharacterData.idl:
1259         * dom/Clipboard.idl:
1260         * dom/DOMStringList.idl:
1261         * dom/Document.idl:
1262         * dom/DocumentType.idl:
1263         * dom/Element.idl:
1264         * dom/Entity.idl:
1265         * dom/MutationRecord.idl:
1266         * dom/Node.idl:
1267         * dom/Notation.idl:
1268         * dom/ProcessingInstruction.idl:
1269         * html/DOMTokenList.idl:
1270         * html/DOMURL.idl:
1271         * html/HTMLMediaElement.idl:
1272         * html/canvas/WebGLDebugShaders.idl:
1273         * html/canvas/WebGLRenderingContext.idl:
1274         * page/DOMWindow.idl:
1275         * storage/IDBObjectStore.idl:
1276         * storage/IDBRequest.idl:
1277         * storage/Storage.idl:
1278         * storage/StorageEvent.idl:
1279         * websockets/WebSocket.idl:
1280         * xml/XMLHttpRequest.idl:
1281         * xml/XPathNSResolver.idl:
1282         * xml/XSLTProcessor.idl:
1283
1284 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1285
1286         Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
1287         https://bugs.webkit.org/show_bug.cgi?id=78108
1288
1289         Reviewed by Adam Barth.
1290
1291         [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
1292         the behavior when the null string is returned by WebCore, this patch renames
1293         [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
1294         for naming consistency with [TreatNullAs] and [TreatUndefinedAs].
1295
1296         No tests. No change in behavior.
1297
1298         * bindings/scripts/CodeGeneratorJS.pm:
1299         (GenerateGetOwnPropertySlotBody):
1300         (NativeToJSValue):
1301         * bindings/scripts/CodeGeneratorV8.pm:
1302         (GenerateImplementationIndexer):
1303         (NativeToJSValue):
1304
1305         * bindings/scripts/test/TestObj.idl: No change in run-bindings-tests results.
1306
1307         * css/CSSCharsetRule.idl:
1308         * css/CSSImportRule.idl:
1309         * css/CSSPageRule.idl:
1310         * css/CSSRule.idl:
1311         * css/CSSStyleDeclaration.idl:
1312         * css/CSSStyleRule.idl:
1313         * css/CSSValue.idl:
1314         * css/MediaList.idl:
1315         * css/StyleSheet.idl:
1316         * css/WebKitCSSKeyframesRule.idl:
1317         * dom/Attr.idl:
1318         * dom/CharacterData.idl:
1319         * dom/Clipboard.idl:
1320         * dom/DOMStringList.idl:
1321         * dom/Document.idl:
1322         * dom/DocumentType.idl:
1323         * dom/Element.idl:
1324         * dom/Entity.idl:
1325         * dom/MutationRecord.idl:
1326         * dom/Node.idl:
1327         * dom/Notation.idl:
1328         * dom/ProcessingInstruction.idl:
1329         * html/DOMTokenList.idl:
1330         * html/DOMURL.idl:
1331         * html/HTMLMediaElement.idl:
1332         * html/canvas/WebGLDebugShaders.idl:
1333         * html/canvas/WebGLRenderingContext.idl:
1334         * page/DOMWindow.idl:
1335         * storage/IDBObjectStore.idl:
1336         * storage/IDBRequest.idl:
1337         * storage/Storage.idl:
1338         * storage/StorageEvent.idl:
1339         * websockets/WebSocket.idl:
1340         * xml/XMLHttpRequest.idl:
1341         * xml/XPathNSResolver.idl:
1342         * xml/XSLTProcessor.idl:
1343
1344 2012-02-08  Andreas Kling  <awesomekling@apple.com>
1345
1346         Simplify ownership of StyledElement::additionalAttributeStyles().
1347         <http://webkit.org/b/78204>
1348
1349         Reviewed by Anders Carlsson.
1350
1351         Change additionalAttributeStyle() to return a raw pointer rather than a PassRefPtr.
1352
1353         * css/CSSStyleSelector.cpp:
1354         (WebCore::CSSStyleSelector::matchAllRules):
1355         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1356         * dom/StyledElement.h:
1357         (WebCore::StyledElement::additionalAttributeStyle):
1358         * html/HTMLTableCellElement.cpp:
1359         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
1360         * html/HTMLTableCellElement.h:
1361         (HTMLTableCellElement):
1362         * html/HTMLTableColElement.cpp:
1363         (WebCore::HTMLTableColElement::additionalAttributeStyle):
1364         * html/HTMLTableColElement.h:
1365         (HTMLTableColElement):
1366         * html/HTMLTableElement.cpp:
1367         (WebCore::HTMLTableElement::additionalAttributeStyle):
1368         (WebCore::HTMLTableElement::additionalCellStyle):
1369         (WebCore::HTMLTableElement::additionalGroupStyle):
1370         * html/HTMLTableElement.h:
1371         (HTMLTableElement):
1372         * html/HTMLTableSectionElement.cpp:
1373         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
1374         * html/HTMLTableSectionElement.h:
1375         (HTMLTableSectionElement):
1376
1377 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1378
1379         Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
1380         https://bugs.webkit.org/show_bug.cgi?id=78200
1381
1382         Reviewed by Adam Barth.
1383
1384         [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.
1385
1386         - [Optional=CallWithDefalutValue] indicates that a missing value should be treated
1387         as if the JavaScript undefined is passed.
1388         - [Optional=CallWithNullValue] indicates that a missing value should be treated as
1389         the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
1390         - Actually, the difference between [Optional=CallWithDefalutValue] and
1391         [Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
1392         In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
1393         "undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
1394         value is converted to the WebKit null string.
1395
1396         With these observations, this patch renames them as follows:
1397
1398         - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
1399         - Remove [Optional=CallWithNullValue]. Instead, we use
1400         [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].
1401
1402         Test: bindings/scripts/test/TestInterface.idl
1403
1404         * bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,
1405         renamed MissingIsEmpty to MissingIsNullValue.
1406         * bindings/v8/V8Binding.h: Ditto.
1407         * bindings/v8/custom/V8BindingMacros.h: Ditto.
1408
1409         * bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.
1410         (GenerateParametersCheck):
1411         (GenerateConstructorDefinition):
1412         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1413         (GenerateParametersCheck):
1414         (RequiresCustomSignature):
1415
1416         * Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
1417         * Modules/intents/Intent.idl:
1418         * css/CSSMediaRule.idl:
1419         * css/CSSPrimitiveValue.idl:
1420         * css/CSSRuleList.idl:
1421         * css/CSSStyleDeclaration.idl:
1422         * css/CSSStyleSheet.idl:
1423         * css/CSSValueList.idl:
1424         * css/MediaList.idl:
1425         * css/MediaQueryList.idl:
1426         * css/MediaQueryListListener.idl:
1427         * css/StyleMedia.idl:
1428         * css/StyleSheetList.idl:
1429         * css/WebKitCSSKeyframesRule.idl:
1430         * css/WebKitCSSMatrix.idl:
1431         * dom/CharacterData.idl:
1432         * dom/ClientRectList.idl:
1433         * dom/CompositionEvent.idl:
1434         * dom/CustomEvent.idl:
1435         * dom/DOMImplementation.idl:
1436         * dom/DOMStringList.idl:
1437         * dom/DataTransferItem.idl:
1438         * dom/DataTransferItemList.idl:
1439         * dom/DeviceMotionEvent.idl:
1440         * dom/DeviceOrientationEvent.idl:
1441         * dom/Document.idl:
1442         * dom/Element.idl:
1443         * dom/Event.idl:
1444         * dom/HashChangeEvent.idl:
1445         * dom/KeyboardEvent.idl:
1446         * dom/MessageEvent.idl:
1447         * dom/MouseEvent.idl:
1448         * dom/MutationEvent.idl:
1449         * dom/NamedNodeMap.idl:
1450         * dom/Node.idl:
1451         * dom/NodeFilter.idl:
1452         * dom/NodeList.idl:
1453         * dom/OverflowEvent.idl:
1454         * dom/Range.idl:
1455         * dom/ShadowRoot.idl:
1456         * dom/Text.idl:
1457         * dom/TextEvent.idl:
1458         * dom/TouchEvent.idl:
1459         * dom/UIEvent.idl:
1460         * dom/WheelEvent.idl:
1461         * html/DOMFormData.idl:
1462         * html/HTMLAllCollection.idl:
1463         * html/HTMLAudioElement.idl:
1464         * html/HTMLCanvasElement.idl:
1465         * html/HTMLCollection.idl:
1466         * html/HTMLDocument.idl:
1467         * html/HTMLElement.idl:
1468         * html/HTMLInputElement.idl:
1469         * html/HTMLMediaElement.idl:
1470         * html/HTMLOptionElement.idl:
1471         * html/HTMLOptionsCollection.idl:
1472         * html/HTMLSelectElement.idl:
1473         * html/HTMLTableElement.idl:
1474         * html/HTMLTableRowElement.idl:
1475         * html/HTMLTableSectionElement.idl:
1476         * html/HTMLTextAreaElement.idl:
1477         * html/TextTrackCue.idl:
1478         * html/canvas/CanvasGradient.idl:
1479         * html/canvas/CanvasRenderingContext2D.idl:
1480         * html/canvas/Float32Array.idl:
1481         * html/canvas/Float64Array.idl:
1482         * html/canvas/Int16Array.idl:
1483         * html/canvas/Int32Array.idl:
1484         * html/canvas/Int8Array.idl:
1485         * html/canvas/OESVertexArrayObject.idl:
1486         * html/canvas/Uint16Array.idl:
1487         * html/canvas/Uint32Array.idl:
1488         * html/canvas/Uint8Array.idl:
1489         * html/canvas/Uint8ClampedArray.idl:
1490         * page/Console.idl:
1491         * page/DOMSelection.idl:
1492         * page/DOMWindow.idl:
1493         * page/History.idl:
1494         * page/Location.idl:
1495         * plugins/DOMMimeTypeArray.idl:
1496         * plugins/DOMPlugin.idl:
1497         * plugins/DOMPluginArray.idl:
1498         * storage/IDBDatabase.idl:
1499         * storage/StorageEvent.idl:
1500         * svg/ElementTimeControl.idl:
1501         * svg/SVGDocument.idl:
1502         * svg/SVGElementInstanceList.idl:
1503         * svg/SVGFEDropShadowElement.idl:
1504         * svg/SVGFEGaussianBlurElement.idl:
1505         * svg/SVGFEMorphologyElement.idl:
1506         * svg/SVGFilterElement.idl:
1507         * svg/SVGLocatable.idl:
1508         * svg/SVGMarkerElement.idl:
1509         * svg/SVGPathElement.idl:
1510         * svg/SVGSVGElement.idl:
1511         * svg/SVGStylable.idl:
1512         * svg/SVGTests.idl:
1513         * svg/SVGTextContentElement.idl:
1514         * webaudio/AudioNode.idl:
1515         * workers/SharedWorker.idl:
1516         * workers/WorkerContext.idl:
1517         * xml/DOMParser.idl:
1518         * xml/XMLSerializer.idl:
1519         * xml/XPathEvaluator.idl:
1520         * xml/XPathExpression.idl:
1521         * xml/XPathNSResolver.idl:
1522         * xml/XPathResult.idl:
1523
1524         * bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],
1525         [Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]
1526         * bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
1527         * bindings/scripts/test/TestObj.idl: Ditto.
1528
1529         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1530         (WebDOMTestObj::methodWithOptionalString):
1531         (WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
1532         (WebDOMTestObj::methodWithOptionalIsNullStringString):
1533         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1534         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1535         (webkit_dom_test_obj_method_with_optional_string):
1536         (webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
1537         (webkit_dom_test_obj_method_with_optional_is_null_string_string):
1538         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1539         * bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.
1540         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
1541         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.
1542         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1543         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
1544         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
1545         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
1546         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
1547         (WebCore::jsTestEventTargetPrototypeFunctionItem):
1548         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
1549         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
1550         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1551         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1552         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
1553         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1554         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
1555         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1556         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1557         (WebCore):
1558         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1559         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
1560         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1561         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1562         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1563         (WebCore::jsTestObjPrototypeFunctionIdbKey):
1564         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1565         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
1566         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1567         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1568         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1569         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
1570         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
1571         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
1572         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1573         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1574         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1575         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1576         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1577         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1578         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1579         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
1580         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
1581         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
1582         (WebCore::jsTestObjPrototypeFunctionConvert1):
1583         (WebCore::jsTestObjPrototypeFunctionConvert2):
1584         (WebCore::jsTestObjPrototypeFunctionConvert3):
1585         (WebCore::jsTestObjPrototypeFunctionConvert4):
1586         (WebCore::jsTestObjPrototypeFunctionConvert5):
1587         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1588         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1589         (WebCore):
1590         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
1591         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1592         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1593         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1594         (-[DOMTestObj methodWithOptionalString:]):
1595         (-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
1596         (-[DOMTestObj methodWithOptionalIsNullStringString:]):
1597         * bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.
1598         (WebCore::Float64ArrayInternal::fooCallback):
1599         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.
1600         (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
1601         (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
1602         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
1603         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
1604         * bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.
1605         (WebCore::TestEventTargetInternal::itemCallback):
1606         (WebCore::TestEventTargetInternal::dispatchEventCallback):
1607         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1608         (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
1609         (WebCore::V8TestInterface::constructorCallback):
1610         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
1611         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
1612         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
1613         (WebCore::V8TestNamedConstructorConstructorCallback):
1614         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1615         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
1616         (WebCore::TestObjInternal::intMethodWithArgsCallback):
1617         (WebCore::TestObjInternal::objMethodWithArgsCallback):
1618         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
1619         (WebCore::TestObjInternal::idbKeyCallback):
1620         (WebCore::TestObjInternal::optionsObjectCallback):
1621         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
1622         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
1623         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
1624         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
1625         (WebCore::TestObjInternal::methodWithOptionalStringCallback):
1626         (TestObjInternal):
1627         (WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
1628         (WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
1629         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
1630         (WebCore::TestObjInternal::overloadedMethod1Callback):
1631         (WebCore::TestObjInternal::overloadedMethod2Callback):
1632         (WebCore::TestObjInternal::overloadedMethod3Callback):
1633         (WebCore::TestObjInternal::overloadedMethod4Callback):
1634         (WebCore::TestObjInternal::overloadedMethod6Callback):
1635         (WebCore::TestObjInternal::overloadedMethod7Callback):
1636         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
1637         (WebCore::TestObjInternal::overloadedMethod11Callback):
1638         (WebCore::TestObjInternal::overloadedMethod12Callback):
1639         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
1640         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
1641         (WebCore::TestObjInternal::convert1Callback):
1642         (WebCore::TestObjInternal::convert2Callback):
1643         (WebCore::TestObjInternal::convert3Callback):
1644         (WebCore::TestObjInternal::convert4Callback):
1645         (WebCore::TestObjInternal::convert5Callback):
1646         (WebCore::TestObjInternal::strictFunctionCallback):
1647         (WebCore):
1648         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
1649         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1650
1651 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1652
1653         Rename [HasNumericIndexGetter] to [NumericIndexedGetter]
1654         https://bugs.webkit.org/show_bug.cgi?id=78096
1655
1656         Reviewed by Adam Barth.
1657
1658         This patch renames [HasNumericIndexGetter] to [NumericIndexedGetter],
1659         for naming consistency with [IndexedGetter] and [CustomIndexedGetter].
1660
1661         No tests. No change in behavior.
1662
1663         * bindings/scripts/CodeGeneratorJS.pm:
1664         (GenerateGetOwnPropertySlotBody):
1665         (GenerateGetOwnPropertyDescriptorBody):
1666         (GenerateHeader):
1667         (GenerateImplementation):
1668         * bindings/scripts/CodeGeneratorV8.pm:
1669         (GenerateHeaderNamedAndIndexedPropertyAccessors):
1670         (GenerateImplementationIndexer):
1671
1672         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
1673
1674         * html/canvas/CanvasPixelArray.idl:
1675         * html/canvas/Float32Array.idl:
1676         * html/canvas/Float64Array.idl:
1677         * html/canvas/Int16Array.idl:
1678         * html/canvas/Int32Array.idl:
1679         * html/canvas/Int8Array.idl:
1680         * html/canvas/Uint16Array.idl:
1681         * html/canvas/Uint32Array.idl:
1682         * html/canvas/Uint8Array.idl:
1683         * html/canvas/Uint8ClampedArray.idl:
1684
1685 2012-02-08  Tony Chang  <tony@chromium.org>
1686
1687         refactor RenderFlexibleBox to return preferred sizes of all children
1688         https://bugs.webkit.org/show_bug.cgi?id=78169
1689
1690         Reviewed by Ojan Vafai.
1691
1692         This is in preparation for multi-line flexbox. We need the preferred
1693         size of each child so we can compute where the multi-line breaks happen.
1694
1695         No new tests, just refactoring.
1696
1697         * rendering/RenderFlexibleBox.cpp:
1698         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Renamed from preferredMainAxisContentExtentForFlexItem because
1699         other methods are ForChild rather than ForFlexItem.
1700         (WebCore::RenderFlexibleBox::layoutFlexItems):
1701         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1702         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
1703         * rendering/RenderFlexibleBox.h:
1704         (RenderFlexibleBox):
1705
1706 2012-02-08  Shinya Kawanaka  <shinyak@google.com>
1707
1708         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
1709         https://bugs.webkit.org/show_bug.cgi?id=77929
1710
1711         Reviewed by Hajime Morita.
1712
1713         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
1714         So we want to remove Element::ensureShadowRoot().
1715         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
1716
1717         No new tests, no change in behavior.
1718
1719         * dom/ShadowRoot.cpp:
1720         (WebCore::ShadowRoot::create):
1721           Initialize exception code before calling appendChild.
1722         * html/HTMLDetailsElement.cpp:
1723         (WebCore::HTMLDetailsElement::createShadowSubtree):
1724         * html/HTMLKeygenElement.cpp:
1725         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1726         * html/HTMLMeterElement.cpp:
1727         (WebCore::HTMLMeterElement::createShadowSubtree):
1728         * html/HTMLProgressElement.cpp:
1729         (WebCore::HTMLProgressElement::createShadowSubtree):
1730         * html/HTMLSummaryElement.cpp:
1731         (WebCore::HTMLSummaryElement::createShadowSubtree):
1732         * html/HTMLTextAreaElement.cpp:
1733         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1734
1735 2012-02-08  David Reveman  <reveman@chromium.org>
1736
1737         [Chromium] Avoid unnecessary full tile updates without breaking atomicity of commits.
1738         https://bugs.webkit.org/show_bug.cgi?id=76740
1739
1740         Reviewed by James Robinson.
1741
1742         Allow the final batch of texture uploads to be performed without
1743         allocating new textures and re-painting complete tiles.
1744
1745         This patch is tested by the following unit test:
1746         - CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
1747         - TiledLayerChromiumTest.partialUpdates
1748
1749         * platform/graphics/chromium/TiledLayerChromium.cpp:
1750         (WebCore::UpdatableTile::UpdatableTile):
1751         (UpdatableTile):
1752         (WebCore::TiledLayerChromium::updateCompositorResources):
1753         (WebCore):
1754         (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
1755         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
1756         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1757         * platform/graphics/chromium/TiledLayerChromium.h:
1758         (TiledLayerChromium):
1759         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1760         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1761         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1762         (WebCore::CCLayerTreeHost::updateLayers):
1763         (WebCore::CCLayerTreeHost::requestPartialTextureUpdate):
1764         (WebCore):
1765         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1766         (WebCore::CCSettings::CCSettings):
1767         (CCSettings):
1768         (CCLayerTreeHost):
1769         * platform/graphics/chromium/cc/CCProxy.h:
1770         (CCProxy):
1771         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1772         (WebCore::CCSingleThreadProxy::doCommit):
1773         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1774         (WebCore::CCSingleThreadProxy::maxPartialTextureUpdates):
1775         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
1776         (WebCore::CCTextureUpdater::append):
1777         (WebCore):
1778         (WebCore::CCTextureUpdater::appendPartial):
1779         (WebCore::CCTextureUpdater::hasMoreUpdates):
1780         (WebCore::CCTextureUpdater::update):
1781         (WebCore::CCTextureUpdater::clear):
1782         * platform/graphics/chromium/cc/CCTextureUpdater.h:
1783         (CCTextureUpdater):
1784         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1785         (WTF):
1786         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1787         (WebCore::CCThreadProxy::maxPartialTextureUpdates):
1788         * platform/graphics/chromium/cc/CCThreadProxy.h:
1789         (CCThreadProxy):
1790
1791 2012-02-07  MORITA Hajime  <morrita@google.com>
1792
1793         Replacement text should be available from the marker.
1794         https://bugs.webkit.org/show_bug.cgi?id=77934
1795
1796         Reviewed by Kent Tamura.
1797
1798         On spellchecking, TextCheckingResult can contain a replacement text
1799         which is usable both for an automatic replacement and for showing a suggestion.
1800
1801         But when marking a misspelled word ragarding to returned
1802         TextCheckingResult, Editor uses only the misspelled range data and
1803         discards the replacement value. Then it asks the same value again
1804         when showing suggestion/autocorrection.
1805
1806         It would be great if the marker holds the replacement text
1807         and Editor can use it on suggesting a correction, without any re-request.
1808         This is especially true in the case when it needs IPC messaging for spellchecking:
1809         We can save one round-trip by this technique.
1810
1811         Here is actual change:
1812
1813         - Passed the replacement text to addMarker() for for misspelling markers.
1814           Note that this is done only for the unified checker path because legacy
1815           TextCheckerClient API doesn't provide such a replacement.
1816         - Added an Internals API to retrieve a description text on a marker.
1817
1818         Test: editing/spelling/spelling-marker-description.html
1819
1820         * WebCore.exp.in:
1821         * editing/Editor.cpp:
1822         (WebCore::Editor::markAndReplaceFor):
1823         * testing/Internals.cpp:
1824         (WebCore::Internals::markerAt):
1825         (WebCore):
1826         (WebCore::Internals::markerRangeForNode):
1827         (WebCore::Internals::markerDescriptionForNode):
1828         * testing/Internals.h:
1829         (WebCore):
1830         (Internals):
1831         * testing/Internals.idl:
1832
1833 2012-02-08  Eric Seidel  <eric@webkit.org>
1834
1835         Remove more cruft now that HTMLIsIndexElement is gone
1836         https://bugs.webkit.org/show_bug.cgi?id=77887
1837
1838         Reviewed by Darin Adler.
1839
1840         Just removing dead code, thus no tests.
1841         There is likely more to remove after this.
1842
1843         * CMakeLists.txt:
1844         * GNUmakefile.list.am:
1845         * Target.pri:
1846         * WebCore.gypi:
1847         * WebCore.vcproj/WebCore.vcproj:
1848         * WebCore.xcodeproj/project.pbxproj:
1849         * html/HTMLInputElement.cpp:
1850         * html/HTMLInputElement.h:
1851         (HTMLInputElement):
1852         * html/InputType.cpp:
1853         (WebCore::createInputTypeFactoryMap):
1854         * html/InputType.h:
1855         (InputTypeNames):
1856         * html/IsIndexInputType.cpp: Removed.
1857         * html/IsIndexInputType.h: Removed.
1858         * rendering/HitTestResult.cpp:
1859         (WebCore::HitTestResult::isContentEditable):
1860
1861 2012-02-08  Andreas Kling  <awesomekling@apple.com>
1862
1863         Increased style sharing for elements with presentation attributes.
1864         <http://webkit.org/b/78199>
1865
1866         Reviewed by Antti Koivisto.
1867
1868         When determining whether two elements can share style, we can do a lot better.
1869         Instead of comparing the attribute maps for exact equality, do a property-by-property
1870         comparison of the attributeStyle() and the additionalAttributeStyle() (if any.)
1871
1872         This increases our style sharing hit rate and shaves 100ms off of each cycle on
1873         Chromium's "Moz" page cycler test on my machine.
1874
1875         The function that compares attribute styles has O(n^2) runtime in the worst case,
1876         where n is the number of properties in the styles. However, given the low number of
1877         properties found in attribute styles, this should be fine, and it doesn't seem to
1878         heat up in profiles.
1879
1880         * css/CSSStyleSelector.cpp:
1881         (WebCore::attributeStylesEqual):
1882         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1883
1884 2012-02-08  Raymond Liu  <raymond.liu@intel.com>
1885
1886         Fix the caculation of preDelayFrames in DynamicsCompressorKernel
1887         https://bugs.webkit.org/show_bug.cgi?id=78057
1888
1889         Reviewed by Chris Rogers.
1890
1891         No new tests required.
1892
1893         * platform/audio/DynamicsCompressorKernel.cpp:
1894         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
1895
1896 2012-02-08  Adam Klein  <adamk@chromium.org>
1897
1898         DOM mutations should not be delivered on worker threads
1899         https://bugs.webkit.org/show_bug.cgi?id=77898
1900
1901         Reviewed by Dmitry Titov.
1902
1903         In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations
1904         if in a Document context.
1905
1906         This is accomplished through a change to V8Proxy::instrumentedCallFunction
1907         (which now takes a Frame* instead of a Page*), requiring an update to all
1908         callers of that function (accounting for the majority of files changed
1909         in this patch).
1910
1911         Added ASSERT(isMainThread()) in a deliverAllMutations to confirm that
1912         it's no longer called on worker threads, and in enqueueMutationRecord,
1913         where the same global store of active observers is accessed.
1914
1915         See also http://crbug.com/112586, where the problem was initially
1916         reported.
1917
1918         * bindings/v8/ScriptFunctionCall.cpp:
1919         (WebCore::ScriptCallback::call):
1920         * bindings/v8/V8NodeFilterCondition.cpp:
1921         (WebCore::V8NodeFilterCondition::acceptNode):
1922         * bindings/v8/V8Proxy.cpp:
1923         (WebCore::V8Proxy::runScript):
1924         (WebCore::V8Proxy::callFunction):
1925         (WebCore::V8Proxy::instrumentedCallFunction):
1926         * bindings/v8/V8Proxy.h:
1927         (WebCore):
1928         (V8Proxy):
1929         * bindings/v8/V8RecursionScope.cpp:
1930         (WebCore::V8RecursionScope::didLeaveScriptContext):
1931         * bindings/v8/V8RecursionScope.h:
1932         (WebCore):
1933         (WebCore::V8RecursionScope::V8RecursionScope):
1934         (V8RecursionScope):
1935         (WebCore::V8RecursionScope::~V8RecursionScope):
1936         * bindings/v8/V8WindowErrorHandler.cpp:
1937         (WebCore::V8WindowErrorHandler::callListenerFunction):
1938         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1939         (WebCore::invokeCallback):
1940         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1941         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1942         * dom/WebKitMutationObserver.cpp:
1943         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
1944         (WebCore::WebKitMutationObserver::deliverAllMutations):
1945
1946 2012-02-08  Anders Carlsson  <andersca@apple.com>
1947
1948         Don't use the wheel event handler count to track if a page has horizontal scrollbars
1949         https://bugs.webkit.org/show_bug.cgi?id=78192
1950
1951         Reviewed by Andreas Kling.
1952
1953         Stop calling Document::didAddWheelEventHandler and Document::didRemoveWheelEventHandler when
1954         adding and removing scrollbars.
1955
1956         * page/FrameView.cpp:
1957         * page/FrameView.h:
1958         (FrameView):
1959         * rendering/RenderLayer.cpp:
1960         * rendering/RenderLayer.h:
1961
1962 2012-02-08  Igor Oliveira  <igor.o@sisa.samsung.com>
1963
1964         Implement reverse animation direction
1965
1966         Implement reverse animation direction
1967         https://bugs.webkit.org/show_bug.cgi?id=60525
1968
1969         Implement reverse and alternate-reverse direction.
1970
1971         Reviewed by Dean Jackson.
1972
1973         Tests: animations/animation-direction-alternate-reverse.html
1974                animations/animation-direction-reverse.html
1975                animations/fill-mode-reverse.html
1976
1977         * css/CSSParser.cpp:
1978         (WebCore::CSSParser::parseAnimationDirection):
1979         * css/CSSStyleSelector.cpp:
1980         (WebCore::CSSStyleSelector::mapAnimationDirection):
1981         * css/CSSValueKeywords.in:
1982         * page/WebKitAnimation.cpp:
1983         (WebCore::WebKitAnimation::direction):
1984         * page/WebKitAnimation.h:
1985         * page/animation/AnimationBase.cpp:
1986         (WebCore::AnimationBase::fractionalTime):
1987         * platform/animation/Animation.h:
1988         (Animation):
1989         * platform/graphics/texmap/TextureMapperAnimation.cpp:
1990         (WebCore):
1991         (WebCore::shouldReverseAnimationValue):
1992         (WebCore::normalizedAnimationValue):
1993
1994 2012-02-08  James Robinson  <jamesr@chromium.org>
1995
1996         [chromium] Avoid creating a temporary GraphicsContext3D if someone requests the WebView's GraphicsContext3D before initialization is complete
1997         https://bugs.webkit.org/show_bug.cgi?id=78154
1998
1999         Reviewed by Kenneth Russell.
2000
2001         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2002         (WebCore::CCSingleThreadProxy::context):
2003
2004 2012-02-08  David Hyatt  <hyatt@apple.com>
2005
2006         https://bugs.webkit.org/show_bug.cgi?id=78157
2007         
2008         Make multi-column layout work with line grids that are outside of the multi-column
2009         block.
2010
2011         Reviewed by Dan Bernstein.
2012
2013         Added new tests in fast/line-grid.
2014
2015         * rendering/LayoutState.cpp:
2016         (WebCore::LayoutState::LayoutState):
2017         (WebCore::LayoutState::propagateLineGridInfo):
2018         (WebCore::LayoutState::establishLineGrid):
2019         (WebCore):
2020         (WebCore::LayoutState::computeLineGridPaginationOrigin):
2021         * rendering/LayoutState.h:
2022         (WebCore::LayoutState::LayoutState):
2023         (WebCore::LayoutState::lineGrid):
2024         (WebCore::LayoutState::lineGridOffset):
2025         (WebCore::LayoutState::lineGridPaginationOrigin):
2026         (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
2027         (LayoutState):
2028         * rendering/RenderBlock.cpp:
2029         (WebCore::RenderBlock::layoutBlockChildren):
2030         * rendering/RenderBlockLineLayout.cpp:
2031         (WebCore::RenderBlock::layoutInlineChildren):
2032         * rendering/RenderView.h:
2033         (WebCore::RenderView::pushLayoutState):
2034         * rendering/RootInlineBox.cpp:
2035         (WebCore::RootInlineBox::lineGridSnapAdjustment):
2036
2037 2012-02-08  Matthew Delaney  <mdelaney@apple.com>
2038
2039         GeneratorGeneratedImage::drawPattern does not factor in its destination context's scale when generating its image tiles
2040
2041         https://bugs.webkit.org/show_bug.cgi?id=67729
2042         <rdar://problem/10087050>
2043
2044         Reviewed by Beth Dakin.
2045
2046         No new tests, current pixel tests will cover this. Though some pixel results might improve to become less pixel-y.
2047
2048         * platform/graphics/GeneratorGeneratedImage.cpp:
2049         (WebCore::GeneratorGeneratedImage::draw): Updated context to destContext for consistency.
2050         (WebCore::GeneratorGeneratedImage::drawPattern): Taught drawPattern about the destination
2051         scale factor to avoid having low-res generated images such as gradients in certain cases.
2052         * platform/graphics/GraphicsContext.cpp:
2053         (WebCore::GraphicsContext::createCompatibleBuffer): Have the image buffer match the
2054         context acceleration setting as well.
2055
2056 2012-02-08  Adam Klein  <adamk@chromium.org>
2057
2058         Simplify and correct mutation delivery timing for JSC
2059         https://bugs.webkit.org/show_bug.cgi?id=78172
2060
2061         Reviewed by Adam Barth.
2062
2063         Instead of keeping a static recursion counter in JSMainThreadExecState,
2064         simply wait for a state change from non-null ExecState to null ExecState.
2065         Because s_mainThreadState is initially null, this equivalent to
2066         waiting for s_recursionLevel to rewind to zero.
2067
2068         This also properly handles the usage of JSMainThreadNullState (and
2069         does not do mutation delivery), since that class is only used by
2070         non-JS bindings. Now fast/mutation/end-of-task-delivery.html properly
2071         fails, whereas it was passing before due to usage of the ObjC DOM API
2072         from DumpRenderTree.
2073
2074         * bindings/js/JSMainThreadExecState.cpp:
2075         (WebCore):
2076         * bindings/js/JSMainThreadExecState.h: Added a comment explaining the purpose of JSMainThreadNullState.
2077         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2078         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2079         (JSMainThreadExecState):
2080         (WebCore):
2081
2082 2012-02-08  Kentaro Hara  <haraken@chromium.org>
2083
2084         Remove [ConvertToString] from CodeGeneratorCPP.pm and rename
2085         it to [ObjCImplementedAsUnsignedLong]
2086         https://bugs.webkit.org/show_bug.cgi?id=78100
2087
2088         Reviewed by Eric Seidel.
2089
2090         Now [ConvertToString] is used by ObjC's HTMLElement.size only.
2091         This patch removes [ConvertToString] code from CodeGeneratorCPP.pm,
2092         and renames [ConvertToString] to [ObjCImplementedAsUnsignedLong].
2093
2094         No tests. No change in behavior.
2095
2096         * bindings/scripts/CodeGeneratorCPP.pm:
2097         (GenerateImplementation):
2098         * bindings/scripts/CodeGeneratorObjC.pm:
2099         (GenerateImplementation):
2100         * html/HTMLInputElement.idl: Removed FIXME comment, because the latest spec
2101         says HTMLInputElement.size should be unsigned long.
2102         (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element)
2103
2104 2012-02-08  Leo Yang  <leo.yang@torchmobile.com.cn>
2105
2106         REGRESSION(r84194): Build fails when turning on ENABLE_FILE_SYSTEM
2107         https://bugs.webkit.org/show_bug.cgi?id=78088
2108
2109         Reviewed by Antonio Gomes.
2110
2111         WebCore::getDOMObjectWrapper was changed to WebCore::wrap in r84194.
2112         Adapt to this change in JSEntryCustom.cpp and JSEntrySyncCustom.cpp.
2113
2114         Build fix, no new tests.
2115
2116         * bindings/js/JSEntryCustom.cpp:
2117         (WebCore::toJS):
2118         * bindings/js/JSEntrySyncCustom.cpp:
2119         (WebCore::toJS):
2120
2121 2012-02-08  Dana Jansens  <danakj@chromium.org>
2122
2123         [Chromium] Fix opaque tracking for box shadows and non-composited child elements
2124         https://bugs.webkit.org/show_bug.cgi?id=78073
2125
2126         Reviewed by Stephen White.
2127
2128         Tests: compositing/culling/scrolled-within-boxshadow.html
2129                compositing/culling/translated-boxshadow.html
2130
2131         Unit tests: PlatformContextSkiaTest.cpp
2132
2133         When painting a box shadow, a filter is applied to the skia canvas, that can make
2134         pixels painted with an opaque color end up non-opaque. So consider image/mask/color
2135         filters when deciding if a paint is opaque.
2136
2137         Also when painting the background of an element with a box shadow, the background is
2138         painted with a transform on the skia canvas based on the size of the box shadow. This
2139         transform needs to be considered when tracking an opaque paint.
2140
2141         However, when a layer's contentRect position is non-zero, we translate the GraphicsContext
2142         to put the contentRect at 0,0 in the skia canvas. For tracking opaque regions in the resulting
2143         layer, we need to unto this translation. Scaling can also occur which we must undo. So we pass
2144         the transform in to PlatformContextSkia to go from the SkCanvas back to the layer's content
2145         coordinate space. Opaque paints can then be tracked in the layer's content space rather than
2146         in the skia canvas space.
2147
2148         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2149         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
2150         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
2151         (WebCore::CanvasLayerTextureUpdater::paintContents):
2152         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
2153         (WebCore):
2154         (CanvasLayerTextureUpdater):
2155         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2156         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2157         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2158         (WebCore::paintIsOpaque):
2159         (WebCore::OpaqueRegionSkia::didDrawRect):
2160         (WebCore::OpaqueRegionSkia::didDrawPath):
2161         (WebCore::OpaqueRegionSkia::didDrawPoints):
2162         (WebCore::OpaqueRegionSkia::didDrawBounded):
2163         (WebCore::OpaqueRegionSkia::didDraw):
2164         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
2165         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
2166         * platform/graphics/skia/OpaqueRegionSkia.h:
2167         (WebCore):
2168         (OpaqueRegionSkia):
2169         * platform/graphics/skia/PlatformContextSkia.cpp:
2170         (WebCore::PlatformContextSkia::didDrawRect):
2171         (WebCore::PlatformContextSkia::didDrawPath):
2172         (WebCore::PlatformContextSkia::didDrawPoints):
2173         (WebCore::PlatformContextSkia::didDrawBounded):
2174         * platform/graphics/skia/PlatformContextSkia.h:
2175         (PlatformContextSkia):
2176         (WebCore::PlatformContextSkia::setOpaqueRegionTransform):
2177
2178 2012-02-08  Kentaro Hara  <haraken@chromium.org>
2179
2180         Remove [CustomHeader] from CanvasPixelArray and rename [CustomHeader] to [JSCustomHeader]
2181         https://bugs.webkit.org/show_bug.cgi?id=78089
2182
2183         Reviewed by Adam Barth.
2184
2185         This patch removes [CustomHeader] from CanvasPixelArray.idl, since CanvasPixelArrayCustom.h
2186         does not exist. (The reason why missing CanvasPixelArrayCustom.h has not caused build failure
2187         is that [CustomHeader] has been JSC-specific and JSC has not enabled CanvasPixelArray.)
2188         Also, this patch renames [CustomHeader] to [JSCustomHeader], since whether a given class
2189         should have custom header or not will depend on JavaScript bindings.
2190
2191         No tests. No change in behavior.
2192
2193         * bindings/scripts/CodeGeneratorJS.pm:
2194         (GenerateHeader):
2195         * dom/Node.idl:
2196         * html/canvas/CanvasPixelArray.idl:
2197
2198 2012-02-08  Zalan Bujtas  <zbujtas@gmail.com>
2199
2200         Dispatch updateViewportArguments(), when Document is finished
2201         restoring from page cache.
2202
2203         https://bugs.webkit.org/show_bug.cgi?id=77943
2204
2205         Reviewed by Kenneth Rohde Christiansen.
2206
2207         Move updateViewportArguments() call from setPageInCache() to
2208         documentDidResumeFromPageCache() to ensure, that the Document is
2209         fully resumed from the page cache and attached to the mainframe,
2210         when the viewport arguments are updated.
2211
2212         No tests. No change in behaviour.
2213
2214         * dom/Document.cpp:
2215         (WebCore::Document::setInPageCache):
2216         (WebCore::Document::documentDidResumeFromPageCache):
2217
2218 2012-02-08  Shawn Singh  <shawnsingh@chromium.org>
2219
2220         [chromium] Remove incorrect early exit in CCDamageTracker
2221         https://bugs.webkit.org/show_bug.cgi?id=76924
2222
2223         Reviewed by James Robinson.
2224
2225         New unit test added to CCDamageTrackerTest.cpp
2226
2227         This patch does three things: (1) adds unit test that demonstrates
2228         that early exiting in CCDamageTracker is wrong, (2) removes the
2229         early exit and cleans up the surrounding code, and (3) re-names
2230         several functions in CCDamageTracker so that state updating is
2231         implied by the name, and not just a bad side-effect of the functions.
2232
2233         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2234         (WebCore::CCDamageTracker::updateDamageTrackingState):
2235         (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
2236         (WebCore::CCDamageTracker::trackDamageFromSurfaceMask):
2237         (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
2238         * platform/graphics/chromium/cc/CCDamageTracker.h:
2239         (CCDamageTracker):
2240         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2241         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
2242
2243 2012-02-08  James Robinson  <jamesr@chromium.org>
2244
2245         [chromium] Check that we can make the SharedGraphicsContext3D current before returning
2246         https://bugs.webkit.org/show_bug.cgi?id=78142
2247
2248         Reviewed by Stephen White.
2249
2250         If we can't make the context current, we can't use it.
2251
2252         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2253         (WebCore::SharedGraphicsContext3D::get):
2254
2255 2012-02-08  Abhishek Arya  <inferno@chromium.org>
2256
2257         Crash in Node::normalize.
2258         https://bugs.webkit.org/show_bug.cgi?id=78135
2259
2260         Reviewed by Ryosuke Niwa.
2261
2262         No new tests. Original testcase does not reduce to manageable
2263         extent.
2264
2265         * dom/Node.cpp:
2266         (WebCore::Node::normalize):
2267
2268 2012-02-08  Antoine Labour  <piman@chromium.org>
2269
2270         Make WebGL context current early to check validity
2271         https://bugs.webkit.org/show_bug.cgi?id=78141
2272
2273         Reviewed by James Robinson.
2274
2275         Covered by existing tests
2276
2277         * html/canvas/WebGLRenderingContext.cpp:
2278         (WebCore):
2279         (WebCore::WebGLRenderingContext::create):
2280
2281 2012-02-08  Jonathan Backer  <backer@chromium.org>
2282
2283         [chromium] Disable root layer clears on release builds.
2284         https://bugs.webkit.org/show_bug.cgi?id=77478
2285
2286         Reviewed by James Robinson.
2287
2288         * platform/graphics/chromium/LayerRendererChromium.cpp:
2289         (WebCore::LayerRendererChromium::clearRenderSurface):
2290         (WebCore::LayerRendererChromium::drawRenderPass):
2291         * platform/graphics/chromium/LayerRendererChromium.h:
2292         (LayerRendererChromium):
2293
2294 2012-02-08  Anders Carlsson  <andersca@apple.com>
2295
2296         Add a content shadow layer to the render layer compositor
2297         https://bugs.webkit.org/show_bug.cgi?id=78133
2298         <rdar://problem/10797742>
2299
2300         Reviewed by Beth Dakin.
2301
2302         Have the render layer compositor optionally create a content shadow layer,
2303         and add a ScrollbarTheme::setUpContentShadowLayer member function that subclasses
2304         can use to set content shadow properties.
2305
2306         * platform/mac/ScrollbarThemeMac.mm:
2307         (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
2308         Set the layer properties once, and set the shadow path on every call, since we know that this
2309         function will be called every time the size of the content shadow layer changes.
2310
2311         * rendering/RenderLayerCompositor.cpp:
2312         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2313         Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.
2314
2315         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
2316         Add new helper function.
2317
2318         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2319         Create a content shadow layer if needed.
2320
2321 2012-02-07  Andy Estes  <aestes@apple.com>
2322
2323         REGRESSION (r102983): ClicktoFlash drawing of old style youtube embeds missing until resize
2324         https://bugs.webkit.org/show_bug.cgi?id=77167
2325
2326         Reviewed by Eric Seidel.
2327
2328         Test: plugins/layout-in-beforeload-listener-affects-plugin-loading.html
2329
2330         r102983 made FrameView::updateWidgets() check if the DOM node actually
2331         needs a widget update before calling updateWidget(). Due to historical
2332         reasons, however, updateWidget() can be legitimately called twice: once
2333         at attach time for non-Netscape plug-ins and once at layout time for
2334         Netscape plug-ins.
2335
2336         If the widget represents a Netscape plug-in, but updateWidget() is
2337         called for the CreateOnlyNonNetscapePlugins case after the DOM node was
2338         marked as needing an update, updateWidget() will clear the update flag
2339         and prevent a second call to updateWidget() at layout time for the
2340         CreateAnyWidgetType case.
2341
2342         As much as I loathe adding to the code duplication between
2343         HTMLEmbedElement::updateWidget() and HTMLObjectElement::updateWidget(),
2344         the simplest solution seems to be marking the DOM node as needing
2345         update in the case where we are calling updateWidget() for the
2346         CreateOnlyNonNetscapePlugins case and we know we will be loading a
2347         Netscape plug-in.
2348
2349         * html/HTMLEmbedElement.cpp:
2350         (WebCore::HTMLEmbedElement::updateWidget): Call
2351         setNeedsWidgetUpdate(true) if pluginCreationOption is
2352         CreateOnlyNonNetscapePlugins but we will load a Netscape plug-in.
2353         * html/HTMLObjectElement.cpp:
2354         (WebCore::HTMLObjectElement::updateWidget): Ditto.
2355         * html/HTMLPlugInElement.cpp:
2356         (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent): Remove an
2357         invalid assertion that prevents the layout test from running in a Debug
2358         configuration.
2359
2360 2012-02-07  Ojan Vafai  <ojan@chromium.org>
2361
2362         Floated flexboxes render as regular RenderBlocks
2363         https://bugs.webkit.org/show_bug.cgi?id=77909
2364
2365         Reviewed by Eric Seidel.
2366
2367         Add grid/flexbox cases to adjusting the display of floated/positioned
2368         elements. Also, move this logic into a switch statement. This makes
2369         the code more readable and gives compile warnings when new display types
2370         are added that aren't handled here.
2371
2372         Test: css3/flexbox/floated-flexbox.html
2373
2374         * css/CSSStyleSelector.cpp:
2375         (WebCore::adjustDisplay):
2376         (WebCore):
2377         (WebCore::CSSStyleSelector::adjustRenderStyle):
2378
2379 2012-02-08  Dirk Schulze  <krit@webkit.org>
2380
2381         viewBox on nested SVG causes wrong content size for relative values
2382         https://bugs.webkit.org/show_bug.cgi?id=69459
2383
2384         Reviewed by Nikolas.
2385
2386         In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
2387         with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
2388         Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
2389
2390         With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
2391         need a relayout.
2392
2393         Test: inner-svg-change-viewBox.svg
2394
2395         * rendering/svg/RenderSVGContainer.cpp:
2396         (WebCore::RenderSVGContainer::layout):
2397         * rendering/svg/RenderSVGContainer.h:
2398         (RenderSVGContainer):
2399         (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
2400         * rendering/svg/RenderSVGRoot.cpp:
2401         (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
2402         * rendering/svg/RenderSVGViewportContainer.cpp:
2403         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
2404         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
2405         (WebCore):
2406         * rendering/svg/RenderSVGViewportContainer.h:
2407         (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
2408         (RenderSVGViewportContainer):
2409         (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
2410         (WebCore):
2411         * rendering/svg/SVGRenderSupport.cpp:
2412         (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
2413         (WebCore):
2414         (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
2415         * svg/SVGSVGElement.cpp:
2416         (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
2417
2418 2012-02-08  Gregg Tavares  <gman@google.com>
2419
2420         Implement new WEBGL compressed texture extensions
2421         https://bugs.webkit.org/show_bug.cgi?id=77066
2422
2423         This removes the old experimental compressed
2424         texture extension and implements the first new
2425         one.
2426
2427         A test is in the WebGL conformance tests in
2428         extensions/webgl-compressed-texture-s3tc.html
2429         and will be copied here in a future patch.
2430
2431         Reviewed by Kenneth Russell.
2432
2433         No new tests. Test coming in future patch.
2434
2435         * CMakeLists.txt:
2436         * DerivedSources.make:
2437         * GNUmakefile.list.am:
2438         * Target.pri:
2439         * WebCore.gypi:
2440         * WebCore.xcodeproj/project.pbxproj:
2441         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2442         (WebCore::toJS):
2443         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2444         (WebCore::toV8Object):
2445         * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
2446         (WebCore):
2447         (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
2448         (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
2449         (WebCore::WebGLCompressedTextureS3TC::getName):
2450         (WebCore::WebGLCompressedTextureS3TC::create):
2451         (WebCore::WebGLCompressedTextureS3TC::supported):
2452         * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2453         (WebCore):
2454         (WebGLCompressedTextureS3TC):
2455         * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
2456         * html/canvas/WebGLCompressedTextures.cpp: Removed.
2457         * html/canvas/WebGLCompressedTextures.h: Removed.
2458         * html/canvas/WebGLExtension.h:
2459         * html/canvas/WebGLGetInfo.cpp:
2460         (WebCore::WebGLGetInfo::WebGLGetInfo):
2461         (WebCore):
2462         (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
2463         * html/canvas/WebGLGetInfo.h:
2464         * html/canvas/WebGLObject.cpp:
2465         * html/canvas/WebGLRenderingContext.cpp:
2466         (WebCore):
2467         (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
2468         (WebCore::WebGLRenderingContext::compressedTexImage2D):
2469         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
2470         (WebCore::WebGLRenderingContext::getExtension):
2471         (WebCore::WebGLRenderingContext::getParameter):
2472         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2473         (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
2474         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2475         (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
2476         (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
2477         * html/canvas/WebGLRenderingContext.h:
2478         (WebCore):
2479         (WebGLRenderingContext):
2480         * html/canvas/WebGLRenderingContext.idl:
2481
2482 2012-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
2483
2484         Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
2485         https://bugs.webkit.org/show_bug.cgi?id=78113
2486
2487         Retaining path list was replaced with Retaining tree some time ago.
2488         But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
2489
2490         Drive by fix: sort doesn't work in retaining tree panel.
2491         Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
2492
2493         Reviewed by Yury Semikhatsky.
2494
2495         * inspector/front-end/DetailedHeapshotGridNodes.js:
2496         (WebInspector.HeapSnapshotObjectNode):
2497         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
2498         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
2499         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
2500         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2501         * inspector/front-end/DetailedHeapshotView.js:
2502         (WebInspector.HeapSnapshotContainmentDataGrid):
2503         (WebInspector.HeapSnapshotRetainmentDataGrid):
2504         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
2505         * inspector/front-end/HeapSnapshot.js:
2506         (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
2507         (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
2508         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
2509         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
2510         (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
2511         (WebInspector.HeapSnapshot.prototype._init):
2512         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2513         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
2514         (WebInspector.HeapSnapshot.prototype._bfs):
2515         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
2516         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
2517         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
2518         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
2519         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
2520         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
2521         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
2522         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
2523         * inspector/front-end/heapProfiler.css:
2524         (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
2525
2526 2012-02-08  Anders Carlsson  <andersca@apple.com>
2527
2528         Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
2529         https://bugs.webkit.org/show_bug.cgi?id=78126
2530
2531         Reviewed by Dan Bernstein.
2532
2533         This broke in r106977 when I tried to change an early return into an ASSERT,
2534         so let's bring back the early return.
2535
2536         * page/FrameView.cpp:
2537         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2538
2539 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2540
2541         Unreviewed, rolling out r106920, r106924, r106933, r106939,
2542         and r107090.
2543         http://trac.webkit.org/changeset/106920
2544         http://trac.webkit.org/changeset/106924
2545         http://trac.webkit.org/changeset/106933
2546         http://trac.webkit.org/changeset/106939
2547         http://trac.webkit.org/changeset/107090
2548         https://bugs.webkit.org/show_bug.cgi?id=78124
2549
2550         Something is completely wrong this change (Requested by
2551         Ossy_gardener on #webkit).
2552
2553         * platform/FileSystem.h:
2554         (WebCore):
2555         * platform/qt/FileSystemQt.cpp:
2556
2557 2012-02-08  David Hyatt  <hyatt@apple.com>
2558
2559         https://bugs.webkit.org/show_bug.cgi?id=78122
2560         
2561         Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
2562         text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
2563         centering headers in a line grid.
2564
2565         Reviewed by Adam Roben.
2566
2567         Added a new test in fast/line-grid.
2568
2569         * rendering/RootInlineBox.cpp:
2570         (WebCore::RootInlineBox::lineGridSnapAdjustment):
2571
2572 2012-02-08  Cary Clark  <caryclark@google.com>
2573
2574         [Skia Mac] Make misspelling underline dots unclipped
2575         https://bugs.webkit.org/show_bug.cgi?id=78117
2576         http://code.google.com/p/chromium/issues/detail?id=113154
2577
2578         Reviewed by Stephen White.
2579
2580         No new tests. Existing layout tests cover this.
2581
2582         As is done on the CoreGraphics Mac platform, adjust the
2583         underline width to remove partial dots, not including the
2584         trailing transparent pixel column.
2585
2586         * platform/graphics/skia/GraphicsContextSkia.cpp:
2587         (WebCore::GraphicsContext::drawLineForTextChecking):
2588
2589 2012-02-08  Pavel Feldman  <pfeldman@google.com>
2590
2591         Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
2592         https://bugs.webkit.org/show_bug.cgi?id=78116
2593
2594         Reviewed by Yury Semikhatsky.
2595
2596         * inspector/front-end/DOMAgent.js:
2597         (WebInspector.DOMNode):
2598         (WebInspector.DOMDocument):
2599         (WebInspector.DOMAgent.prototype._setDocument):
2600         (WebInspector.DOMAgent.prototype._setDetachedRoot):
2601         (WebInspector.DOMAgent.prototype._setChildNodes):
2602         (WebInspector.DOMAgent.prototype._childNodeRemoved):
2603         (WebInspector.DOMAgent.prototype._unbind):
2604
2605 2012-02-08  Peter Rybin  <peter.rybin@gmail.com>
2606
2607         Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
2608         https://bugs.webkit.org/show_bug.cgi?id=77967
2609
2610         Reviewed by Yury Semikhatsky.
2611
2612         Condition for RefPtr-based types added. This is more-or-less a hack
2613         and it's should be redone together with the switch to type-safe API.
2614
2615         * inspector/CodeGeneratorInspector.py:
2616         (Generator.process_command):
2617
2618 2012-02-07  Yury Semikhatsky  <yurys@chromium.org>
2619
2620         Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
2621         https://bugs.webkit.org/show_bug.cgi?id=77972
2622
2623         When object popover is shown the object under cursor is resolved and its
2624         wrapper is put into 'popover' object wrapper group. The group is discarded
2625         when the popover closes.
2626
2627         Reviewed by Pavel Feldman.
2628
2629         * bindings/js/ScriptProfiler.cpp:
2630         (WebCore::ScriptProfiler::objectByHeapObjectId):
2631         * bindings/js/ScriptProfiler.h:
2632         (WebCore):
2633         (ScriptProfiler):
2634         * bindings/v8/ScriptProfiler.cpp:
2635         (WebCore::ScriptProfiler::objectByHeapObjectId):
2636         (WebCore):
2637         * bindings/v8/ScriptProfiler.h:
2638         (WebCore):
2639         (ScriptProfiler):
2640         * inspector/Inspector.json:
2641         * inspector/InspectorProfilerAgent.cpp:
2642         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2643         * inspector/InspectorProfilerAgent.h:
2644         (InspectorProfilerAgent):
2645         * inspector/front-end/DetailedHeapshotGridNodes.js:
2646         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
2647         * inspector/front-end/DetailedHeapshotView.js:
2648         (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
2649         * inspector/front-end/JavaScriptSourceFrame.js:
2650         (WebInspector.JavaScriptSourceFrame):
2651         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
2652         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
2653         * inspector/front-end/ObjectPopoverHelper.js:
2654         (WebInspector.ObjectPopoverHelper):
2655         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2656         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
2657
2658 2012-02-08  Mario Sanchez Prada  <msanchez@igalia.com>
2659
2660         [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
2661         https://bugs.webkit.org/show_bug.cgi?id=73431
2662
2663         Reviewed by Chris Fleizach.
2664
2665         Don't replace item's markers with the objectReplacementCharacter
2666         character, as they will be treated in an special way later on.
2667
2668         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2669         (textForRenderer): Don't append the objectReplacementCharacter
2670         character for list item's markers.
2671
2672 2012-02-08  Pavel Feldman  <pfeldman@google.com>
2673
2674         Web Inspector: do not clear entire tree map upon last element deletion.
2675         https://bugs.webkit.org/show_bug.cgi?id=78112
2676
2677         Reviewed by Yury Semikhatsky.
2678
2679         * inspector/front-end/treeoutline.js:
2680         (TreeOutline.prototype._forgetChildrenRecursive):
2681
2682 2012-02-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2683
2684         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2685         https://bugs.webkit.org/show_bug.cgi?id=74386
2686
2687         Reviewed by Kentaro Hara.
2688
2689         Move createObjectURL & revokeObjectURL from DOMURL implementation to
2690         static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
2691
2692         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2693         Already Existing:
2694             fast/files/revoke-blob-url.html
2695             fast/dom/window-domurl-crash.html
2696             fast/files/apply-blob-url-to-img.html
2697             fast/files/create-blob-url-crash.html
2698             fast/files/workers/inline-worker-via-blob-url.html
2699
2700         * GNUmakefile.list.am:
2701         * Target.pri:
2702         * WebCore.gypi:
2703         * WebCore.vcproj/WebCore.vcproj:
2704         * WebCore.xcodeproj/project.pbxproj:
2705         * dom/ScriptExecutionContext.cpp:
2706         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2707         (WebCore::ScriptExecutionContext::fileThread):
2708         (WebCore):
2709         (WebCore::ScriptExecutionContext::publicURLManager):
2710         * dom/ScriptExecutionContext.h:
2711         (WebCore):
2712         (ScriptExecutionContext):
2713         * html/DOMURL.cpp:
2714         (WebCore):
2715         (WebCore::DOMURL::createObjectURL): Changed to static.
2716         (WebCore::DOMURL::revokeObjectURL): ditto.
2717         * html/DOMURL.h:
2718         (DOMURL):
2719         (WebCore::DOMURL::create):
2720         * html/DOMURL.idl:
2721         * html/PublicURLManager.h: Added.
2722         (WebCore):
2723         (PublicURLManager):
2724         (WebCore::PublicURLManager::create):
2725         (WebCore::PublicURLManager::contextDestroyed):
2726         (WebCore::PublicURLManager::blobURLs):
2727         (WebCore::PublicURLManager::streamURLs):
2728         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2729         (WebCore):
2730         * page/DOMWindow.h: ditto.
2731         (DOMWindow):
2732         * page/DOMWindow.idl:
2733         * workers/WorkerContext.cpp:
2734         (WebCore):
2735         * workers/WorkerContext.h:
2736         (WorkerContext):
2737         * workers/WorkerContext.idl:
2738
2739 2012-02-01  Brian Grinstead  <briangrinstead@gmail.com>
2740
2741         Web Inspector: Add changes for Spectrum colorpicker
2742         https://bugs.webkit.org/show_bug.cgi?id=75454
2743
2744         Reviewed by Pavel Feldman.
2745
2746         * inspector/front-end/Color.js:
2747         (WebInspector.Color.fromRGB):
2748         * inspector/front-end/utilities.js:
2749         (Element.prototype.totalOffsetLeft):
2750         (Element.prototype.totalOffsetTop):
2751         (Element.prototype.totalOffset):
2752         (Element.prototype.scrollOffset):
2753         ():
2754
2755 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
2756
2757         Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
2758         https://bugs.webkit.org/show_bug.cgi?id=78102
2759
2760         Reviewed by Vsevolod Vlasov.
2761
2762         * inspector/front-end/WatchExpressionsSidebarPane.js:
2763         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
2764
2765 2012-02-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
2766
2767         CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
2768         https://bugs.webkit.org/show_bug.cgi?id=69993
2769
2770         Reviewed by Simon Fraser.
2771
2772         The issue was that for overflow:scroll, currently webkit always places the horizontal
2773         and vertical scrollbar. But Since the listbox renderer handles its scrolling,
2774         we should not set scrollbar for list-box.
2775
2776         Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
2777                fast/forms/select-overflow-scroll-inherited.html
2778                fast/forms/select-overflow-scroll.html
2779
2780         * rendering/RenderBlock.cpp:
2781         (WebCore::RenderBlock::layoutBlock):
2782         * rendering/RenderLayer.cpp:
2783         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2784
2785 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2786
2787         feImage doesn't invalidate when its target SVG element is animated
2788         https://bugs.webkit.org/show_bug.cgi?id=73860
2789
2790         Reviewed by Dirk Schulze.
2791
2792         Consider following testcase:
2793         <defs>
2794             <rect id="rect" fill="red" width="50" height="50"/>
2795             <filter id="filter">
2796                 <feImage xlink:href="#rect"/>
2797             </filter>
2798         </defs>
2799         <rect width="50" height="50" filter="url(#filter)"/>
2800
2801         If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
2802         doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
2803         a child of the <feImage/>. To get invalidations working for these situations, we have to track
2804         the referencingElement & referencedElement in SVGDocumentExtensions.
2805
2806         Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
2807
2808         Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
2809                svg/filters/feImage-late-indirect-update.svg
2810                svg/filters/feImage-mutliple-targets-id-change.svg
2811                svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
2812                svg/filters/feImage-target-attribute-change-with-use-indirection.svg
2813                svg/filters/feImage-target-attribute-change.svg
2814                svg/filters/feImage-target-inline-style-change.svg
2815                svg/filters/feImage-target-property-change.svg
2816                svg/filters/feImage-target-style-change.svg
2817
2818         * rendering/svg/RenderSVGResource.cpp:
2819         (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
2820         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
2821         * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
2822         * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
2823         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
2824         (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
2825         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
2826         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
2827         * svg/SVGDocumentExtensions.h: Expose new methods.
2828         * svg/SVGElement.cpp:
2829         (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
2830         * svg/SVGFEImageElement.cpp:
2831         (WebCore::SVGFEImageElement::clearResourceReferences):
2832         (WebCore::SVGFEImageElement::buildPendingResource):
2833
2834 2012-02-08  Kihong Kwon  <kihong.kwon@samsung.com>
2835
2836         [EFL] Using string method instead of char* operation in the platformLanguage().
2837         https://bugs.webkit.org/show_bug.cgi?id=78077
2838
2839         Reviewed by Andreas Kling.
2840
2841         No new tests. Just fix a bug of platformLanguage function.
2842
2843         * platform/efl/LanguageEfl.cpp:
2844         (WebCore::platformLanguage):
2845         Change char* operation to string operation.
2846
2847 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
2848
2849         Web Inspector: Touch event emulation fails for iframes
2850         https://bugs.webkit.org/show_bug.cgi?id=77987
2851
2852         Reviewed by Pavel Feldman.
2853
2854         Test: fast/events/touch/emulated-touch-iframe.html
2855
2856         * page/EventHandler.cpp:
2857         (WebCore::EventHandler::handleMouseReleaseEvent):
2858
2859 2012-02-08  Andreas Kling  <awesomekling@apple.com>
2860
2861         StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
2862         <http://webkit.org/b/78068>
2863
2864         Rubber-stamped by Ryosuke Niwa.
2865
2866         Turns out that setProperty() with a CSSProperty has quite different behavior from
2867         the other setProperty() methods. We should probably clean that up (separately.)
2868         For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
2869         use setProperty(CSSProperty).
2870
2871         * dom/StyledElement.cpp:
2872         (WebCore::StyledElement::addCSSProperty):
2873         (WebCore::StyledElement::addCSSImageProperty):
2874
2875 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2876
2877         Unreviewed, rolling out r107050.
2878         http://trac.webkit.org/changeset/107050
2879         https://bugs.webkit.org/show_bug.cgi?id=78094
2880
2881         May crash editing tests (Requested by morrita on #webkit).
2882
2883         * html/HTMLDetailsElement.cpp:
2884         (WebCore::HTMLDetailsElement::createShadowSubtree):
2885         * html/HTMLKeygenElement.cpp:
2886         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2887         * html/HTMLMeterElement.cpp:
2888         (WebCore::HTMLMeterElement::createShadowSubtree):
2889         * html/HTMLProgressElement.cpp:
2890         (WebCore::HTMLProgressElement::createShadowSubtree):
2891         * html/HTMLSummaryElement.cpp:
2892         (WebCore::HTMLSummaryElement::createShadowSubtree):
2893         * html/HTMLTextAreaElement.cpp:
2894         (WebCore::HTMLTextAreaElement::createShadowSubtree):
2895
2896 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2897
2898         [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
2899         https://bugs.webkit.org/show_bug.cgi?id=77995
2900
2901         Reviewed by Csaba Osztrogonác.
2902
2903         From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
2904         while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
2905         from frameDetached(). There's no point in redrawing there, so we should just stop it.
2906
2907         Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
2908
2909         * svg/graphics/SVGImage.cpp:
2910         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
2911         (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
2912         * svg/graphics/SVGImage.h:
2913
2914 2012-02-08  Pablo Flouret  <pablof@motorola.com>
2915
2916         Add state attribute to history's dom interface.
2917         https://bugs.webkit.org/show_bug.cgi?id=76035
2918
2919         Reviewed by Kentaro Hara.
2920
2921         Tests: fast/loader/stateobjects/state-attribute-object-types.html
2922                fast/loader/stateobjects/state-attribute-only-one-deserialization.html
2923
2924         * bindings/js/JSHistoryCustom.cpp:
2925         (WebCore::JSHistory::state):
2926         (WebCore):
2927         (WebCore::JSHistory::pushState):
2928         (WebCore::JSHistory::replaceState):
2929         * bindings/v8/custom/V8HistoryCustom.cpp:
2930         (WebCore::V8History::stateAccessorGetter):
2931         (WebCore):
2932         (WebCore::V8History::pushStateCallback):
2933         (WebCore::V8History::replaceStateCallback):
2934         * page/History.cpp:
2935         (WebCore::History::History):
2936         (WebCore::History::state):
2937         (WebCore):
2938         (WebCore::History::stateInternal):
2939         (WebCore::History::stateChanged):
2940         * page/History.h:
2941         (History):
2942         * page/History.idl:
2943
2944 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2945
2946         SVGLoad event fires too early
2947         https://bugs.webkit.org/show_bug.cgi?id=78084
2948
2949         Reviewed by Hajime Morita.
2950
2951         SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
2952
2953         We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
2954         which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
2955         thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
2956         <svg onload="alert(evt.target)"> will say SVGSVGElement).
2957
2958         Consider:
2959         <svg onload="alert('1')>
2960         <g onload="alert('2)">
2961         <rect onload="alert('3')"/>
2962         </svg>
2963
2964         As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
2965         So first you'll see '3', then '2', then '1'.
2966
2967         Using:
2968         <svg onload="alert('1')>
2969         <g onload="alert('2)">
2970         <image xlink:href="someExternal.jpg" onload="alert('3')"/>
2971         </svg>
2972
2973         will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
2974         then '3', then '2', all as expected and specified in SVG.
2975
2976         http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
2977         "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
2978         ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
2979         external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
2980         external resources are not required to be ready for the event to be triggered."
2981
2982         What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
2983         element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
2984         </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
2985         WebKit, as we're not yet "ready to render".
2986
2987         HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
2988         At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
2989         equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
2990
2991         Covered by existing tests.
2992
2993         * dom/Document.cpp:
2994         (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
2995         * svg/SVGDocumentExtensions.cpp:
2996         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
2997         There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
2998         * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
2999         * svg/SVGElement.cpp:
3000         (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
3001         (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
3002         (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
3003         * svg/SVGElement.h: Add isOutermostSVGSVGElement().
3004         * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
3005         (WebCore::SVGSVGElement::currentScale):
3006         (WebCore::SVGSVGElement::setCurrentScale):
3007         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
3008         (WebCore::SVGSVGElement::createRenderer):
3009         * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
3010         * svg/SVGStyledElement.cpp:
3011         (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
3012
3013 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
3014
3015         Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
3016         https://bugs.webkit.org/show_bug.cgi?id=78090
3017
3018         Reviewed by Vsevolod Vlasov.
3019
3020         * inspector/InspectorDOMAgent.cpp:
3021         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
3022
3023 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
3024
3025         Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
3026         https://bugs.webkit.org/show_bug.cgi?id=77865
3027
3028         Reviewed by Pavel Feldman.
3029
3030         Test: inspector/styles/lazy-computed-style.html
3031
3032         * inspector/front-end/StylesSidebarPane.js:
3033         (WebInspector.StylesSidebarPane):
3034         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
3035         (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
3036         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
3037         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
3038
3039 2012-02-08  Tommy Widenflycht  <tommyw@google.com>
3040
3041         MediaStream API: Adding the onstatechange callback to PeerConnection
3042         https://bugs.webkit.org/show_bug.cgi?id=77954
3043
3044         When readyState changes a callback should be triggered.
3045
3046         Reviewed by Adam Barth.
3047
3048         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
3049
3050         * dom/EventNames.h:
3051         (WebCore):
3052         * mediastream/PeerConnection.cpp:
3053         (WebCore::PeerConnection::changeReadyState):
3054         * mediastream/PeerConnection.h:
3055         (PeerConnection):
3056         (WebCore::PeerConnection::didChangeState):
3057         * mediastream/PeerConnection.idl:
3058         * platform/mediastream/PeerConnectionHandlerClient.h:
3059         (PeerConnectionHandlerClient):
3060
3061 2012-02-08  Kentaro Hara  <haraken@chromium.org>
3062
3063         Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
3064         https://bugs.webkit.org/show_bug.cgi?id=77963
3065
3066         Reviewed by Adam Barth.
3067
3068         This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
3069         for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
3070
3071         No tests. No change in behavior.
3072
3073         * bindings/scripts/CodeGeneratorJS.pm:
3074         (GenerateHeader):
3075         (GenerateImplementation):
3076         * bindings/scripts/CodeGeneratorV8.pm:
3077         (GenerateHeaderNamedAndIndexedPropertyAccessors):
3078         (GenerateImplementationIndexer):
3079         (GenerateImplementationNamedPropertyGetter):
3080         * bindings/scripts/test/TestInterface.idl:
3081         * css/CSSStyleDeclaration.idl:
3082         * dom/DOMStringMap.idl:
3083         * html/HTMLAppletElement.idl:
3084         * html/HTMLEmbedElement.idl:
3085         * html/HTMLObjectElement.idl:
3086         * page/History.idl:
3087         * page/Location.idl:
3088         * storage/Storage.idl:
3089
3090 2012-02-08  Kentaro Hara  <haraken@chromium.org>
3091
3092         Replace [CheckNodeSecurity] with [CheckAccessToNode]
3093         https://bugs.webkit.org/show_bug.cgi?id=77971
3094
3095         Reviewed by Adam Barth.
3096
3097         [CheckNodeSecurity] is not implemented by code generators.
3098         This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
3099
3100         Test: http/tests/security/cross-frame-access-frameelement.html
3101
3102         * page/DOMWindow.idl:
3103
3104 2012-02-08  Kentaro Hara  <haraken@chromium.org>
3105
3106         Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
3107         https://bugs.webkit.org/show_bug.cgi?id=78081
3108
3109         Reviewed by Adam Barth.
3110
3111         [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
3112         This patch renames it to [JSCustomPushEventHandlerScope]
3113
3114         No tests. No change in behavior.
3115
3116         * bindings/scripts/CodeGeneratorJS.pm:
3117         (GenerateHeader):
3118         * dom/Node.idl:
3119         * html/HTMLElement.idl:
3120
3121 2012-02-06  Kentaro Hara  <haraken@chromium.org>
3122
3123         Add "JS" prefix to JSC-specific IDLs
3124         https://bugs.webkit.org/show_bug.cgi?id=77846
3125
3126         Reviewed by Darin Adler.
3127
3128         In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
3129         This patch adds "JS" prefix to the remaining JSC specific IDLs.
3130         Specifically, this patch renames IDLs as follows:
3131
3132         [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
3133         [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
3134         [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
3135         with [JSGenerateToJS] and [JSCustomToNativeObject])
3136         [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
3137         should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
3138
3139         No tests. No change in behavior.
3140
3141         * bindings/scripts/CodeGeneratorJS.pm:
3142         (GenerateGetOwnPropertySlotBody):
3143         (GenerateGetOwnPropertyDescriptorBody):
3144         (GenerateHeader):
3145         (GenerateImplementation):
3146         * bindings/scripts/test/TestTypedArray.idl:
3147         * dom/Attr.idl:
3148         * dom/DataTransferItemList.idl:
3149         * dom/Document.idl:
3150         * dom/DocumentType.idl:
3151         * dom/Element.idl:
3152         * dom/Node.idl:
3153         * fileapi/DirectoryEntry.idl:
3154         * fileapi/DirectoryEntrySync.idl:
3155         * fileapi/File.idl:
3156         * fileapi/FileEntry.idl:
3157         * fileapi/FileEntrySync.idl:
3158         * fileapi/WebKitBlobBuilder.idl:
3159         * html/DOMFormData.idl:
3160         * html/DOMURL.idl:
3161         * html/HTMLAppletElement.idl:
3162         * html/HTMLCanvasElement.idl:
3163         * html/HTMLElement.idl:
3164         * html/HTMLEmbedElement.idl:
3165         * html/HTMLImageElement.idl:
3166         * html/HTMLMediaElement.idl:
3167         * html/HTMLObjectElement.idl:
3168         * html/HTMLOptionElement.idl:
3169         * html/HTMLOptionsCollection.idl:
3170         * html/HTMLTableCaptionElement.idl:
3171         * html/HTMLTableSectionElement.idl:
3172         * html/HTMLVideoElement.idl:
3173         * html/TextTrackCue.idl:
3174         * html/canvas/Float32Array.idl:
3175         * html/canvas/Float64Array.idl:
3176         * html/canvas/Int16Array.idl:
3177         * html/canvas/Int32Array.idl:
3178         * html/canvas/Int8Array.idl:
3179         * html/canvas/Uint16Array.idl:
3180         * html/canvas/Uint32Array.idl:
3181         * html/canvas/Uint8Array.idl:
3182         * html/canvas/Uint8ClampedArray.idl:
3183         * mediastream/LocalMediaStream.idl:
3184         * page/DOMWindow.idl:
3185         * page/History.idl:
3186         * page/Location.idl:
3187         * storage/StorageInfo.idl:
3188         * svg/SVGElement.idl:
3189         * svg/SVGElementInstance.idl:
3190         * workers/DedicatedWorkerContext.idl:
3191         * workers/SharedWorker.idl:
3192         * workers/SharedWorkerContext.idl:
3193         * workers/Worker.idl:
3194         * workers/WorkerContext.idl:
3195
3196 2012-02-07  Kentaro Hara  <haraken@chromium.org>
3197
3198         Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
3199         https://bugs.webkit.org/show_bug.cgi?id=78076
3200
3201         Reviewed by Adam Barth.
3202
3203         This patch renames the [HasOverridingNameGetter] attribute to the
3204         [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
3205
3206         Test: bindings/scripts/test/TestCustomNamedGetter.idl
3207
3208         * bindings/scripts/CodeGeneratorJS.pm:
3209         (GenerateGetOwnPropertySlotBody):
3210         (GenerateGetOwnPropertyDescriptorBody):
3211         (GenerateHeader):
3212         (GenerateImplementation):
3213         * bindings/scripts/CodeGeneratorV8.pm:
3214         (GenerateHeaderNamedAndIndexedPropertyAccessors):
3215         (GenerateImplementationNamedPropertyGetter):
3216
3217         * html/HTMLDocument.idl:
3218         * html/HTMLFormElement.idl:
3219         * html/HTMLFrameSetElement.idl:
3220
3221         * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
3222
3223         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
3224         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
3225         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
3226         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
3227         (WebDOMTestCustomNamedGetter::operator=):
3228         (WebDOMTestCustomNamedGetter::impl):
3229         (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
3230         (WebDOMTestCustomNamedGetter::anotherFunction):
3231         (toWebCore):
3232         (toWebKit):
3233         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
3234         (WebCore):
3235         (WebDOMTestCustomNamedGetter):
3236         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
3237         (WebKit):
3238         (WebKit::kit):
3239         (webkit_dom_test_custom_named_getter_another_function):
3240         (WebKit::core):
3241         (webkit_dom_test_custom_named_getter_finalize):
3242         (webkit_dom_test_custom_named_getter_set_property):
3243         (webkit_dom_test_custom_named_getter_get_property):
3244         (webkit_dom_test_custom_named_getter_constructed):
3245         (webkit_dom_test_custom_named_getter_class_init):
3246         (webkit_dom_test_custom_named_getter_init):
3247         (WebKit::wrapTestCustomNamedGetter):
3248         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
3249         (_WebKitDOMTestCustomNamedGetter):
3250         (_WebKitDOMTestCustomNamedGetterClass):
3251         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
3252         (WebKit):
3253         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
3254         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
3255         (WebCore):
3256         (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
3257         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
3258         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
3259         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
3260         (WebCore::JSTestCustomNamedGetterPrototype::self):
3261         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
3262         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
3263         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
3264         (WebCore::JSTestCustomNamedGetter::finishCreation):
3265         (WebCore::JSTestCustomNamedGetter::createPrototype):
3266         (WebCore::JSTestCustomNamedGetter::destroy):
3267         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
3268         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
3269         (WebCore::jsTestCustomNamedGetterConstructor):
3270         (WebCore::JSTestCustomNamedGetter::getConstructor):
3271         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
3272         (WebCore::isObservable):
3273         (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
3274         (WebCore::JSTestCustomNamedGetterOwner::finalize):
3275         (WebCore::toJS):
3276         (WebCore::toTestCustomNamedGetter):
3277         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
3278         (WebCore):
3279         (JSTestCustomNamedGetter):
3280         (WebCore::JSTestCustomNamedGetter::create):
3281         (WebCore::JSTestCustomNamedGetter::createStructure):
3282         (WebCore::JSTestCustomNamedGetter::impl):
3283         (WebCore::JSTestCustomNamedGetter::releaseImpl):
3284         (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
3285         (JSTestCustomNamedGetterOwner):
3286         (WebCore::wrapperOwner):
3287         (WebCore::wrapperContext):
3288         (JSTestCustomNamedGetterPrototype):
3289         (WebCore::JSTestCustomNamedGetterPrototype::create):
3290         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
3291         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
3292         (JSTestCustomNamedGetterConstructor):
3293         (WebCore::JSTestCustomNamedGetterConstructor::create):
3294         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
3295         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
3296         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
3297         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
3298         (-[DOMTestCustomNamedGetter dealloc]):
3299         (-[DOMTestCustomNamedGetter finalize]):
3300         (-[DOMTestCustomNamedGetter anotherFunction:]):
3301         (core):
3302         (kit):
3303         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
3304         (WebCore):
3305         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
3306         (WebCore):
3307         (TestCustomNamedGetterInternal):
3308         (WebCore::TestCustomNamedGetterInternal::V8_USE):
3309         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
3310         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
3311         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
3312         (WebCore::V8TestCustomNamedGetter::GetTemplate):
3313         (WebCore::V8TestCustomNamedGetter::HasInstance):
3314         (WebCore::V8TestCustomNamedGetter::wrapSlow):
3315         (WebCore::V8TestCustomNamedGetter::derefObject):
3316         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
3317         (WebCore):
3318         (V8TestCustomNamedGetter):
3319         (WebCore::V8TestCustomNamedGetter::toNative):
3320         (WebCore::V8TestCustomNamedGetter::existingWrapper):
3321         (WebCore::V8TestCustomNamedGetter::wrap):
3322         (WebCore::toV8):
3323
3324 2012-02-07  Emil A Eklund  <eae@chromium.org>
3325
3326         Revert TableSection cell and border calculations to integers
3327         https://bugs.webkit.org/show_bug.cgi?id=77918
3328
3329         Reviewed by Eric Seidel.
3330
3331         Change RenderTableSection cell width, row height and border calculations
3332         back to use integers. Table layout is done on integer bounds to comply
3333         with the specification and to ensure that columns given the same width,
3334         including percentage widths, are rendered with identical widths. The same
3335         applies to heights.
3336
3337         No new tests.
3338
3339         * rendering/RenderTableSection.cpp:
3340         (WebCore::RenderTableSection::setCellLogicalWidths):
3341         (WebCore::RenderTableSection::calcRowLogicalHeight):
3342         (WebCore::RenderTableSection::layoutRows):
3343         (WebCore::RenderTableSection::calcOuterBorderBefore):
3344         (WebCore::RenderTableSection::calcOuterBorderAfter):
3345         (WebCore::RenderTableSection::calcOuterBorderStart):
3346         (WebCore::RenderTableSection::calcOuterBorderEnd):
3347         (WebCore::RenderTableSection::paintObject):
3348         (WebCore::RenderTableSection::nodeAtPoint):
3349         * rendering/RenderTableSection.h:
3350         (RenderTableSection):
3351         (WebCore::RenderTableSection::RowStruct::RowStruct):
3352         (WebCore::RenderTableSection::outerBorderBefore):
3353         (WebCore::RenderTableSection::outerBorderAfter):
3354         (WebCore::RenderTableSection::outerBorderStart):
3355         (WebCore::RenderTableSection::outerBorderEnd):
3356
3357 2012-02-07  Robert Kroeger  <rjkroege@chromium.org>
3358
3359         [chromium] Remove the no longer necessary Chromium gesture recognizer.
3360         https://bugs.webkit.org/show_bug.cgi?id=77492
3361
3362         Reviewed by Adam Barth.
3363
3364         * WebCore.gypi:
3365         * platform/PlatformGestureRecognizer.h: Removed.
3366         * platform/chromium/FramelessScrollView.h:
3367         (WebCore):
3368         (FramelessScrollView):
3369         * platform/chromium/GestureRecognizerChromium.cpp: Removed.
3370         * platform/chromium/GestureRecognizerChromium.h: Removed.
3371         * platform/chromium/PopupContainer.cpp:
3372         (WebCore):
3373         * platform/chromium/PopupContainer.h:
3374         * platform/chromium/PopupListBox.cpp:
3375         (WebCore):
3376         * platform/chromium/PopupListBox.h:
3377         (PopupListBox):
3378
3379 2012-02-07  Erik Arvidsson  <arv@chromium.org>
3380
3381         [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
3382         https://bugs.webkit.org/show_bug.cgi?id=78052
3383
3384         Reviewed by Nate Chapin.
3385
3386         Before this patch the code generator did not add the named hidden reference when the data node
3387         was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
3388
3389         Covered by existing tests
3390
3391         * Target.pri:
3392         * UseV8.cmake:
3393         * WebCore.gypi:
3394         * bindings/scripts/CodeGeneratorV8.pm:
3395         (GenerateNormalAttrGetter):
3396         (HasCustomToV8Implementation):
3397         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3398         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
3399         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3400
3401 2012-02-07  Kentaro Hara  <haraken@chromium.org>
3402
3403         [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
3404         https://bugs.webkit.org/show_bug.cgi?id=78059
3405
3406         Reviewed by Adam Barth.
3407
3408         CodeGeneratorGObject.pm does not support custom attributes.
3409         We can skip generating code for attributes with [Custom].
3410         The change would make sense, since CodeGeneratorGObject.pm already
3411         skips attributes with [CustomGetter] or [CustomSetter].
3412
3413         Test: bindings/scripts/test/TestObj.idl
3414
3415         * bindings/scripts/CodeGeneratorGObject.pm:
3416         (SkipAttribute):
3417         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3418
3419 2012-02-07  Emil A Eklund  <eae@chromium.org>
3420
3421         Add pixelSnappedX/Y/Width/Height methods
3422         https://bugs.webkit.org/show_bug.cgi?id=78040
3423
3424         Reviewed by Eric Seidel.
3425
3426         Add pixel snapped versions of x/y/width/height methods. These return the
3427         same value as the x/w/width/height methods for now but once we move over
3428         to sub pixel layout they will snap the subpixel value to a device pixel
3429         and return an integer value.
3430
3431         When snapping the left and top edge is simply rounded to the nearest
3432         device pixel.
3433         The right and bottom edges are computed by subtracting the rounded left/
3434         top edge from the precise location and size. This ensures that the edges
3435         all line up with device pixels and that the total size of an object,
3436         including borders, is at most one pixel off.
3437
3438         In summary, the values are computed as follows:
3439                 x: round(x)
3440                 y: round(y)
3441                 maxX: round(x + width)
3442                 maxY: round(y + height)
3443                 width: round(x + width) - round(x)
3444                 height: round(y + height) - round(y)
3445
3446         We use the term pixel snapped to indicate that the numbers are not merely
3447         rounded. This also matches the naming used by the line box tree.
3448
3449         No new tests, no functionality changes.
3450
3451         * page/PrintContext.cpp:
3452         (WebCore::PrintContext::pageNumberForElement):
3453         * rendering/RenderBlock.cpp:
3454         (WebCore::::collectIfNeeded):
3455         * rendering/RenderBlock.h:
3456         (RenderBlock):
3457         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
3458         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
3459         (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
3460         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
3461         (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
3462         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
3463         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
3464         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
3465         (FloatingObject):
3466         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
3467         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
3468         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
3469         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
3470         * rendering/RenderBlockLineLayout.cpp:
3471         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNe