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