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