Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
2
3         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
4         https://bugs.webkit.org/show_bug.cgi?id=67250
5
6         Reviewed by Simon Fraser.
7
8         No new tests because there's no change in functionality.
9
10         * WebCore.exp.in:
11         * css/CSSStyleSelector.cpp:
12         (WebCore::CSSStyleSelector::styleForDocument):
13         * dom/Element.cpp:
14         (WebCore::Element::getClientRects):
15         (WebCore::Element::getBoundingClientRect):
16         * dom/Range.cpp:
17         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
18         * loader/HistoryController.cpp:
19         (WebCore::HistoryController::restoreScrollPositionAndViewState):
20         * page/Frame.cpp:
21         (WebCore::Frame::Frame):
22         (WebCore::Frame::pageScaleFactor):
23         * page/Frame.h:
24         * page/Page.cpp:
25         (WebCore::Page::Page):
26         (WebCore::Page::setPageScaleFactor):
27         * page/Page.h:
28         (WebCore::Page::pageScaleFactor):
29         * rendering/RenderLayerCompositor.cpp:
30         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
31         (WebCore::RenderLayerCompositor::pageScaleFactor):
32         * rendering/RenderView.cpp:
33         (WebCore::RenderView::paintBoxDecorations):
34
35 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
36
37         AX: Images within anchors causes crash
38         https://bugs.webkit.org/show_bug.cgi?id=44149
39
40         Reviewed by Chris Fleizach.
41
42         Fixes the way parent RenderObject of an AccessibilityRenderObject
43         is computed in the presence of adjacent continuations.
44
45         Test: accessibility/div-within-anchors-causes-crash.html
46
47         * accessibility/AccessibilityRenderObject.cpp:
48         (WebCore::AccessibilityRenderObject::renderParentObject):
49
50 2011-09-09  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
51
52         CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
53         https://bugs.webkit.org/show_bug.cgi?id=66887
54
55         Reviewed by David Hyatt.
56
57         Test: fast/css/adjacent-sibling-selector.html
58
59         This patch addresses the problem of elements not getting their style recomputed
60         when they are affected by direct adjacent sibling rules and one of their sibling in
61         their corresponding rules is modified dynamically.
62
63         * css/CSSStyleSelector.cpp:
64         (WebCore::CSSStyleSelector::canShareStyleWithElement):
65         (WebCore::parentStylePreventsSharing):
66         * css/SelectorChecker.cpp:
67         (WebCore::SelectorChecker::checkSelector):
68         * dom/Element.cpp:
69         (WebCore::Element::recalcStyle):
70         (WebCore::checkForSiblingStyleChanges):
71         * rendering/style/RenderStyle.cpp:
72         (WebCore::RenderStyle::RenderStyle):
73         * rendering/style/RenderStyle.h:
74         (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
75         (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
76
77 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
78
79         Make the EFL port use the correct rendering file.
80         https://bugs.webkit.org/show_bug.cgi?id=66323
81
82         Reviewed by Martin Robinson.
83
84         When compiling with Pango support, the EFL port should use
85         FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
86
87         No new functionality so no new tests.
88
89         * CMakeListsEfl.txt:
90
91 2011-09-09  Chris Rogers  <crogers@google.com>
92
93         AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
94         https://bugs.webkit.org/show_bug.cgi?id=67749
95
96         Reviewed by Kenneth Russell.
97
98         Test: webaudio/audiobuffersource-channels.html
99
100         * WebCore.gypi:
101         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
102         (WebCore::JSAudioBufferSourceNode::setBuffer):
103         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
104         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
105         * webaudio/AudioBufferSourceNode.cpp:
106         (WebCore::AudioBufferSourceNode::setBuffer):
107         * webaudio/AudioBufferSourceNode.h:
108         * webaudio/AudioBufferSourceNode.idl:
109
110 2011-09-09  Dan Bernstein  <mitz@apple.com>
111
112         RenderBlock::addOverhangingFloats() takes superfluous parameters
113         https://bugs.webkit.org/show_bug.cgi?id=67863
114
115         Reviewed by Dave Hyatt.
116
117         No new tests, because behavior is unchanged.
118
119         * rendering/RenderBlock.cpp:
120         (WebCore::RenderBlock::layoutBlock):
121         (WebCore::RenderBlock::layoutBlockChild):
122         (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
123         since they were always the inverse of the logical{Left, Top}() of the child parameter.
124         * rendering/RenderBlock.h:
125
126 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
127
128         Add replacement functions for gdk ones.
129         https://bugs.webkit.org/show_bug.cgi?id=66323
130
131         Reviewed by Martin Robinson.
132
133         This will allow the EFL port to don't depend on gdk anymore.
134
135         No new functionality so no new tests.
136
137         * CMakeListsEfl.txt:
138         * platform/graphics/cairo/CairoUtilities.cpp:
139         (WebCore::appendRegionToCairoContext):
140         * platform/graphics/cairo/CairoUtilities.h:
141         * platform/graphics/pango/FontPango.cpp:
142         (WebCore::drawGlyphsShadow):
143         (WebCore::Font::drawComplexText):
144         * platform/graphics/pango/PangoUtilities.cpp: Added.
145         (WebCore::getLineClipRegionFromLayoutIter):
146         (WebCore::getClipRegionFromPangoLayoutLine):
147         * platform/graphics/pango/PangoUtilities.h: Added.
148
149 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
150
151         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
152         https://bugs.webkit.org/show_bug.cgi?id=67420
153
154         Reviewed by Geoffrey Garen.
155
156         No new tests.
157
158         Completed the fifth level of the refactoring to add finishCreation() 
159         methods to all classes within the JSCell hierarchy with non-trivial 
160         constructor bodies.
161
162         This primarily consists of pushing the calls to finishCreation() down 
163         into the constructors of the subclasses of the second level of the hierarchy 
164         as well as pulling the finishCreation() calls out into the class's corresponding
165         create() method if it has one.  Doing both simultaneously allows us to 
166         maintain the invariant that the finishCreation() method chain is called exactly 
167         once during the creation of an object, since calling it any other number of 
168         times (0, 2, or more) will cause an assertion failure.
169
170         * WebCore.exp.in:
171         * bindings/js/JSDOMBinding.h:
172         (WebCore::DOMConstructorObject::DOMConstructorObject):
173         * bindings/js/JSDOMGlobalObject.cpp:
174         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
175         (WebCore::JSDOMGlobalObject::finishCreation):
176         * bindings/js/JSDOMGlobalObject.h:
177         * bindings/js/JSDOMWindowShell.cpp:
178         * bindings/js/JSDOMWindowShell.h:
179         (WebCore::JSDOMWindowShell::create):
180         * bindings/js/JSDOMWrapper.h:
181         (WebCore::JSDOMWrapper::JSDOMWrapper):
182         * bindings/scripts/CodeGeneratorJS.pm:
183         (GenerateImplementation):
184         * bindings/scripts/test/JS/JSTestInterface.cpp:
185         (WebCore::JSTestInterface::JSTestInterface):
186         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
187         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
188         * bindings/scripts/test/JS/JSTestObj.cpp:
189         (WebCore::JSTestObj::JSTestObj):
190         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
191         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
192         * bridge/c/CRuntimeObject.cpp:
193         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
194         (JSC::Bindings::CRuntimeObject::finishCreation):
195         * bridge/c/CRuntimeObject.h:
196         * bridge/jni/jsc/JavaRuntimeObject.cpp:
197         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
198         (JSC::Bindings::JavaRuntimeObject::finishCreation):
199         * bridge/jni/jsc/JavaRuntimeObject.h:
200         * bridge/objc/ObjCRuntimeObject.h:
201         * bridge/objc/ObjCRuntimeObject.mm:
202         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
203         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
204         * bridge/objc/objc_runtime.h:
205         (JSC::Bindings::ObjcFallbackObjectImp::create):
206         * bridge/objc/objc_runtime.mm:
207         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
208         * bridge/qt/qt_instance.cpp:
209         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
210         * bridge/qt/qt_pixmapruntime.cpp:
211         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
212         * bridge/qt/qt_runtime.cpp:
213         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
214         (JSC::Bindings::QtRuntimeMethod::finishCreation):
215         * bridge/qt/qt_runtime.h:
216         * bridge/runtime_array.cpp:
217         (JSC::RuntimeArray::RuntimeArray):
218         * bridge/runtime_array.h:
219         (JSC::RuntimeArray::create):
220         * bridge/runtime_method.cpp:
221         (JSC::RuntimeMethod::RuntimeMethod):
222         (JSC::RuntimeMethod::finishCreation):
223         * bridge/runtime_method.h:
224         * bridge/runtime_object.cpp:
225         (JSC::Bindings::RuntimeObject::RuntimeObject):
226         * bridge/runtime_object.h:
227         (JSC::Bindings::RuntimeObject::create):
228
229 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
230
231         Rename FontGtk.cpp to FontPango.cpp
232         https://bugs.webkit.org/show_bug.cgi?id=66323
233
234         Reviewed by Martin Robinson.
235
236         This file will be used by the EFL port too, and since it's not GTK
237         specific anymore, rename it to something better.
238
239         No new functionality so no new tests.
240
241         * GNUmakefile.list.am:
242         * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
243
244 2011-09-09  Adam Klein  <adamk@chromium.org>
245
246         Initialize ExceptionCode in Element::removeAttribute
247         https://bugs.webkit.org/show_bug.cgi?id=67820
248
249         Reviewed by Darin Adler.
250
251         Silences valgrind warning reported in http://crbug.com/76490.
252
253         No new tests since this would only very occasionally be flaky,
254         and in the codepath in the valgrind report, the ec is ignored anyway.
255
256         * dom/Element.cpp:
257         (WebCore::Element::removeAttribute): Initialize ec to 0.
258
259 2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
260
261         [Qt] Remove common.pri
262         https://bugs.webkit.org/show_bug.cgi?id=67814
263
264         Reviewed by Andreas Kling.
265
266         No new tests, no change in functionality.
267
268         * CodeGenerators.pri:
269         * WebCore.pri:
270
271 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
272
273         Assert being hit in AccessibilityRenderObject::addChildren()
274         https://bugs.webkit.org/show_bug.cgi?id=61805
275
276         Reviewed by Chris Fleizach.
277
278         Fix nextSibling and previousSibling to handle adjacent continuations
279         properly, otherwise nodes end up appearing in the accessibility
280         tree twice (or a debug assertion could be raised).
281
282         Test: accessibility/adjacent-continuations-cause-assertion-failure.html
283
284         * accessibility/AccessibilityRenderObject.cpp:
285         (WebCore::AccessibilityRenderObject::previousSibling):
286         (WebCore::AccessibilityRenderObject::nextSibling):
287
288 2011-09-08  Kentaro Hara  <haraken@google.com>
289
290         Implement a WebKitAnimationEvent constructor.
291         https://bugs.webkit.org/show_bug.cgi?id=67825
292
293         Reviewed by Sam Weinig.
294
295         There is no spec for the WebKitAnimationEvent constructor
296         since it is WebKit-specific. However, based on the current
297         IDL of initWebKitAnimationEvent(), the constructor IDL
298         should be as follows.
299
300         [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
301         interface WebKitAnimationEvent : Event {
302             ...;
303         }
304
305         dictionary WebKitAnimationEventInit : EventInit {
306             DOMString animationName;
307             double elapsedTime;
308         }
309
310         Test: fast/events/constructors/webkit-animation-event-constructor.html
311
312         * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
313         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
314         * dom/WebKitAnimationEvent.cpp:
315         (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
316         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
317         * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
318         (WebCore::WebKitAnimationEvent::create):
319         * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
320
321 2011-09-08  Abhishek Arya  <inferno@chromium.org>
322
323         :before content rendering issues with list markers and run-ins.
324         https://bugs.webkit.org/show_bug.cgi?id=67735
325
326         1) Remove the isAnonymous checks for run-in detection since the
327         run-in can belong to a node.
328         2) When the parent has block children, then the list marker will
329         be enclosed in an anonymous block. In that case, for going to the
330         next list marker, we need to traverse one level up. We don't need
331         this check when searching for generated run-in (loop 2), since we
332         know parent will have inline children, so the list marker wont be
333         enclosed in an anonymous block.
334
335         Reviewed by Dave Hyatt.
336
337         Tests: fast/lists/list-marker-before-content-table.html
338                fast/runin/runin-generated-before-content.html
339
340         * rendering/RenderObjectChildList.cpp:
341         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
342
343 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
344
345         Web Inspector: introduce JavaScriptSourceFrame class.
346         https://bugs.webkit.org/show_bug.cgi?id=67838
347
348         SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
349
350         Reviewed by Pavel Feldman.
351
352         * WebCore.gypi:
353         * WebCore.vcproj/WebCore.vcproj:
354         * inspector/front-end/JavaScriptSourceFrame.js: Added.
355         (WebInspector.JavaScriptSourceFrame):
356         (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
357         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
358         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
359         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
360         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
361         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
362         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
363         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
364         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
365         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
366         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
367         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
368         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
369         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
370         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
371         * inspector/front-end/ScriptsPanel.js:
372         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
373         * inspector/front-end/WebKit.qrc:
374         * inspector/front-end/inspector.html:
375
376 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
377
378         Unreviewed, rolling out r94845.
379         http://trac.webkit.org/changeset/94845
380         https://bugs.webkit.org/show_bug.cgi?id=67839
381
382         This patch kicked Qt-SL bots, but we don't need this
383         modification. (Requested by ossy_ on #webkit).
384
385         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
386         * platform/mac/WebVideoFullscreenController.mm:
387         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
388
389 2011-09-09  Csaba Osztrogonác  <ossy@webkit.org>
390
391         [Qt][Mac]REGRESSION(r94774): Build is broken
392         https://bugs.webkit.org/show_bug.cgi?id=67799
393
394         It seems these files didn't rebuilt because of a
395         dependency bug. Touch them to trigger a rebuild.
396
397         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
398         * platform/mac/WebVideoFullscreenController.mm:
399         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
400
401 2011-09-09  Alexander Pavlov  <apavlov@chromium.org>
402
403         Unreviewed, Chromium valgrind build fix.
404
405         Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
406         https://bugs.webkit.org/show_bug.cgi?id=67837
407
408         * inspector/InspectorStyleSheet.cpp:
409         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
410
411 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
412
413         Unreviewed, rolling out r94536.
414         http://trac.webkit.org/changeset/94536
415         https://bugs.webkit.org/show_bug.cgi?id=67836
416
417         breaks absoluteLocation() of RelatedMouseEvent (Requested by
418         jknotten on #webkit).
419
420         * dom/MouseRelatedEvent.cpp:
421         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
422
423 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
424
425         Web Inspector: live edit both for JS and CSS is not discoverable.
426         https://bugs.webkit.org/show_bug.cgi?id=65962
427
428         Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
429         Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
430
431         Reviewed by Yury Semikhatsky.
432
433         * inspector/front-end/Images/statusbarButtonGlyphs.png:
434         * inspector/front-end/ResourceView.js:
435         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
436         * inspector/front-end/ScriptsPanel.js:
437         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
438         (WebInspector.ScriptsPanel.prototype.set visibleView):
439         * inspector/front-end/SourceFrame.js:
440         (WebInspector.SourceFrame):
441         (WebInspector.SourceFrame.prototype.get statusBarItems):
442         (WebInspector.SourceFrame.prototype._initializeTextViewer):
443         (WebInspector.SourceFrame.prototype._editButtonClicked):
444         (WebInspector.SourceFrame.prototype.canEditSource):
445         (WebInspector.SourceFrame.prototype.startEditing):
446         (WebInspector.SourceFrame.prototype.commitEditing):
447         (WebInspector.SourceFrame.prototype._setReadOnly):
448         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
449         * inspector/front-end/TextViewer.js:
450         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
451         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
452         * inspector/front-end/inspector.css:
453         (button.edit-source-status-bar-item .glyph):
454         (button.edit-source-status-bar-item.toggled-on .glyph):
455
456 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
457
458         Crashes in WebCore::AppendNodeCommand::create().
459         https://bugs.webkit.org/show_bug.cgi?id=67767
460
461         Reviewed by Darin Adler.
462
463         In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
464         The current code assumes lastNode is an Element node. This patch checks it.
465
466         Test: editing/execCommand/ident-crashes-topnode-is-text.html
467
468         * editing/CompositeEditCommand.cpp:
469         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
470
471 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
472
473         Crashes in WebCore::ApplyStyleCommand.doApply()
474         https://bugs.webkit.org/show_bug.cgi?id=67765
475
476         Reviewed by Ryosuke Niwa.
477
478         WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
479
480         Test: editing/style/remove-format-without-enclosing-block.html
481
482         * editing/ApplyStyleCommand.cpp:
483         (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
484
485 2011-09-09  James Simonsen  <simonjam@chromium.org>
486
487         [Chromium] Fix leak of Skia stream with custom CSS fonts
488         https://bugs.webkit.org/show_bug.cgi?id=67815
489
490         Reviewed by Adam Barth.
491
492         Test: fast/css/font-face-opentype.html under valgrind
493
494         * platform/graphics/mac/FontCustomPlatformData.cpp:
495         (WebCore::createFontCustomPlatformData):
496         * platform/graphics/skia/FontCustomPlatformData.cpp:
497         (WebCore::createFontCustomPlatformData):
498
499 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
500
501         Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
502         https://bugs.webkit.org/show_bug.cgi?id=67742
503
504         Reviewed by Darin Adler.
505
506         Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
507         InputType::valueChanged into InputType::setValue. Also introduced
508         InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
509
510         * html/BaseButtonInputType.cpp:
511         (WebCore::BaseButtonInputType::setValue):
512         * html/BaseButtonInputType.h:
513         * html/BaseCheckableInputType.cpp:
514         (WebCore::BaseCheckableInputType::setValue):
515         * html/BaseCheckableInputType.h:
516         * html/ColorInputType.cpp:
517         * html/ColorInputType.h:
518         * html/FileInputType.cpp:
519         (WebCore::FileInputType::setValue):
520         * html/FileInputType.h:
521         * html/HTMLInputElement.cpp:
522         (WebCore::HTMLInputElement::setValue):
523         * html/HTMLInputElement.h:
524         (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
525         * html/HiddenInputType.cpp:
526         (WebCore::HiddenInputType::setValue):
527         * html/HiddenInputType.h:
528         * html/InputType.cpp:
529         (WebCore::InputType::setValue):
530         (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
531         * html/InputType.h:
532         * html/RangeInputType.cpp:
533         (WebCore::RangeInputType::setValue):
534         * html/RangeInputType.h:
535         * html/TextFieldInputType.cpp:
536         (WebCore::TextFieldInputType::setValue):
537         (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
538         * html/TextFieldInputType.h:
539
540 2011-09-08  Annie Sullivan  <sullivan@chromium.org>
541
542         Crashes in WebCore::InsertNodeBeforeCommand constructor.
543         https://bugs.webkit.org/show_bug.cgi?id=67763
544
545         Reviewed by Ryosuke Niwa.
546
547         Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
548         positions which are before or after a given node cannot return that node as the editable root.
549
550         Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
551
552         * editing/htmlediting.cpp:
553         (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
554
555 2011-09-08  James Weatherall  <wez@chromium.org>
556
557         Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document.  This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down.
558         https://bugs.webkit.org/show_bug.cgi?id=66181
559
560         Reviewed by Anders Carlsson.
561
562         No new tests - no functional change.
563
564         * html/HTMLPlugInElement.cpp:
565         (WebCore::HTMLPlugInElement::removedFromDocument):
566         * html/HTMLPlugInElement.h:
567
568 2011-09-08  Daniel Bates  <dbates@webkit.org>
569
570         XSS filter bypass via non-standard URL encoding
571         https://bugs.webkit.org/show_bug.cgi?id=66588
572
573         Reviewed by Adam Barth.
574
575         Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
576                http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
577                http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
578                http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
579                http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
580                http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
581                http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
582                http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
583
584         Implement support for decoding non-standard 16-bit Unicode escape sequences of
585         the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
586
587         See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
588
589         * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
590         * WebCore.gypi: Ditto.
591         * WebCore.pro: Ditto.
592         * WebCore.vcproj/WebCore.vcproj: Ditto.
593         * WebCore.xcodeproj/project.pbxproj: Ditto.
594         * html/parser/XSSAuditor.cpp:
595         (WebCore::decode16BitUnicodeEscapeSequences): Added.
596         (WebCore::decodeStandardURLEscapeSequences): Added.
597         (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
598         (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
599         is the empty string. This can happen when opening a new browser window or calling
600         window.open("").
601         * platform/KURL.cpp:
602         (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
603         This function just calls decodeEscapeSequences<URLEscapeSequence>().
604         * platform/text/DecodeEscapeSequences.h: Added.
605         (WebCore::Unicode16BitEscapeSequence::findInString):
606         (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
607         (WebCore::Unicode16BitEscapeSequence::decodeRun):
608         (WebCore::URLEscapeSequence::findInString):
609         (WebCore::URLEscapeSequence::matchStringPrefix):
610         (WebCore::URLEscapeSequence::decodeRun):
611         (WebCore::decodeEscapeSequences):
612
613 2011-09-08  Adam Barth  <abarth@webkit.org>
614
615         DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
616         https://bugs.webkit.org/show_bug.cgi?id=67812
617
618         Reviewed by Eric Seidel.
619
620         The one caller of this function does this work already.
621
622         * loader/DocumentWriter.cpp:
623         (WebCore::DocumentWriter::deprecatedFrameEncoding):
624
625 2011-09-08  Adam Klein  <adamk@chromium.org>
626
627         Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
628         https://bugs.webkit.org/show_bug.cgi?id=67810
629
630         Reviewed by Tony Chang.
631
632         Reported as a valgrind failure in http://crbug.com/84777.
633
634         No possible change in behavior, so no tests. The unitialized read
635         could never have an impact:
636
637            if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
638
639         Since m_sortedTextBoxes.size() will be zero here if
640         m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
641         so no possible value of m_sortedTextBoxesPosition could be < 0.
642
643         * editing/TextIterator.cpp:
644         (WebCore::TextIterator::TextIterator):
645
646 2011-09-08  Tony Chang  <tony@chromium.org>
647
648         Cleanup of switch statements with default cases
649         https://bugs.webkit.org/show_bug.cgi?id=67808
650
651         Reviewed by Adam Barth.
652
653         No new tests, just a small refactoring.
654
655         * page/WebKitAnimation.cpp:
656         (WebCore::WebKitAnimation::fillMode):
657         * platform/audio/Distance.cpp:
658         (WebCore::DistanceEffect::gain):
659
660 2011-09-08  Eric Seidel  <eric@webkit.org>
661
662         [BiDi] Add support for the BDI element
663         https://bugs.webkit.org/show_bug.cgi?id=50913
664
665         Reviewed by Ryosuke Niwa.
666
667         This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
668
669         Test: css3/bdi-element.html
670
671         * css/html.css:
672         (bdi):
673
674 2011-09-08  David Levin  <levin@chromium.org>
675
676         [chromium] KURL::copy doesn't produce something usable on another thread.
677         https://bugs.webkit.org/show_bug.cgi?id=67809
678
679         Reviewed by Adam Barth.
680
681         No new functionality exposed so no new test. This was caught by testing code: the thread
682         sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
683
684         * platform/KURLGoogle.cpp:
685         (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
686         not be used on another thread.
687
688 2011-09-08  Alexey Proskuryakov  <ap@apple.com>
689
690         REGRESSION (r66874): Missing RefPtr in ScriptController
691         https://bugs.webkit.org/show_bug.cgi?id=67748
692
693         Reviewed by Adam Barth.
694
695         * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
696
697 2011-09-08  Adam Barth  <abarth@webkit.org>
698
699         Second attempt to fix Chromium build.
700
701         * dom/Document.h:
702
703 2011-09-08  Oliver Hunt  <oliver@apple.com>
704
705         Use bump allocator for initial property storage
706         https://bugs.webkit.org/show_bug.cgi?id=67494
707
708         Reviewed by Geoffrey Garen.
709
710         Add a forwarding header.
711
712         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
713
714 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
715
716         Unreviewed, rolling out r94809.
717         http://trac.webkit.org/changeset/94809
718         https://bugs.webkit.org/show_bug.cgi?id=67718
719
720         commit _still_ premature, despite CQ eagerness
721
722         * html/HTMLAttributeNames.in:
723         * html/HTMLStyleElement.cpp:
724         * html/HTMLStyleElement.h:
725         * html/HTMLStyleElement.idl:
726
727 2011-09-08  Sam Weinig  <sam@webkit.org>
728
729         Remove the Completion object from JSC, I have never liked it
730         https://bugs.webkit.org/show_bug.cgi?id=67755
731
732         Reviewed by Gavin Barraclough.
733
734         * bindings/js/JSDOMBinding.cpp:
735         (WebCore::reportException):
736         * bindings/js/JSEventListener.cpp:
737         (WebCore::JSEventListener::handleEvent):
738         * bindings/js/JSInjectedScriptManager.cpp:
739         (WebCore::InjectedScriptManager::createInjectedScript):
740         * bindings/js/JSMainThreadExecState.h:
741         (WebCore::JSMainThreadExecState::evaluate):
742         * bindings/js/ScriptController.cpp:
743         (WebCore::ScriptController::evaluateInWorld):
744         * bindings/js/WorkerScriptController.cpp:
745         (WebCore::WorkerScriptController::evaluate):
746         * bindings/objc/WebScriptObject.mm:
747         (-[WebScriptObject evaluateWebScript:]):
748         * bridge/NP_jsobject.cpp:
749         (_NPN_Evaluate):
750         * bridge/jni/jni_jsobject.mm:
751         (JavaJSObject::eval):
752
753 2011-09-08  Adam Barth  <abarth@webkit.org>
754
755         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
756         https://bugs.webkit.org/show_bug.cgi?id=67807
757
758         Reviewed by Eric Seidel.
759
760         This function is super nutty.  We don't want any more folks to call it
761         thinking that it does something sane.
762
763         * loader/DocumentWriter.cpp:
764         (WebCore::DocumentWriter::deprecatedFrameEncoding):
765         * loader/DocumentWriter.h:
766
767 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
768
769         <style scoped>: Add 'scoped' attribute
770         https://bugs.webkit.org/show_bug.cgi?id=67718
771
772         Add 'scoped' attribute to IDL and attribute list,
773         implement and test setting/resetting of the attribute.
774
775         Reviewed by Dimitri Glazkov.
776
777         Test: fast/css/style-scoped/basic-attribute.html
778
779         * html/HTMLAttributeNames.in:
780         * html/HTMLStyleElement.cpp:
781         (WebCore::HTMLStyleElement::scoped):
782         (WebCore::HTMLStyleElement::setScoped):
783         (WebCore::HTMLStyleElement::scopingElement):
784         * html/HTMLStyleElement.h:
785         * html/HTMLStyleElement.idl:
786
787 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
788
789         Unreviewed, rolling out r94781.
790         http://trac.webkit.org/changeset/94781
791         https://bugs.webkit.org/show_bug.cgi?id=67806
792
793         Broke Objective-C binding on Mac (Requested by rniwa on
794         #webkit).
795
796         * dom/Element.idl:
797         * dom/Node.cpp:
798         (WebCore::Node::contains):
799         * dom/Node.idl:
800         * editing/DeleteSelectionCommand.cpp:
801         (WebCore::DeleteSelectionCommand::mergeParagraphs):
802
803 2011-09-08  Eric Seidel  <eric@webkit.org>
804
805         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
806         https://bugs.webkit.org/show_bug.cgi?id=67803
807
808         Reviewed by Adam Barth.
809
810         Smells like dead code.
811
812         * loader/DocumentWriter.cpp:
813         * loader/DocumentWriter.h:
814
815 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
816
817         Crashes in WebCore::ReplaceSelectionCommand::doApply
818         https://bugs.webkit.org/show_bug.cgi?id=67762
819
820         Reviewed by Ryosuke Niwa.
821
822         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
823
824         Tests: editing/inserting/insert-without-enclosing-block.html
825
826         * editing/ReplaceSelectionCommand.cpp:
827         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
828
829 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
830
831         Unreviewed, rolling out r94784.
832         http://trac.webkit.org/changeset/94784
833         https://bugs.webkit.org/show_bug.cgi?id=67796
834
835         Commit was premature (Requested by rolandsteiner on #webkit).
836
837         * html/HTMLAttributeNames.in:
838         * html/HTMLStyleElement.cpp:
839         * html/HTMLStyleElement.h:
840         * html/HTMLStyleElement.idl:
841
842 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
843
844         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
845         https://bugs.webkit.org/show_bug.cgi?id=66472
846
847         This patch contains plumbing from Internals to WebViewImpl that can be removed
848         at a later time when the zoom animator code is complete.
849
850         Reviewed by James Robinson.
851
852         Test: platform/chromium/compositing/zoom-animator-scale-test.html
853
854         * page/Settings.cpp:
855         (WebCore::Settings::Settings):
856         * page/Settings.h:
857         (WebCore::Settings::setZoomAnimatorScale):
858         (WebCore::Settings::zoomAnimatorScale):
859         * platform/graphics/chromium/LayerRendererChromium.cpp:
860         (WebCore::LayerRendererChromium::LayerRendererChromium):
861         (WebCore::LayerRendererChromium::drawLayersInternal):
862         * platform/graphics/chromium/LayerRendererChromium.h:
863         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
864         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
865         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
866         (WebCore::CCLayerTreeHost::commitTo):
867         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
868         (WebCore::CCLayerTreeHost::updateLayers):
869         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
870         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
871         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
872         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
873         * testing/Internals.cpp:
874         (WebCore::Internals::setZoomAnimatorScale):
875         * testing/Internals.h:
876         * testing/Internals.idl:
877
878 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
879
880         HTMLMediaElement is missing initialTime attribute
881         https://bugs.webkit.org/show_bug.cgi?id=67791
882
883         Reviewed by Darin Adler.
884
885         Test: media/media-initialTime.html
886
887         * html/HTMLMediaElement.cpp:
888         (WebCore::HTMLMediaElement::initialTime):
889         * html/HTMLMediaElement.h:
890         * html/HTMLMediaElement.idl:
891         * platform/graphics/MediaPlayer.cpp:
892         (WebCore::MediaPlayer::initialTime):
893         * platform/graphics/MediaPlayer.h:
894         * platform/graphics/MediaPlayerPrivate.h:
895         (WebCore::MediaPlayerPrivateInterface::initialTime):
896
897 2011-09-03  Robert Hogan  <robert@webkit.org>
898
899         Elements with position:absolute don't move to correct position after images load
900         https://bugs.webkit.org/show_bug.cgi?id=54611
901
902         Reviewed by Simon Fraser.
903
904         Test: fast/block/positioning/absolute-layout-after-image-load.html
905
906         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
907         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
908         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
909         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
910
911         Note: Although the issue is encountered only on first load without a fragment identifier, it 
912         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
913         because scrolling to the fragment always happens before the image has loaded, rendering the page 
914         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
915         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
916         re-rendered.
917
918         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
919               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
920               in bug 67759.
921
922         * rendering/RenderBlock.cpp:
923         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
924                                                          deciding whether to mark children for layout
925
926 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
927
928         <style scoped>: Add 'scoped' attribute
929         https://bugs.webkit.org/show_bug.cgi?id=67718
930
931         Add 'scoped' attribute to IDL and attribute list,
932         implement and test setting/resetting of the attribute.
933
934         Reviewed by Dimitri Glazkov.
935
936         Test: fast/css/style-scoped/basic-attribute.html
937
938         * html/HTMLAttributeNames.in:
939         * html/HTMLStyleElement.cpp:
940         (WebCore::HTMLStyleElement::scoped):
941         (WebCore::HTMLStyleElement::setScoped):
942         (WebCore::HTMLStyleElement::scopingElement):
943         * html/HTMLStyleElement.h:
944         * html/HTMLStyleElement.idl:
945
946 2011-09-08  Erik Arvidsson  <arv@chromium.org>
947
948         Move Element.contains to Node
949         https://bugs.webkit.org/show_bug.cgi?id=67651
950
951         Reviewed by Darin Adler.
952
953         This moves the contains method from Element to Node as in the DOM4 working draft: 
954         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
955
956         This also special cases Document contains to make it O(1) instead of O(depth).
957
958         Tests: fast/dom/Node/contains-method.html
959                perf/document-contains.html
960
961         * dom/Element.idl:
962         * dom/Node.cpp:
963         (WebCore::Node::contains): Added document special case.
964         * dom/Node.idl:
965         * editing/DeleteSelectionCommand.cpp:
966         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
967
968 2011-09-08  Chris Rogers  <crogers@google.com>
969
970         Check AudioContext createChannelMerger() for thread safety
971         https://bugs.webkit.org/show_bug.cgi?id=67247
972
973         Reviewed by Kenneth Russell.
974
975         Test: webaudio/audiochannelmerger-stereo.html
976
977         * webaudio/AudioChannelMerger.cpp:
978         (WebCore::AudioChannelMerger::process):
979         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
980         * webaudio/AudioChannelMerger.h:
981
982 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
983
984         Refactor hyphen measurement
985         https://bugs.webkit.org/show_bug.cgi?id=67728
986
987         Reviewed by Darin Adler.
988
989         No new tests, purely refactoring.
990
991         * rendering/RenderBlockLineLayout.cpp:
992         (WebCore::measureHyphenWidth): Added.
993         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
994         (WebCore::tryHyphenating): Ditto.
995         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
996
997 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
998
999         Remove LayoutStateDisabler instances from RenderLayer
1000         https://bugs.webkit.org/show_bug.cgi?id=66896
1001
1002         Reviewed by Simon Fraser.
1003
1004         As part of r93614, scrollTo does not call updateLayerPositions anymore.
1005         This means that we don't need to disable LayoutState from the scrolling code
1006         in RenderLayer.
1007
1008         This change is covered by the existing tests.
1009
1010         * rendering/RenderLayer.cpp:
1011         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
1012         that was not accurate anymore. Also explained what is wrong with
1013         LayoutState vs RenderLayer now. Note that the ASSERT is still
1014         valid and will not trigger as the remaining calls to updateLayerPositions
1015         are done *outside* layout() where LayoutState is not set (thus disabled).
1016
1017         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
1018         2 LayoutStateDisabler surrounding scrollToOffset.
1019
1020 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
1021
1022         Factor out the code to get the first non-null RenderTableSection in RenderTable
1023         https://bugs.webkit.org/show_bug.cgi?id=66972
1024
1025         Reviewed by Darin Adler.
1026
1027         Refactoring only, covered by existing tests.
1028
1029         * accessibility/AccessibilityTable.cpp:
1030         (WebCore::AccessibilityTable::addChildren):
1031         (WebCore::AccessibilityTable::cellForColumnAndRow):
1032         * accessibility/AccessibilityTableCell.cpp:
1033         (WebCore::AccessibilityTableCell::rowIndexRange):
1034         Updated those for the signature change in sectionBelow. Also added
1035         a FIXME where topSection should be used instead of iterating
1036         over the section (and likely missing some corner cases).
1037
1038         * rendering/FixedTableLayout.cpp:
1039         (WebCore::FixedTableLayout::calcWidthArray):
1040         * rendering/RenderTable.cpp:
1041         (WebCore::RenderTable::calcBorderStart):
1042         (WebCore::RenderTable::calcBorderEnd):
1043         (WebCore::RenderTable::outerBorderBefore):
1044         (WebCore::RenderTable::sectionAbove):
1045         (WebCore::RenderTable::sectionBelow):
1046         (WebCore::RenderTable::firstLineBoxBaseline):
1047         Updated all those functions to use the newly added functions. Also changed
1048         the variable names to match the functions.
1049
1050         (WebCore::RenderTable::layout):
1051         (WebCore::RenderTable::topNonEmptySection): Newly added function
1052         that returns the top non null section of the table that has at least a
1053         row.
1054
1055         (WebCore::RenderTable::cellAbove):
1056         (WebCore::RenderTable::cellBelow):
1057         Update the signature of those 2 functions to take an enum as it makes the
1058         rest of the code more readable.
1059
1060         * rendering/RenderTable.h:
1061         (WebCore::RenderTable::topSection): Newly added function to return
1062         the top non null section in the table.
1063
1064 2011-04-19  Eric Seidel  <eric@webkit.org>
1065
1066         Reviewed by Ryosuke Niwa.
1067
1068         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
1069         https://bugs.webkit.org/show_bug.cgi?id=50912
1070
1071         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
1072         Parsing support was added in a previous patch, this wires up the RenderStyle values
1073         to code changes in the BidiResolver.
1074
1075         The effect of this patch is that it makes it possible to "isolate" runs of text
1076         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
1077         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
1078         do not have intrinsic directionality and are affected by whatever characters come before/after.
1079         If you have usernames which include RTL text, if you inject those usernames in your page
1080         you might end up with nearby characters moving!
1081         (like 'RTL USERNAME - my awesome site' as a title, could end up as
1082         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
1083         This patch makes it possible to wrap sections of text in isolated spans, so that
1084         they correctly order all their RTL/LTR contents, but also correctly participate in the
1085         larger RTL/LTR ordering without affecting nearby characters.
1086
1087         Because much of this code is old and rarely touched, I've included extra background
1088         information in hopes of expanding my set of potential reviewers:
1089
1090         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
1091         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
1092
1093         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
1094         (which in our case comes from the rendering tree) and a specified width.
1095         First:  Text is measured and wrapped into lines.
1096         Second: The UBA is run over the lines of text.
1097         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
1098
1099         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
1100         and then adds another step after running the UBA, where we run the UBA recursively on any
1101         previously identified "isolated" content.
1102
1103         The result of the UBA is an ordered list of "runs" of text with the RTL runs
1104         correctly RTL and the LTR runs LTR.
1105
1106         The UBA does three things:
1107         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
1108         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
1109         3.  Re-orders those runs.
1110
1111         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
1112
1113         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
1114         walks along its InlineIterators, looking at each character and running the
1115         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
1116         a block, using a (poorly named) bidiNext function which returns the next inline object.
1117         Each inline object (or text character there-in) has a corresponding meaning in the UBA
1118         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
1119         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
1120         characters it encounters, based on surrounding characters.
1121
1122         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
1123         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
1124         notifying InlineBidiResolver that it is entering or exiting an "isolated"
1125         span, at which point it will either start or stop ignoring the stream of characters
1126         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
1127         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
1128         as it normally would, it instead creates one "fake" run for the entire
1129         isolated span.  These fake runs participate in the normal UBA run ordering process,
1130         but after the main UBA, a second pass is made where we examine
1131         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
1132         run we previously inserted, with the resulting list of runs from that inner UBA run.
1133         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
1134         Thus all the characters end up grouped in a single run, but their directionality (as a group)
1135         is correctly affected by any surrounding strong characters.
1136
1137         If you understood that last paragraph, than the rest of the change is just plumbing.
1138
1139         I added a huge number of FIXMEs to this code, because this code has a variety of
1140         design choices (or lack there of) which make some of this very difficult.
1141
1142         For example the bidiNext iterator function has two sets of mutually exclusive
1143         parameters and can be used optionally with or without an observer.  Prior to this
1144         change there was only ever one object which cared about observing a walk over inlines
1145         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
1146         to support a new Observer type.  The correct fix would be to rip bidiNext into
1147         multiple functions and rip need for observation out of InlineBidiResolver.
1148         Unfortunately I've tried both in separate bugs and failed.  This code is very very
1149         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
1150
1151         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
1152         it's a good compromise between fixing all of the design gotcha's of our bidi
1153         system and doing the minimum amount to add this killer CSS feature.
1154
1155         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
1156
1157         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
1158
1159         * platform/text/BidiResolver.h:
1160         (WebCore::BidiCharacterRun::setNext):
1161          - Needed by the new replaceRunWithRuns function.
1162         (WebCore::BidiResolver::BidiResolver):
1163         (WebCore::BidiResolver::~BidiResolver):
1164         (WebCore::BidiResolver::enterIsolate):
1165         (WebCore::BidiResolver::exitIsolate):
1166         (WebCore::BidiResolver::inIsolate):
1167         (WebCore::BidiResolver::isolatedRuns):
1168          - Used to track isolated spans of text as they're encoutered.
1169            They're stuffed away here to be processed recursively
1170            after the main UBA has done its thang.
1171         (WebCore::::appendRun):
1172         (WebCore::::embed):
1173         (WebCore::::commitExplicitEmbedding):
1174         (WebCore::::createBidiRunsForLine):
1175         * platform/text/BidiRunList.h:
1176         (WebCore::::replaceRunWithRuns):
1177          - This effectively takes all the runs from one runlist and adds them to
1178            this one, replacing the fake run we inserted during a previous pass of the UBA.
1179          - This RunList now owns the runs, so we call clear() on the other RunList
1180            so that we don't end up double-freeing the runs.
1181         (WebCore::::clear):
1182          - This allows us to "take" runs from another run list and then clear it.
1183         * rendering/BidiRun.h:
1184         (WebCore::BidiRun::object):
1185         * rendering/InlineIterator.h:
1186         (WebCore::InlineIterator::object):
1187         (WebCore::InlineIterator::offset):
1188         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
1189         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
1190         (WebCore::addPlaceholderRunForIsolatedInline):
1191         (WebCore::isIsolatedInline):
1192         (WebCore::InlineBidiResolver::appendRun):
1193         * rendering/RenderBlockLineLayout.cpp:
1194         (WebCore::statusWithDirection):
1195         (WebCore::constructBidiRuns):
1196          - This is the heavy-lifting of this change.  This function
1197            runs the UBA recursively on all the previously identified isolated spans.
1198          - If we encounter more isolated spans in our run, we just add them to the
1199            main list an keep going.  Because the runs are linked lists and we have
1200            direct pointers to our placeholder objects, we don't care what order
1201            we process the placeholders in, so long as when we're done, they're all processed.
1202         (WebCore::RenderBlock::layoutInlineChildren):
1203
1204 2011-09-08  Kentaro Hara  <haraken@google.com>
1205
1206         Implement a ProgressEvent constructor for JSC
1207         https://bugs.webkit.org/show_bug.cgi?id=67537
1208
1209         Reviewed by Sam Weinig.
1210
1211         The spec for the ProgressEvent constructor is here:
1212         http://www.w3.org/TR/progress-events/#interface-progressevent
1213
1214         Test: fast/events/constructors/progress-event-constructor.html
1215
1216         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
1217         * bindings/js/JSDictionary.cpp:
1218         (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
1219         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
1220         * dom/ProgressEvent.cpp:
1221         (WebCore::ProgressEventInit::ProgressEventInit):
1222         (WebCore::ProgressEvent::ProgressEvent):
1223         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
1224         (WebCore::ProgressEvent::create):
1225         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
1226
1227 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
1228
1229         Make bindings tests quiet after r94701.
1230
1231         * bindings/scripts/test/JS/JSTestInterface.cpp:
1232         * bindings/scripts/test/JS/JSTestInterface.h:
1233         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1234         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1235         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1236         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
1237         * bindings/scripts/test/JS/JSTestObj.cpp:
1238         * bindings/scripts/test/JS/JSTestObj.h:
1239         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1240         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1241         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1242         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
1243
1244 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
1245
1246         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
1247         https://bugs.webkit.org/show_bug.cgi?id=67717
1248
1249         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
1250
1251         Reviewed by Yury Semikhatsky.
1252
1253         * inspector/front-end/DebuggerPresentationModel.js:
1254         (WebInspector.DebuggerPresentationModel):
1255         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
1256         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1257         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
1258         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1259         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
1260         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1261         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
1262         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
1263         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
1264         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1265         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
1266         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1267         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
1268         (WebInspector.PresentationCallFrame.prototype.sourceLine):
1269         * inspector/front-end/SourceFile.js:
1270
1271 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
1272
1273         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
1274         https://bugs.webkit.org/show_bug.cgi?id=67647
1275
1276         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
1277         2) Add RawSourceCode unit tests.
1278         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
1279
1280         Reviewed by Yury Semikhatsky.
1281
1282         Test: inspector/debugger/raw-source-code.html
1283
1284         * inspector/front-end/DebuggerPresentationModel.js:
1285         (WebInspector.DebuggerPresentationModel):
1286         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1287         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1288         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
1289         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1290         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
1291         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1292         * inspector/front-end/ScriptsPanel.js:
1293         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1294         * inspector/front-end/SourceFile.js:
1295         (WebInspector.RawSourceCode):
1296         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
1297         (WebInspector.RawSourceCode.prototype.setFormatted):
1298         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1299         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1300
1301 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
1302
1303         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
1304         https://bugs.webkit.org/show_bug.cgi?id=67711
1305
1306         Reviewed by Yury Semikhatsky.
1307
1308         * inspector/front-end/ConsoleView.js:
1309         (WebInspector.ConsoleView.prototype._consoleCleared):
1310         (WebInspector.ConsoleView.prototype._registerShortcuts):
1311         (WebInspector.ConsoleView.prototype._promptKeyDown):
1312
1313 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
1314
1315         [Qt] Build fails with strict compiler
1316         https://bugs.webkit.org/show_bug.cgi?id=67778
1317
1318         Reviewed by Csaba Osztrogonác.
1319
1320         No new tests needed.
1321
1322         * platform/graphics/TiledBackingStore.cpp:
1323         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
1324         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
1325
1326 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1327
1328         Unreviewed, rolling out r94695.
1329         http://trac.webkit.org/changeset/94695
1330         https://bugs.webkit.org/show_bug.cgi?id=67776
1331
1332         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
1333         Zoltan on #webkit).
1334
1335         * rendering/RenderBlock.cpp:
1336         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
1337         (WebCore::RenderBlock::layoutPositionedObjects):
1338
1339 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
1340
1341         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
1342
1343         * inspector/front-end/ApplicationCacheItemsView.js:
1344         * inspector/front-end/AuditResultView.js:
1345         * inspector/front-end/BinarySearch.js:
1346         * inspector/front-end/CSSStyleModel.js:
1347         * inspector/front-end/ConsoleMessage.js:
1348         * inspector/front-end/ConsoleModel.js:
1349         * inspector/front-end/ConsoleView.js:
1350         * inspector/front-end/CookieItemsView.js:
1351         * inspector/front-end/CookieParser.js:
1352         * inspector/front-end/DOMAgent.js:
1353         * inspector/front-end/DOMStorage.js:
1354         * inspector/front-end/DOMStorageItemsView.js:
1355         * inspector/front-end/DataGrid.js:
1356         * inspector/front-end/Database.js:
1357         * inspector/front-end/DatabaseQueryView.js:
1358         * inspector/front-end/DetailedHeapshotGridNodes.js:
1359         * inspector/front-end/DetailedHeapshotView.js:
1360         * inspector/front-end/ElementsTreeOutline.js:
1361         * inspector/front-end/EmptyView.js:
1362         * inspector/front-end/EventListenersSidebarPane.js:
1363         * inspector/front-end/ExtensionCommon.js:
1364         * inspector/front-end/GoToLineDialog.js:
1365         * inspector/front-end/HeapSnapshot.js:
1366         * inspector/front-end/HeapSnapshotProxy.js:
1367         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
1368         * inspector/front-end/ImageView.js:
1369         * inspector/front-end/InjectedFakeWorker.js:
1370         * inspector/front-end/InspectorFrontendHostStub.js:
1371         * inspector/front-end/MetricsSidebarPane.js:
1372         * inspector/front-end/NetworkManager.js:
1373         * inspector/front-end/NetworkPanel.js:
1374         * inspector/front-end/ObjectPropertiesSection.js:
1375         * inspector/front-end/PartialQuickSort.js:
1376         * inspector/front-end/ProfileView.js:
1377         * inspector/front-end/ProfilesPanel.js:
1378         * inspector/front-end/RemoteObject.js:
1379         * inspector/front-end/Resource.js:
1380         * inspector/front-end/ResourceCategory.js:
1381         * inspector/front-end/ResourceHTMLView.js:
1382         * inspector/front-end/ResourceHeadersView.js:
1383         * inspector/front-end/ResourceJSONView.js:
1384         * inspector/front-end/ResourceTimingView.js:
1385         * inspector/front-end/ResourceTreeModel.js:
1386         * inspector/front-end/ResourceView.js:
1387         * inspector/front-end/ResourcesPanel.js:
1388         * inspector/front-end/SearchController.js:
1389         * inspector/front-end/SettingsScreen.js:
1390         * inspector/front-end/ShortcutsScreen.js:
1391         * inspector/front-end/SourceCSSTokenizer.js:
1392         * inspector/front-end/SourceHTMLTokenizer.js:
1393         * inspector/front-end/SourceJavaScriptTokenizer.js:
1394         * inspector/front-end/StatusBarButton.js:
1395         * inspector/front-end/TextEditorModel.js:
1396         * inspector/front-end/TimelineGrid.js:
1397         * inspector/front-end/View.js:
1398         * inspector/front-end/heapProfiler.css:
1399         * inspector/front-end/inspector.css:
1400         * inspector/front-end/inspector.js:
1401         * inspector/front-end/inspectorSyntaxHighlight.css:
1402         * inspector/front-end/networkPanel.css:
1403         * inspector/front-end/treeoutline.js:
1404         * inspector/front-end/utilities.js:
1405
1406 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
1407
1408         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
1409         https://bugs.webkit.org/show_bug.cgi?id=67715
1410
1411         Reviewed by Yury Semikhatsky.
1412
1413         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
1414
1415         * inspector/front-end/TextViewer.js:
1416         (WebInspector.TextViewer.forwardWheelEvent):
1417         (WebInspector.TextViewer):
1418
1419 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1420
1421         Unreviewed, rolling out r94674 and r94689.
1422         http://trac.webkit.org/changeset/94674
1423         http://trac.webkit.org/changeset/94689
1424         https://bugs.webkit.org/show_bug.cgi?id=67754
1425
1426         Broke inspector/debugger/script-formatter.html (Requested by
1427         rniwa on #webkit).
1428
1429         * inspector/front-end/DebuggerPresentationModel.js:
1430         (WebInspector.DebuggerPresentationModel):
1431         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
1432         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
1433         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1434         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1435         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
1436         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1437         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1438         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
1439         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1440         * inspector/front-end/ScriptsPanel.js:
1441         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1442         * inspector/front-end/SourceFile.js:
1443         (WebInspector.RawSourceCode):
1444         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
1445         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
1446         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1447         (WebInspector.RawSourceCode.prototype.requestContent):
1448         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1449
1450 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
1451
1452         offsetFromRoot optimization is disabled after r93837
1453         https://bugs.webkit.org/show_bug.cgi?id=67677
1454
1455         Reviewed by Simon Fraser.
1456
1457         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
1458         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
1459         have a good test harness to cover such slowdown.
1460
1461         * rendering/RenderLayer.cpp:
1462         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
1463         the optimization altogether.
1464
1465         (WebCore::RenderLayer::computeRepaintRects):
1466         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1467         * rendering/RenderLayer.h:
1468         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
1469
1470 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1471
1472         Windows build fix after r94737.
1473
1474         * rendering/RenderBlock.cpp:
1475         (WebCore::RenderBlock::adjustRectForColumns):
1476
1477 2011-09-07  Dan Bernstein  <mitz@apple.com>
1478
1479         Removed hyphenation function implementations for an usupported build configuration.
1480
1481         Reviewed by Sam Weinig.
1482
1483         * platform/text/cf/HyphenationCF.cpp:
1484
1485 2011-09-07  David Hyatt  <hyatt@apple.com>
1486
1487         https://bugs.webkit.org/show_bug.cgi?id=67739
1488
1489         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
1490         function by removing the loop and just computing the start and end column for a repaint rect
1491         and uniting everything in between.
1492
1493         Reviewed by Dan Bernstein.
1494
1495         * rendering/RenderBlock.cpp:
1496         (WebCore::RenderBlock::adjustRectForColumns):
1497
1498 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1499
1500         Unreviewed, rolling out r94714 and r94723.
1501         http://trac.webkit.org/changeset/94714
1502         http://trac.webkit.org/changeset/94723
1503         https://bugs.webkit.org/show_bug.cgi?id=67746
1504
1505         breaks gtk-linux tests with assertion failure (Requested by
1506         thorton on #webkit).
1507
1508         * platform/graphics/GraphicsContext.cpp:
1509         (WebCore::GraphicsContext::GraphicsContext):
1510         (WebCore::GraphicsContext::~GraphicsContext):
1511         * platform/graphics/GraphicsContext.h:
1512         (WebCore::GraphicsContext::inTransparencyLayer):
1513         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1514         (WebCore::GraphicsContext::beginTransparencyLayer):
1515         (WebCore::GraphicsContext::endTransparencyLayer):
1516         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1517         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
1518         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
1519         * platform/graphics/cg/GraphicsContextCG.cpp:
1520         (WebCore::GraphicsContext::beginTransparencyLayer):
1521         (WebCore::GraphicsContext::endTransparencyLayer):
1522         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1523         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1524         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1525         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
1526         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
1527         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1528         (WebCore::GraphicsContext::beginTransparencyLayer):
1529         (WebCore::GraphicsContext::endTransparencyLayer):
1530         * platform/graphics/mac/FontMac.mm:
1531         (WebCore::Font::drawGlyphs):
1532         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1533         (WebCore::GraphicsContext::beginTransparencyLayer):
1534         (WebCore::GraphicsContext::endTransparencyLayer):
1535         * platform/graphics/qt/GraphicsContextQt.cpp:
1536         (WebCore::GraphicsContext::inTransparencyLayer):
1537         (WebCore::GraphicsContext::beginTransparencyLayer):
1538         (WebCore::GraphicsContext::endTransparencyLayer):
1539         * platform/graphics/skia/GraphicsContextSkia.cpp:
1540         (WebCore::GraphicsContext::beginTransparencyLayer):
1541         (WebCore::GraphicsContext::endTransparencyLayer):
1542         * platform/graphics/win/FontCGWin.cpp:
1543         (WebCore::drawGDIGlyphs):
1544         * platform/graphics/win/GraphicsContextCGWin.cpp:
1545         (WebCore::GraphicsContext::releaseWindowsContext):
1546         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1547         (WebCore::GraphicsContext::releaseWindowsContext):
1548         * platform/graphics/win/GraphicsContextWin.cpp:
1549         (WebCore::GraphicsContext::inTransparencyLayer):
1550         (WebCore::GraphicsContext::getWindowsContext):
1551         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1552         (WebCore::GraphicsContext::beginTransparencyLayer):
1553         (WebCore::GraphicsContext::endTransparencyLayer):
1554         * platform/graphics/wx/GraphicsContextWx.cpp:
1555         (WebCore::GraphicsContext::beginTransparencyLayer):
1556         (WebCore::GraphicsContext::endTransparencyLayer):
1557         * platform/win/ScrollbarThemeWin.cpp:
1558         (WebCore::ScrollbarThemeWin::paintTrackPiece):
1559         (WebCore::ScrollbarThemeWin::paintButton):
1560         (WebCore::ScrollbarThemeWin::paintThumb):
1561         * plugins/win/PluginViewWin.cpp:
1562         (WebCore::PluginView::paint):
1563         * rendering/RenderThemeWin.cpp:
1564         (WebCore::drawControl):
1565
1566 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
1567
1568         Changes to aria-hidden don't change VO navigation
1569         https://bugs.webkit.org/show_bug.cgi?id=67722
1570
1571         Reviewed by Darin Adler.
1572
1573         When altering aria-hidden, WebCore needs to update the children caches of 
1574         affected elements. However, for elements that were children, but ignored, their
1575         caches did not get updated, and stale information would be propagated.
1576
1577         The fix is to always clearChildren() when a parent is asking for children. This 
1578         ensures information is always up to date when the parent itself is asking for new data.
1579
1580         Test: accessibility/aria-hidden-updates-alldescendants.html
1581
1582         * accessibility/AccessibilityObject.h:
1583         * accessibility/AccessibilityRenderObject.cpp:
1584         (WebCore::AccessibilityRenderObject::ariaIsHidden):
1585         (WebCore::AccessibilityRenderObject::childrenChanged):
1586         (WebCore::AccessibilityRenderObject::addChildren):
1587
1588 2011-09-07  Tim Horton  <timothy_horton@apple.com>
1589
1590         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
1591         https://bugs.webkit.org/show_bug.cgi?id=67543
1592         <rdar://problem/10070536>
1593
1594         Reviewed by Simon Fraser.
1595
1596         Generalize (begin|end)TransparencyLayer, which now forward
1597         through to (begin|end)PlatformTransparencyLayer, so that
1598         isInTransparencyLayer can exist on every platform.
1599
1600         Make use of isInTransparencyLayer in FontMac to disable
1601         "simple" shadow drawing when the text is being rendered
1602         into a transparency layer.
1603
1604         Test: svg/custom/simple-text-double-shadow.svg
1605
1606         * platform/graphics/GraphicsContext.cpp:
1607         (WebCore::GraphicsContext::GraphicsContext):
1608         (WebCore::GraphicsContext::~GraphicsContext):
1609         (WebCore::GraphicsContext::beginTransparencyLayer):
1610         (WebCore::GraphicsContext::endTransparencyLayer):
1611         (WebCore::GraphicsContext::isInTransparencyLayer):
1612         * platform/graphics/GraphicsContext.h:
1613         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1614         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1615         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1616         (WebCore::GraphicsContext::supportsTransparencyLayers):
1617         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1618         * platform/graphics/cg/GraphicsContextCG.cpp:
1619         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1620         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1621         (WebCore::GraphicsContext::supportsTransparencyLayers):
1622         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1623         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1624         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1625         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1626         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1627         (WebCore::GraphicsContext::supportsTransparencyLayers):
1628         * platform/graphics/mac/FontMac.mm:
1629         (WebCore::Font::drawGlyphs):
1630         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1631         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1632         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1633         (WebCore::GraphicsContext::supportsTransparencyLayers):
1634         * platform/graphics/qt/GraphicsContextQt.cpp:
1635         (WebCore::GraphicsContext::isInTransparencyLayer):
1636         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1637         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1638         (WebCore::GraphicsContext::supportsTransparencyLayers):
1639         * platform/graphics/skia/GraphicsContextSkia.cpp:
1640         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1641         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1642         (WebCore::GraphicsContext::supportsTransparencyLayers):
1643         * platform/graphics/win/FontCGWin.cpp:
1644         (WebCore::drawGDIGlyphs):
1645         * platform/graphics/win/GraphicsContextCGWin.cpp:
1646         (WebCore::GraphicsContext::releaseWindowsContext):
1647         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1648         (WebCore::GraphicsContext::releaseWindowsContext):
1649         * platform/graphics/win/GraphicsContextWin.cpp:
1650         (WebCore::GraphicsContext::getWindowsContext):
1651         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1652         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1653         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1654         (WebCore::GraphicsContext::supportsTransparencyLayers):
1655         * platform/graphics/wx/GraphicsContextWx.cpp:
1656         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1657         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1658         (WebCore::GraphicsContext::supportsTransparencyLayers):
1659         * platform/win/ScrollbarThemeWin.cpp:
1660         * plugins/win/PluginViewWin.cpp:
1661         * rendering/RenderThemeWin.cpp:
1662
1663 2011-09-07  Dan Bernstein  <mitz@apple.com>
1664
1665         <rdar://problem/8881922> Support the hyphenate-limit-lines property
1666         https://bugs.webkit.org/show_bug.cgi?id=67730
1667
1668         Reviewed by Dave Hyatt.
1669
1670         Tests: fast/css/parsing-hyphenate-limit-lines.html
1671                fast/text/hyphenate-limit-lines.html
1672
1673         * css/CSSComputedStyleDeclaration.cpp:
1674         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
1675         * css/CSSParser.cpp:
1676         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
1677         "no-limit".
1678         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
1679         * css/CSSStyleSelector.cpp:
1680         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
1681         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
1682         * rendering/RenderBlock.h:
1683         * rendering/RenderBlockLineLayout.cpp:
1684         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
1685         before the start line and pass it to layoutRunsAndFloatsInRange().
1686         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
1687         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
1688         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
1689         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
1690         has been reached.
1691         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
1692         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
1693         the value of hyphenate-limit-lines.
1694         * rendering/RootInlineBox.cpp:
1695         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
1696         * rendering/RootInlineBox.h:
1697         * rendering/style/RenderStyle.h:
1698         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
1699         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
1700         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
1701         corresponding to "no-limit".
1702         * rendering/style/StyleRareInheritedData.cpp:
1703         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
1704         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
1705         * rendering/style/StyleRareInheritedData.h:
1706
1707 2011-09-02  Ojan Vafai  <ojan@chromium.org>
1708
1709         split overrideSize into overrideHeight and overrideWidth
1710         https://bugs.webkit.org/show_bug.cgi?id=67550
1711
1712         Reviewed by Sam Weinig.
1713
1714         All uses of overrideSize only set one of the width or the height.
1715         This change removes a bool from RenderObject and removes some
1716         flexbox specific logic from RenderBox.
1717
1718         The only downside is that we have two global maps where we used
1719         to have one.
1720
1721         No functional changes so existing tests are sufficient.
1722
1723         * rendering/RenderBox.cpp:
1724         (WebCore::RenderBox::hasOverrideHeight):
1725         (WebCore::RenderBox::hasOverrideWidth):
1726         (WebCore::RenderBox::setOverrideHeight):
1727         (WebCore::RenderBox::setOverrideWidth):
1728         (WebCore::RenderBox::clearOverrideSize):
1729         (WebCore::RenderBox::overrideWidth):
1730         (WebCore::RenderBox::overrideHeight):
1731         (WebCore::RenderBox::computeLogicalWidth):
1732         (WebCore::RenderBox::computeLogicalHeight):
1733         (WebCore::RenderBox::computePercentageLogicalHeight):
1734         * rendering/RenderBox.h:
1735         * rendering/RenderDeprecatedFlexibleBox.cpp:
1736         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1737         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1738         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1739         * rendering/RenderFlexibleBox.cpp:
1740         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
1741         * rendering/RenderObject.cpp:
1742         (WebCore::RenderObject::RenderObject):
1743         * rendering/RenderObject.h:
1744         * rendering/RenderTableCell.cpp:
1745         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
1746         * rendering/RenderTableCell.h:
1747         * rendering/RenderTableSection.cpp:
1748         (WebCore::RenderTableSection::calcRowLogicalHeight):
1749         (WebCore::RenderTableSection::layoutRows):
1750
1751 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
1752
1753         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
1754         https://bugs.webkit.org/show_bug.cgi?id=67511
1755
1756         Reviewed by Dimitri Glazkov.
1757
1758         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
1759                platform/chromium-mac/rubberbanding/overhang-n.html
1760                platform/chromium-mac/rubberbanding/overhang-ne.html
1761                platform/chromium-mac/rubberbanding/overhang-nw.html
1762                platform/chromium-mac/rubberbanding/overhang-s.html
1763                platform/chromium-mac/rubberbanding/overhang-se.html
1764                platform/chromium-mac/rubberbanding/overhang-sw.html
1765                platform/chromium-mac/rubberbanding/overhang-w.html
1766
1767         * WebCore.exp.in:
1768         * platform/ScrollableArea.h:
1769         * testing/Internals.cpp:
1770         (WebCore::Internals::setScrollViewPosition):
1771         * testing/Internals.h:
1772         * testing/Internals.idl:
1773
1774 2011-09-07  David Reveman  <reveman@chromium.org>
1775
1776         [Chromium] Render surface anti-aliasing.
1777         https://bugs.webkit.org/show_bug.cgi?id=66437
1778
1779         Reviewed by James Robinson.
1780
1781         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
1782         edge computations to be shared between tiled layers and render
1783         surfaces. Move isCCW utility function to FloatQuad class and
1784         add to2dTransform method to TransformationMatrix class. Add
1785         necessary anti-aliasing shaders for render surfaces and use them
1786         to avoid aliased edges.
1787
1788         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
1789
1790         * WebCore.gypi:
1791         * platform/graphics/FloatQuad.cpp:
1792         (WebCore::FloatQuad::isCounterclockwise):
1793         * platform/graphics/FloatQuad.h:
1794         * platform/graphics/chromium/LayerChromium.cpp:
1795         (WebCore::LayerChromium::drawTexturedQuad):
1796         * platform/graphics/chromium/LayerChromium.h:
1797         * platform/graphics/chromium/LayerRendererChromium.cpp:
1798         (WebCore::LayerRendererChromium::LayerRendererChromium):
1799         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
1800         (WebCore::LayerRendererChromium::renderSurfaceProgram):
1801         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
1802         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
1803         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
1804         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
1805         (WebCore::LayerRendererChromium::canvasLayerProgram):
1806         (WebCore::LayerRendererChromium::pluginLayerProgram):
1807         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
1808         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
1809         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1810         * platform/graphics/chromium/LayerRendererChromium.h:
1811         (WebCore::LayerRendererChromium::sharedGeometryQuad):
1812         * platform/graphics/chromium/ShaderChromium.cpp:
1813         (WebCore::VertexShaderQuad::VertexShaderQuad):
1814         (WebCore::VertexShaderQuad::init):
1815         (WebCore::VertexShaderQuad::getShaderString):
1816         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
1817         (WebCore::FragmentShaderRGBATexAlphaAA::init):
1818         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
1819         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
1820         (WebCore::FragmentTexClampAlphaAABinding::init):
1821         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
1822         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
1823         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
1824         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
1825         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
1826         * platform/graphics/chromium/ShaderChromium.h:
1827         (WebCore::VertexShaderQuad::matrixLocation):
1828         (WebCore::VertexShaderQuad::pointLocation):
1829         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
1830         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
1831         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
1832         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
1833         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
1834         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
1835         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
1836         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1837         (WebCore::CCCanvasLayerImpl::draw):
1838         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1839         (WebCore::CCHeadsUpDisplay::draw):
1840         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
1841         (WebCore::CCLayerQuad::Edge::Edge):
1842         (WebCore::CCLayerQuad::CCLayerQuad):
1843         (WebCore::CCLayerQuad::floatQuad):
1844         (WebCore::CCLayerQuad::toFloatArray):
1845         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
1846         (WebCore::CCLayerQuad::Edge::Edge):
1847         (WebCore::CCLayerQuad::Edge::x):
1848         (WebCore::CCLayerQuad::Edge::y):
1849         (WebCore::CCLayerQuad::Edge::z):
1850         (WebCore::CCLayerQuad::Edge::setX):
1851         (WebCore::CCLayerQuad::Edge::setY):
1852         (WebCore::CCLayerQuad::Edge::setZ):
1853         (WebCore::CCLayerQuad::Edge::set):
1854         (WebCore::CCLayerQuad::Edge::moveX):
1855         (WebCore::CCLayerQuad::Edge::moveY):
1856         (WebCore::CCLayerQuad::Edge::moveZ):
1857         (WebCore::CCLayerQuad::Edge::move):
1858         (WebCore::CCLayerQuad::Edge::scaleX):
1859         (WebCore::CCLayerQuad::Edge::scaleY):
1860         (WebCore::CCLayerQuad::Edge::scaleZ):
1861         (WebCore::CCLayerQuad::Edge::scale):
1862         (WebCore::CCLayerQuad::Edge::intersect):
1863         (WebCore::CCLayerQuad::CCLayerQuad):
1864         (WebCore::CCLayerQuad::left):
1865         (WebCore::CCLayerQuad::top):
1866         (WebCore::CCLayerQuad::right):
1867         (WebCore::CCLayerQuad::bottom):
1868         (WebCore::CCLayerQuad::inflateX):
1869         (WebCore::CCLayerQuad::inflateY):
1870         (WebCore::CCLayerQuad::inflate):
1871         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
1872         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1873         (WebCore::CCPluginLayerImpl::draw):
1874         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1875         (WebCore::CCRenderSurface::draw):
1876         (WebCore::CCRenderSurface::drawLayer):
1877         (WebCore::CCRenderSurface::drawSurface):
1878         * platform/graphics/chromium/cc/CCRenderSurface.h:
1879         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1880         (WebCore::CCTiledLayerImpl::draw):
1881         (WebCore::CCTiledLayerImpl::drawTiles):
1882         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1883         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1884         (WebCore::CCVideoLayerImpl::drawYUV):
1885         (WebCore::CCVideoLayerImpl::drawRGBA):
1886         * platform/graphics/transforms/TransformationMatrix.cpp:
1887         (WebCore::TransformationMatrix::to2dTransform):
1888         * platform/graphics/transforms/TransformationMatrix.h:
1889
1890 2011-09-06  Oliver Hunt  <oliver@apple.com>
1891
1892         Remove JSObjectWithGlobalObject
1893         https://bugs.webkit.org/show_bug.cgi?id=67689
1894
1895         Reviewed by Geoff Garen.
1896
1897         Remove use of anonymous storage and JSObjectWithGlobalObject for
1898         accessing a JSObject's global object now that they're available
1899         on the object's structure.
1900
1901         * bindings/js/JSDOMWindowShell.cpp:
1902         (WebCore::JSDOMWindowShell::setWindow):
1903         * bindings/js/JSDOMWrapper.h:
1904         (WebCore::JSDOMWrapper::globalObject):
1905         (WebCore::JSDOMWrapper::JSDOMWrapper):
1906         * bindings/js/WorkerScriptController.cpp:
1907         (WebCore::WorkerScriptController::initScript):
1908         * bindings/scripts/CodeGeneratorJS.pm:
1909         (GenerateHeader):
1910         (GenerateImplementation):
1911         * bridge/objc/objc_runtime.h:
1912         * bridge/objc/objc_runtime.mm:
1913         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1914         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
1915         * bridge/runtime_object.cpp:
1916         (JSC::Bindings::RuntimeObject::RuntimeObject):
1917         (JSC::Bindings::RuntimeObject::finishCreation):
1918         * bridge/runtime_object.h:
1919
1920 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1921
1922         Mac build fix after r94694.
1923
1924         * WebCore.xcodeproj/project.pbxproj:
1925
1926 2011-09-07  Tim Horton  <timothy_horton@apple.com>
1927
1928         FELighting is using width instead of height to determine skip for parallel(n>2) case
1929         https://bugs.webkit.org/show_bug.cgi?id=67719
1930         <rdar://problem/10086178>
1931
1932         Reviewed by Dirk Schulze.
1933
1934         No new tests, because the bug only exhibits under conditions which are currently
1935         impossible by default (using more than 2 cores) on some platforms.
1936
1937         * platform/graphics/filters/FELighting.cpp:
1938         (WebCore::FELighting::platformApplyGeneric):
1939
1940 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
1941
1942         Eliminate motion jitter in animated, blurred SVG image
1943         https://bugs.webkit.org/show_bug.cgi?id=67503
1944
1945         Fixes filter shear-free transform applied to SVG images.
1946
1947         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
1948         which is based on the object bounding box (which doesn't move). For a rotation
1949         around the centre of the box, this should really just be the identity matrix,
1950         since the BB should neither change size nor location. So really, we're just interested
1951         in the scale change of the BB here, and not in moving it.
1952
1953         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
1954         for vertical and horizontal slices, so the test verifies these.
1955
1956         Reviewed by Dirk Schulze.
1957
1958         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
1959
1960         * rendering/svg/RenderSVGResourceFilter.cpp:
1961         (WebCore::RenderSVGResourceFilter::applyResource):
1962
1963 2011-09-03  Robert Hogan  <robert@webkit.org>
1964
1965         Elements with position:absolute don't move to correct position after images load
1966         https://bugs.webkit.org/show_bug.cgi?id=54611
1967
1968         Reviewed by Simon Fraser.
1969
1970         Test: fast/block/positioning/absolute-layout-after-image-load.html
1971               fast/block/positioning/positioned-float-layout-after-image-load.html
1972
1973         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
1974         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
1975         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
1976         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
1977         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
1978         takes care of it this at least ensures no regression in future.
1979
1980         Note: Although the issue is encountered only on first load without a fragment identifier, it 
1981         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
1982         because scrolling to the fragment always happens before the image has loaded, rendering the page 
1983         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
1984         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
1985         re-rendered.
1986
1987         * rendering/RenderBlock.cpp:
1988         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
1989                                                          deciding whether to mark children for layout
1990         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
1991
1992 2011-09-07  Anna Cavender  <annacc@chromium.org>
1993
1994         Moving platform/track to html/track to avoid layering violation.
1995         https://bugs.webkit.org/show_bug.cgi?id=67680
1996
1997         Reviewed by Adam Barth.
1998
1999         No new tests. No new functionality.
2000
2001         * CMakeLists.txt:
2002         * GNUmakefile.am:
2003         * GNUmakefile.list.am:
2004         * WebCore.gyp/WebCore.gyp:
2005         * WebCore.gypi:
2006         * WebCore.pri:
2007         * WebCore.pro:
2008         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
2009         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
2010         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
2011         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
2012         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
2013         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
2014         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
2015         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
2016
2017 2011-09-07  David Hyatt  <hyatt@apple.com>
2018
2019         https://bugs.webkit.org/show_bug.cgi?id=67286
2020
2021         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
2022
2023         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
2024         leading to just be the block height.
2025
2026         Reviewed by Dan Bernstein.
2027
2028         * rendering/RenderBlockLineLayout.cpp:
2029         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2030
2031 2011-09-06  Abhishek Arya  <inferno@chromium.org>
2032
2033         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
2034         https://bugs.webkit.org/show_bug.cgi?id=67669
2035
2036         Reviewed by James Robinson.
2037
2038         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
2039         call. We need a null check in updateScrollbarParts, so that we do not crash.
2040
2041         No tests since issue seen in crash reports only and I donot know a way to
2042         reproduce.
2043
2044         * rendering/RenderScrollbar.cpp:
2045         (WebCore::RenderScrollbar::updateScrollbarParts):
2046
2047 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2048
2049         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
2050         https://bugs.webkit.org/show_bug.cgi?id=67606
2051
2052         Reviewed by Noam Rosenthal.
2053
2054         TiledBackingStore previously used different values for horizontal and vertial multiplication
2055         to calculate the cover area.
2056         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
2057         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
2058         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
2059         of the viewport.
2060
2061         * platform/graphics/TiledBackingStore.cpp:
2062         (WebCore::TiledBackingStore::TiledBackingStore):
2063         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
2064         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
2065         (WebCore::TiledBackingStore::createTiles):
2066         (WebCore::TiledBackingStore::calculateKeepRect):
2067         (WebCore::TiledBackingStore::calculateCoverRect):
2068         * platform/graphics/TiledBackingStore.h:
2069         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
2070
2071 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2072
2073         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
2074         https://bugs.webkit.org/show_bug.cgi?id=67416
2075
2076         Reviewed by Kenneth Rohde Christiansen.
2077
2078         Original code by Antti Koivisto.
2079         With the current code, when the page is layouted during load, edge tiles will
2080         get removed instead of continuing to show their front buffer while the tile
2081         is being rendered for the new size.
2082
2083         * platform/graphics/Tile.h:
2084         * platform/graphics/TiledBackingStore.cpp:
2085         (WebCore::TiledBackingStore::createTiles):
2086         (WebCore::TiledBackingStore::resizeEdgeTiles):
2087         * platform/graphics/TiledBackingStore.h:
2088         * platform/graphics/qt/TileQt.cpp:
2089         (WebCore::TileQt::resize):
2090         * platform/graphics/qt/TileQt.h:
2091
2092 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2093
2094         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
2095         https://bugs.webkit.org/show_bug.cgi?id=67242
2096         <rdar://problem/10069770>
2097
2098         Reviewed by Dirk Schulze.
2099
2100         No new tests, minor performance improvement.
2101
2102         * platform/graphics/transforms/AffineTransform.cpp:
2103         (WebCore::AffineTransform::blend):
2104         (WebCore::AffineTransform::decompose):
2105         (WebCore::AffineTransform::recompose):
2106         * platform/graphics/transforms/AffineTransform.h:
2107         * rendering/svg/SVGImageBufferTools.cpp:
2108         (WebCore::SVGImageBufferTools::clear2DRotation):
2109
2110 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
2111
2112         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
2113         https://bugs.webkit.org/show_bug.cgi?id=67647
2114
2115         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
2116         2) Add RawSourceCode unit tests.
2117         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
2118
2119         Reviewed by Yury Semikhatsky.
2120
2121         Test: inspector/debugger/raw-source-code.html
2122
2123         * inspector/front-end/DebuggerPresentationModel.js:
2124         (WebInspector.DebuggerPresentationModel):
2125         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2126         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2127         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2128         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2129         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2130         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2131         * inspector/front-end/ScriptsPanel.js:
2132         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2133         * inspector/front-end/SourceFile.js:
2134         (WebInspector.RawSourceCode):
2135         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2136         (WebInspector.RawSourceCode.prototype.setFormatted):
2137         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2138         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2139
2140 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
2141
2142         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
2143         https://bugs.webkit.org/show_bug.cgi?id=67127
2144
2145         Reviewed by Yury Semikhatsky.
2146
2147         * inspector/front-end/Section.js:
2148         (WebInspector.Section.prototype.get firstSibling):
2149         (WebInspector.Section.prototype.get lastSibling):
2150         * inspector/front-end/StylesSidebarPane.js:
2151         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
2152         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
2153         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
2154         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
2155         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2156         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2157         (WebInspector.StylePropertyTreeElement.prototype):
2158         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
2159
2160 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
2161
2162         Web Inspector: [Extensions API] expose console API
2163         https://bugs.webkit.org/show_bug.cgi?id=67506
2164
2165         Reviewed by Pavel Feldman.
2166
2167         Test: inspector/extensions/extensions-console.html
2168
2169         * inspector/front-end/ConsoleMessage.js:
2170         (WebInspector.ConsoleMessage.prototype.get text):
2171         (WebInspector.ConsoleMessage.prototype.get parameters):
2172         * inspector/front-end/ExtensionAPI.js:
2173         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
2174         (WebInspector.injectedExtensionAPI):
2175         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
2176         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
2177         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
2178         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
2179         (WebInspector.injectedExtensionAPI.Network):
2180         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
2181         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
2182         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
2183         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
2184         (WebInspector.injectedExtensionAPI.InspectedWindow):
2185         * inspector/front-end/ExtensionCommon.js:
2186         (WebInspector.commonExtensionSymbols):
2187         * inspector/front-end/ExtensionServer.js:
2188         (WebInspector.ExtensionServer):
2189         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
2190         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
2191         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2192         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
2193         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
2194         (WebInspector.ExtensionServer.prototype._dispatchCallback):
2195         (WebInspector.ExtensionServer.prototype.initExtensions):
2196
2197 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
2198
2199         Web Inspector: disable popover when a mouse button is pressed
2200         https://bugs.webkit.org/show_bug.cgi?id=67610
2201
2202         Reviewed by Pavel Feldman.
2203
2204         - disable popover when a mouse button is pressed
2205         - disable popover in a SourceFrame when the source is being edited
2206
2207         * inspector/front-end/Popover.js:
2208         (WebInspector.PopoverHelper):
2209         (WebInspector.PopoverHelper.prototype._mouseUp):
2210         (WebInspector.PopoverHelper.prototype._mouseDown):
2211         (WebInspector.PopoverHelper.prototype._handleMouseAction):
2212         * inspector/front-end/SourceFrame.js:
2213         (WebInspector.SourceFrame.prototype._onHidePopover):
2214         (WebInspector.SourceFrame.prototype.doubleClick):
2215
2216 2011-09-07  Antti Koivisto  <antti@apple.com>
2217
2218         https://bugs.webkit.org/show_bug.cgi?id=67634
2219         De-virtualize styleForRenderer()
2220
2221         Reviewed by Sam Weinig.
2222         
2223         This has performance and code clarity benefits.
2224
2225         - move styleForRenderer from Node to Element
2226         - get rid of the now unnecessary NodeRenderingContext parameter
2227         - de-virtualize, add virtual customStyleForRenderer()
2228
2229         * dom/Element.cpp:
2230         (WebCore::Element::customStyleForRenderer):
2231         (WebCore::Element::styleForRenderer):
2232         (WebCore::Element::recalcStyle):
2233         * dom/Element.h:
2234         * dom/Node.cpp:
2235         * dom/Node.h:
2236         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
2237         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
2238         (WebCore::Node::hasCustomStyleForRenderer):
2239         (WebCore::Node::setHasCustomStyleForRenderer):
2240         
2241             Move styleForRenderer, add customStyleForRenderer, add a bit.
2242         
2243         * dom/NodeRenderingContext.cpp:
2244         (WebCore::NodeRendererFactory::createRendererAndStyle): 
2245         
2246             Handle non-element case separately since styleForRenderer was moved from Node to Element.
2247
2248         * html/HTMLNoScriptElement.cpp:
2249         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
2250         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
2251         * html/HTMLNoScriptElement.h:
2252         
2253             Move a strange XHTMLMP special case to where it belongs.
2254
2255         * html/HTMLOptGroupElement.cpp:
2256         (WebCore::HTMLOptGroupElement::attach):
2257         * html/HTMLOptionElement.cpp:
2258         (WebCore::HTMLOptionElement::attach):
2259         * html/HTMLTitleElement.cpp:
2260         (WebCore::HTMLTitleElement::textWithDirection):
2261         * html/shadow/TextControlInnerElements.cpp:
2262         (WebCore::TextControlInnerElement::TextControlInnerElement):
2263         (WebCore::TextControlInnerElement::customStyleForRenderer):
2264         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
2265         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
2266         * html/shadow/TextControlInnerElements.h:
2267         * rendering/svg/SVGShadowTreeElements.cpp:
2268         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
2269         * rendering/svg/SVGShadowTreeElements.h:
2270         * svg/SVGElement.cpp:
2271         (WebCore::SVGElement::SVGElement):
2272         (WebCore::SVGElement::customStyleForRenderer):
2273         * svg/SVGElement.h:
2274         
2275             Adopt customStyleForRenderer().
2276
2277 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2278
2279         Change event is not fired for input[type=number] when the user reverts a change made by script
2280         https://bugs.webkit.org/show_bug.cgi?id=67697
2281
2282         Reviewed by Kent Tamura.
2283
2284         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
2285         for text fields other than type=text.
2286
2287         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
2288         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
2289         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
2290         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
2291
2292         Test: fast/forms/number-input-changeevent.html
2293
2294         * html/BaseDateAndTimeInputType.cpp:
2295         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
2296         * html/BaseDateAndTimeInputType.h:
2297         * html/HTMLInputElement.cpp:
2298         (WebCore::HTMLInputElement::applyStep):
2299         (WebCore::HTMLInputElement::stepUp):
2300         (WebCore::HTMLInputElement::stepDown):
2301         (WebCore::HTMLInputElement::setValue):
2302         (WebCore::HTMLInputElement::setValueAsNumber):
2303         (WebCore::HTMLInputElement::stepUpFromRenderer):
2304         * html/HTMLInputElement.h:
2305         * html/InputType.cpp:
2306         (WebCore::InputType::setValueAsNumber):
2307         * html/InputType.h:
2308         * html/NumberInputType.cpp:
2309         (WebCore::NumberInputType::setValueAsNumber):
2310         * html/NumberInputType.h:
2311         * html/RangeInputType.cpp:
2312         (WebCore::RangeInputType::setValueAsNumber):
2313         (WebCore::RangeInputType::handleKeydownEvent):
2314         * html/RangeInputType.h:
2315
2316 2011-09-07  Antti Koivisto  <antti@apple.com>
2317
2318         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
2319
2320         Not reviewed.
2321
2322         * css/CSSStyleSelector.cpp:
2323         * css/SelectorChecker.cpp:
2324         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2325
2326 2011-09-07  Antti Koivisto  <antti@apple.com>
2327
2328         Move SelectorChecker out from CSSStyleSelector scope
2329         https://bugs.webkit.org/show_bug.cgi?id=67648
2330
2331         Reviewed by Sam Weinig.
2332
2333         - Move SelectorChecker to SelectorChecker.h/cpp
2334         - Make private functions private
2335         - Make members private, add accessors
2336         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
2337
2338         * CMakeLists.txt:
2339         * GNUmakefile.list.am:
2340         * WebCore.gypi:
2341         * WebCore.pro:
2342         * WebCore.vcproj/WebCore.vcproj:
2343         * WebCore.xcodeproj/project.pbxproj:
2344         * css/CSSStyleSelector.cpp:
2345         (WebCore::CSSStyleSelector::CSSStyleSelector):
2346         (WebCore::CSSStyleSelector::matchRules):
2347         (WebCore::CSSStyleSelector::matchRulesForList):
2348         (WebCore::CSSStyleSelector::sortMatchedRules):
2349         (WebCore::CSSStyleSelector::initForStyleResolve):
2350         (WebCore::CSSStyleSelector::matchUARules):
2351         (WebCore::CSSStyleSelector::styleForElement):
2352         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2353         (WebCore::CSSStyleSelector::styleForPage):
2354         (WebCore::CSSStyleSelector::adjustRenderStyle):
2355         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2356         (WebCore::CSSStyleSelector::checkSelector):
2357         (WebCore::RuleData::RuleData):
2358         (WebCore::CSSStyleSelector::applyProperty):
2359         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
2360         (WebCore::CSSStyleSelector::setFontSize):
2361         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2362         * css/CSSStyleSelector.h:
2363         (WebCore::CSSStyleSelector::style):
2364         (WebCore::CSSStyleSelector::parentStyle):
2365         (WebCore::CSSStyleSelector::rootElementStyle):
2366         (WebCore::CSSStyleSelector::element):
2367         (WebCore::CSSStyleSelector::fontDescription):
2368         (WebCore::CSSStyleSelector::parentFontDescription):
2369         (WebCore::CSSStyleSelector::setFontDescription):
2370         (WebCore::CSSStyleSelector::setZoom):
2371         (WebCore::CSSStyleSelector::setEffectiveZoom):
2372         (WebCore::CSSStyleSelector::setTextSizeAdjust):
2373         (WebCore::CSSStyleSelector::setStyle):
2374         (WebCore::CSSStyleSelector::fontSelector):
2375         (WebCore::CSSStyleSelector::allVisitedStateChanged):
2376         (WebCore::CSSStyleSelector::visitedStateChanged):
2377         (WebCore::CSSStyleSelector::usesSiblingRules):
2378         (WebCore::CSSStyleSelector::usesFirstLineRules):
2379         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
2380         (WebCore::CSSStyleSelector::usesLinkRules):
2381         (WebCore::CSSStyleSelector::addMatchedRule):
2382         (WebCore::CSSStyleSelector::isRightPage):
2383         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
2384         (WebCore::CSSStyleSelector::styleNotYetAvailable):
2385         * css/SelectorChecker.cpp: Added.
2386         (WebCore::SelectorChecker::SelectorChecker):
2387         (WebCore::linkAttribute):
2388         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2389         (WebCore::SelectorChecker::checkSelector):
2390         (WebCore::SelectorChecker::fastCheckSelector):
2391         (WebCore::SelectorChecker::isFastCheckableSelector):
2392         (WebCore::addLocalNameToSet):
2393         (WebCore::createHtmlCaseInsensitiveAttributesSet):
2394         (WebCore::htmlAttributeHasCaseInsensitiveValue):
2395         (WebCore::attributeQualifiedNameMatches):
2396         (WebCore::attributeValueMatches):
2397         (WebCore::anyAttributeMatches):
2398         (WebCore::SelectorChecker::checkOneSelector):
2399         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
2400         (WebCore::SelectorChecker::allVisitedStateChanged):
2401         (WebCore::SelectorChecker::visitedStateChanged):
2402         * css/SelectorChecker.h: Added.
2403         (WebCore::SelectorChecker::document):
2404         (WebCore::SelectorChecker::strictParsing):
2405         (WebCore::SelectorChecker::isCollectingRulesOnly):
2406         (WebCore::SelectorChecker::setCollectingRulesOnly):
2407         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
2408         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
2409         (WebCore::SelectorChecker::pseudoStyle):
2410         (WebCore::SelectorChecker::setPseudoStyle):
2411         (WebCore::SelectorChecker::hasUnknownPseudoElements):
2412         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
2413         (WebCore::SelectorChecker::determineLinkState):
2414         * dom/Element.cpp:
2415         (WebCore::Element::webkitMatchesSelector):
2416         * dom/SelectorQuery.cpp:
2417         (WebCore::SelectorQuery::SelectorQuery):
2418         * dom/SelectorQuery.h:
2419
2420 2011-09-07  Dmitry Lomov  <dslomov@google.com>
2421
2422         https://bugs.webkit.org/show_bug.cgi?id=67413 
2423         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
2424         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
2425
2426         Reviewed by Yury Semikhatsky.
2427
2428         * workers/WorkerContext.cpp:
2429         (WebCore::WorkerContext::clearInspector):
2430         * workers/WorkerContext.h:
2431         * workers/WorkerThread.cpp:
2432         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2433
2434 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2435
2436         Unreviewed, rolling out r94627 and r94632.
2437         http://trac.webkit.org/changeset/94627
2438         http://trac.webkit.org/changeset/94632
2439         https://bugs.webkit.org/show_bug.cgi?id=67698
2440
2441         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
2442
2443         * WebCore.exp.in:
2444         * bindings/js/JSDOMBinding.h:
2445         (WebCore::DOMConstructorObject::DOMConstructorObject):
2446         * bindings/js/JSDOMGlobalObject.cpp:
2447         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2448         * bindings/js/JSDOMGlobalObject.h:
2449         * bindings/js/JSDOMWindowShell.cpp:
2450         (WebCore::JSDOMWindowShell::create):
2451         * bindings/js/JSDOMWindowShell.h:
2452         * bindings/js/JSDOMWrapper.h:
2453         (WebCore::JSDOMWrapper::JSDOMWrapper):
2454         * bindings/scripts/CodeGeneratorJS.pm:
2455         (GenerateImplementation):
2456         * bindings/scripts/test/JS/JSTestInterface.cpp:
2457         (WebCore::JSTestInterface::JSTestInterface):
2458         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2459         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2460         * bindings/scripts/test/JS/JSTestObj.cpp:
2461         (WebCore::JSTestObj::JSTestObj):
2462         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2463         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2464         * bridge/c/CRuntimeObject.cpp:
2465         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
2466         * bridge/c/CRuntimeObject.h:
2467         * bridge/jni/jsc/JavaRuntimeObject.cpp:
2468         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
2469         * bridge/jni/jsc/JavaRuntimeObject.h:
2470         * bridge/objc/ObjCRuntimeObject.h:
2471         * bridge/objc/ObjCRuntimeObject.mm:
2472         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
2473         * bridge/objc/objc_runtime.h:
2474         (JSC::Bindings::ObjcFallbackObjectImp::create):
2475         * bridge/objc/objc_runtime.mm:
2476         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2477         * bridge/qt/qt_instance.cpp:
2478         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
2479         * bridge/qt/qt_pixmapruntime.cpp:
2480         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
2481         * bridge/qt/qt_runtime.cpp:
2482         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2483         * bridge/qt/qt_runtime.h:
2484         * bridge/runtime_array.cpp:
2485         (JSC::RuntimeArray::RuntimeArray):
2486         * bridge/runtime_array.h:
2487         (JSC::RuntimeArray::create):
2488         * bridge/runtime_method.cpp:
2489         (JSC::RuntimeMethod::RuntimeMethod):
2490         * bridge/runtime_method.h:
2491         * bridge/runtime_object.cpp:
2492         (JSC::Bindings::RuntimeObject::RuntimeObject):
2493         * bridge/runtime_object.h:
2494         (JSC::Bindings::RuntimeObject::create):
2495
2496 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
2497
2498         fast/workers/worker-script-error.html fails on Chromium after r94061
2499         https://bugs.webkit.org/show_bug.cgi?id=67206
2500
2501         Default action should be prevented if window.onerror returned true and stay
2502         not prevented otherwise.
2503
2504         Reviewed by Dmitry Titov.
2505
2506         Tests: fast/events/window-onerror14.html
2507                fast/events/window-onerror15.html
2508                fast/events/window-onerror16.html
2509
2510         * bindings/v8/V8AbstractEventListener.cpp:
2511         (WebCore::V8AbstractEventListener::invokeEventHandler):
2512         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
2513         event listeners to decide when to prevent default action based on the handler
2514         return value.
2515         * bindings/v8/V8AbstractEventListener.h:
2516         * bindings/v8/V8WindowErrorHandler.cpp:
2517         (WebCore::V8WindowErrorHandler::callListenerFunction):
2518         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
2519         * bindings/v8/V8WindowErrorHandler.h:
2520         * bindings/v8/V8WorkerContextErrorHandler.cpp:
2521         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2522         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
2523         * bindings/v8/V8WorkerContextErrorHandler.h:
2524
2525 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
2526
2527         Replace usages of Vector<UChar> with existing StringBuilder
2528         https://bugs.webkit.org/show_bug.cgi?id=67079
2529
2530         Reviewed by Gavin Barraclough.
2531
2532         No new tests. All existing unit tests and layout tests should run
2533         as before.
2534
2535         * css/CSSOMUtils.cpp:
2536         (WebCore::appendCharacter):
2537         (WebCore::serializeCharacter):
2538         (WebCore::serializeCharacterAsCodePoint):
2539         (WebCore::serializeIdentifier):
2540         (WebCore::serializeString):
2541         * css/CSSOMUtils.h:
2542         * css/CSSPrimitiveValue.cpp:
2543         (WebCore::CSSPrimitiveValue::cssText):
2544         * css/CSSStyleSelector.cpp:
2545         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
2546         * css/CSSWrapShapes.cpp:
2547         (WebCore::CSSWrapShapeRect::cssText):
2548         (WebCore::CSSWrapShapeCircle::cssText):
2549         (WebCore::CSSWrapShapeEllipse::cssText):
2550         (WebCore::CSSWrapShapePolygon::cssText):
2551         * editing/HTMLInterchange.cpp:
2552         (WebCore::convertHTMLTextToInterchangeFormat):
2553         * editing/MarkupAccumulator.cpp:
2554         (WebCore::appendCharactersReplacingEntities):
2555         (WebCore::MarkupAccumulator::serializeNodes):
2556         (WebCore::MarkupAccumulator::appendStartTag):
2557         (WebCore::MarkupAccumulator::appendEndTag):
2558         (WebCore::MarkupAccumulator::concatenateMarkup):
2559         (WebCore::MarkupAccumulator::appendAttributeValue):
2560         (WebCore::MarkupAccumulator::appendCustomAttributes):
2561         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
2562         (WebCore::MarkupAccumulator::appendNodeValue):
2563         (WebCore::MarkupAccumulator::appendNamespace):
2564         (WebCore::MarkupAccumulator::appendText):
2565         (WebCore::MarkupAccumulator::appendComment):
2566         (WebCore::MarkupAccumulator::appendDocumentType):
2567         (WebCore::MarkupAccumulator::appendProcessingInstruction):
2568         (WebCore::MarkupAccumulator::appendElement):
2569         (WebCore::MarkupAccumulator::appendOpenTag):
2570         (WebCore::MarkupAccumulator::appendCloseTag):
2571         (WebCore::MarkupAccumulator::appendAttribute):
2572         (WebCore::MarkupAccumulator::appendCDATASection):
2573         (WebCore::MarkupAccumulator::appendStartMarkup):
2574         (WebCore::MarkupAccumulator::appendEndMarkup):
2575         * editing/MarkupAccumulator.h:
2576         * editing/markup.cpp:
2577         (WebCore::StyledMarkupAccumulator::appendElement):
2578         (WebCore::StyledMarkupAccumulator::wrapWithNode):
2579         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
2580         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
2581         (WebCore::StyledMarkupAccumulator::takeResults):
2582         (WebCore::StyledMarkupAccumulator::appendText):
2583         (WebCore::urlToMarkup):
2584         * html/DOMTokenList.cpp:
2585         (WebCore::DOMTokenList::removeToken):
2586         * html/HTMLFontElement.cpp:
2587         (WebCore::parseFontSize):
2588         * html/HTMLTextFormControlElement.cpp:
2589         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
2590         * html/parser/CSSPreloadScanner.cpp:
2591         (WebCore::CSSPreloadScanner::emitRule):
2592         * html/parser/CSSPreloadScanner.h:
2593         * html/parser/HTMLEntityParser.cpp:
2594         (WebCore::consumeHTMLEntity):
2595         * html/parser/HTMLEntityParser.h:
2596         * html/parser/HTMLParserIdioms.cpp:
2597         (WebCore::parseHTMLInteger):
2598         (WebCore::parseHTMLNonNegativeInteger):
2599         * html/parser/HTMLTokenizer.cpp:
2600         (WebCore::HTMLTokenizer::processEntity):
2601         (WebCore::HTMLTokenizer::nextToken):
2602         * html/parser/HTMLTreeBuilder.cpp:
2603         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
2604         (WebCore::HTMLTreeBuilder::defaultForInTableText):
2605         * html/parser/HTMLTreeBuilder.h:
2606         * inspector/InspectorValues.cpp:
2607         (WebCore::InspectorValue::toJSONString):
2608         (WebCore::InspectorValue::writeJSON):
2609         (WebCore::InspectorBasicValue::writeJSON):
2610         (WebCore::InspectorString::writeJSON):
2611         (WebCore::InspectorObject::writeJSON):
2612         (WebCore::InspectorArray::writeJSON):
2613         * inspector/InspectorValues.h:
2614         * loader/CrossOriginAccessControl.cpp:
2615         (WebCore::createAccessControlPreflightRequest):
2616         * loader/appcache/ApplicationCacheStorage.cpp:
2617         (WebCore::ApplicationCacheStorage::store):
2618         * page/Chrome.cpp:
2619         (WebCore::Chrome::setToolTip):
2620         * page/PageSerializer.cpp:
2621         (WebCore::SerializerMarkupAccumulator::appendText):
2622         (WebCore::SerializerMarkupAccumulator::appendElement):
2623         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2624         * page/SecurityOrigin.cpp:
2625         (WebCore::SecurityOrigin::toString):
2626         * platform/KURL.cpp:
2627         (WebCore::KURL::deprecatedString):
2628         (WebCore::decodeURLEscapeSequences):
2629         * platform/LinkHash.cpp:
2630         (WebCore::squeezeOutNullCharacters):
2631         (WebCore::cleanSlashDotDotSlashes):
2632         (WebCore::mergeDoubleSlashes):
2633         (WebCore::cleanSlashDotSlashes):
2634         (WebCore::cleanPath):
2635         (WebCore::visitedURLInline):
2636         (WebCore::visitedURL):
2637         (WebCore::visitedLinkHash):
2638         * platform/LinkHash.h:
2639         * platform/gtk/DataObjectGtk.cpp:
2640         (WebCore::DataObjectGtk::setURL):
2641         * platform/network/HTTPParsers.cpp:
2642         (WebCore::extractMIMETypeFromMediaType):
2643         * platform/text/TextCodecICU.cpp:
2644         (WebCore::TextCodecICU::decode):
2645         * platform/text/TextStream.cpp:
2646         (WebCore::TextStream::operator<<):
2647         (WebCore::TextStream::release):
2648         * platform/text/TextStream.h:
2649         * plugins/PluginStream.cpp:
2650         (WebCore::PluginStream::startStream):
2651         * rendering/InlineTextBox.cpp:
2652         (WebCore::adjustCharactersAndLengthForHyphen):
2653         * rendering/InlineTextBox.h:
2654         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
2655         * rendering/RenderListItem.cpp:
2656         (WebCore::RenderListItem::markerTextWithSuffix):
2657         * rendering/RenderListMarker.cpp:
2658         (WebCore::toSymbolic):
2659         (WebCore::RenderListMarker::paint):
2660         (WebCore::RenderListMarker::suffix):
2661         * rendering/RenderTreeAsText.cpp:
2662         (WebCore::quoteAndEscapeNonPrintables):
2663         * rendering/mathml/RenderMathMLFenced.cpp:
2664         (WebCore::RenderMathMLFenced::updateFromElement):
2665         * storage/IDBLevelDBCoding.cpp:
2666         (WebCore::IDBLevelDBCoding::decodeString):
2667         * xml/XMLHttpRequest.cpp:
2668         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2669         * xml/XPathFunctions.cpp:
2670         (WebCore::XPath::FunId::evaluate):
2671         (WebCore::XPath::FunConcat::evaluate):
2672         * xml/XPathUtil.cpp:
2673         (WebCore::XPath::stringValue):
2674         * xml/XSLTProcessorLibxslt.cpp:
2675         (WebCore::writeToStringBuilder):
2676         (WebCore::saveResultToString):
2677         * xml/parser/CharacterReferenceParserInlineMethods.h:
2678         (WebCore::unconsumeCharacters):
2679         (WebCore::consumeCharacterReference):
2680         * xml/parser/XMLCharacterReferenceParser.cpp:
2681         (WebCore::consumeXMLCharacterReference):
2682         * xml/parser/XMLCharacterReferenceParser.h:
2683         * xml/parser/XMLTokenizer.cpp:
2684         (WebCore::XMLTokenizer::nextToken):
2685
2686 2011-09-05  Kent Tamura  <tkent@chromium.org>
2687
2688         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
2689         https://bugs.webkit.org/show_bug.cgi?id=67567
2690
2691         Reviewed by Dimitri Glazkov.
2692
2693         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
2694         - Clear m_icon in FileInputType::setValue().
2695
2696         Tests: fast/forms/file/file-reset-in-change-expected.html
2697                fast/forms/file/file-reset-in-change.html
2698
2699         * html/BaseButtonInputType.cpp:
2700         (WebCore::BaseButtonInputType::setValue):
2701         Implemenation for the "default" mode.
2702         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
2703         * html/BaseButtonInputType.h:
2704         * html/BaseCheckableInputType.cpp:
2705         (WebCore::BaseCheckableInputType::setValue):
2706         Implemenation for the "default/on" mode.
2707         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
2708         * html/BaseCheckableInputType.h:
2709         * html/FileInputType.cpp:
2710         (WebCore::FileInputType::setValue):
2711         Implemenation for the "filename" mode, and clearing m_icon.
2712         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
2713         * html/FileInputType.h:
2714         * html/HTMLInputElement.cpp:
2715         (WebCore::HTMLInputElement::setValue):
2716         Move some code to InputType::setValue().
2717         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
2718         * html/HTMLInputElement.h:
2719         * html/HiddenInputType.cpp:
2720         (WebCore::HiddenInputType::setValue):
2721         Implementation for the "default" mode.
2722         * html/HiddenInputType.h:
2723         * html/InputType.cpp:
2724         (WebCore::InputType::setValue):
2725         Implementation for the "value" mode.
2726         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
2727         * html/InputType.h:
2728         * html/TextFieldInputType.cpp:
2729         (WebCore::TextFieldInputType::setValue):
2730         In addition to the "value" mode processing, updates placeholder visibililty.
2731         * html/TextFieldInputType.h:
2732
2733 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2734
2735         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
2736         https://bugs.webkit.org/show_bug.cgi?id=67681
2737
2738         Reviewed by Kent Tamura.
2739
2740         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
2741         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
2742
2743         Test: fast/forms/suggested-value-after-setvalue.html
2744
2745         * html/HTMLInputElement.cpp:
2746         (WebCore::HTMLInputElement::setValue):
2747
2748 2011-09-06  Adam Barth  <abarth@webkit.org>
2749
2750         Attempt to fix GTK build.
2751
2752         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
2753         (WebKit::createHTMLElementWrapper):
2754
2755 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2756
2757         fast/forms/suggested-value-crash.html crashes on Windows
2758         https://bugs.webkit.org/show_bug.cgi?id=67688
2759
2760         Reviewed by Adam Barth.
2761
2762         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
2763         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
2764         and string comparison.
2765
2766         * testing/Internals.cpp:
2767         (WebCore::Internals::wasLastChangeUserEdit):
2768         (WebCore::Internals::suggestedValue):
2769         (WebCore::Internals::setSuggestedValue):
2770
2771 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2772
2773         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
2774         https://bugs.webkit.org/show_bug.cgi?id=67420
2775
2776         Reviewed by Geoffrey Garen.
2777
2778         No new tests.
2779
2780         Completed the fifth level of the refactoring to add finishCreation() 
2781         methods to all classes within the JSCell hierarchy with non-trivial 
2782         constructor bodies.
2783
2784         This primarily consists of pushing the calls to finishCreation() down 
2785         into the constructors of the subclasses of the second level of the hierarchy 
2786         as well as pulling the finishCreation() calls out into the class's corresponding
2787         create() method if it has one.  Doing both simultaneously allows us to 
2788         maintain the invariant that the finishCreation() method chain is called exactly 
2789         once during the creation of an object, since calling it any other number of 
2790         times (0, 2, or more) will cause an assertion failure.
2791
2792         * WebCore.exp.in:
2793         * bindings/js/JSDOMBinding.h:
2794         (WebCore::DOMConstructorObject::DOMConstructorObject):
2795         * bindings/js/JSDOMGlobalObject.cpp:
2796         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2797         (WebCore::JSDOMGlobalObject::finishCreation):
2798         * bindings/js/JSDOMGlobalObject.h:
2799         * bindings/js/JSDOMWindowShell.cpp:
2800         * bindings/js/JSDOMWindowShell.h:
2801         (WebCore::JSDOMWindowShell::create):
2802         * bindings/js/JSDOMWrapper.h:
2803         (WebCore::JSDOMWrapper::JSDOMWrapper):
2804         * bindings/scripts/CodeGeneratorJS.pm:
2805         (GenerateImplementation):
2806         * bindings/scripts/test/JS/JSTestInterface.cpp:
2807         (WebCore::JSTestInterface::JSTestInterface):
2808         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2809         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2810         * bindings/scripts/test/JS/JSTestObj.cpp:
2811         (WebCore::JSTestObj::JSTestObj):
2812         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2813         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2814         * bridge/c/CRuntimeObject.cpp:
2815         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
2816         (JSC::Bindings::CRuntimeObject::finishCreation):
2817         * bridge/c/CRuntimeObject.h:
2818         * bridge/jni/jsc/JavaRuntimeObject.cpp:
2819         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
2820         (JSC::Bindings::JavaRuntimeObject::finishCreation):
2821         * bridge/jni/jsc/JavaRuntimeObject.h:
2822         * bridge/objc/ObjCRuntimeObject.h:
2823         * bridge/objc/ObjCRuntimeObject.mm:
2824         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
2825         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
2826         * bridge/objc/objc_runtime.h:
2827         (JSC::Bindings::ObjcFallbackObjectImp::create):
2828         * bridge/objc/objc_runtime.mm:
2829         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2830         * bridge/qt/qt_instance.cpp:
2831         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
2832         * bridge/qt/qt_pixmapruntime.cpp:
2833         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
2834         * bridge/qt/qt_runtime.cpp:
2835         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2836         (JSC::Bindings::QtRuntimeMethod::finishCreation):
2837         * bridge/qt/qt_runtime.h:
2838         * bridge/runtime_array.cpp:
2839         (JSC::RuntimeArray::RuntimeArray):
2840         * bridge/runtime_array.h:
2841         (JSC::RuntimeArray::create):
2842         * bridge/runtime_method.cpp:
2843         (JSC::RuntimeMethod::RuntimeMethod):
2844         (JSC::RuntimeMethod::finishCreation):
2845         * bridge/runtime_method.h:
2846         * bridge/runtime_object.cpp:
2847         (JSC::Bindings::RuntimeObject::RuntimeObject):
2848         * bridge/runtime_object.h:
2849         (JSC::Bindings::RuntimeObject::create):
2850
2851 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
2852
2853         Implement list style properties in CSSStyleApplyProperty.
2854         https://bugs.webkit.org/show_bug.cgi?id=67103
2855
2856         Reviewed by Eric Seidel.
2857
2858         No new tests / no behavioral changes.
2859
2860         * css/CSSStyleApplyProperty.cpp:
2861         Add class to wrap call to CSSStyleSelector::styleImage().
2862         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
2863         (WebCore::ApplyPropertyStyleImage::applyValue):
2864         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2865         Initialize handlers for list style properties.
2866         * css/CSSStyleSelector.cpp:
2867         (WebCore::CSSStyleSelector::applyProperty):
2868         Remove existing property implementations.
2869
2870 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
2871
2872         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
2873         https://bugs.webkit.org/show_bug.cgi?id=67673
2874
2875         Reviewed by Ariya Hidayat.
2876
2877         Move away from QPointer to QWeakPointer, it is faster.
2878
2879         No new tests, the existing ones should cover.
2880
2881         * bridge/qt/qt_instance.cpp:
2882         (JSC::Bindings::QtInstance::~QtInstance):
2883         (JSC::Bindings::QtInstance::getClass):
2884         (JSC::Bindings::QtField::name):
2885         (JSC::Bindings::QtField::valueFromInstance):
2886         * bridge/qt/qt_instance.h:
2887         (JSC::Bindings::QtInstance::getObject):
2888         * bridge/qt/qt_runtime.h:
2889         * platform/qt/SharedTimerQt.cpp:
2890         (WebCore::SharedTimerQt::inst):
2891
2892 2011-09-06  Oliver Hunt  <oliver@apple.com>
2893
2894         Update expected results of bindings tests.
2895
2896         * bindings/scripts/test/JS/JSTestInterface.cpp:
2897         (WebCore::JSTestInterfaceConstructor::createStructure):
2898         (WebCore::JSTestInterface::createPrototype):
2899         * bindings/scripts/test/JS/JSTestInterface.h:
2900         (WebCore::JSTestInterface::createStructure):
2901         (WebCore::JSTestInterfacePrototype::createStructure):
2902         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2903         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2904         (WebCore::JSTestMediaQueryListListener::createPrototype):
2905         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2906         (WebCore::JSTestMediaQueryListListener::createStructure):
2907         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
2908         * bindings/scripts/test/JS/JSTestObj.cpp:
2909         (WebCore::JSTestObjConstructor::createStructure):
2910         (WebCore::JSTestObj::createPrototype):
2911         * bindings/scripts/test/JS/JSTestObj.h:
2912         (WebCore::JSTestObj::createStructure):
2913         (WebCore::JSTestObjPrototype::createStructure):
2914         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2915         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2916         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2917         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2918         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2919         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2920
2921 2011-09-06  Eric Seidel  <eric@webkit.org>
2922
2923         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
2924         https://bugs.webkit.org/show_bug.cgi?id=67678
2925
2926         Reviewed by Darin Adler.
2927
2928         This is why we can't have nice things.
2929
2930         There was some confusion in the original DOM HTML 1 spec about
2931         the existence of HTMlBlockquoteElement which was clarified by
2932         a later errata, removing HTMLBlockquoteElement:
2933         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
2934         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
2935
2936         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
2937         is clearer, but thats not how the web works.  Removed it and updated test results.
2938
2939         * CMakeLists.txt:
2940         * CodeGenerators.pri:
2941         * DerivedSources.cpp:
2942         * DerivedSources.make:
2943         * GNUmakefile.list.am:
2944         * WebCore.gypi:
2945         * WebCore.pro:
2946         * WebCore.vcproj/WebCore.vcproj:
2947         * WebCore.xcodeproj/project.pbxproj:
2948         * bindings/gobject/GNUmakefile.am:
2949         * editing/IndentOutdentCommand.cpp:
2950         * html/HTMLBlockquoteElement.cpp: Removed.
2951         * html/HTMLBlockquoteElement.h: Removed.
2952         * html/HTMLBlockquoteElement.idl: Removed.
2953         * html/HTMLElementsAllInOne.cpp:
2954         * html/HTMLQuoteElement.cpp:
2955         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2956         (WebCore::HTMLQuoteElement::insertedIntoDocument):
2957         * html/HTMLTagNames.in:
2958         * page/DOMWindow.idl:
2959
2960 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2961
2962         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
2963         https://bugs.webkit.org/show_bug.cgi?id=67569
2964
2965         Reviewed by Antonio Gomes.
2966
2967         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
2968         Also renamed the shared function from confirmComposition to setComposition.
2969
2970         * WebCore.exp.in:
2971         * editing/Editor.cpp:
2972         (WebCore::Editor::confirmComposition):
2973         (WebCore::Editor::cancelComposition):
2974         (WebCore::Editor::setComposition):
2975         * editing/Editor.h:
2976
2977 2011-09-06  Sam Weinig  <sam@webkit.org>
2978
2979         WebVTTTokenizer files in the wrong place in the Xcode project.
2980
2981         * WebCore.xcodeproj/project.pbxproj:
2982         Move WebVTTTokenizer files so they are in the right place in the project.
2983
2984 2011-09-06  Chris Rogers  <crogers@google.com>
2985
2986         MediaElementAudioSourceNode destruction triggers ASSERTS
2987         https://bugs.webkit.org/show_bug.cgi?id=67665
2988
2989         Reviewed by Nate Chapin.
2990
2991         Test: webaudio/mediaelementaudiosourcenode-gc.html
2992
2993         * html/HTMLMediaElement.cpp:
2994         (WebCore::HTMLMediaElement::setAudioSourceNode):
2995         * webaudio/AudioContext.cpp:
2996         (WebCore::AudioContext::uninitializeDispatch):
2997         (WebCore::AudioContext::stop):
2998         * webaudio/AudioContext.h:
2999
3000 2011-09-05  Oliver Hunt  <oliver@apple.com>
3001
3002         An object's structure should reference the global object responsible for its creation
3003         https://bugs.webkit.org/show_bug.cgi?id=67624
3004
3005         Reviewed by Gavin Barraclough.
3006
3007         Update calls to Structure::create() to pass the globalObject in,
3008         and update the CodeGenerator to generate appropriate createStructure
3009         methods.
3010
3011         * bindings/js/JSAudioConstructor.h:
3012         (WebCore::JSAudioConstructor::createStructure):
3013         * bindings/js/JSDOMBinding.h:
3014         (WebCore::DOMConstructorObject::createStructure):
3015         (WebCore::getDOMStructure):
3016         * bindings/js/JSDOMGlobalObject.h:
3017         (WebCore::JSDOMGlobalObject::createStructure):
3018         (WebCore::getDOMConstructor):
3019         * bindings/js/JSDOMWindowBase.h:
3020         (WebCore::JSDOMWindowBase::createStructure):
3021         * bindings/js/JSDOMWindowShell.cpp:
3022         (WebCore::JSDOMWindowShell::setWindow):
3023         * bindings/js/JSDOMWindowShell.h:
3024         (WebCore::JSDOMWindowShell::createStructure):
3025         * bindings/js/JSDOMWrapper.h:
3026         (WebCore::JSDOMWrapper::createStructure):
3027         * bindings/js/JSImageConstructor.h:
3028         (WebCore::JSImageConstructor::createStructure):
3029         * bindings/js/JSImageDataCustom.cpp:
3030         (WebCore::toJS):
3031         * bindings/js/JSOptionConstructor.h:
3032         (WebCore::JSOptionConstructor::createStructure):
3033         * bindings/js/JSWorkerContextBase.h:
3034         (WebCore::JSWorkerContextBase::createStructure):
3035         * bindings/js/WorkerScriptController.cpp:
3036         (WebCore::WorkerScriptController::initScript):
3037         * bindings/scripts/CodeGeneratorJS.pm:
3038         (GenerateHeader):
3039         (GenerateImplementation):
3040         (GenerateConstructorDeclaration):
3041         * bridge/c/CRuntimeObject.h:
3042         (JSC::Bindings::CRuntimeObject::createStructure):
3043         * bridge/c/c_instance.cpp:
3044         (JSC::Bindings::CRuntimeMethod::createStructure):
3045         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3046         (JavaRuntimeMethod::createStructure):
3047         * bridge/jni/jsc/JavaRuntimeObject.h:
3048         (JSC::Bindings::JavaRuntimeObject::createStructure):
3049         * bridge/objc/ObjCRuntimeObject.h:
3050         (JSC::Bindings::ObjCRuntimeObject::createStructure):
3051         * bridge/objc/objc_instance.mm:
3052         (ObjCRuntimeMethod::createStructure):
3053         * bridge/objc/objc_runtime.h:
3054         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3055         * bridge/runtime_array.h:
3056         (JSC::RuntimeArray::createStructure):
3057         * bridge/runtime_method.h:
3058         (JSC::RuntimeMethod::createStructure):
3059         * bridge/runtime_object.h:
3060         (JSC::Bindings::RuntimeObject::createStructure):
3061
3062 2011-09-06  Anders Carlsson  <andersca@apple.com>
3063
3064         Move NPAPI headers in bridge to plugins
3065         https://bugs.webkit.org/show_bug.cgi?id=67661
3066
3067         Reviewed by Darin Adler.
3068
3069         * WebCore.gypi:
3070         * WebCore.pro:
3071         * WebCore.vcproj/WebCore.vcproj:
3072         * WebCore.xcodeproj/project.pbxproj:
3073         Update build systems.
3074
3075         * bridge/npapi.h: Removed.
3076         * bridge/npruntime.h: Removed.
3077         * bridge/nptypes.h: Removed.
3078         * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
3079         * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
3080         * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
3081
3082 2011-09-06  David Hyatt  <hyatt@apple.com>
3083
3084         https://bugs.webkit.org/show_bug.cgi?id=67672
3085         
3086         Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
3087         auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
3088         is specified.
3089
3090         Reviewed by Beth Dakin.
3091
3092         Covered well by existing tests.
3093
3094         * css/CSSComputedStyleDeclaration.cpp:
3095         (WebCore::fillSizeToCSSValue):
3096         * css/CSSParser.cpp:
3097         (WebCore::CSSParser::parseFillSize):
3098         * css/CSSStyleSelector.cpp:
3099         (WebCore::CSSStyleSelector::mapFillSize):
3100
3101 2011-09-06  David Hyatt  <hyatt@apple.com>
3102
3103         https://bugs.webkit.org/show_bug.cgi?id=67657
3104         
3105         Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
3106         I'll do that in the next patch.
3107
3108         Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
3109         width values. It simply makes cuts into the border image drawing area (which for now is just the border
3110         box, but that will change once border-image-outset is implemented).
3111         
3112         This means we need additional storage for the slices, since they are now separate from the border widths.
3113         
3114         For backwards compatibility, -webkit-border-image will continue to set the border widths when
3115         border-image-width is specified in the -webkit-border-image shorthand.
3116
3117         Reviewed by Beth Dakin.
3118
3119         Added new tests in fast/borders.
3120
3121         * css/CSSBorderImageSliceValue.cpp:
3122         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
3123         (WebCore::CSSBorderImageSliceValue::cssText):
3124         * css/CSSBorderImageSliceValue.h:
3125         (WebCore::CSSBorderImageSliceValue::create):
3126         (WebCore::CSSBorderImageSliceValue::slices):
3127         Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
3128         for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
3129         subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
3130
3131         * css/CSSBorderImageValue.cpp:
3132         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3133         (WebCore::CSSBorderImageValue::cssText):
3134         * css/CSSBorderImageValue.h:
3135         (WebCore::CSSBorderImageValue::create):
3136         Make CSSBorderImageValue take the border slices during construction now.
3137     
3138         * css/CSSComputedStyleDeclaration.cpp:
3139         (WebCore::valueForNinePieceImageSlice):
3140         (WebCore::valueForNinePieceImageWidth):
3141         (WebCore::valueForNinePieceImageRepeat):
3142         (WebCore::valueForNinePieceImage):
3143         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3144         Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
3145         to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
3146
3147         * css/CSSParser.cpp:
3148         (WebCore::CSSParser::parseValue):
3149         (WebCore::CSSParser::parseReflect):
3150         (WebCore::BorderImageParseContext::BorderImageParseContext):
3151         (WebCore::BorderImageParseContext::commitImageSlice):
3152         (WebCore::BorderImageParseContext::commitBorderWidth):
3153         (WebCore::BorderImageParseContext::commitBorderImage):
3154         (WebCore::CSSParser::parseBorderImage):
3155         (WebCore::isBorderImageRepeatKeyword):
3156         (WebCore::CSSParser::parseBorderImageRepeat):
3157         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
3158         (WebCore::CSSParser::parseBorderImageSlice):
3159         (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
3160         (WebCore::BorderImageWidthParseContext::allowNumber):
3161         (WebCore::BorderImageWidthParseContext::allowFinalCommit):
3162         (WebCore::BorderImageWidthParseContext::top):
3163         (WebCore::BorderImageWidthParseContext::commitNumber):
3164         (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
3165         (WebCore::BorderImageWidthParseContext::setTop):
3166         (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
3167         (WebCore::CSSParser::parseBorderImageWidth):
3168         * css/CSSParser.h:
3169         Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
3170
3171         * css/CSSPrimitiveValue.cpp:
3172         (WebCore::isValidCSSUnitTypeForDoubleConversion):
3173         (WebCore::CSSPrimitiveValue::init):
3174         (WebCore::CSSPrimitiveValue::cleanup):
3175         (WebCore::CSSPrimitiveValue::getQuadValue):
3176         (WebCore::CSSPrimitiveValue::cssText):
3177         * css/CSSPrimitiveValue.h:
3178         (WebCore::CSSPrimitiveValue::getQuadValue):
3179         Add the new Quad value to CSSPrimitiveValue.
3180     
3181         * css/CSSPropertyNames.in:
3182         Add the new properties for border-image-width and -webkit-mask-box-image-width.
3183
3184         * css/CSSStyleSelector.cpp:
3185         (WebCore::CSSStyleSelector::applyProperty):
3186         (WebCore::CSSStyleSelector::mapNinePieceImage):
3187         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
3188         (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
3189         (WebCore::CSSStyleSelector::loadPendingImages):
3190         * css/CSSStyleSelector.h:
3191         Add the code to map the image width into border slices.
3192     
3193         * css/Rect.h:
3194         (WebCore::RectBase::top):
3195         (WebCore::RectBase::right):
3196         (WebCore::RectBase::bottom):
3197         (WebCore::RectBase::left):
3198         (WebCore::RectBase::setTop):
3199         (WebCore::RectBase::setRight):
3200         (WebCore::RectBase::setBottom):
3201         (WebCore::RectBase::setLeft):
3202         (WebCore::RectBase::RectBase):
3203         (WebCore::RectBase::~RectBase):
3204         (WebCore::Rect::create):
3205         (WebCore::Rect::Rect):
3206         (WebCore::Quad::create):
3207         (WebCore::Quad::Quad):
3208         Adding the new Quad value.
3209
3210         * rendering/RenderBoxModelObject.cpp:
3211         (WebCore::computeBorderImageSide):
3212         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3213         Modify painting to treat the border slices as separate from the border widths.
3214         
3215         * rendering/style/NinePieceImage.cpp:
3216         (WebCore::NinePieceImage::operator==):
3217         * rendering/style/NinePieceImage.h:
3218         (WebCore::NinePieceImage::NinePieceImage):
3219         (WebCore::NinePieceImage::imageSlices):
3220         (WebCore::NinePieceImage::setImageSlices):
3221         (WebCore::NinePieceImage::borderSlices):
3222         (WebCore::NinePieceImage::setBorderSlices):
3223         (WebCore::NinePieceImage::copyImageSlicesFrom):
3224         (WebCore::NinePieceImage::copyBorderSlicesFrom):
3225         * rendering/style/StyleRareNonInheritedData.cpp:
3226         Add the border slices.
3227         
3228         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3229         * rendering/style/StyleReflection.h:
3230         (WebCore::StyleReflection::StyleReflection):
3231         Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
3232         old behavior.
3233
3234 2011-09-06  Noel Gordon  <noel.gordon@gmail.com>
3235
3236         [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
3237         https://bugs.webkit.org/show_bug.cgi?id=67589
3238
3239         Reviewed by Kenneth Russell.
3240
3241         Change the row converter function signatures to be the same.  Call them via a function
3242         pointer during the encoding loop.  Minor webkit style cleanup, remove unused include.
3243
3244         No new tests.  Covered by existing canvas 2d and 3d tests.
3245         canvas/philip/tests/toDataURL.jpeg.alpha.html
3246         fast/canvas/webgl/premultiplyalpha-test.html
3247
3248         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
3249         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
3250         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
3251         (WebCore::encodePixels):  Move constants out of the encoding loop: use a function pointer
3252         to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
3253         and use pixelRowStride constant.
3254         (WebCore::JPEGImageEncoder::encode):
3255
3256 2011-09-06  Aaron Colwell  <acolwell@chromium.org>
3257
3258         Allow MediaSource API to be enabled at runtime.
3259         https://bugs.webkit.org/show_bug.cgi?id=67306
3260
3261         Reviewed by Eric Carlson.
3262
3263         * bindings/generic/RuntimeEnabledFeatures.cpp:
3264         * bindings/generic/RuntimeEnabledFeatures.h:
3265         (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled):
3266         (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled):
3267         * html/HTMLMediaElement.idl:
3268
3269 2011-09-06  Mike Reed  <reed@google.com>
3270
3271         [skia] never draw with GDI, so that all text can be gpu-accelerated
3272         https://bugs.webkit.org/show_bug.cgi?id=65203
3273
3274         Reviewed by Kenneth Russell.
3275
3276         * platform/graphics/chromium/FontChromiumWin.cpp:
3277         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
3278         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
3279         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3280         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
3281         (WebCore::drawGlyphsWin):
3282         (WebCore::Font::drawComplexText):
3283         * platform/graphics/chromium/UniscribeHelper.cpp:
3284         (WebCore::UniscribeHelper::draw):
3285         * platform/graphics/skia/PlatformContextSkia.cpp:
3286         * platform/graphics/skia/PlatformContextSkia.h:
3287         * platform/graphics/skia/SkiaFontWin.cpp:
3288         (WebCore::skiaDrawText):
3289         * platform/graphics/skia/SkiaFontWin.h:
3290
3291 2011-09-06  Nat Duca  <nduca@chromium.org>
3292
3293         [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path
3294         https://bugs.webkit.org/show_bug.cgi?id=67621
3295
3296         CCSingleThreadProxy should not perform layout when called
3297         via the compositeImmediately path. Doing so makes it look
3298         like frame rate is unbounded.
3299
3300         Reviewed by James Robinson.
3301
3302         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3303         (WebCore::CCSingleThreadProxy::compositeAndReadback):
3304         (WebCore::CCSingleThreadProxy::compositeImmediately):
3305         (WebCore::CCSingleThreadProxy::commitIfNeeded):
3306         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3307
3308 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3309
3310         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
3311         https://bugs.webkit.org/show_bug.cgi?id=67453
3312
3313         Reviewed by Kent Tamura.
3314
3315         Fixed the bug by updating inner text value in setSuggestedValue.
3316
3317         Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
3318
3319         Test: fast/forms/suggested-value.html
3320
3321         * WebCore.exp.in:
3322         * testing/Internals.cpp:
3323         (WebCore::Internals::suggestedValue):
3324         (WebCore::Internals::setSuggestedValue):
3325         * testing/Internals.h:
3326         * testing/Internals.idl:
3327
3328 2011-09-06  Eric Carlson  <eric.carlson@apple.com>
3329
3330         load() does not reset the resource selection algorithm
3331         https://bugs.webkit.org/show_bug.cgi?id=64917
3332
3333         Reviewed by Darin Adler.
3334
3335         Test: media/video-source-load.html
3336
3337         * html/HTMLMediaElement.cpp:
3338         (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
3339             comments and rearrange logic to more closely match logic in spec.
3340         (WebCore::HTMLMediaElement::noneSupported): Update comments.
3341
3342 2011-09-06  Abhishek Arya  <inferno@chromium.org>
3343
3344         Style not propagated to anonymous boxes and anonymous
3345         inline-blocks.
3346         https://bugs.webkit.org/show_bug.cgi?id=67364
3347
3348         Reviewed by James Robinson.
3349
3350         Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
3351
3352         * rendering/RenderBlock.cpp:
3353         (WebCore::RenderBlock::styleDidChange):
3354         * rendering/RenderObject.cpp:
3355         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
3356         * rendering/RenderObject.h:
3357
3358 2011-09-06  Robin Cao  <robin.cao@torchmobile.com.cn>
3359
3360         [skia] States of GraphicsContext may never be restored after clipToImageBuffer
3361         https://bugs.webkit.org/show_bug.cgi?id=67358
3362
3363         beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
3364         an empty ImageBuffer, which will make states of GraphicsContext incorrect.
3365
3366         Reviewed by James Robinson.
3367
3368         Test: fast/repaint/background-clip-text.html
3369
3370         * platform/graphics/skia/PlatformContextSkia.cpp:
3371         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
3372
3373 2011-09-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
3374
3375         [EFL] Do not allocate memory for extremely large surfaces.
3376         https://bugs.webkit.org/show_bug.cgi?id=65192
3377
3378         Reviewed by Martin Robinson.
3379
3380         So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
3381         the size of the whole form element passed to it.
3382
3383         In the case of
3384         fast/overflow/overflow-height-float-not-removed-crash.html and others,
3385         this meant extremely large widgets, which crashed the code.
3386
3387         We now only render the widgets if they are smaller than some hardcoded
3388         and sufficiently large values which should work in most cases.
3389
3390         No new tests, as this was uncovered by existing ones.
3391
3392         * platform/efl/RenderThemeEfl.cpp:
3393         (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
3394         (WebCore::RenderThemeEfl::cacheThemePartNew):
3395         (WebCore::RenderThemeEfl::paintThemePart):
3396         * platform/efl/RenderThemeEfl.h:
3397
3398 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
3399
3400         Web Inspector: implement source map v3 consumer.
3401         https://bugs.webkit.org/show_bug.cgi?id=67205
3402
3403         Reviewed by Yury Semikhatsky.
3404
3405         Test: inspector/debugger/compiler-source-mapping.html
3406
3407         * WebCore.gypi:
3408         * WebCore.vcproj/WebCore.vcproj:
3409         * inspector/front-end/CompilerSourceMapping.js: Added.
3410         (WebInspector.CompilerSourceMapping):
3411         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
3412         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
3413         (WebInspector.CompilerSourceMapping.prototype.get sources):
3414         (WebInspector.ClosureCompilerSourceMapping):
3415         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
3416         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
3417         (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
3418         (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
3419         (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
3420         (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
3421         (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
3422         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
3423         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
3424         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
3425         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
3426         * inspector/front-end/WebKit.qrc:
3427         * inspector/front-end/inspector.html:
3428
3429 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
3430
3431         Web Inspector: re-implement RawSourceCode.
3432         https://bugs.webkit.org/show_bug.cgi?id=67609
3433
3434         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
3435         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
3436         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
3437         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
3438         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
3439         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
3440         source code should be shown to user and raw locations should be converted to ui locations
3441         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
3442         is ready for loading and source mapping is available.
3443         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
3444         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
3445         source code, links and decorations in UI.
3446
3447         Reviewed by Yury Semikhatsky.
3448
3449         * inspector/front-end/DebuggerPresentationModel.js:
3450         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3451         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3452         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
3453         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3454         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
3455         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
3456         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
3457         * inspector/front-end/ScriptsPanel.js:
3458         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
3459         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3460         * inspector/front-end/SourceFile.js:
3461         (WebInspector.RawSourceCode):
3462         (WebInspector.RawSourceCode.prototype.addScript):
3463         (WebInspector.RawSourceCode.prototype.contentEdited):
3464         (WebInspector.RawSourceCode.prototype._resourceFinished):
3465         (WebInspector.RawSourceCode.prototype.requestContent):
3466         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
3467         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
3468         (WebInspector.RawSourceCode.prototype.forceLoadContent):
3469         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
3470         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
3471         (WebInspector.RawSourceCode.prototype._createContentProvider):
3472         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
3473         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
3474         (WebInspector.RawSourceCode.prototype._createSourceMapping):
3475         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3476         (WebInspector.StaticContentProvider):
3477         (WebInspector.StaticContentProvider.prototype.requestContent):
3478
3479 2011-09-06  Csaba Osztrogonác  <ossy@webkit.org>
3480
3481         Unreviewed, rolling out r94564.
3482         http://trac.webkit.org/changeset/94564
3483         https://bugs.webkit.org/show_bug.cgi?id=67555
3484
3485         It broke many tests
3486
3487         * svg/SVGTRefElement.cpp:
3488         (WebCore::SVGTRefElement::svgAttributeChanged):
3489
3490 2011-09-06  Rob Buis  <rbuis@rim.com>
3491
3492         use after free in WebCore::SVGTRefElement::updateReferencedText
3493         https://bugs.webkit.org/show_bug.cgi?id=67555
3494
3495         Reviewed by Nikolas Zimmermann.
3496
3497         Do not install event listener if tref is not part of any document.
3498
3499         Test: svg/custom/tref-clone-crash.html
3500
3501         * svg/SVGTRefElement.cpp:
3502         (WebCore::SVGTRefElement::svgAttributeChanged):
3503
3504 2011-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3505
3506         Unreviewed, rolling out r94560.
3507         http://trac.webkit.org/changeset/94560
3508         https://bugs.webkit.org/show_bug.cgi?id=67636
3509
3510         It made inspector/debugger/script-formatter.html flakey
3511         (Requested by Ossy on #webkit).
3512
3513         * inspector/front-end/BreakpointManager.js:
3514         (WebInspector.BreakpointManager.prototype.set reset):
3515         * inspector/front-end/DebuggerPresentationModel.js:
3516         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
3517         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3518         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
3519         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
3520         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
3521         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
3522         (WebInspector.PresenationCallFrame.prototype.select):
3523         * inspector/front-end/ScriptsPanel.js:
3524         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
3525         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3526         * inspector/front-end/SourceFile.js:
3527         (WebInspector.RawSourceCode):
3528         (WebInspector.RawSourceCode.prototype.addScript):
3529         (WebInspector.RawSourceCode.prototype.contentEdited):
3530         (WebInspector.RawSourceCode.prototype.requestContent):
3531         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
3532         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
3533         (WebInspector.RawSourceCode.prototype._setContentProvider):
3534         (WebInspector.RawSourceCode.prototype.forceLoadContent):
3535         (WebInspector.RawSourceCode.prototype._reload):
3536         (WebInspector.RawSourceCode.prototype._requestContent):
3537         (WebInspector.RawSourceCode.prototype._loadResourceContent):
3538         (WebInspector.RawSourceCode.prototype._loadScriptContent):
3539         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
3540         (WebInspector.RawSourceCode.prototype._didRequestContent):
3541         (WebInspector.RawSourceCode.prototype._hasPendingResource):
3542         (WebInspector.FormattedContentProvider):
3543         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
3544         (WebInspector.FormattedContentProvider.prototype.requestContent):
3545
3546 2011-09-06  Antti Koivisto  <antti@apple.com>
3547
3548         https://bugs.webkit.org/show_bug.cgi?id=67480
3549         [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
3550
3551         Reviewed by Dimitri Glazkov.
3552
3553         The text node needs willRecalcStyle mechanism too.
3554
3555         * dom/Text.cpp:
3556         (WebCore::Text::recalcTextStyle):
3557         * dom/Text.h:
3558         (WebCore::Text::willRecalcTextStyle):
3559         * svg/SVGTRefElement.cpp:
3560         (WebCore::SVGTRefElement::SVGTRefElement):
3561         (WebCore::SVGShadowText::SVGShadowText):
3562         (WebCore::SVGShadowText::willRecalcTextStyle):
3563
3564 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
3565
3566         Web Inspector: re-implement RawSourceCode.
3567         https://bugs.webkit.org/show_bug.cgi?id=67609
3568
3569         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
3570         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
3571         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
3572         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
3573         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
3574         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
3575         source code should be shown to user and raw locations should be converted to ui locations
3576         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
3577         is ready for loading and source mapping is available.
3578         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
3579         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
3580         source code, links and decorations in UI.
3581
3582         Reviewed by Yury Semikhatsky.
3583
3584         * inspector/front-end/DebuggerPresentationModel.js:
3585         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3586         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3587         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
3588         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3589         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
3590         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
3591         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
3592         * inspector/front-end/ScriptsPanel.js:
3593         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
3594         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3595         * inspector/front-end/SourceFile.js:
3596         (WebInspector.RawSourceCode):
3597         (WebInspector.RawSourceCode.prototype.addScript):
3598         (WebInspector.RawSourceCode.prototype.contentEdited):
3599         (WebInspector.RawSourceCode.prototype._resourceFinished):
3600         (WebInspector.RawSourceCode.prototype.requestContent):
3601         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
3602         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
3603         (WebInspector.RawSourceCode.prototype.forceLoadContent):
3604         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
3605         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
3606         (WebInspector.RawSourceCode.prototype._createContentProvider):
3607         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
3608         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
3609         (WebInspector.RawSourceCode.prototype._createSourceMapping):
3610         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3611         (WebInspector.StaticContentProvider):
3612         (WebInspector.StaticContentProvider.prototype.requestContent):
3613
3614 2011-09-06  Dirk Schulze  <krit@webkit.org>
3615
3616         Return to transform multiplication: motion transform * other transforms
3617         https://bugs.webkit.org/show_bug.cgi?id=67601
3618
3619         Reviewed by Nikolas Zimmermann.
3620         
3621         Right now we take the current transform of a transformable SVG element, post multiply the animation transform
3622         and post multiply the motion transform to the other both:
3623
3624           transform * animation transform * motion transform
3625
3626         We switched to this behavior with the clean up of AffineTransform.
3627         While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
3628
3629           motion transform * transform * animation transform
3630
3631         This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
3632         on the SVG WG, their is a consense that the current specified behavior is unwanted. See
3633         http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
3634
3635         We pass the following tests of the official W3C SVG test suite again now:
3636
3637         - animate-elem-24-t.svg
3638         - animate-elem-30-t.svg
3639
3640         * svg/SVGStyledTransformableElement.cpp:
3641         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
3642         * svg/SVGTextElement.cpp:
3643         (WebCore::SVGTextElement::animatedLocalTransform):
3644
3645 2011-09-05  Adam Barth  <abarth@webkit.org>
3646
3647         window.HTMLSpanElement does not exist
3648         https://bugs.webkit.org/show_bug.cgi?id=67571
3649
3650         Reviewed by Sam Weinig.
3651
3652         We have these objects for most other elements and HTMLSpanElement
3653         exists in Firefox and in the HTML5 spec.  This patch adds it.
3654
3655         Test: fast/dom/wrapper-classes.html
3656
3657         * CMakeLists.txt:
3658         * CodeGenerators.pri:
3659         * DerivedSources.cpp:
3660         * DerivedSources.make:
3661         * GNUmakefile.list.am:
3662         * WebCore.gypi:
3663         * WebCore.pro:
3664         * WebCore.vcproj/WebCore.vcproj:
3665         * WebCore.xcodeproj/project.pbxproj:
3666         * html/HTMLElementsAllInOne.cpp:
3667         * html/HTMLSpanElement.cpp: Added.
3668         (WebCore::HTMLSpanElement::HTMLSpanElement):
3669         (WebCore::HTMLSpanElement::create):
3670         * html/HTMLSpanElement.h: Added.
3671         * html/HTMLSpanElement.idl: Added.
3672         * html/HTMLTagNames.in:
3673         * page/DOMWindow.idl:
3674
3675 2011-09-04  Abhishek Arya  <inferno@chromium.org>
3676
3677         Style not propagated to anonymous boxes and anonymous
3678         inline-blocks.
3679         https://bugs.webkit.org/show_bug.cgi?id=67364
3680
3681         Reviewed by James Robinson.
3682
3683         Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
3684                fast/ruby/ruby-block-style-not-updated.html
3685                fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
3686                fast/ruby/ruby-inline-style-not-updated.html
3687                fast/table/table-row-style-not-updated-with-after-content.html
3688                fast/table/table-row-style-not-updated-with-before-content.html
3689                fast/table/table-row-style-not-updated.html
3690                fast/table/table-style-not-updated.html
3691
3692         * rendering/RenderObject.cpp:
3693         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
3694         * rendering/RenderObject.h:
3695         (WebCore::RenderObject::isBeforeAfterContent):
3696         * rendering/RenderRuby.cpp:
3697         (WebCore::RenderRubyAsInline::styleDidChange):
3698         (WebCore::RenderRubyAsBlock::styleDidChange):
3699         * rendering/RenderRuby.h:
3700         * rendering/RenderTable.cpp:
3701         (WebCore::RenderTable::styleDidChange):
3702         * rendering/RenderTableRow.cpp:
3703         (WebCore::RenderTableRow::styleDidChange):
3704         (WebCore::RenderTableRow::addChild):
3705         * rendering/RenderTableSection.cpp:
3706         (WebCore::RenderTableSection::styleDidChange):
3707         (WebCore::RenderTableSection::addChild):
3708         * rendering/RenderTableSection.h:
3709
3710 2011-09-05  Abhishek Arya  <inferno@chromium.org>
3711
3712         Crash in RenderObjectChildList::destroyLeftOverChildren()
3713         https://bugs.webkit.org/show_bug.cgi?id=64753
3714
3715         Reviewed by James Robinson.
3716
3717         If any of the ancestors between column span element and containing
3718         column's block is a continuation, then don't attempt to render the
3719         column span by splitting the block into continuations.
3720
3721         Test: fast/multicol/column-span-parent-continuation-crash.html
3722
3723         * rendering/RenderBlock.cpp:
3724         (WebCore::RenderBlock::columnsBlockForSpanningElement):
3725
3726 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3727
3728         Unreviewed, rolling out r94537.
3729         http://trac.webkit.org/changeset/94537
3730         https://bugs.webkit.org/show_bug.cgi?id=67618
3731
3732         Does not compile on Chromium Mac (Requested by abarth_ on
3733         #webkit).
3734
3735         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3736         (WebCore::preMultipliedBGRAtoRGB):
3737         (WebCore::RGBAtoRGB):
3738         (WebCore::encodePixels):
3739         (WebCore::JPEGImageEncoder::encode):
3740
3741 2011-09-05  Noel Gordon  <noel.gordon@gmail.com>
3742
3743         [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
3744         https://bugs.webkit.org/show_bug.cgi?id=67589
3745
3746         Reviewed by Adam Barth.
3747
3748         Change the row converter function signatures to be the same.  Call them via a function
3749         pointer during the encoding loop.  Minor webkit stlye cleanup, remove unused include.
3750
3751         No new tests.  Covered by existing canvas 2d and 3d tests.
3752         canvas/philip/tests/toDataURL.jpeg.alpha.html
3753         fast/canvas/webgl/premultiplyalpha-test.html
3754
3755         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
3756         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
3757         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
3758         (WebCore::encodePixels):  Move contants out of the encoding loop: use a function pointer to
3759         call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
3760         image row encoding loop.  Add/use pixelRowStride constant.
3761         (WebCore::JPEGImageEncoder::encode):  webkit style: no need to split lines.
3762
3763 2011-09-05  John Knottenbelt  <jknotten@chromium.org>
3764
3765         Take pageScaleFactor into account for MouseRelatedEvents.
3766         https://bugs.webkit.org/show_bug.cgi?id=67592
3767
3768         Reviewed by Dimitri Glazkov.
3769
3770         Test: fast/events/page-scaled-mouse-click.html
3771
3772         * dom/MouseRelatedEvent.cpp:
3773         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3774
3775 2011-09-02  Pavel Podivilov  <podivilov@chromium.org>
3776
3777         Web Inspector: rename RawSourceCode.reload to contentEdited.
3778         https://bugs.webkit.org/show_bug.cgi?id=67504
3779
3780         Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
3781         (RawSourceCode isn't supposed to have any content).
3782
3783         Reviewed by Yury Semikhatsky.
3784
3785         * inspector/front-end/DebuggerPresentationModel.js:
3786         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
3787         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
3788         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3789         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3790         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
3791         * inspector/front-end/SourceFile.js:
3792         (WebInspector.RawSourceCode):
3793         (WebInspector.RawSourceCode.prototype.contentEdited):
3794         (WebInspector.RawSourceCode.prototype.forceLoadContent):
3795         (WebInspector.RawSourceCode.prototype._reload):
3796         (WebInspector.RawSourceCode.prototype._didRequestContent):
3797
3798 2011-09-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
3799
3800         Fix the regression of bug 65333 introduced by 60170.
3801         This caused the speech input bubble to appear in the wrong side for RTL text inputs.
3802         https://bugs.webkit.org/show_bug.cgi?id=67597
3803
3804         Reviewed by Tony Gentilcore.
3805
3806         No new tests. Fixing regression.
3807
3808         * html/shadow/TextControlInnerElements.cpp:
3809         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
3810
3811 2011-09-05  Alexander Pavlov  <apavlov@chromium.org>
3812
3813         Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
3814         https://bugs.webkit.org/show_bug.cgi?id=67602
3815
3816         Reviewed by Yury Semikhatsky.
3817
3818         * inspector/front-end/inspector.js:
3819         (WebInspector.documentKeyDown):
3820
3821 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3822
3823         Unreviewed, rolling out r94525.
3824         http://trac.webkit.org/changeset/94525
3825         https://bugs.webkit.org/show_bug.cgi?id=67599
3826
3827         WinCE compilation failed. (Requested by loislo on #webkit).
3828
3829         * platform/text/TextBoundaries.cpp:
3830         * platform/text/TextBreakIteratorICU.cpp:
3831         * platform/text/qt/TextBoundariesQt.cpp:
3832         * platform/text/qt/TextBreakIteratorQt.cpp:
3833
3834 2011-09-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3835
3836         [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
3837         https://bugs.webkit.org/show_bug.cgi?id=67391
3838
3839         Reviewed by Kenneth Rohde Christiansen.
3840
3841         * platform/text/TextBoundaries.cpp:
3842         * platform/text/TextBreakIteratorICU.cpp:
3843         * platform/text/qt/TextBoundariesQt.cpp:
3844         * platform/text/qt/TextBreakIteratorQt.cpp:
3845
3846 2011-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3847
3848         Logic from HTMLElement::deprecatedCreateContextualFragment moved into
3849         Range::createContextualFragment function.
3850         https://bugs.webkit.org/show_bug.cgi?id=67056
3851
3852         Reviewed by Ryosuke Niwa.
3853
3854         Code Refactoring for deprecatedCreateContextualFragment.
3855
3856         No new tests. Code Re-factoring.
3857
3858         * dom/Element.cpp:
3859         * dom/Element.h:
3860         * dom/Range.cpp:
3861         (WebCore::insertIntoFragment):
3862         (WebCore::Range::createDocumentFragmentForElement):
3863         (WebCore::Range::createContextualFragment):
3864         * dom/Range.h:
3865         * editing/markup.cpp:
3866         (WebCore::createFragmentFromMarkup):
3867         * html/HTMLElement.cpp:
3868         * html/HTMLElement.h:
3869
3870 2011-09-04  James Kozianski  <koz@chromium.org>
3871
3872         Unreviewed, rolling out r94510.
3873         http://trac.webkit.org/changeset/94510
3874         https://bugs.webkit.org/show_bug.cgi?id=66531
3875
3876         Causes layout test crashes.
3877
3878         * dom/Document.cpp:
3879         (WebCore::Document::webkitWillEnterFullScreenForElement):
3880         (WebCore::Document::webkitDidExitFullScreenForElement):
3881         * dom/NodeRenderingContext.cpp:
3882         (WebCore::wrapWithRenderFullScreen):
3883         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3884         * rendering/RenderFullScreen.cpp:
3885         (RenderFullScreen::createFullScreenStyle):
3886         * rendering/RenderFullScreen.h:
3887
3888 2011-09-04  Abhishek Arya  <inferno@chromium.org>
3889
3890         Unreviewed. Compile fix for r94511.
3891
3892         * dom/Range.cpp:
3893         (WebCore::Range::processContents):
3894         (WebCore::Range::processAncestorsAndTheirSiblings):
3895
3896 2011-09-04  Abhishek Arya  <inferno@chromium.org>
3897
3898         Crash in Range::processAncestorsAndTheirSiblings.
3899         https://bugs.webkit.org/show_bug.cgi?id=67556
3900
3901         Reviewed by Ryosuke Niwa.
3902
3903         Create a temporary RefPtr Node vector to keep all the ancestor's
3904         childs so that we don't access removed child nodes.
3905
3906         Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
3907
3908         * dom/Range.cpp:
3909         (WebCore::Range::processContents):
3910         (WebCore::Range::processAncestorsAndTheirSiblings):
3911
3912 2011-09-04  Jeremy Apthorp  <jeremya@google.com>
3913
3914         Don't detach elements from the render tree when entering fullscreen mode
3915         https://bugs.webkit.org/show_bug.cgi?id=66531
3916
3917         This prevents plugin instances from being destroyed and reinstantiated
3918         when entering fullscreen mode.
3919
3920         Reviewed by Darin Fisher.
3921
3922         Test: plugins/fullscreen-plugins-dont-reload.html
3923
3924         * dom/Document.cpp:
3925         (WebCore::Document::webkitWillEnterFullScreenForElement):
3926         (WebCore::Document::webkitDidExitFullScreenForElement):
3927         * dom/NodeRenderingContext.cpp:
3928         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3929         * rendering/RenderFullScreen.cpp:
3930         (createFullScreenStyle):
3931         (RenderFullScreen::wrapRenderer):
3932         (RenderFullScreen::unwrapRenderer):
3933         * rendering/RenderFullScreen.h:
3934
3935 2011-09-04  Dan Bernstein  <mitz@apple.com>
3936
3937         <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
3938
3939         Reviewed by Darin Adler.
3940
3941         Test: fast/css/font-face-used-after-retired.html
3942
3943         During style recalc, existing renderers may reference their old style, including font data.
3944         Allow them to do so safely by keeping retired custom font data around until after style recalc.
3945
3946         * css/CSSFontFace.cpp:
3947         (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
3948         face is still part of any segmented font face. Otherwise, deletes the custom font data.
3949         * css/CSSFontFace.h:
3950         * css/CSSFontFaceSource.cpp:
3951         (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
3952         retired font data.
3953         * css/CSSFontSelector.cpp:
3954         (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
3955         still the active font selector for a document. Otherwise, deletes the custom font data.
3956         * css/CSSFontSelector.h:
3957         * css/CSSSegmentedFontFace.cpp:
3958         (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
3959         deleting retired font data.
3960         * dom/Document.cpp:
3961         (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
3962         is destroyed before getting a chance to recalc style after custom fonts have been retired.
3963         (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
3964         (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
3965         data.
3966         * dom/Document.h:
3967         (WebCore::Document::retireCustomFont): Added.
3968
3969 2011-09-04  Sam Weinig  <sam@webkit.org>
3970
3971         Document.createEvent should support all the interfaces of Event we got
3972         https://bugs.webkit.org/show_bug.cgi?id=67568
3973
3974         Reviewed by Anders Carlsson.
3975
3976         Updated fast/events/event-creation.html
3977
3978         * dom/BeforeLoadEvent.h:
3979         (WebCore::BeforeLoadEvent::create):
3980         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
3981         Added empty create.
3982         
3983         * dom/Document.cpp:
3984         (WebCore::Document::createEvent):
3985         Add missing interfaces.
3986
3987         * dom/HashChangeEvent.h:
3988         (WebCore::HashChangeEvent::create):
3989         (WebCore::HashChangeEvent::HashChangeEvent):
3990         Added empty create.
3991
3992         * page/SpeechInputEvent.cpp:
3993         (WebCore::SpeechInputEvent::create):
3994         (WebCore::SpeechInputEvent::SpeechInputEvent):
3995         (WebCore::SpeechInputEvent::~SpeechInputEvent):
3996         * page/SpeechInputEvent.h:
3997         Added empty create.
3998
3999 2011-09-04  Adam Barth  <abarth@webkit.org>
4000
4001         [Chromium] Add memory threshold values to WebKitPlatformSupport.h
4002         https://bugs.webkit.org/show_bug.cgi?id=67575
4003
4004         Reviewed by Darin Fisher.
4005
4006         Grab these memory thresholds from PlatformSupport rather than hard-coding them.
4007
4008         * bindings/v8/V8GCController.cpp:
4009         (WebCore::V8GCController::checkMemoryUsage):
4010         * platform/chromium/PlatformSupport.h:
4011         * platform/qt/PlatformSupport.h:
4012         (WebCore::PlatformSupport::lowMemoryUsageMB):
4013         (WebCore::PlatformSupport::highMemoryUsageMB):
4014         (WebCore::PlatformSupport::highUsageDeltaMB):
4015
4016 2011-09-04  Kevin Ollivier  <kevino@theolliviers.com>
4017
4018         [wx] Unreviewed build fix. Add new / moved files missing from last commit.
4019
4020         * platform/wx/LocalDC.h: Added.
4021         (WebCore::LocalDC::LocalDC):
4022         (WebCore::LocalDC::context):
4023         (WebCore::LocalDC::~LocalDC):
4024         * platform/wx/wxcode/cairo: Added.
4025     &nbs