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