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