REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2
3         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
4         https://bugs.webkit.org/show_bug.cgi?id=67453
5
6         Reviewed by Kent Tamura.
7
8         Fixed the bug by updating inner text value in setSuggestedValue.
9
10         Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
11
12         Test: fast/forms/suggested-value.html
13
14         * WebCore.exp.in:
15         * testing/Internals.cpp:
16         (WebCore::Internals::suggestedValue):
17         (WebCore::Internals::setSuggestedValue):
18         * testing/Internals.h:
19         * testing/Internals.idl:
20
21 2011-09-06  Eric Carlson  <eric.carlson@apple.com>
22
23         load() does not reset the resource selection algorithm
24         https://bugs.webkit.org/show_bug.cgi?id=64917
25
26         Reviewed by Darin Adler.
27
28         Test: media/video-source-load.html
29
30         * html/HTMLMediaElement.cpp:
31         (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
32             comments and rearrange logic to more closely match logic in spec.
33         (WebCore::HTMLMediaElement::noneSupported): Update comments.
34
35 2011-09-06  Abhishek Arya  <inferno@chromium.org>
36
37         Style not propagated to anonymous boxes and anonymous
38         inline-blocks.
39         https://bugs.webkit.org/show_bug.cgi?id=67364
40
41         Reviewed by James Robinson.
42
43         Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
44
45         * rendering/RenderBlock.cpp:
46         (WebCore::RenderBlock::styleDidChange):
47         * rendering/RenderObject.cpp:
48         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
49         * rendering/RenderObject.h:
50
51 2011-09-06  Robin Cao  <robin.cao@torchmobile.com.cn>
52
53         [skia] States of GraphicsContext may never be restored after clipToImageBuffer
54         https://bugs.webkit.org/show_bug.cgi?id=67358
55
56         beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
57         an empty ImageBuffer, which will make states of GraphicsContext incorrect.
58
59         Reviewed by James Robinson.
60
61         Test: fast/repaint/background-clip-text.html
62
63         * platform/graphics/skia/PlatformContextSkia.cpp:
64         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
65
66 2011-09-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
67
68         [EFL] Do not allocate memory for extremely large surfaces.
69         https://bugs.webkit.org/show_bug.cgi?id=65192
70
71         Reviewed by Martin Robinson.
72
73         So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
74         the size of the whole form element passed to it.
75
76         In the case of
77         fast/overflow/overflow-height-float-not-removed-crash.html and others,
78         this meant extremely large widgets, which crashed the code.
79
80         We now only render the widgets if they are smaller than some hardcoded
81         and sufficiently large values which should work in most cases.
82
83         No new tests, as this was uncovered by existing ones.
84
85         * platform/efl/RenderThemeEfl.cpp:
86         (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
87         (WebCore::RenderThemeEfl::cacheThemePartNew):
88         (WebCore::RenderThemeEfl::paintThemePart):
89         * platform/efl/RenderThemeEfl.h:
90
91 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
92
93         Web Inspector: implement source map v3 consumer.
94         https://bugs.webkit.org/show_bug.cgi?id=67205
95
96         Reviewed by Yury Semikhatsky.
97
98         Test: inspector/debugger/compiler-source-mapping.html
99
100         * WebCore.gypi:
101         * WebCore.vcproj/WebCore.vcproj:
102         * inspector/front-end/CompilerSourceMapping.js: Added.
103         (WebInspector.CompilerSourceMapping):
104         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
105         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
106         (WebInspector.CompilerSourceMapping.prototype.get sources):
107         (WebInspector.ClosureCompilerSourceMapping):
108         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
109         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
110         (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
111         (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
112         (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
113         (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
114         (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
115         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
116         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
117         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
118         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
119         * inspector/front-end/WebKit.qrc:
120         * inspector/front-end/inspector.html:
121
122 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
123
124         Web Inspector: re-implement RawSourceCode.
125         https://bugs.webkit.org/show_bug.cgi?id=67609
126
127         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
128         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
129         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
130         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
131         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
132         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
133         source code should be shown to user and raw locations should be converted to ui locations
134         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
135         is ready for loading and source mapping is available.
136         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
137         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
138         source code, links and decorations in UI.
139
140         Reviewed by Yury Semikhatsky.
141
142         * inspector/front-end/DebuggerPresentationModel.js:
143         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
144         (WebInspector.DebuggerPresentationModel.prototype._addScript):
145         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
146         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
147         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
148         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
149         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
150         * inspector/front-end/ScriptsPanel.js:
151         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
152         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
153         * inspector/front-end/SourceFile.js:
154         (WebInspector.RawSourceCode):
155         (WebInspector.RawSourceCode.prototype.addScript):
156         (WebInspector.RawSourceCode.prototype.contentEdited):
157         (WebInspector.RawSourceCode.prototype._resourceFinished):
158         (WebInspector.RawSourceCode.prototype.requestContent):
159         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
160         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
161         (WebInspector.RawSourceCode.prototype.forceLoadContent):
162         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
163         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
164         (WebInspector.RawSourceCode.prototype._createContentProvider):
165         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
166         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
167         (WebInspector.RawSourceCode.prototype._createSourceMapping):
168         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
169         (WebInspector.StaticContentProvider):
170         (WebInspector.StaticContentProvider.prototype.requestContent):
171
172 2011-09-06  Csaba Osztrogonác  <ossy@webkit.org>
173
174         Unreviewed, rolling out r94564.
175         http://trac.webkit.org/changeset/94564
176         https://bugs.webkit.org/show_bug.cgi?id=67555
177
178         It broke many tests
179
180         * svg/SVGTRefElement.cpp:
181         (WebCore::SVGTRefElement::svgAttributeChanged):
182
183 2011-09-06  Rob Buis  <rbuis@rim.com>
184
185         use after free in WebCore::SVGTRefElement::updateReferencedText
186         https://bugs.webkit.org/show_bug.cgi?id=67555
187
188         Reviewed by Nikolas Zimmermann.
189
190         Do not install event listener if tref is not part of any document.
191
192         Test: svg/custom/tref-clone-crash.html
193
194         * svg/SVGTRefElement.cpp:
195         (WebCore::SVGTRefElement::svgAttributeChanged):
196
197 2011-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
198
199         Unreviewed, rolling out r94560.
200         http://trac.webkit.org/changeset/94560
201         https://bugs.webkit.org/show_bug.cgi?id=67636
202
203         It made inspector/debugger/script-formatter.html flakey
204         (Requested by Ossy on #webkit).
205
206         * inspector/front-end/BreakpointManager.js:
207         (WebInspector.BreakpointManager.prototype.set reset):
208         * inspector/front-end/DebuggerPresentationModel.js:
209         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
210         (WebInspector.DebuggerPresentationModel.prototype._addScript):
211         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
212         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
213         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
214         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
215         (WebInspector.PresenationCallFrame.prototype.select):
216         * inspector/front-end/ScriptsPanel.js:
217         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
218         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
219         * inspector/front-end/SourceFile.js:
220         (WebInspector.RawSourceCode):
221         (WebInspector.RawSourceCode.prototype.addScript):
222         (WebInspector.RawSourceCode.prototype.contentEdited):
223         (WebInspector.RawSourceCode.prototype.requestContent):
224         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
225         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
226         (WebInspector.RawSourceCode.prototype._setContentProvider):
227         (WebInspector.RawSourceCode.prototype.forceLoadContent):
228         (WebInspector.RawSourceCode.prototype._reload):
229         (WebInspector.RawSourceCode.prototype._requestContent):
230         (WebInspector.RawSourceCode.prototype._loadResourceContent):
231         (WebInspector.RawSourceCode.prototype._loadScriptContent):
232         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
233         (WebInspector.RawSourceCode.prototype._didRequestContent):
234         (WebInspector.RawSourceCode.prototype._hasPendingResource):
235         (WebInspector.FormattedContentProvider):
236         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
237         (WebInspector.FormattedContentProvider.prototype.requestContent):
238
239 2011-09-06  Antti Koivisto  <antti@apple.com>
240
241         https://bugs.webkit.org/show_bug.cgi?id=67480
242         [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
243
244         Reviewed by Dimitri Glazkov.
245
246         The text node needs willRecalcStyle mechanism too.
247
248         * dom/Text.cpp:
249         (WebCore::Text::recalcTextStyle):
250         * dom/Text.h:
251         (WebCore::Text::willRecalcTextStyle):
252         * svg/SVGTRefElement.cpp:
253         (WebCore::SVGTRefElement::SVGTRefElement):
254         (WebCore::SVGShadowText::SVGShadowText):
255         (WebCore::SVGShadowText::willRecalcTextStyle):
256
257 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
258
259         Web Inspector: re-implement RawSourceCode.
260         https://bugs.webkit.org/show_bug.cgi?id=67609
261
262         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
263         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
264         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
265         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
266         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
267         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
268         source code should be shown to user and raw locations should be converted to ui locations
269         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
270         is ready for loading and source mapping is available.
271         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
272         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
273         source code, links and decorations in UI.
274
275         Reviewed by Yury Semikhatsky.
276
277         * inspector/front-end/DebuggerPresentationModel.js:
278         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
279         (WebInspector.DebuggerPresentationModel.prototype._addScript):
280         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
281         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
282         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
283         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
284         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
285         * inspector/front-end/ScriptsPanel.js:
286         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
287         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
288         * inspector/front-end/SourceFile.js:
289         (WebInspector.RawSourceCode):
290         (WebInspector.RawSourceCode.prototype.addScript):
291         (WebInspector.RawSourceCode.prototype.contentEdited):
292         (WebInspector.RawSourceCode.prototype._resourceFinished):
293         (WebInspector.RawSourceCode.prototype.requestContent):
294         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
295         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
296         (WebInspector.RawSourceCode.prototype.forceLoadContent):
297         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
298         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
299         (WebInspector.RawSourceCode.prototype._createContentProvider):
300         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
301         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
302         (WebInspector.RawSourceCode.prototype._createSourceMapping):
303         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
304         (WebInspector.StaticContentProvider):
305         (WebInspector.StaticContentProvider.prototype.requestContent):
306
307 2011-09-06  Dirk Schulze  <krit@webkit.org>
308
309         Return to transform multiplication: motion transform * other transforms
310         https://bugs.webkit.org/show_bug.cgi?id=67601
311
312         Reviewed by Nikolas Zimmermann.
313         
314         Right now we take the current transform of a transformable SVG element, post multiply the animation transform
315         and post multiply the motion transform to the other both:
316
317           transform * animation transform * motion transform
318
319         We switched to this behavior with the clean up of AffineTransform.
320         While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
321
322           motion transform * transform * animation transform
323
324         This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
325         on the SVG WG, their is a consense that the current specified behavior is unwanted. See
326         http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
327
328         We pass the following tests of the official W3C SVG test suite again now:
329
330         - animate-elem-24-t.svg
331         - animate-elem-30-t.svg
332
333         * svg/SVGStyledTransformableElement.cpp:
334         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
335         * svg/SVGTextElement.cpp:
336         (WebCore::SVGTextElement::animatedLocalTransform):
337
338 2011-09-05  Adam Barth  <abarth@webkit.org>
339
340         window.HTMLSpanElement does not exist
341         https://bugs.webkit.org/show_bug.cgi?id=67571
342
343         Reviewed by Sam Weinig.
344
345         We have these objects for most other elements and HTMLSpanElement
346         exists in Firefox and in the HTML5 spec.  This patch adds it.
347
348         Test: fast/dom/wrapper-classes.html
349
350         * CMakeLists.txt:
351         * CodeGenerators.pri:
352         * DerivedSources.cpp:
353         * DerivedSources.make:
354         * GNUmakefile.list.am:
355         * WebCore.gypi:
356         * WebCore.pro:
357         * WebCore.vcproj/WebCore.vcproj:
358         * WebCore.xcodeproj/project.pbxproj:
359         * html/HTMLElementsAllInOne.cpp:
360         * html/HTMLSpanElement.cpp: Added.
361         (WebCore::HTMLSpanElement::HTMLSpanElement):
362         (WebCore::HTMLSpanElement::create):
363         * html/HTMLSpanElement.h: Added.
364         * html/HTMLSpanElement.idl: Added.
365         * html/HTMLTagNames.in:
366         * page/DOMWindow.idl:
367
368 2011-09-04  Abhishek Arya  <inferno@chromium.org>
369
370         Style not propagated to anonymous boxes and anonymous
371         inline-blocks.
372         https://bugs.webkit.org/show_bug.cgi?id=67364
373
374         Reviewed by James Robinson.
375
376         Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
377                fast/ruby/ruby-block-style-not-updated.html
378                fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
379                fast/ruby/ruby-inline-style-not-updated.html
380                fast/table/table-row-style-not-updated-with-after-content.html
381                fast/table/table-row-style-not-updated-with-before-content.html
382                fast/table/table-row-style-not-updated.html
383                fast/table/table-style-not-updated.html
384
385         * rendering/RenderObject.cpp:
386         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
387         * rendering/RenderObject.h:
388         (WebCore::RenderObject::isBeforeAfterContent):
389         * rendering/RenderRuby.cpp:
390         (WebCore::RenderRubyAsInline::styleDidChange):
391         (WebCore::RenderRubyAsBlock::styleDidChange):
392         * rendering/RenderRuby.h:
393         * rendering/RenderTable.cpp:
394         (WebCore::RenderTable::styleDidChange):
395         * rendering/RenderTableRow.cpp:
396         (WebCore::RenderTableRow::styleDidChange):
397         (WebCore::RenderTableRow::addChild):
398         * rendering/RenderTableSection.cpp:
399         (WebCore::RenderTableSection::styleDidChange):
400         (WebCore::RenderTableSection::addChild):
401         * rendering/RenderTableSection.h:
402
403 2011-09-05  Abhishek Arya  <inferno@chromium.org>
404
405         Crash in RenderObjectChildList::destroyLeftOverChildren()
406         https://bugs.webkit.org/show_bug.cgi?id=64753
407
408         Reviewed by James Robinson.
409
410         If any of the ancestors between column span element and containing
411         column's block is a continuation, then don't attempt to render the
412         column span by splitting the block into continuations.
413
414         Test: fast/multicol/column-span-parent-continuation-crash.html
415
416         * rendering/RenderBlock.cpp:
417         (WebCore::RenderBlock::columnsBlockForSpanningElement):
418
419 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
420
421         Unreviewed, rolling out r94537.
422         http://trac.webkit.org/changeset/94537
423         https://bugs.webkit.org/show_bug.cgi?id=67618
424
425         Does not compile on Chromium Mac (Requested by abarth_ on
426         #webkit).
427
428         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
429         (WebCore::preMultipliedBGRAtoRGB):
430         (WebCore::RGBAtoRGB):
431         (WebCore::encodePixels):
432         (WebCore::JPEGImageEncoder::encode):
433
434 2011-09-05  Noel Gordon  <noel.gordon@gmail.com>
435
436         [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
437         https://bugs.webkit.org/show_bug.cgi?id=67589
438
439         Reviewed by Adam Barth.
440
441         Change the row converter function signatures to be the same.  Call them via a function
442         pointer during the encoding loop.  Minor webkit stlye cleanup, remove unused include.
443
444         No new tests.  Covered by existing canvas 2d and 3d tests.
445         canvas/philip/tests/toDataURL.jpeg.alpha.html
446         fast/canvas/webgl/premultiplyalpha-test.html
447
448         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
449         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
450         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
451         (WebCore::encodePixels):  Move contants out of the encoding loop: use a function pointer to
452         call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
453         image row encoding loop.  Add/use pixelRowStride constant.
454         (WebCore::JPEGImageEncoder::encode):  webkit style: no need to split lines.
455
456 2011-09-05  John Knottenbelt  <jknotten@chromium.org>
457
458         Take pageScaleFactor into account for MouseRelatedEvents.
459         https://bugs.webkit.org/show_bug.cgi?id=67592
460
461         Reviewed by Dimitri Glazkov.
462
463         Test: fast/events/page-scaled-mouse-click.html
464
465         * dom/MouseRelatedEvent.cpp:
466         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
467
468 2011-09-02  Pavel Podivilov  <podivilov@chromium.org>
469
470         Web Inspector: rename RawSourceCode.reload to contentEdited.
471         https://bugs.webkit.org/show_bug.cgi?id=67504
472
473         Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
474         (RawSourceCode isn't supposed to have any content).
475
476         Reviewed by Yury Semikhatsky.
477
478         * inspector/front-end/DebuggerPresentationModel.js:
479         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
480         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
481         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
482         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
483         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
484         * inspector/front-end/SourceFile.js:
485         (WebInspector.RawSourceCode):
486         (WebInspector.RawSourceCode.prototype.contentEdited):
487         (WebInspector.RawSourceCode.prototype.forceLoadContent):
488         (WebInspector.RawSourceCode.prototype._reload):
489         (WebInspector.RawSourceCode.prototype._didRequestContent):
490
491 2011-09-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
492
493         Fix the regression of bug 65333 introduced by 60170.
494         This caused the speech input bubble to appear in the wrong side for RTL text inputs.
495         https://bugs.webkit.org/show_bug.cgi?id=67597
496
497         Reviewed by Tony Gentilcore.
498
499         No new tests. Fixing regression.
500
501         * html/shadow/TextControlInnerElements.cpp:
502         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
503
504 2011-09-05  Alexander Pavlov  <apavlov@chromium.org>
505
506         Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
507         https://bugs.webkit.org/show_bug.cgi?id=67602
508
509         Reviewed by Yury Semikhatsky.
510
511         * inspector/front-end/inspector.js:
512         (WebInspector.documentKeyDown):
513
514 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
515
516         Unreviewed, rolling out r94525.
517         http://trac.webkit.org/changeset/94525
518         https://bugs.webkit.org/show_bug.cgi?id=67599
519
520         WinCE compilation failed. (Requested by loislo on #webkit).
521
522         * platform/text/TextBoundaries.cpp:
523         * platform/text/TextBreakIteratorICU.cpp:
524         * platform/text/qt/TextBoundariesQt.cpp:
525         * platform/text/qt/TextBreakIteratorQt.cpp:
526
527 2011-09-05  Alexander Færøy  <alexander.faeroy@nokia.com>
528
529         [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
530         https://bugs.webkit.org/show_bug.cgi?id=67391
531
532         Reviewed by Kenneth Rohde Christiansen.
533
534         * platform/text/TextBoundaries.cpp:
535         * platform/text/TextBreakIteratorICU.cpp:
536         * platform/text/qt/TextBoundariesQt.cpp:
537         * platform/text/qt/TextBreakIteratorQt.cpp:
538
539 2011-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
540
541         Logic from HTMLElement::deprecatedCreateContextualFragment moved into
542         Range::createContextualFragment function.
543         https://bugs.webkit.org/show_bug.cgi?id=67056
544
545         Reviewed by Ryosuke Niwa.
546
547         Code Refactoring for deprecatedCreateContextualFragment.
548
549         No new tests. Code Re-factoring.
550
551         * dom/Element.cpp:
552         * dom/Element.h:
553         * dom/Range.cpp:
554         (WebCore::insertIntoFragment):
555         (WebCore::Range::createDocumentFragmentForElement):
556         (WebCore::Range::createContextualFragment):
557         * dom/Range.h:
558         * editing/markup.cpp:
559         (WebCore::createFragmentFromMarkup):
560         * html/HTMLElement.cpp:
561         * html/HTMLElement.h:
562
563 2011-09-04  James Kozianski  <koz@chromium.org>
564
565         Unreviewed, rolling out r94510.
566         http://trac.webkit.org/changeset/94510
567         https://bugs.webkit.org/show_bug.cgi?id=66531
568
569         Causes layout test crashes.
570
571         * dom/Document.cpp:
572         (WebCore::Document::webkitWillEnterFullScreenForElement):
573         (WebCore::Document::webkitDidExitFullScreenForElement):
574         * dom/NodeRenderingContext.cpp:
575         (WebCore::wrapWithRenderFullScreen):
576         (WebCore::NodeRendererFactory::createRendererIfNeeded):
577         * rendering/RenderFullScreen.cpp:
578         (RenderFullScreen::createFullScreenStyle):
579         * rendering/RenderFullScreen.h:
580
581 2011-09-04  Abhishek Arya  <inferno@chromium.org>
582
583         Unreviewed. Compile fix for r94511.
584
585         * dom/Range.cpp:
586         (WebCore::Range::processContents):
587         (WebCore::Range::processAncestorsAndTheirSiblings):
588
589 2011-09-04  Abhishek Arya  <inferno@chromium.org>
590
591         Crash in Range::processAncestorsAndTheirSiblings.
592         https://bugs.webkit.org/show_bug.cgi?id=67556
593
594         Reviewed by Ryosuke Niwa.
595
596         Create a temporary RefPtr Node vector to keep all the ancestor's
597         childs so that we don't access removed child nodes.
598
599         Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
600
601         * dom/Range.cpp:
602         (WebCore::Range::processContents):
603         (WebCore::Range::processAncestorsAndTheirSiblings):
604
605 2011-09-04  Jeremy Apthorp  <jeremya@google.com>
606
607         Don't detach elements from the render tree when entering fullscreen mode
608         https://bugs.webkit.org/show_bug.cgi?id=66531
609
610         This prevents plugin instances from being destroyed and reinstantiated
611         when entering fullscreen mode.
612
613         Reviewed by Darin Fisher.
614
615         Test: plugins/fullscreen-plugins-dont-reload.html
616
617         * dom/Document.cpp:
618         (WebCore::Document::webkitWillEnterFullScreenForElement):
619         (WebCore::Document::webkitDidExitFullScreenForElement):
620         * dom/NodeRenderingContext.cpp:
621         (WebCore::NodeRendererFactory::createRendererIfNeeded):
622         * rendering/RenderFullScreen.cpp:
623         (createFullScreenStyle):
624         (RenderFullScreen::wrapRenderer):
625         (RenderFullScreen::unwrapRenderer):
626         * rendering/RenderFullScreen.h:
627
628 2011-09-04  Dan Bernstein  <mitz@apple.com>
629
630         <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
631
632         Reviewed by Darin Adler.
633
634         Test: fast/css/font-face-used-after-retired.html
635
636         During style recalc, existing renderers may reference their old style, including font data.
637         Allow them to do so safely by keeping retired custom font data around until after style recalc.
638
639         * css/CSSFontFace.cpp:
640         (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
641         face is still part of any segmented font face. Otherwise, deletes the custom font data.
642         * css/CSSFontFace.h:
643         * css/CSSFontFaceSource.cpp:
644         (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
645         retired font data.
646         * css/CSSFontSelector.cpp:
647         (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
648         still the active font selector for a document. Otherwise, deletes the custom font data.
649         * css/CSSFontSelector.h:
650         * css/CSSSegmentedFontFace.cpp:
651         (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
652         deleting retired font data.
653         * dom/Document.cpp:
654         (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
655         is destroyed before getting a chance to recalc style after custom fonts have been retired.
656         (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
657         (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
658         data.
659         * dom/Document.h:
660         (WebCore::Document::retireCustomFont): Added.
661
662 2011-09-04  Sam Weinig  <sam@webkit.org>
663
664         Document.createEvent should support all the interfaces of Event we got
665         https://bugs.webkit.org/show_bug.cgi?id=67568
666
667         Reviewed by Anders Carlsson.
668
669         Updated fast/events/event-creation.html
670
671         * dom/BeforeLoadEvent.h:
672         (WebCore::BeforeLoadEvent::create):
673         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
674         Added empty create.
675         
676         * dom/Document.cpp:
677         (WebCore::Document::createEvent):
678         Add missing interfaces.
679
680         * dom/HashChangeEvent.h:
681         (WebCore::HashChangeEvent::create):
682         (WebCore::HashChangeEvent::HashChangeEvent):
683         Added empty create.
684
685         * page/SpeechInputEvent.cpp:
686         (WebCore::SpeechInputEvent::create):
687         (WebCore::SpeechInputEvent::SpeechInputEvent):
688         (WebCore::SpeechInputEvent::~SpeechInputEvent):
689         * page/SpeechInputEvent.h:
690         Added empty create.
691
692 2011-09-04  Adam Barth  <abarth@webkit.org>
693
694         [Chromium] Add memory threshold values to WebKitPlatformSupport.h
695         https://bugs.webkit.org/show_bug.cgi?id=67575
696
697         Reviewed by Darin Fisher.
698
699         Grab these memory thresholds from PlatformSupport rather than hard-coding them.
700
701         * bindings/v8/V8GCController.cpp:
702         (WebCore::V8GCController::checkMemoryUsage):
703         * platform/chromium/PlatformSupport.h:
704         * platform/qt/PlatformSupport.h:
705         (WebCore::PlatformSupport::lowMemoryUsageMB):
706         (WebCore::PlatformSupport::highMemoryUsageMB):
707         (WebCore::PlatformSupport::highUsageDeltaMB):
708
709 2011-09-04  Kevin Ollivier  <kevino@theolliviers.com>
710
711         [wx] Unreviewed build fix. Add new / moved files missing from last commit.
712
713         * platform/wx/LocalDC.h: Added.
714         (WebCore::LocalDC::LocalDC):
715         (WebCore::LocalDC::context):
716         (WebCore::LocalDC::~LocalDC):
717         * platform/wx/wxcode/cairo: Added.
718         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
719         (WebCore::pangoFontMap):
720         (WebCore::createPangoFontForFont):
721         (WebCore::createScaledFontForFont):
722         (WebCore::pango_font_get_glyph):
723         (WebCore::drawTextWithSpacing):
724         * platform/wx/wxcode/gdiplus: Added.
725         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
726         (dmin):
727         (dmax):
728         (DegToRad):
729         (RadToDeg):
730         (WebCore::drawTextWithSpacing):
731
732 2011-09-04  Robin Dunn  <robin@alldunn.com>
733
734         [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
735         https://bugs.webkit.org/show_bug.cgi?id=67577
736
737         Reviewed by Kevin Ollivier.
738
739         * platform/graphics/GlyphBuffer.h:
740         (WebCore::GlyphBuffer::glyphAt):
741         (WebCore::GlyphBuffer::add):
742         * platform/graphics/wx/GraphicsContextWx.cpp:
743         (WebCore::GraphicsContext::clipOut):
744         (WebCore::GraphicsContext::clipPath):
745         * platform/graphics/wx/PathWx.cpp:
746         (WebCore::Path::Path):
747         (WebCore::Path::clear):
748         * platform/graphics/wx/TransformationMatrixWx.cpp:
749         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
750         (WebCore::AffineTransform::operator wxGraphicsMatrix):
751         * platform/image-decoders/wx/ImageDecoderWx.cpp:
752         (WebCore::ImageFrame::asNewNativeImage):
753         * platform/wx/ContextMenuWx.cpp:
754         (ContextMenu::ContextMenu):
755         * platform/wx/LocalDC.h: Added.
756         (WebCore::LocalDC::LocalDC):
757         (WebCore::LocalDC::context):
758         (WebCore::LocalDC::~LocalDC):
759         * platform/wx/RenderThemeWx.cpp:
760         (WebCore::RenderThemeWx::paintButton):
761         (WebCore::RenderThemeWx::paintTextField):
762         (WebCore::RenderThemeWx::paintMenuList):
763         (WebCore::RenderThemeWx::paintMenuListButton):
764         * platform/wx/ScrollbarThemeWx.cpp:
765         (WebCore::ScrollbarThemeWx::paint):
766         * platform/wx/wxcode/cairo: Added.
767         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
768         (WebCore::pangoFontMap):
769         (WebCore::createPangoFontForFont):
770         (WebCore::createScaledFontForFont):
771         (WebCore::pango_font_get_glyph):
772         (WebCore::drawTextWithSpacing):
773         * platform/wx/wxcode/gdiplus: Added.
774         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
775         (dmin):
776         (dmax):
777         (DegToRad):
778         (RadToDeg):
779         (WebCore::drawTextWithSpacing):
780         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
781         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
782         * platform/wx/wxcode/win/scrollbar_render.cpp:
783         (GraphicsHDC::GraphicsHDC):
784         (GraphicsHDC::~GraphicsHDC):
785         (wxRenderer_DrawScrollbar):
786
787 2011-09-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
788
789         REGRESSION (r86268): Fix for qt_networkAccessAllowed()
790         https://bugs.webkit.org/show_bug.cgi?id=67570
791
792         Reviewed by Noam Rosenthal.
793
794         No new tests as this change only removes dead code.
795         Support for Qt 4.6 has  been removed a while back.
796
797         * WebCore.pri:
798         * WebCore.pro:
799         * features.pri:
800         * platform/network/NetworkStateNotifier.h:
801         * platform/network/qt/NetworkStateNotifierQt.cpp:
802
803 2011-09-03  Ryosuke Niwa  <rniwa@webkit.org>
804
805         REGRESSION(r94274): selection-change-closes-typing.html fails
806         https://bugs.webkit.org/show_bug.cgi?id=67377
807
808         Reviewed by Kent Tamura.
809
810         The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
811         change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
812         inserting text.
813
814         Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
815         function is only used to cancel composition but never to confirming composition and restoring selection.
816
817         Test: platform/mac/editing/input/selection-change-closes-typing-2.html
818
819         * editing/Editor.cpp:
820         (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
821         (WebCore::Editor::confirmComposition):
822
823 2011-09-03  Sam Weinig  <sam@webkit.org>
824
825         Add missing Event constructors to DOMWindow.idl
826         https://bugs.webkit.org/show_bug.cgi?id=67449
827
828         Reviewed by Anders Carlsson.
829
830         Covered by existing tests.
831
832         * page/DOMWindow.idl:
833
834 2011-08-27  Robert Hogan  <robert@webkit.org>
835
836         div align="center" rendering problem
837         https://bugs.webkit.org/show_bug.cgi?id=4860
838
839         Reviewed by David Hyatt.
840
841         When an inline element with absolute position was the sole or first child of a render block with
842         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
843         alignment if it was preceded by some text. The problem was that the element's render object
844         was getting skipped as leading white space, so it was not included in a normal line block in
845         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
846         which does not pay attention to alignment. Preceding the element with some text allowed the object
847         to get included in a Bidi run and so get a linebox which would get properly aligned.
848
849         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
850         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
851         Opera has the same bug as unpatched WebKit.
852
853         Tests: fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html
854                - Ensure positioned block elements inherit alignment.
855                fast/css/bug4860-absolute-inline-child-inherits-alignment.html
856                - Ensure positioned inline elements inherit alignment.
857                fast/inline/absolute-positioned-inline-in-centred-block.html
858                - Ensure positioned inline element that's the sole or first child of a rendered block
859                  obeys parents alignment.
860                fast/inline/absolute-positioned-block-in-centred-block.html
861                - As above, but a positioned block should not inherit alignment.
862
863         * rendering/RenderBlock.h:
864         * rendering/RenderBlockLineLayout.cpp:
865         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
866         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
867         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
868         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
869
870 2011-09-03  Andreas Kling  <kling@webkit.org>
871
872         Remove two unused functions from Element.
873         https://bugs.webkit.org/show_bug.cgi?id=67492
874
875         Reviewed by Benjamin Poulain.
876
877         Removed openTagStartToString() and setCStringAttribute() as they are
878         not called from anywhere.
879
880         * dom/Element.cpp:
881         * dom/Element.h:
882
883 2011-09-03  Andrew Wason  <rectalogic@rectalogic.com>
884
885         [Qt] Enable support for WebGL OES_standard_derivatives for Qt
886         https://bugs.webkit.org/show_bug.cgi?id=67430
887
888         Reviewed by Noam Rosenthal.
889
890         Tested using https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/oes-standard-derivatives.html
891
892         Enable existing support for OES_standard_derivatives for Qt.
893
894         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
895         (WebCore::Extensions3DOpenGL::ensureEnabled):
896         (WebCore::Extensions3DOpenGL::isEnabled):
897
898 2011-09-03  Yuta Kitamura  <yutak@chromium.org>
899
900         WebSocket: Send ArrayBuffer as WebSocket binary message
901         https://bugs.webkit.org/show_bug.cgi?id=67477
902
903         Reviewed by Kent Tamura.
904
905         Tests: http/tests/websocket/tests/hybi/send-arraybuffer.html
906                http/tests/websocket/tests/hybi/workers/send-arraybuffer.html
907                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
908
909         * bindings/js/JSWebSocketCustom.cpp:
910         (WebCore::JSWebSocket::send):
911         * bindings/v8/custom/V8WebSocketCustom.cpp:
912         (WebCore::V8WebSocket::sendCallback):
913         * websockets/ThreadableWebSocketChannel.h:
914         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
915         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
916         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
917         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
918         * websockets/ThreadableWebSocketChannelClientWrapper.h:
919         Rename "sent" to "sendRequestResult" to clarify the meaning. Messages from the script may not
920         be sent immediately, thus the return value of WebSocketChannel::send() indicates whether the
921         message has been queued successfully, rather than whether the message has been sent or not.
922         * websockets/WebSocket.cpp:
923         (WebCore::WebSocket::send):
924         Case of sending "[object ArrayBuffer]" is covered by an existing test
925         http/tests/websocket/tests/{hybi,hixie76}/send-object.html.
926         * websockets/WebSocket.h:
927         * websockets/WebSocket.idl:
928         * websockets/WebSocketChannel.cpp:
929         (WebCore::WebSocketChannel::send):
930         * websockets/WebSocketChannel.h:
931         * websockets/WorkerThreadableWebSocketChannel.cpp:
932         (WebCore::WorkerThreadableWebSocketChannel::send):
933         (WebCore::workerContextDidSend):
934         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
935         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
936         Construct an ArrayBuffer from the data on Vector<char>.
937         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
938         Copy the content into temporary buffer of Vector<char>, and send it to the main thread.
939         * websockets/WorkerThreadableWebSocketChannel.h:
940
941 2011-09-02  Kentaro Hara  <haraken@google.com>
942
943         Implement a CustomEvent constructor for V8
944         https://bugs.webkit.org/show_bug.cgi?id=67527
945
946         Reviewed by Sam Weinig.
947
948         Test: fast/events/constructors/custom-event-constructor.html
949
950         * bindings/v8/OptionsObject.h:
951         (WebCore::OptionsObject::getKeyValue): Returns ScriptValue corresponding to a given key.
952         * bindings/v8/custom/V8EventConstructors.cpp: Added the CustomEvent constructor.
953         * dom/CustomEvent.idl: Added a 'V8CustomConstructor' attribute.
954
955 2011-09-02  Adrienne Walker  <enne@google.com>
956
957         [chromium] Move updateLayers from LayerRendererChromium to CCLayerTreeHost
958         https://bugs.webkit.org/show_bug.cgi?id=67438
959
960         Reviewed by James Robinson.
961
962         Covered by existing tests.
963
964         Move functionality used by both CCLayerTreeHost and
965         LayerRendererChromium into CCLayerTreeHostCommon. Move update, paint,
966         and updateCompositorResource functions into CClayerTreeHost.
967
968         * WebCore.gypi:
969         * platform/graphics/chromium/LayerChromium.cpp:
970         (WebCore::sortLayers):
971         * platform/graphics/chromium/LayerChromium.h:
972         * platform/graphics/chromium/LayerRendererChromium.cpp:
973         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
974         (WebCore::LayerRendererChromium::drawLayers):
975         (WebCore::LayerRendererChromium::drawLayersInternal):
976         * platform/graphics/chromium/LayerRendererChromium.h:
977         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
978         (WebCore::sortLayers):
979         * platform/graphics/chromium/cc/CCLayerImpl.h:
980         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
981         (WebCore::CCLayerTreeHost::commitTo):
982         (WebCore::CCLayerTreeHost::updateLayers):
983         (WebCore::paintContentsIfDirty):
984         (WebCore::CCLayerTreeHost::paintLayerContents):
985         (WebCore::CCLayerTreeHost::updateCompositorResources):
986         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
987         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Added.
988         (WebCore::CCLayerTreeHostCommon::isScaleOrTranslation):
989         (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
990         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
991         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Added.
992         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
993         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
994         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
995         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
996         (WebCore::CCSingleThreadProxy::commitIfNeeded):
997
998 2011-09-02  Chris Marrin  <cmarrin@apple.com>
999
1000         https://bugs.webkit.org/show_bug.cgi?id=67510
1001         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
1002
1003         Reviewed by Simon Fraser.
1004         
1005         Do a null check in two places to avoid sending nulls to CACF ValueFunction API.
1006
1007         Test: animations/pause-crash.html
1008
1009         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1010         (PlatformCAAnimation::valueFunction):
1011         (PlatformCAAnimation::setValueFunction):
1012
1013 2011-09-02  Bill Budge  <bbudge@chromium.org>
1014
1015         Add a 'didDownloadData' method to ResourceLoader, SubresourceLoader,
1016         SubresourceLoaderClient, DocumentThreadableLoader, ResourceHandleClient,
1017         and ThreadableLoaderClient for the Chromium port only, so we can pass
1018         these notifications from our ResourceHandle implementation through the
1019         WebCore loader framework.
1020         https://bugs.webkit.org/show_bug.cgi?id=67229
1021
1022         Reviewed by Darin Fisher.
1023
1024         No new tests. Exposes no new functionality.
1025
1026         * WebCore.gypi:
1027         * loader/DocumentThreadableLoader.h:
1028         * loader/ResourceLoader.h:
1029         * loader/SubresourceLoader.h:
1030         * loader/SubresourceLoaderClient.h:
1031         (WebCore::SubresourceLoaderClient::didDownloadData):
1032         * loader/ThreadableLoaderClient.h:
1033         (WebCore::ThreadableLoaderClient::didDownloadData):
1034         * loader/ThreadableLoaderClientWrapper.h:
1035         (WebCore::ThreadableLoaderClientWrapper::didDownloadData):
1036         * loader/chromium: Added.
1037         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Added.
1038         (WebCore::DocumentThreadableLoader::didDownloadData):
1039         * loader/chromium/ResourceLoaderChromium.cpp: Added.
1040         (WebCore::ResourceLoader::didDownloadData):
1041         * loader/chromium/SubresourceLoaderChromium.cpp: Added.
1042         (WebCore::SubresourceLoader::didDownloadData):
1043         * platform/network/ResourceHandleClient.h:
1044         (WebCore::ResourceHandleClient::didDownloadData):
1045
1046 2011-09-02  Jeff Miller  <jeffm@apple.com>
1047
1048         Assert that PlatformCALayerWinInternal::displayCallback() is only called on the main thread
1049         https://bugs.webkit.org/show_bug.cgi?id=67541
1050
1051         Reviewed by Simon Fraser.
1052
1053         No new tests, covered by existing media tests.
1054
1055         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1056         (PlatformCALayerWinInternal::displayCallback): Assert that is function is only called on the main thread.
1057
1058 2011-09-02  Julien Chaffraix  <jchaffraix@webkit.org>
1059
1060         Enable RenderLayer::updateLayerPosition's cachedOffset optimization for more cases
1061         https://bugs.webkit.org/show_bug.cgi?id=66901
1062
1063         Reviewed by Simon Fraser.
1064
1065         Test: fast/layers/assert-RenderLayer-update-positions.html
1066               Also covered by existing tests under the new ASSERT.
1067
1068         This change extends the range of callers making use of the cachedOffset optimization.
1069
1070         Most callers did not make use of cachedOffset as it did not work when called on a subtree.
1071         This limitation is now gone thus we can enable it more widely.
1072
1073         The semantics of the optimization are changed a bit as we now return if it is enabled whereas
1074         the old code would check if it was *disabled*. Also there were some renames done to match more
1075         closely what was going on (s/cachedOffset/offsetFromRoot/ and s/cachedOffsetDisabled/hasLayerOffset/).
1076
1077         Note that this is an optimistic optimization: if cachedOffset is not used, then we have
1078         done at least an extra traversal up to the root. I have found it to be a wash on file
1079         cycler (alexa) but to be a nice improvement (~20%) on some table benchmarks (modifying
1080         a cell, scrolling).
1081
1082         * page/FrameView.cpp:
1083         (WebCore::FrameView::layout): Extended the use of cachedOffset to subtree layouts.
1084         * rendering/RenderBoxModelObject.cpp:
1085         (WebCore::RenderBoxModelObject::styleDidChange): Forbid the use cachedOffset in this
1086         case as we have only a single layer to update.
1087
1088         * rendering/RenderLayer.cpp:
1089         (WebCore::RenderLayer::computeOffsetFromRoot): Added this function to get the offset from the root
1090         layer at a certain point in the RenderLayer's tree. It gets the root layer's checking if no layer
1091         in between would prevent convertToLayerCoords to work and return the position relative to
1092         this layer.
1093
1094         (WebCore::RenderLayer::updateLayerPositions): Added a new ASSERT to make sure our cachedOffset
1095         is always fine. Also added a comment about calling convertToLayerCoords.
1096
1097         (WebCore::RenderLayer::removeOnlyThisLayer): Added cachedOffset here too as we may have to
1098         update several layers. We save the offset prior to being removed from the hierarchy for
1099         correctness.
1100
1101         (WebCore::RenderLayer::paintChildLayerIntoColumns): Added a comment here about calling convertToLayerCoords.
1102
1103         * rendering/RenderLayer.h: Swapped the argument in updateLayerPositions to make
1104         cachedOffset a mandatory field. Patched all the callers.
1105
1106         (WebCore::RenderLayer::canUseConvertToLayerCoords): Added this helper method to know when a
1107         renderer prevents convertToLayerCoords from working. Added some FIXME around suspicious use
1108         of convertToLayerCoords.
1109
1110 2011-08-30  Matthew Delaney  <mdelaney@apple.com>
1111
1112         Read out of bounds in sUnpremultiplyData_RGBA8888 / ImageBufferData::getData
1113         https://bugs.webkit.org/show_bug.cgi?id=65352
1114
1115         Reviewed by Simon Fraser.
1116
1117         New test: fast/canvas/canvas-getImageData-large-crash.html
1118
1119         This patch prevents overflows from happening in getImageData, createImageData, and canvas creation
1120         calls that specify widths and heights that end up overflowing the ints that we store those values in
1121         as well as derived values such as area and maxX / maxY of the bounding rects involved. Overflow of integer
1122         arithmetic is detected via the use of the new Checked type that was introduced in r94207.
1123
1124         * html/HTMLCanvasElement.cpp:
1125         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed dependency on ints, using FloatRects/Sizes instead.
1126         (WebCore::HTMLCanvasElement::createImageBuffer): Moved the check for max canvas area and dimensions here.
1127           Added in check that prevents us from having canvases of sizes that will cause overflows.
1128         (WebCore::HTMLCanvasElement::baseTransform): Updated use of convertLogicalToDevice.
1129         * html/HTMLCanvasElement.h: Updated method signatures.
1130         * html/canvas/CanvasRenderingContext2D.cpp:
1131         (WebCore::createEmptyImageData): Added in check to prevent creating ImageData objects that will cause overflow when computing their size.
1132         (WebCore::CanvasRenderingContext2D::createImageData): Avoid creating ImageData objects of size that will overflow later.
1133         (WebCore::CanvasRenderingContext2D::getImageData): Added in check to prevent trying to get ImageData objects that will cause overflow when computing their size.
1134         * platform/graphics/FloatRect.cpp:
1135         (WebCore::FloatRect::isExpressibleAsIntRect): New method that tests whether a FloatRect can become an IntRect without overflow or having to be clamped.
1136         * platform/graphics/FloatRect.h:
1137         * platform/graphics/FloatSize.cpp:
1138         (WebCore::FloatSize::isExpressibleAsIntSize): Same as FloatRect, but for FloatSize->IntSize.
1139         * platform/graphics/FloatSize.h:
1140         * platform/graphics/cg/ImageBufferCG.cpp: Added check for overflow.
1141         (WebCore::ImageBuffer::ImageBuffer):
1142
1143 2011-09-02  Dan Bernstein  <mitz@apple.com>
1144
1145         <rdar://problem/9755843> anonymous RenderMathMLOperator sets itself as the renderer of its parent mfenced node
1146
1147         Reviewed by Darin Adler.
1148
1149         Test: mathml/operator-hijacks-fenced-node.xhtml
1150
1151         * rendering/mathml/RenderMathMLOperator.cpp:
1152         (WebCore::RenderMathMLOperator::updateFromElement): Rather than unconditionally setting the
1153         node’s renderer to this, just restore it to whatever it was before calling destroyLeftoverChildren().
1154
1155 2011-09-02  Mark Hahnenberg  <mhahnenberg@apple.com>
1156
1157         Incorporate newer, faster dtoa library
1158         https://bugs.webkit.org/show_bug.cgi?id=66346
1159
1160         Reviewed by Oliver Hunt.
1161
1162         No new tests.
1163
1164         Added new dtoa library at http://code.google.com/p/double-conversion/.
1165         Replaced old call to dtoa.  The new library is much faster than the old one.
1166         We still use the old dtoa for some stuff in WebCore as well as the old strtod, 
1167         but we can phase these out eventually as well.
1168
1169         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Added.
1170         * WebCore.vcproj/copyForwardingHeaders.cmd:
1171         * css/CSSPrimitiveValue.cpp:
1172         (WebCore::formatNumber):
1173         * html/parser/HTMLParserIdioms.cpp:
1174         (WebCore::serializeForNumberType):
1175         * inspector/InspectorValues.cpp:
1176         (WebCore::InspectorBasicValue::writeJSON):
1177         * platform/graphics/Color.cpp:
1178         (WebCore::Color::serialized):
1179
1180 2011-09-02  Nat Duca  <nduca@chromium.org>
1181
1182         [chromium] Check for null context when reinitializing compositor
1183         https://bugs.webkit.org/show_bug.cgi?id=67507
1184
1185         Reviewed by James Robinson.
1186
1187         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1188         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
1189
1190 2011-09-02  Sam Weinig  <sam@webkit.org>
1191
1192         Remove BeforeProcessEvent, it was never meant to be
1193         https://bugs.webkit.org/show_bug.cgi?id=67493
1194
1195         Reviewed by Anders Carlsson.
1196
1197         BeforeProcessEvent was added, never hooked up, and never removed.
1198         Now it is being removed.
1199
1200         * CodeGenerators.pri:
1201         * DerivedSources.make:
1202         * GNUmakefile.list.am:
1203         * WebCore.gypi:
1204         * WebCore.pro:
1205         * WebCore.vcproj/WebCore.vcproj:
1206         * WebCore.xcodeproj/project.pbxproj:
1207         * dom/BeforeProcessEvent.cpp: Removed.
1208         * dom/BeforeProcessEvent.h: Removed.
1209         * dom/BeforeProcessEvent.idl: Removed.
1210         * dom/DOMAllInOne.cpp:
1211         * dom/Document.cpp:
1212         (WebCore::Document::addListenerTypeIfNeeded):
1213         * dom/Document.h:
1214         * dom/EventNames.h:
1215         * html/HTMLAttributeNames.in:
1216         * html/HTMLScriptElement.cpp:
1217         (WebCore::HTMLScriptElement::parseMappedAttribute):
1218         * html/HTMLStyleElement.cpp:
1219         (WebCore::HTMLStyleElement::parseMappedAttribute):
1220
1221 2011-09-02  Adrienne Walker  <enne@google.com>
1222
1223         [chromium] Remove LayerRendererChromium references from the LayerChromium tree
1224         https://bugs.webkit.org/show_bug.cgi?id=66430
1225
1226         Reviewed by James Robinson.
1227
1228         Covered by existing tests.
1229
1230         Replace references to LayerRendererChromium in the LayerChromium tree
1231         with references to LayerTreeHost. The LayerRendererChromium property
1232         is no longer synced and instead is set recursively on the CCLayerImpl
1233         tree during commit.
1234
1235         WebGLLayerChromium's paintRenderedResultsToCanvas function is
1236         temporarily turned off for threaded compositing because it needs
1237         access to the compositor context.
1238
1239         Previously, changing the layer renderer on a layer called cleanup
1240         resources on that layer.  Now, call that explicitly clean up all
1241         resources explicitly from the proxy when the layer renderer gets
1242         created. This cleans up all of the ManagedTexture objects which may be
1243         hanging onto stale GraphicsContext3D pointers.
1244
1245         * platform/graphics/chromium/LayerChromium.cpp:
1246         (WebCore::LayerChromium::cleanupResourcesRecursive):
1247         (WebCore::LayerChromium::setLayerTreeHost):
1248         (WebCore::LayerChromium::pushPropertiesTo):
1249         * platform/graphics/chromium/LayerChromium.h:
1250         (WebCore::LayerChromium::layerTreeHost):
1251         * platform/graphics/chromium/LayerRendererChromium.cpp:
1252         (WebCore::LayerRendererChromium::drawLayers):
1253         (WebCore::LayerRendererChromium::paintLayerContents):
1254         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1255         * platform/graphics/chromium/RenderSurfaceChromium.h:
1256         * platform/graphics/chromium/TiledLayerChromium.cpp:
1257         (WebCore::TiledLayerChromium::TiledLayerChromium):
1258         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
1259         (WebCore::TiledLayerChromium::setLayerTreeHost):
1260         (WebCore::TiledLayerChromium::textureManager):
1261         * platform/graphics/chromium/TiledLayerChromium.h:
1262         * platform/graphics/chromium/VideoLayerChromium.cpp:
1263         (WebCore::VideoLayerChromium::VideoLayerChromium):
1264         (WebCore::VideoLayerChromium::cleanupResources):
1265         (WebCore::VideoLayerChromium::setLayerTreeHost):
1266         (WebCore::VideoLayerChromium::reserveTextures):
1267         * platform/graphics/chromium/VideoLayerChromium.h:
1268         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1269         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
1270         (WebCore::WebGLLayerChromium::setTextureUpdated):
1271         (WebCore::WebGLLayerChromium::layerRendererContext):
1272         * platform/graphics/chromium/WebGLLayerChromium.h:
1273         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1274         (WebCore::CCLayerImpl::setLayerRendererRecursive):
1275         * platform/graphics/chromium/cc/CCLayerImpl.h:
1276         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1277         (WebCore::CCLayerTreeHost::commitTo):
1278         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
1279         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1280         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1281
1282 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
1283
1284         Build fix.
1285
1286         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
1287         Can't use BUILDING_ON_SNOW_LEOPARD without defined() when not on Snow Leopard.
1288
1289 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1290
1291         Unreviewed, rolling out r94421.
1292         http://trac.webkit.org/changeset/94421
1293         https://bugs.webkit.org/show_bug.cgi?id=67496
1294
1295         Broke a number of tests on Chromium builders (including the
1296         "cr-linux" EWS bot) (Requested by apavlov on #webkit).
1297
1298         * accessibility/AXObjectCache.cpp:
1299         (WebCore::nodeHasRole):
1300         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1301         (webkit_accessible_get_name):
1302         * dom/Document.cpp:
1303         (WebCore::Document::buildAccessKeyMap):
1304         (WebCore::Document::recalcStyleSelector):
1305         * dom/Element.cpp:
1306         (WebCore::Element::baseURI):
1307         (WebCore::Element::formatForDebugger):
1308         (WebCore::Element::spellcheckAttributeState):
1309         * dom/NameNodeList.cpp:
1310         (WebCore::NameNodeList::nodeMatches):
1311         * editing/ApplyStyleCommand.cpp:
1312         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1313         * editing/SplitElementCommand.cpp:
1314         (WebCore::SplitElementCommand::doUnapply):
1315         * editing/markup.cpp:
1316         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
1317         (WebCore::createMarkup):
1318         * html/HTMLAnchorElement.cpp:
1319         (WebCore::HTMLAnchorElement::draggable):
1320         (WebCore::HTMLAnchorElement::href):
1321         (WebCore::HTMLAnchorElement::name):
1322         (WebCore::HTMLAnchorElement::target):
1323         (WebCore::HTMLAnchorElement::sendPings):
1324         (WebCore::HTMLAnchorElement::handleClick):
1325         * html/HTMLAppletElement.cpp:
1326         (WebCore::HTMLAppletElement::createRenderer):
1327         * html/HTMLAreaElement.cpp:
1328         (WebCore::HTMLAreaElement::target):
1329         * html/HTMLBodyElement.cpp:
1330         (WebCore::HTMLBodyElement::aLink):
1331         (WebCore::HTMLBodyElement::bgColor):
1332         (WebCore::HTMLBodyElement::link):
1333         (WebCore::HTMLBodyElement::text):
1334         (WebCore::HTMLBodyElement::vLink):
1335         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
1336         * html/HTMLButtonElement.cpp:
1337         (WebCore::HTMLButtonElement::value):
1338         * html/HTMLCanvasElement.cpp:
1339         (WebCore::HTMLCanvasElement::reset):
1340         * html/HTMLCollection.cpp:
1341         (WebCore::HTMLCollection::checkForNameMatch):
1342         (WebCore::HTMLCollection::updateNameCache):
1343         * html/HTMLDocument.cpp:
1344         (WebCore::HTMLDocument::dir):
1345         * html/HTMLElement.cpp:
1346         (WebCore::HTMLElement::parseMappedAttribute):
1347         (WebCore::HTMLElement::draggable):
1348         (WebCore::HTMLElement::title):
1349         (WebCore::setHasDirAutoFlagRecursively):
1350         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
1351         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
1352         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1353         * html/HTMLEmbedElement.cpp:
1354         (WebCore::HTMLEmbedElement::updateWidget):
1355         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1356         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
1357         * html/HTMLFormCollection.cpp:
1358         (WebCore::HTMLFormCollection::getNamedFormItem):
1359         (WebCore::HTMLFormCollection::updateNameCache):
1360         * html/HTMLFormControlElement.cpp:
1361         (WebCore::HTMLFormControlElement::autofocus):
1362         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1363         * html/HTMLFormElement.cpp:
1364         (WebCore::HTMLFormElement::name):
1365         (WebCore::HTMLFormElement::action):
1366         (WebCore::HTMLFormElement::method):
1367         (WebCore::HTMLFormElement::target):
1368         * html/HTMLFrameElement.cpp:
1369         (WebCore::HTMLFrameElement::noResize):
1370         * html/HTMLFrameElementBase.cpp:
1371         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
1372         (WebCore::HTMLFrameElementBase::location):
1373         (WebCore::HTMLFrameElementBase::allowFullScreen):
1374         * html/HTMLHtmlElement.cpp:
1375         (WebCore::HTMLHtmlElement::insertedByParser):
1376         * html/HTMLImageElement.cpp:
1377         (WebCore::HTMLImageElement::altText):
1378         (WebCore::HTMLImageElement::width):
1379         (WebCore::HTMLImageElement::height):
1380         (WebCore::HTMLImageElement::alt):
1381         (WebCore::HTMLImageElement::draggable):
1382         (WebCore::HTMLImageElement::src):
1383         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
1384         * html/HTMLInputElement.cpp:
1385         (WebCore::HTMLInputElement::finishParsingChildren):
1386         (WebCore::HTMLInputElement::altText):
1387         (WebCore::HTMLInputElement::reset):
1388         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
1389         (WebCore::HTMLInputElement::isSpeechEnabled):
1390         * html/HTMLLabelElement.cpp:
1391         (WebCore::HTMLLabelElement::control):
1392         * html/HTMLLinkElement.cpp:
1393         (WebCore::HTMLLinkElement::process):
1394         (WebCore::HTMLLinkElement::href):
1395         (WebCore::HTMLLinkElement::rel):
1396         (WebCore::HTMLLinkElement::target):
1397         (WebCore::HTMLLinkElement::type):
1398         * html/HTMLMapElement.cpp:
1399         (WebCore::HTMLMapElement::imageElement):
1400         * html/HTMLMediaElement.cpp:
1401         (WebCore::HTMLMediaElement::attributeChanged):
1402         (WebCore::HTMLMediaElement::insertedIntoDocument):
1403         * html/HTMLMetaElement.cpp:
1404         (WebCore::HTMLMetaElement::content):
1405         (WebCore::HTMLMetaElement::httpEquiv):
1406         (WebCore::HTMLMetaElement::name):
1407         * html/HTMLMeterElement.cpp:
1408         (WebCore::HTMLMeterElement::min):
1409         (WebCore::HTMLMeterElement::max):
1410         (WebCore::HTMLMeterElement::value):
1411         (WebCore::HTMLMeterElement::low):
1412         (WebCore::HTMLMeterElement::high):
1413         (WebCore::HTMLMeterElement::optimum):
1414         * html/HTMLNameCollection.cpp:
1415         (WebCore::HTMLNameCollection::itemAfter):
1416         * html/HTMLObjectElement.cpp:
1417         (WebCore::HTMLObjectElement::updateWidget):
1418         (WebCore::HTMLObjectElement::containsJavaApplet):
1419         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
1420         * html/HTMLOptGroupElement.cpp:
1421         (WebCore::HTMLOptGroupElement::groupLabelText):
1422         * html/HTMLProgressElement.cpp:
1423         (WebCore::HTMLProgressElement::max):
1424         * html/HTMLScriptElement.cpp:
1425         (WebCore::HTMLScriptElement::sourceAttributeValue):
1426         (WebCore::HTMLScriptElement::charsetAttributeValue):
1427         (WebCore::HTMLScriptElement::typeAttributeValue):
1428         (WebCore::HTMLScriptElement::languageAttributeValue):
1429         (WebCore::HTMLScriptElement::forAttributeValue):
1430         (WebCore::HTMLScriptElement::eventAttributeValue):
1431         * html/HTMLSourceElement.cpp:
1432         (WebCore::HTMLSourceElement::media):
1433         (WebCore::HTMLSourceElement::type):
1434         * html/HTMLStyleElement.cpp:
1435         (WebCore::HTMLStyleElement::media):
1436         (WebCore::HTMLStyleElement::type):
1437         * html/HTMLTableCellElement.cpp:
1438         (WebCore::HTMLTableCellElement::abbr):
1439         (WebCore::HTMLTableCellElement::axis):
1440         (WebCore::HTMLTableCellElement::headers):
1441         (WebCore::HTMLTableCellElement::scope):
1442         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
1443         * html/HTMLTableColElement.cpp:
1444         (WebCore::HTMLTableColElement::width):
1445         * html/HTMLTableElement.cpp:
1446         (WebCore::HTMLTableElement::rules):
1447         (WebCore::HTMLTableElement::summary):
1448         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
1449         * html/HTMLTableSectionElement.cpp:
1450         (WebCore::HTMLTableSectionElement::align):
1451         (WebCore::HTMLTableSectionElement::ch):
1452         (WebCore::HTMLTableSectionElement::chOff):
1453         (WebCore::HTMLTableSectionElement::vAlign):
1454         * html/HTMLTextAreaElement.cpp:
1455         (WebCore::HTMLTextAreaElement::maxLength):
1456         * html/HTMLTextFormControlElement.cpp:
1457         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
1458         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
1459         * html/HTMLTrackElement.cpp:
1460         (WebCore::HTMLTrackElement::src):
1461         (WebCore::HTMLTrackElement::kind):
1462         (WebCore::HTMLTrackElement::srclang):
1463         (WebCore::HTMLTrackElement::label):
1464         (WebCore::HTMLTrackElement::isDefault):
1465         (WebCore::HTMLTrackElement::load):
1466         * html/HTMLVideoElement.cpp:
1467         (WebCore::HTMLVideoElement::width):
1468         (WebCore::HTMLVideoElement::height):
1469         * html/StepRange.cpp:
1470         (WebCore::StepRange::StepRange):
1471         * html/shadow/TextControlInnerElements.cpp:
1472         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1473         * inspector/InspectorPageAgent.cpp:
1474         (WebCore::InspectorPageAgent::buildObjectForFrame):
1475         * loader/FormSubmission.cpp:
1476         (WebCore::FormSubmission::create):
1477         * loader/ImageLoader.cpp:
1478         (WebCore::ImageLoader::updateFromElement):
1479         * page/Frame.cpp:
1480         (WebCore::Frame::matchLabelsAgainstElement):
1481         * page/PageSerializer.cpp:
1482         (WebCore::PageSerializer::serializeFrame):
1483         * page/mac/FrameMac.mm:
1484         (WebCore::Frame::matchLabelsAgainstElement):
1485         * platform/chromium/ClipboardChromium.cpp:
1486         (WebCore::writeImageToDataObject):
1487         * platform/chromium/PasteboardChromium.cpp:
1488         (WebCore::Pasteboard::writeImage):
1489         * platform/gtk/PasteboardGtk.cpp:
1490         (WebCore::getURLForImageNode):
1491         * platform/mac/HTMLConverter.mm:
1492         (fileWrapperForElement):
1493         * platform/win/ClipboardWin.cpp:
1494         (WebCore::writeImageToDataObject):
1495         (WebCore::ClipboardWin::declareAndWriteDragImage):
1496         * rendering/HitTestResult.cpp:
1497         (WebCore::HitTestResult::altDisplayString):
1498         (WebCore::HitTestResult::absoluteImageURL):
1499         (WebCore::HitTestResult::absoluteLinkURL):
1500         * rendering/RenderDetails.cpp:
1501         (WebCore::RenderDetails::isOpen):
1502         * rendering/RenderMenuList.cpp:
1503         (WebCore::RenderMenuList::itemAccessibilityText):
1504         * rendering/RenderObject.cpp:
1505         (WebCore::RenderObject::addPDFURLRect):
1506         * rendering/RenderTableCell.cpp:
1507         (WebCore::RenderTableCell::computePreferredLogicalWidths):
1508         * rendering/RenderTextControlSingleLine.cpp:
1509         (WebCore::RenderTextControlSingleLine::autosaveName):
1510         * rendering/RenderVideo.cpp:
1511         (WebCore::RenderVideo::calculateIntrinsicSize):
1512         * rendering/mathml/RenderMathMLFenced.cpp:
1513         (WebCore::RenderMathMLFenced::updateFromElement):
1514         * rendering/mathml/RenderMathMLFraction.cpp:
1515         (WebCore::RenderMathMLFraction::updateFromElement):
1516         * rendering/mathml/RenderMathMLOperator.cpp:
1517         (WebCore::RenderMathMLOperator::updateFromElement):
1518         * svg/SVGFontData.cpp:
1519         (WebCore::SVGFontData::applySVGGlyphSelection):
1520
1521 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
1522
1523         REGRESSION (r94093): Private browsing doesn't start with a clean state on Snow Leopard
1524         https://bugs.webkit.org/show_bug.cgi?id=67356
1525
1526         Reviewed by Darin Adler.
1527
1528         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
1529         Don't enable old-style private browsing when using sessions - it would take precedence over
1530         session cookie storage on Snow Leopard.
1531
1532 2011-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
1533
1534         BORDER attribute percent with the input image tag not working.
1535         https://bugs.webkit.org/show_bug.cgi?id=66467
1536
1537         Reviewed by Simon Fraser.
1538
1539         This patch fixes 2 issues regarding the border attribute of an input image element.
1540         1. The border attribute, if specified, is now taken into account and the border of the input image element is displayed.
1541         2. If the border attribute contains percent, the border is displayed.
1542         The value of the border attribute for input image element is now parsed according to the rules for parsing non-negative integers.
1543         This implies that when percent is specified in the border attribute, parsing takes place and the percent is ignored.
1544         If after parsing, the value of the border is greater than zero, the border of the input image element is displayed.
1545
1546         * html/HTMLElement.cpp:
1547         (WebCore::parseBorderWidthAttribute):
1548         (WebCore::HTMLElement::applyBorderAttribute):
1549         * html/HTMLElement.h:
1550         * html/HTMLImageElement.cpp:
1551         (WebCore::HTMLImageElement::parseMappedAttribute):
1552         * html/HTMLInputElement.cpp:
1553         (WebCore::HTMLInputElement::parseMappedAttribute):
1554         * html/HTMLObjectElement.cpp:
1555         (WebCore::HTMLObjectElement::parseMappedAttribute):
1556
1557 2011-09-02  Kentaro Hara  <haraken@google.com>
1558
1559         Implement the Event constructor for V8.
1560         https://bugs.webkit.org/show_bug.cgi?id=66756
1561
1562         Reviewed by Adam Barth.
1563
1564         The spec of the Event constructor is here:
1565         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor
1566         This patch implements the Event constructor for V8 in V8EventConstructors.cpp,
1567         similar to the implementation for JSC in JSEventConstructors.cpp.
1568
1569         * WebCore.gypi: Added V8EventConstructors.cpp.
1570         * WebCore.pro: Ditto.
1571         * bindings/scripts/CodeGeneratorV8.pm:
1572         * bindings/v8/OptionsObject.cpp:
1573         (WebCore::OptionsObject::getKeyDouble): Returns a value of type double corresponding to a given key.
1574         * bindings/v8/OptionsObject.h:
1575         (WebCore::OptionsObject::getKeyValue): Returns a value corresponding to a given key.
1576         * bindings/v8/custom/V8EventConstructors.cpp: Added.
1577         (WebCore::constructV8Event): AllowAllocation::current() means that a DOM object created by WebCore is going to be just wrapped into a V8 object. In this case, we skip the code of constructorCallback().
1578         * dom/Event.idl: Added |V8CustomConstructor|.
1579
1580 2011-09-02  Anton Muhin  <antonm@chromium.org>
1581
1582         [v8] Use size_t instead of unsigned when iterating over Vector in V8DOMStringMap
1583         https://bugs.webkit.org/show_bug.cgi?id=67484
1584
1585         Reviewed by Yury Semikhatsky.
1586
1587         No new tests, minor cleanup.
1588
1589         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1590         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
1591
1592 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1593
1594         Unreviewed, rolling out r94404.
1595         http://trac.webkit.org/changeset/94404
1596         https://bugs.webkit.org/show_bug.cgi?id=67490
1597
1598         "Patch is wrong, new API needs two reviewers, we are already
1599         working on how to add notifications elsewhere" (Requested by
1600         xan_ on #webkit).
1601
1602         * bindings/gobject/GNUmakefile.am:
1603
1604 2011-09-02  Andreas Kling  <kling@webkit.org>
1605
1606         Use fastGetAttribute() and fastHasAttribute() where appropriate.
1607         https://bugs.webkit.org/show_bug.cgi?id=67394
1608
1609         Reviewed by Darin Adler.
1610
1611         Change call sites that don't check the "style" or SVG animatable
1612         attributes to use fastGetAttribute()/fastHasAttribute() instead
1613         of getAttribute()/hasAttribute().
1614
1615         No new tests, this is a minor performance optimization.
1616
1617         * accessibility/AXObjectCache.cpp:
1618         (WebCore::nodeHasRole):
1619         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1620         (webkit_accessible_get_name):
1621         * dom/Document.cpp:
1622         (WebCore::Document::buildAccessKeyMap):
1623         (WebCore::Document::recalcStyleSelector):
1624         * dom/Element.cpp:
1625         (WebCore::Element::baseURI):
1626         (WebCore::Element::formatForDebugger):
1627         (WebCore::Element::spellcheckAttributeState):
1628         * dom/NameNodeList.cpp:
1629         (WebCore::NameNodeList::nodeMatches):
1630         * editing/ApplyStyleCommand.cpp:
1631         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1632         * editing/SplitElementCommand.cpp:
1633         (WebCore::SplitElementCommand::doUnapply):
1634         * editing/markup.cpp:
1635         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
1636         (WebCore::createMarkup):
1637         * html/HTMLAnchorElement.cpp:
1638         (WebCore::HTMLAnchorElement::draggable):
1639         (WebCore::HTMLAnchorElement::href):
1640         (WebCore::HTMLAnchorElement::name):
1641         (WebCore::HTMLAnchorElement::target):
1642         (WebCore::HTMLAnchorElement::sendPings):
1643         (WebCore::HTMLAnchorElement::handleClick):
1644         * html/HTMLAppletElement.cpp:
1645         (WebCore::HTMLAppletElement::createRenderer):
1646         * html/HTMLAreaElement.cpp:
1647         (WebCore::HTMLAreaElement::target):
1648         * html/HTMLBodyElement.cpp:
1649         (WebCore::HTMLBodyElement::aLink):
1650         (WebCore::HTMLBodyElement::bgColor):
1651         (WebCore::HTMLBodyElement::link):
1652         (WebCore::HTMLBodyElement::text):
1653         (WebCore::HTMLBodyElement::vLink):
1654         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
1655         * html/HTMLButtonElement.cpp:
1656         (WebCore::HTMLButtonElement::value):
1657         * html/HTMLCanvasElement.cpp:
1658         (WebCore::HTMLCanvasElement::reset):
1659         * html/HTMLCollection.cpp:
1660         (WebCore::HTMLCollection::checkForNameMatch):
1661         (WebCore::HTMLCollection::updateNameCache):
1662         * html/HTMLDocument.cpp:
1663         (WebCore::HTMLDocument::dir):
1664         * html/HTMLElement.cpp:
1665         (WebCore::HTMLElement::parseMappedAttribute):
1666         (WebCore::HTMLElement::draggable):
1667         (WebCore::HTMLElement::title):
1668         (WebCore::setHasDirAutoFlagRecursively):
1669         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
1670         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
1671         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1672         * html/HTMLEmbedElement.cpp:
1673         (WebCore::HTMLEmbedElement::updateWidget):
1674         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1675         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
1676         * html/HTMLFormCollection.cpp:
1677         (WebCore::HTMLFormCollection::getNamedFormItem):
1678         (WebCore::HTMLFormCollection::updateNameCache):
1679         * html/HTMLFormControlElement.cpp:
1680         (WebCore::HTMLFormControlElement::autofocus):
1681         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1682         * html/HTMLFormElement.cpp:
1683         (WebCore::HTMLFormElement::name):
1684         (WebCore::HTMLFormElement::action):
1685         (WebCore::HTMLFormElement::method):
1686         (WebCore::HTMLFormElement::target):
1687         * html/HTMLFrameElement.cpp:
1688         (WebCore::HTMLFrameElement::noResize):
1689         * html/HTMLFrameElementBase.cpp:
1690         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
1691         (WebCore::HTMLFrameElementBase::location):
1692         (WebCore::HTMLFrameElementBase::allowFullScreen):
1693         * html/HTMLHtmlElement.cpp:
1694         (WebCore::HTMLHtmlElement::insertedByParser):
1695         * html/HTMLImageElement.cpp:
1696         (WebCore::HTMLImageElement::altText):
1697         (WebCore::HTMLImageElement::width):
1698         (WebCore::HTMLImageElement::height):
1699         (WebCore::HTMLImageElement::alt):
1700         (WebCore::HTMLImageElement::draggable):
1701         (WebCore::HTMLImageElement::src):
1702         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
1703         * html/HTMLInputElement.cpp:
1704         (WebCore::HTMLInputElement::finishParsingChildren):
1705         (WebCore::HTMLInputElement::altText):
1706         (WebCore::HTMLInputElement::reset):
1707         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
1708         (WebCore::HTMLInputElement::isSpeechEnabled):
1709         * html/HTMLLabelElement.cpp:
1710         (WebCore::HTMLLabelElement::control):
1711         * html/HTMLLinkElement.cpp:
1712         (WebCore::HTMLLinkElement::process):
1713         (WebCore::HTMLLinkElement::href):
1714         (WebCore::HTMLLinkElement::rel):
1715         (WebCore::HTMLLinkElement::target):
1716         (WebCore::HTMLLinkElement::type):
1717         * html/HTMLMapElement.cpp:
1718         (WebCore::HTMLMapElement::imageElement):
1719         * html/HTMLMediaElement.cpp:
1720         (WebCore::HTMLMediaElement::attributeChanged):
1721         (WebCore::HTMLMediaElement::insertedIntoDocument):
1722         * html/HTMLMetaElement.cpp:
1723         (WebCore::HTMLMetaElement::content):
1724         (WebCore::HTMLMetaElement::httpEquiv):
1725         (WebCore::HTMLMetaElement::name):
1726         * html/HTMLMeterElement.cpp:
1727         (WebCore::HTMLMeterElement::min):
1728         (WebCore::HTMLMeterElement::max):
1729         (WebCore::HTMLMeterElement::value):
1730         (WebCore::HTMLMeterElement::low):
1731         (WebCore::HTMLMeterElement::high):
1732         (WebCore::HTMLMeterElement::optimum):
1733         * html/HTMLNameCollection.cpp:
1734         (WebCore::HTMLNameCollection::itemAfter):
1735         * html/HTMLObjectElement.cpp:
1736         (WebCore::HTMLObjectElement::updateWidget):
1737         (WebCore::HTMLObjectElement::containsJavaApplet):
1738         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
1739         * html/HTMLOptGroupElement.cpp:
1740         (WebCore::HTMLOptGroupElement::groupLabelText):
1741         * html/HTMLProgressElement.cpp:
1742         (WebCore::HTMLProgressElement::max):
1743         * html/HTMLScriptElement.cpp:
1744         (WebCore::HTMLScriptElement::sourceAttributeValue):
1745         (WebCore::HTMLScriptElement::charsetAttributeValue):
1746         (WebCore::HTMLScriptElement::typeAttributeValue):
1747         (WebCore::HTMLScriptElement::languageAttributeValue):
1748         (WebCore::HTMLScriptElement::forAttributeValue):
1749         (WebCore::HTMLScriptElement::eventAttributeValue):
1750         * html/HTMLSourceElement.cpp:
1751         (WebCore::HTMLSourceElement::media):
1752         (WebCore::HTMLSourceElement::type):
1753         * html/HTMLStyleElement.cpp:
1754         (WebCore::HTMLStyleElement::media):
1755         (WebCore::HTMLStyleElement::type):
1756         * html/HTMLTableCellElement.cpp:
1757         (WebCore::HTMLTableCellElement::abbr):
1758         (WebCore::HTMLTableCellElement::axis):
1759         (WebCore::HTMLTableCellElement::headers):
1760         (WebCore::HTMLTableCellElement::scope):
1761         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
1762         * html/HTMLTableColElement.cpp:
1763         (WebCore::HTMLTableColElement::width):
1764         * html/HTMLTableElement.cpp:
1765         (WebCore::HTMLTableElement::rules):
1766         (WebCore::HTMLTableElement::summary):
1767         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
1768         * html/HTMLTableSectionElement.cpp:
1769         (WebCore::HTMLTableSectionElement::align):
1770         (WebCore::HTMLTableSectionElement::ch):
1771         (WebCore::HTMLTableSectionElement::chOff):
1772         (WebCore::HTMLTableSectionElement::vAlign):
1773         * html/HTMLTextAreaElement.cpp:
1774         (WebCore::HTMLTextAreaElement::maxLength):
1775         * html/HTMLTextFormControlElement.cpp:
1776         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
1777         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
1778         * html/HTMLTrackElement.cpp:
1779         (WebCore::HTMLTrackElement::src):
1780         (WebCore::HTMLTrackElement::kind):
1781         (WebCore::HTMLTrackElement::srclang):
1782         (WebCore::HTMLTrackElement::label):
1783         (WebCore::HTMLTrackElement::isDefault):
1784         (WebCore::HTMLTrackElement::load):
1785         * html/HTMLVideoElement.cpp:
1786         (WebCore::HTMLVideoElement::width):
1787         (WebCore::HTMLVideoElement::height):
1788         * html/StepRange.cpp:
1789         (WebCore::StepRange::StepRange):
1790         * html/shadow/TextControlInnerElements.cpp:
1791         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1792         * inspector/InspectorPageAgent.cpp:
1793         (WebCore::InspectorPageAgent::buildObjectForFrame):
1794         * loader/FormSubmission.cpp:
1795         (WebCore::FormSubmission::create):
1796         * loader/ImageLoader.cpp:
1797         (WebCore::ImageLoader::updateFromElement):
1798         * page/Frame.cpp:
1799         (WebCore::Frame::matchLabelsAgainstElement):
1800         * page/PageSerializer.cpp:
1801         (WebCore::PageSerializer::serializeFrame):
1802         * page/mac/FrameMac.mm:
1803         (WebCore::Frame::matchLabelsAgainstElement):
1804         * platform/chromium/ClipboardChromium.cpp:
1805         (WebCore::writeImageToDataObject):
1806         * platform/chromium/PasteboardChromium.cpp:
1807         (WebCore::Pasteboard::writeImage):
1808         * platform/gtk/PasteboardGtk.cpp:
1809         (WebCore::getURLForImageNode):
1810         * platform/mac/HTMLConverter.mm:
1811         (fileWrapperForElement):
1812         * platform/win/ClipboardWin.cpp:
1813         (WebCore::writeImageToDataObject):
1814         (WebCore::ClipboardWin::declareAndWriteDragImage):
1815         * rendering/HitTestResult.cpp:
1816         (WebCore::HitTestResult::altDisplayString):
1817         (WebCore::HitTestResult::absoluteImageURL):
1818         (WebCore::HitTestResult::absoluteLinkURL):
1819         * rendering/RenderDetails.cpp:
1820         (WebCore::RenderDetails::isOpen):
1821         * rendering/RenderMenuList.cpp:
1822         (WebCore::RenderMenuList::itemAccessibilityText):
1823         * rendering/RenderObject.cpp:
1824         (WebCore::RenderObject::addPDFURLRect):
1825         * rendering/RenderTableCell.cpp:
1826         (WebCore::RenderTableCell::computePreferredLogicalWidths):
1827         * rendering/RenderTextControlSingleLine.cpp:
1828         (WebCore::RenderTextControlSingleLine::autosaveName):
1829         * rendering/RenderVideo.cpp:
1830         (WebCore::RenderVideo::calculateIntrinsicSize):
1831         * rendering/mathml/RenderMathMLFenced.cpp:
1832         (WebCore::RenderMathMLFenced::updateFromElement):
1833         * rendering/mathml/RenderMathMLFraction.cpp:
1834         (WebCore::RenderMathMLFraction::updateFromElement):
1835         * rendering/mathml/RenderMathMLOperator.cpp:
1836         (WebCore::RenderMathMLOperator::updateFromElement):
1837         * svg/SVGFontData.cpp:
1838         (WebCore::SVGFontData::applySVGGlyphSelection):
1839
1840 2011-09-01  David Hyatt  <hyatt@apple.com>
1841
1842         https://bugs.webkit.org/show_bug.cgi?id=67431
1843         
1844         Implement border-image-repeat. Similar to how border-image-slice was implemented, the parsing of the two
1845         repeat values has been moved into separate functions. The value is represented as a Pair (similar to how we
1846         handle border radius).
1847
1848         Reviewed by Beth Dakin.
1849
1850         Added fast/borders/border-image-repeat.html.
1851
1852         * css/CSSBorderImageValue.cpp:
1853         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1854         (WebCore::CSSBorderImageValue::cssText):
1855         * css/CSSBorderImageValue.h:
1856         (WebCore::CSSBorderImageValue::create):
1857         Modified the CSSBorderImageValue (you're living on borrowed time, my friend!) to have a CSSValue that
1858         contains a Pair.
1859
1860         * css/CSSComputedStyleDeclaration.cpp:
1861         (WebCore::valueForRepeatRule):
1862         (WebCore::valueForNinePieceImageRepeat):
1863         (WebCore::valueForNinePieceImage):
1864         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1865         Add support for the new properties. Break out the value retrieval for the image repeat rules into its
1866         own function, valueForNinePieceImageRepeat.
1867
1868         * css/CSSParser.cpp:
1869         (WebCore::CSSParser::parseValue):
1870         (WebCore::BorderImageParseContext::BorderImageParseContext):
1871         (WebCore::BorderImageParseContext::allowRepeat):
1872         (WebCore::BorderImageParseContext::commitSlice):
1873         (WebCore::BorderImageParseContext::commitSlash):
1874         (WebCore::BorderImageParseContext::commitWidth):
1875         (WebCore::BorderImageParseContext::commitRepeat):
1876         (WebCore::BorderImageParseContext::commitBorderImage):
1877         (WebCore::CSSParser::parseBorderImage):
1878         Modified the parsing of border image to call into parseBorderImageRepeat for the repeat values.
1879
1880         (WebCore::isBorderImageRepeatKeyword):
1881         (WebCore::CSSParser::parseBorderImageRepeat):
1882         The new parsing code for border-image-repeat is here. It will build up a CSSValue containing a Pair and
1883         return the result.
1884
1885         * css/CSSParser.h:
1886         * css/CSSPropertyNames.in:
1887         Add the new properties.
1888
1889         * css/CSSStyleSelector.cpp:
1890         (WebCore::CSSStyleSelector::applyProperty):
1891         (WebCore::CSSStyleSelector::mapNinePieceImage):
1892         (WebCore::CSSStyleSelector::mapNinePieceImageRepeat):
1893         * css/CSSStyleSelector.h:
1894         The mapping into the front end is done the same way as border-image-slice. Factor out the image repeat rules
1895         portion into mapNinePieceImageRepeat.
1896
1897         * platform/graphics/Image.cpp:
1898         (WebCore::Image::drawTiled):
1899         * platform/graphics/Image.h:
1900         Add the new 'space' value as a valid image tiling rule. It's not yet supported and, like the 'round' value,
1901         is just mapped to 'repeat' for now.
1902         
1903         * rendering/style/NinePieceImage.h:
1904         (WebCore::NinePieceImage::copyRepeatFrom):
1905         Helper for copying only the repeat rules from another NinePieceImage.
1906
1907 2011-09-02  Jarred Nicholls  <jarred@sencha.com>
1908
1909         [Qt] number input not rendering spin buttons properly in RTL direction
1910         https://bugs.webkit.org/show_bug.cgi?id=67445
1911         
1912         Properly render Qt's number input with RTL direction, and fix Plastique styling.
1913
1914         Reviewed by Andreas Kling.
1915
1916         * platform/qt/RenderThemeQt.cpp:
1917         (WebCore::RenderThemeQt::paintInnerSpinButton):
1918
1919 2011-09-02  Arko Saha  <nghq36@motorola.com>
1920
1921         Resetting media controls when the src is changed from a valid url to an
1922         invalid url.
1923         https://bugs.webkit.org/show_bug.cgi?id=64880
1924
1925         Reviewed by Eric Carlson.
1926
1927         Test: media/media-controls-invalid-url.html
1928
1929         * html/HTMLMediaElement.cpp:
1930         (WebCore::HTMLMediaElement::mediaLoadingFailed):
1931
1932 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1933
1934         Web Inspector: Make it more clear when requests are loaded from cache on network panel.
1935         https://bugs.webkit.org/show_bug.cgi?id=67396
1936
1937         Reviewed by Pavel Feldman.
1938
1939         * inspector/front-end/NetworkPanel.js:
1940         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1941         * inspector/front-end/ResourceHeadersView.js:
1942         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1943         * inspector/front-end/networkPanel.css:
1944         (.resource-headers-view .outline-disclosure li .status-from-cache):
1945
1946 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1947
1948         Web Inspector: Should remove resource highlight on sort/filter in network panel.
1949         https://bugs.webkit.org/show_bug.cgi?id=67411
1950
1951         Reviewed by Pavel Feldman.
1952
1953         * inspector/front-end/NetworkPanel.js:
1954         (WebInspector.NetworkLogView.prototype._sortItems):
1955         (WebInspector.NetworkLogView.prototype._sortByTimeline):
1956         (WebInspector.NetworkLogView.prototype._updateFilter):
1957
1958 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1959
1960         Web Inspector: Network: jump to initiator's record in case of redirect
1961         https://bugs.webkit.org/show_bug.cgi?id=67367
1962
1963         Reviewed by Pavel Feldman.
1964
1965         * English.lproj/localizedStrings.js:
1966         * inspector/front-end/NetworkManager.js:
1967         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1968         * inspector/front-end/NetworkPanel.js:
1969         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
1970         * inspector/front-end/Resource.js:
1971         (WebInspector.Resource.prototype.get redirectSource):
1972         (WebInspector.Resource.prototype.set redirectSource):
1973
1974 2011-09-02  Antti Koivisto  <antti@apple.com>
1975
1976         De-virtualize recalcStyle()
1977         https://bugs.webkit.org/show_bug.cgi?id=67378
1978
1979         Reviewed by Dimitri Glazkov.
1980
1981         Element::recalcStyle() does not need to be virtual, there are very few legit overrides. This will
1982         also make it possible to de-recursify it later.
1983         
1984         Added willRecalcStyle()/didRecalcStyle() virtual function for subclasses that need custom style recalc.
1985         These are only invoked if hasCustomWillOrDidRecalcStyle() bit is set.
1986
1987         * dom/Document.cpp:
1988         (WebCore::Document::recalcStyle):
1989         * dom/Document.h:
1990         * dom/Element.cpp:
1991         (WebCore::Element::recalcStyle):
1992         * dom/Element.h:
1993         (WebCore::Element::willRecalcStyle):
1994         (WebCore::Element::didRecalcStyle):
1995         * dom/Node.h:
1996         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
1997         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
1998         * dom/ShadowRoot.cpp:
1999         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2000         * dom/ShadowRoot.h:
2001         * dom/Text.cpp:
2002         (WebCore::Text::recalcTextStyle):
2003         * dom/Text.h:
2004         * html/HTMLFormControlElement.cpp:
2005         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2006         (WebCore::HTMLFormControlElement::didRecalcStyle):
2007         * html/HTMLFormControlElement.h:
2008         * html/HTMLFrameSetElement.cpp:
2009         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2010         (WebCore::HTMLFrameSetElement::willRecalcStyle):
2011         * html/HTMLFrameSetElement.h:
2012         * html/HTMLMediaElement.cpp:
2013         (WebCore::HTMLMediaElement::HTMLMediaElement):
2014         (WebCore::HTMLMediaElement::didRecalcStyle):
2015         * html/HTMLMediaElement.h:
2016         * html/HTMLNoScriptElement.cpp:
2017         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
2018         (WebCore::HTMLNoScriptElement::willRecalcStyle):
2019         * html/HTMLNoScriptElement.h:
2020         * html/HTMLPlugInImageElement.cpp:
2021         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2022         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
2023         * html/HTMLPlugInImageElement.h:
2024         * html/HTMLSelectElement.cpp:
2025         * html/HTMLSelectElement.h:
2026         * svg/SVGTRefElement.cpp:
2027         (WebCore::SVGTRefElement::SVGTRefElement):
2028         (WebCore::SVGShadowText::willRecalcStyle):
2029         * svg/SVGUseElement.cpp:
2030         (WebCore::SVGUseElement::SVGUseElement):
2031         (WebCore::SVGUseElement::willRecalcStyle):
2032         (WebCore::SVGUseElement::didRecalcStyle):
2033         * svg/SVGUseElement.h:
2034
2035 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
2036
2037         WebSocket: Send Blob as WebSocket binary message
2038         https://bugs.webkit.org/show_bug.cgi?id=67465
2039
2040         Reviewed by Kent Tamura.
2041
2042         Re-lands r94399 with a fix for Leopard builds.
2043
2044         * bindings/js/JSWebSocketCustom.cpp:
2045         (WebCore::JSWebSocket::send):
2046         * bindings/v8/custom/V8WebSocketCustom.cpp:
2047         (WebCore::V8WebSocket::sendCallback):
2048         * websockets/ThreadableWebSocketChannel.h:
2049         * websockets/WebSocket.cpp:
2050         (WebCore::WebSocket::send):
2051         * websockets/WebSocket.h:
2052         * websockets/WebSocket.idl:
2053         * websockets/WebSocketChannel.cpp:
2054         (WebCore::WebSocketChannel::send):
2055         * websockets/WebSocketChannel.h:
2056         * websockets/WorkerThreadableWebSocketChannel.cpp:
2057         (WebCore::WorkerThreadableWebSocketChannel::send):
2058         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2059         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
2060         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2061         * websockets/WorkerThreadableWebSocketChannel.h:
2062
2063 2011-09-02  Patrick Gansterer  <paroga@webkit.org>
2064
2065         [GTK] Generate gobject bindings for Notification and NotificationCenter
2066         https://bugs.webkit.org/show_bug.cgi?id=67380
2067
2068         Reviewed by Philippe Normand.
2069
2070         * bindings/gobject/GNUmakefile.am:
2071
2072 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
2073
2074         [chromium] editing/selection/regional-indicators.html timing out on Linux
2075         https://bugs.webkit.org/show_bug.cgi?id=66510
2076
2077         Reviewed by Kent Tamura.
2078
2079         Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
2080
2081         No new tests. editing/selection/regional-indicators.html should pass with this patch.
2082
2083         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2084         (WebCore::ComplexTextController::nextScriptRun): Used SurrogatePairAwareTextIterator to split run.
2085         (WebCore::surrogatePairAwareFirstCharacter): Added.
2086         (WebCore::ComplexTextController::setupFontForScriptRun): Used surrogatePairAwareFirstCharacter() to get appropriate FontData.
2087
2088 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2089
2090         Unreviewed, rolling out r94399.
2091         http://trac.webkit.org/changeset/94399
2092         https://bugs.webkit.org/show_bug.cgi?id=67471
2093
2094         Broke Leopard build (Requested by yutak on #webkit).
2095
2096         * bindings/js/JSWebSocketCustom.cpp:
2097         * bindings/v8/custom/V8WebSocketCustom.cpp:
2098         * websockets/ThreadableWebSocketChannel.h:
2099         * websockets/WebSocket.cpp:
2100         * websockets/WebSocket.h:
2101         * websockets/WebSocket.idl:
2102         * websockets/WebSocketChannel.cpp:
2103         (WebCore::WebSocketChannel::send):
2104         * websockets/WebSocketChannel.h:
2105         * websockets/WorkerThreadableWebSocketChannel.cpp:
2106         * websockets/WorkerThreadableWebSocketChannel.h:
2107
2108 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2109
2110         Unreviewed, rolling out r94393.
2111         http://trac.webkit.org/changeset/94393
2112         https://bugs.webkit.org/show_bug.cgi?id=67470
2113
2114         It broke Qt-SL build (Requested by ossy on #webkit).
2115
2116         * WebCore.pro:
2117
2118 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
2119
2120         [Chromium] Webfonts display bold in Windows
2121         https://bugs.webkit.org/show_bug.cgi?id=67387
2122
2123         Uses font's default weight for webfonts by setting FW_DONTCARE.
2124
2125         Reviewed by Kent Tamura.
2126
2127         No new tests. We don't have fonts to test this change.
2128
2129         * platform/graphics/skia/FontCustomPlatformData.cpp:
2130         (WebCore::FontCustomPlatformData::fontPlatformData): Sets FW_DONTCARE to use default font weight.
2131
2132 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
2133
2134         WebSocket: Send Blob as WebSocket binary message
2135         https://bugs.webkit.org/show_bug.cgi?id=67465
2136
2137         Reviewed by Kent Tamura.
2138
2139         Tests: http/tests/websocket/tests/hixie76/send-empty.html
2140                http/tests/websocket/tests/hixie76/send-object.html
2141                http/tests/websocket/tests/hybi/send-blob.html
2142                http/tests/websocket/tests/hybi/send-empty.html
2143                http/tests/websocket/tests/hybi/send-file-blob-fail.html
2144                http/tests/websocket/tests/hybi/send-file-blob.html
2145                http/tests/websocket/tests/hybi/workers/send-blob.html
2146                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
2147
2148         * bindings/js/JSWebSocketCustom.cpp:
2149         (WebCore::JSWebSocket::send):
2150         * bindings/v8/custom/V8WebSocketCustom.cpp:
2151         (WebCore::V8WebSocket::sendCallback):
2152         * websockets/ThreadableWebSocketChannel.h:
2153         * websockets/WebSocket.cpp:
2154         (WebCore::WebSocket::send):
2155         * websockets/WebSocket.h:
2156         * websockets/WebSocket.idl:
2157         Fixing code generator did not sound easy, because there are some classes depending on
2158         broken behavior of current code generator (one such example is CanvasRenderingContext2D).
2159         As a temporary workaround, new custom handlers for send() are added.
2160         * websockets/WebSocketChannel.cpp:
2161         (WebCore::WebSocketChannel::send):
2162         * websockets/WebSocketChannel.h:
2163         * websockets/WorkerThreadableWebSocketChannel.cpp:
2164         (WebCore::WorkerThreadableWebSocketChannel::send):
2165         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2166         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
2167         A Blob can be deserialized from url, type and size.
2168         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2169         KURL, String and long long (corresponding to url, type and size, respectively) can be passed
2170         safely across threads.
2171         * websockets/WorkerThreadableWebSocketChannel.h:
2172
2173 2011-09-02  Philippe Normand  <pnormand@igalia.com>
2174
2175         [WebAudio] Undeclared dependency to VIDEO
2176         https://bugs.webkit.org/show_bug.cgi?id=66893
2177
2178         Reviewed by Kenneth Russell.
2179
2180         Build MediaAudioSourceNode only if VIDEO is enabled
2181
2182         * webaudio/AudioContext.cpp:
2183         * webaudio/AudioContext.h:
2184         * webaudio/AudioContext.idl:
2185         * webaudio/MediaElementAudioSourceNode.cpp:
2186         * webaudio/MediaElementAudioSourceNode.h:
2187         * webaudio/MediaElementAudioSourceNode.idl:
2188
2189 2011-09-02  Csaba Osztrogonác  <ossy@webkit.org>
2190
2191         [Qt][WK2] Unreviewed speculative buildfix.
2192
2193         * WebCore.pro: Add platform/graphics/GlyphPageTreeNode.cpp to SOURCES.
2194
2195 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2196
2197         Unreviewed, rolling out r94389.
2198         http://trac.webkit.org/changeset/94389
2199         https://bugs.webkit.org/show_bug.cgi?id=67468
2200
2201         breaks mac build (Requested by philn-tp on #webkit).
2202
2203         * webaudio/AudioContext.cpp:
2204         (WebCore::AudioContext::createMediaElementSource):
2205         * webaudio/AudioContext.h:
2206         * webaudio/AudioContext.idl:
2207         * webaudio/MediaElementAudioSourceNode.cpp:
2208         * webaudio/MediaElementAudioSourceNode.h:
2209         * webaudio/MediaElementAudioSourceNode.idl:
2210
2211 2011-09-02  Kentaro Hara  <haraken@google.com>
2212
2213         Generate an EventSource constructor of V8 using the IDL 'Constructor' extended attribute
2214         https://bugs.webkit.org/show_bug.cgi?id=67459
2215
2216         Reviewed by Adam Barth.
2217
2218         Tests: fast/eventsource/eventsource-constructor.html
2219                fast/eventsource/eventsource-attribute-listeners.html
2220
2221         * WebCore.gypi: Removed V8EventSourceConstructor.cpp.
2222         * WebCore.pro: Removed V8EventSourceConstructor.cpp.
2223         * bindings/v8/custom/V8EventSourceConstructor.cpp: Removed.
2224         * page/EventSource.idl: Added the 'Constructor' extended attribute.
2225
2226 2011-09-02  Philippe Normand  <pnormand@igalia.com>
2227
2228         [WebAudio] Undeclared dependency to VIDEO
2229         https://bugs.webkit.org/show_bug.cgi?id=66893
2230
2231         Reviewed by Kenneth Russell.
2232
2233         Build MediaAudioSourceNode only if VIDEO is enabled
2234
2235         * webaudio/AudioContext.cpp:
2236         * webaudio/AudioContext.h:
2237         * webaudio/AudioContext.idl:
2238         * webaudio/MediaElementAudioSourceNode.cpp:
2239         * webaudio/MediaElementAudioSourceNode.h:
2240         * webaudio/MediaElementAudioSourceNode.idl:
2241
2242 2011-09-01  Takashi Toyoshima  <toyoshim@chromium.org>
2243
2244         [WebSocket] Implement WebSocket::close() code and reason handling.
2245         https://bugs.webkit.org/show_bug.cgi?id=66925
2246
2247         Reviewed by Kent Tamura.
2248
2249         Tests: http/tests/websocket/tests/hybi/close.html
2250                http/tests/websocket/tests/hybi/workers/close.html
2251
2252         * bindings/js/JSWebSocketCustom.cpp:
2253         (WebCore::JSWebSocket::close):
2254         * bindings/v8/custom/V8WebSocketCustom.cpp:
2255         (WebCore::V8WebSocket::closeCallback):
2256         Add custom bridge for WebSocket::close().
2257         * websockets/ThreadableWebSocketChannel.h:
2258         * websockets/WebSocket.cpp:
2259         (WebCore::WebSocket::close):
2260         * websockets/WebSocket.h:
2261         * websockets/WebSocket.idl:
2262         * websockets/WebSocketChannel.cpp:
2263         (WebCore::WebSocketChannel::close):
2264         Add code and reason arguments handling.
2265         (WebCore::WebSocketChannel::startClosingHandshake):
2266         Send a close frame without code and reason on server initiated closing handshakes.
2267         (WebCore::WebSocketChannel::processFrame):
2268         (WebCore::WebSocketChannel::processFrameHixie76):
2269         * websockets/WebSocketChannel.h:
2270         * websockets/WorkerThreadableWebSocketChannel.cpp:
2271         (WebCore::WorkerThreadableWebSocketChannel::close):
2272         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
2273         (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
2274         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
2275         * websockets/WorkerThreadableWebSocketChannel.h:
2276         Add code and reason arguments handling.
2277
2278 2011-09-01  Mark Rowe  <mrowe@apple.com>
2279
2280         Fix the build by adding some more missing return types.
2281
2282         * page/mac/WebCoreViewFactory.m:
2283         (-[WebCoreViewFactory init]):
2284
2285 2011-09-01  Michael Nordman  <michaeln@google.com>
2286
2287         [Chromium] Fix a crashing bug due to raciness around SQL database shutdown.
2288         https://bugs.webkit.org/show_bug.cgi?id=67457
2289
2290         The removeOpenDatabase() method can get called multiple times.
2291         Subsequent calls to it should be harmeless instead of cause a crash.
2292
2293         Reviewed by David Levin.
2294
2295         * storage/chromium/DatabaseTrackerChromium.cpp:
2296         (WebCore::DatabaseTracker::removeOpenDatabase):
2297
2298 2011-09-01  Kent Tamura  <tkent@chromium.org>
2299
2300         The filename text color of a file upload control should be inherited.
2301         https://bugs.webkit.org/show_bug.cgi?id=67368
2302
2303         Reviewed by Darin Adler.
2304
2305         * css/html.css:
2306         (input[type="file"]):
2307         Add 'color: inherit'.
2308         The declaration for 'input' contains 'color: initial;'. So a file
2309         upload control has had black foreground color unless it has been
2310         specified 'color' property explicitly.
2311         Because a file upload control uses inherited background color, the
2312         foreground color also should be inherited.
2313
2314 2011-09-01  Kentaro Hara  <haraken@google.com>
2315
2316         Generate a Worker constructor of V8 using the IDL 'Constructor' extended attribute
2317         https://bugs.webkit.org/show_bug.cgi?id=67447
2318
2319         Reviewed by Dimitri Glazkov.
2320
2321         Test: fast/workers/worker-constructor.html
2322               fast/workers/worker-event-listener.html
2323
2324         * bindings/v8/custom/V8WorkerCustom.cpp: Removed constructorCallback().
2325         * workers/Worker.idl: Added the 'Constructor' extended attribute.
2326
2327 2011-09-01  Kentaro Hara  <haraken@google.com>
2328
2329         Generate a FileReader constructor of V8 using the IDL 'Constructor' extended attribute
2330         https://bugs.webkit.org/show_bug.cgi?id=67412
2331
2332         Reviewed by Adam Barth.
2333
2334         Test: fast/files/blob-slice-test.html
2335               fast/files/file-reader-abort.html
2336
2337         * bindings/v8/custom/V8FileReaderCustom.cpp: Removed constructorCallback().
2338         * fileapi/FileReader.idl: Added the 'Constructor' extended attribute.
2339
2340 2011-09-01  Robert Kroeger  <rjkroege@chromium.org>
2341
2342        [chromium] Code cleanup FIXME in Chromium recognizer
2343         https://bugs.webkit.org/show_bug.cgi?id=67448
2344
2345         Reviewed by Adam Barth.
2346
2347         * page/EventHandler.cpp:
2348         (WebCore::EventHandler::handleGestureEvent):
2349         Fixed a bug noticed by a benjaminp while reviewing a different
2350         ndonned patch where global positions were not being set correctly
2351         on gesture-driven mouse wheel events.
2352         * platform/chromium/GestureRecognizerChromium.cpp:
2353         Changed static per-edge functions into methods and improves
2354         encapsulation. No new functionality is present.
2355         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
2356         (WebCore::GestureRecognizerChromium::reset):
2357         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
2358         (WebCore::GestureRecognizerChromium::addEdgeFunction):
2359         (WebCore::GestureRecognizerChromium::isInClickTimeWindow):
2360         (WebCore::GestureRecognizerChromium::isInsideManhattanSquare):
2361         (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
2362         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
2363         (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
2364         (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
2365         (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
2366         (WebCore::GestureRecognizerChromium::updateValues):
2367         (WebCore::GestureRecognizerChromium::signature):
2368         (WebCore::GestureRecognizerChromium::touchDown):
2369         (WebCore::GestureRecognizerChromium::scrollEnd):
2370         (WebCore::GestureRecognizerChromium::noGesture):
2371         (WebCore::GestureRecognizerChromium::click):
2372         (WebCore::GestureRecognizerChromium::isClickOrScroll):
2373         (WebCore::GestureRecognizerChromium::inScroll):
2374         * platform/chromium/GestureRecognizerChromium.h:
2375         (WebCore::GestureRecognizerChromium::setState):
2376
2377 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
2378
2379         Move LayoutRepainter to its own class
2380         https://bugs.webkit.org/show_bug.cgi?id=66255
2381
2382         Reviewed by Hajime Morita.
2383
2384         No new tests, code movement only.
2385
2386         * rendering/RenderObject.h: Moved code from here ...
2387         * rendering/LayoutRepainter.cpp: Added.
2388         (WebCore::LayoutRepainter::LayoutRepainter):
2389         (WebCore::LayoutRepainter::repaintAfterLayout):
2390         * rendering/LayoutRepainter.h: Added.
2391         (WebCore::LayoutRepainter::checkForRepaint):
2392         ... to those 2 files.
2393
2394         * CMakeLists.txt:
2395         * GNUmakefile.list.am:
2396         * WebCore.gypi:
2397         * WebCore.pro:
2398         * WebCore.vcproj/WebCore.vcproj:
2399         * WebCore.xcodeproj/project.pbxproj:
2400         Updated our build systems.
2401
2402         * rendering/RenderingAllInOne.cpp:
2403         Needed for the Windows bot.
2404
2405         * rendering/RenderBlock.cpp:
2406         * rendering/RenderDeprecatedFlexibleBox.cpp:
2407         * rendering/RenderReplaced.cpp:
2408         * rendering/RenderTable.cpp:
2409         * rendering/svg/RenderSVGContainer.cpp:
2410         * rendering/svg/RenderSVGForeignObject.cpp:
2411         * rendering/svg/RenderSVGImage.cpp:
2412         * rendering/svg/RenderSVGPath.cpp:
2413         * rendering/svg/RenderSVGRoot.cpp:
2414         * rendering/svg/RenderSVGText.cpp:
2415         Added #include "LayoutRepainter".
2416
2417 2011-09-01  Ada Chan  <adachan@apple.com>
2418
2419         Cleanup refactoring for https://bugs.webkit.org/show_bug.cgi?id=67160
2420
2421         Don't ifdef out the data member xslStyleSheets in MemoryCache::Statistics to cut down 
2422         the ifdefs in getWebCoreMemoryCacheStatistics() in WebKit2/WebProcess/WebProcess.cpp.
2423
2424         Reviewed by Darin Adler.
2425
2426         No new tests required.  Just small code refactoring.
2427
2428         * loader/cache/MemoryCache.h:
2429
2430 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
2431
2432         REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
2433         https://bugs.webkit.org/show_bug.cgi?id=65140
2434
2435         Reviewed by Darin Adler.
2436
2437         Tests: fast/css/stylesheet-enable-first-alternate-link.html
2438                fast/css/stylesheet-enable-first-alternate-on-load-link.html
2439                fast/css/stylesheet-enable-first-alternate-on-load-sheet.html
2440                fast/css/stylesheet-enable-second-alternate-link.html
2441                fast/css/stylesheet-enable-second-alternate-on-load-link.html
2442                fast/css/stylesheet-enable-second-alternate-on-load-sheet.html
2443                http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
2444                http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
2445
2446         This patch basically reverts 88479 and 84329 while keeping the tests
2447         we developped during the implementation.
2448
2449         Following discussion, it looks like HTML5 will need to be amended.
2450         In the meantime, we will just revert the changes so that we can come
2451         up with a better change.
2452
2453         * dom/Document.cpp:
2454         (WebCore::Document::recalcStyleSelector):
2455         * html/HTMLLinkElement.cpp:
2456         (WebCore::HTMLLinkElement::HTMLLinkElement):
2457         (WebCore::HTMLLinkElement::setDisabledState):
2458         (WebCore::HTMLLinkElement::parseMappedAttribute):
2459         (WebCore::HTMLLinkElement::process):
2460         Revert those method to their original content.
2461
2462         * html/HTMLLinkElement.h:
2463         (WebCore::HTMLLinkElement::isDisabled):
2464         (WebCore::HTMLLinkElement::isEnabledViaScript):
2465         (WebCore::HTMLLinkElement::isAlternate):
2466         Re-introduced the DisabledState enum.
2467
2468         * html/HTMLLinkElement.idl: |disabled| is Reflect'ed again.
2469
2470 2011-09-01  Dan Bernstein  <mitz@apple.com>
2471
2472         Fix layout test regressions from r94352.
2473
2474         Reviewed by Anders Carlsson.
2475
2476         * platform/graphics/mac/FontCacheMac.mm:
2477         (WebCore::FontCache::getFontDataForCharacters): In the custom font case (that is, when there is
2478         not base NSFont) always get and use the best variation.
2479
2480 2011-09-01  Ryosuke Niwa  <rniwa@webkit.org>
2481
2482         Revert r94355 because it caused bunch of builds to break.
2483
2484         * page/DOMWindow.idl:
2485
2486 2011-09-01  Mark Rowe  <mrowe@apple.com>
2487
2488         <rdar://problem/10063411> WebScriptObject.h declares an Objective-C method without a return type.
2489
2490         Rubber-stamped by Anders Carlsson.
2491
2492         * bridge/objc/WebScriptObject.h:
2493
2494 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
2495
2496         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
2497         https://bugs.webkit.org/show_bug.cgi?id=67174
2498
2499         Reviewed by Oliver Hunt.
2500
2501         No new tests.
2502
2503         Completed the fourth level of the refactoring to add finishCreation() 
2504         methods to all classes within the JSCell hierarchy with non-trivial 
2505         constructor bodies.
2506
2507         This primarily consists of pushing the calls to finishCreation() down 
2508         into the constructors of the subclasses of the second level of the hierarchy 
2509         as well as pulling the finishCreation() calls out into the class's corresponding
2510         create() method if it has one.  Doing both simultaneously allows us to 
2511         maintain the invariant that the finishCreation() method chain is called exactly 
2512         once during the creation of an object, since calling it any other number of 
2513         times (0, 2, or more) will cause an assertion failure.
2514
2515         * bindings/js/JSDOMWindowShell.cpp:
2516         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2517         (WebCore::JSDOMWindowShell::create):
2518         * bindings/js/JSDOMWindowShell.h:
2519         * bindings/js/JSDOMWrapper.h:
2520         (WebCore::JSDOMWrapper::JSDOMWrapper):
2521         * bindings/js/ScriptController.cpp:
2522         (WebCore::ScriptController::createWindowShell):
2523         * bindings/scripts/CodeGeneratorJS.pm:
2524         (GenerateHeader):
2525         * bindings/scripts/test/JS/JSTestInterface.h:
2526         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
2527         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2528         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
2529         * bindings/scripts/test/JS/JSTestObj.h:
2530         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
2531         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2532         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
2533         * bridge/objc/objc_runtime.h:
2534         * bridge/objc/objc_runtime.mm:
2535         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2536         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
2537         * bridge/runtime_array.cpp:
2538         (JSC::RuntimeArray::RuntimeArray):
2539         (JSC::RuntimeArray::finishCreation):
2540         * bridge/runtime_array.h:
2541         * bridge/runtime_object.cpp:
2542         (JSC::Bindings::RuntimeObject::RuntimeObject):
2543         (JSC::Bindings::RuntimeObject::finishCreation):
2544         * bridge/runtime_object.h:
2545
2546 2011-08-31  Adrienne Walker  <enne@google.com>
2547
2548         [chromium] Remove unsafe raw GraphicsContext3D pointer from ProgramBinding
2549         https://bugs.webkit.org/show_bug.cgi?id=67003
2550
2551         Reviewed by James Robinson.
2552
2553         ProgramBinding now takes an explicit cleanup call to destroy its
2554         resources. This will assert if it is not called and will leak no
2555         longer potentially dereference a dead pointer.
2556
2557         * platform/graphics/chromium/LayerRendererChromium.cpp:
2558         (WebCore::LayerRendererChromium::borderProgram):
2559         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
2560         (WebCore::LayerRendererChromium::renderSurfaceProgram):
2561         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
2562         (WebCore::LayerRendererChromium::tilerProgram):
2563         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
2564         (WebCore::LayerRendererChromium::tilerProgramAA):
2565         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
2566         (WebCore::LayerRendererChromium::canvasLayerProgram):
2567         (WebCore::LayerRendererChromium::pluginLayerProgram):
2568         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
2569         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
2570         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2571         * platform/graphics/chromium/ProgramBinding.cpp:
2572         (WebCore::ProgramBindingBase::ProgramBindingBase):
2573         (WebCore::ProgramBindingBase::~ProgramBindingBase):
2574         (WebCore::ProgramBindingBase::init):
2575         (WebCore::ProgramBindingBase::cleanup):
2576         (WebCore::ProgramBindingBase::loadShader):
2577         (WebCore::ProgramBindingBase::createShaderProgram):
2578         * platform/graphics/chromium/ProgramBinding.h:
2579         (WebCore::ProgramBinding::ProgramBinding):
2580         (WebCore::ProgramBinding::initialize):
2581
2582 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
2583
2584         Don't include unnecessary headers in V8 bindings
2585         https://bugs.webkit.org/show_bug.cgi?id=67435
2586
2587         Reviewed by Darin Adler.
2588
2589         When an IDL attribue is Conditonal the corresponding headers
2590         need to be surrounded with the correct #if ENABLE().
2591
2592         * bindings/scripts/CodeGeneratorV8.pm:
2593         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2594         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2595         * bindings/scripts/test/JS/JSTestObj.cpp:
2596         * bindings/scripts/test/JS/JSTestObj.h:
2597         * bindings/scripts/test/ObjC/DOMTestObj.h:
2598         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2599         * bindings/scripts/test/TestObj.idl:
2600         * bindings/scripts/test/V8/V8TestObj.cpp:
2601
2602 2011-09-01  Pratik Solanki  <psolanki@apple.com>
2603
2604         Rename CFNETWORK_DATA_ARRAY_CALLBACK to NETWORK_CFDATA_ARRAY_CALLBACK
2605         https://bugs.webkit.org/show_bug.cgi?id=67348
2606
2607         Reviewed by Alexey Proskuryakov.
2608
2609         * loader/ResourceLoader.h:
2610         * loader/SubresourceLoader.h:
2611         * loader/cf/SubresourceLoaderCF.cpp:
2612         * loader/mac/ResourceLoaderMac.mm:
2613         * platform/SharedBuffer.cpp:
2614         (WebCore::SharedBuffer::clear):
2615         (WebCore::SharedBuffer::buffer):
2616         * platform/SharedBuffer.h:
2617         * platform/cf/SharedBufferCF.cpp:
2618         * platform/network/ResourceHandle.h:
2619         * platform/network/ResourceHandleClient.h:
2620         * platform/network/cf/ResourceHandleCFNet.cpp:
2621         (WebCore::ResourceHandle::createCFURLConnection):
2622         * platform/network/mac/ResourceHandleMac.mm:
2623
2624 2011-09-01  Kentaro Hara  <haraken@google.com>
2625
2626         TypeError should be thrown when a constructor is called as a normal function.
2627         https://bugs.webkit.org/show_bug.cgi?id=67381
2628
2629         Reviewed by Darin Adler.
2630
2631         The spec is here: http://www.w3.org/TR/WebIDL/#es-interface-call
2632         For example, "Image()" or "XMLHttpRequest()" should throw TypeError.
2633
2634         Test: fast/dom/call-a-constructor-as-a-function.html
2635
2636         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2637         (WebCore::V8ArrayBuffer::constructorCallback): Throws TypeError if args.IsConstructCall() is false.
2638         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2639         (WebCore::constructWebGLArray): Ditto.
2640         * bindings/v8/custom/V8AudioContextCustom.cpp:
2641         (WebCore::V8AudioContext::constructorCallback): Ditto.
2642         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2643         (WebCore::V8DOMFormData::constructorCallback): Ditto.
2644         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2645         (WebCore::v8HTMLAudioElementConstructorCallback): Ditto.
2646         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2647         (WebCore::v8HTMLImageElementConstructorCallback): Ditto.
2648         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2649         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
2650         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2651         (WebCore::V8MessageChannel::constructorCallback): Ditto.
2652         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
2653         (WebCore::V8SharedWorker::constructorCallback): Ditto.
2654         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
2655         (WebCore::V8WebKitCSSMatrix::constructorCallback): Ditto.
2656         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
2657         (WebCore::V8WebKitPoint::constructorCallback): Ditto.
2658         * bindings/v8/custom/V8WebSocketCustom.cpp:
2659         (WebCore::V8WebSocket::constructorCallback): Ditto.
2660         * bindings/v8/custom/V8WorkerCustom.cpp:
2661         (WebCore::V8Worker::constructorCallback): Ditto.
2662
2663 2011-08-31  Adrienne Walker  <enne@google.com>
2664
2665         [chromium] TextureManager overestimates the size of non-RGBA texture formats
2666         https://bugs.webkit.org/show_bug.cgi?id=66917
2667
2668         Reviewed by James Robinson.
2669
2670         Use GraphicsContext3D to determine the size of a given texture format.
2671         Also, make TextureManager use more GraphicsContext3D types.
2672
2673         * platform/graphics/GraphicsContext3D.h:
2674         * platform/graphics/chromium/TextureManager.cpp:
2675         (WebCore::memoryUseBytes):
2676         * platform/graphics/chromium/TextureManager.h:
2677
2678 2011-09-01  Sam Weinig  <sam@webkit.org>
2679
2680         Add missing Event constructors to DOMWindow.idl
2681         https://bugs.webkit.org/show_bug.cgi?id=67449
2682
2683         Reviewed by Anders Carlsson.
2684
2685         Covered by existing tests.
2686
2687         * page/DOMWindow.idl:
2688
2689 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
2690
2691         Consider Conditional attribute in CodeGenerator for methods
2692         https://bugs.webkit.org/show_bug.cgi?id=67409
2693
2694         Reviewed by Darin Adler.
2695
2696         This change adds appropriate #if ENABLE() lines for the preprocessor around the
2697         generated functions depending on the Conditional attribute in the IDL file.
2698
2699         * bindings/scripts/CodeGeneratorCPP.pm:
2700         (GenerateImplementation):
2701         * bindings/scripts/CodeGeneratorJS.pm:
2702         (GenerateImplementation):
2703         * bindings/scripts/CodeGeneratorObjC.pm:
2704         (GenerateImplementation):
2705         * bindings/scripts/CodeGeneratorV8.pm:
2706         (GenerateImplementation):
2707         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2708         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2709         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2710         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2711         * bindings/scripts/test/JS/JSTestObj.cpp:
2712         * bindings/scripts/test/JS/JSTestObj.h:
2713         * bindings/scripts/test/ObjC/DOMTestObj.h:
2714         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2715         * bindings/scripts/test/TestObj.idl:
2716         * bindings/scripts/test/V8/V8TestObj.cpp:
2717
2718 2011-08-29  Nat Duca  <nduca@chromium.org>
2719
2720         [chromium] Introduce CCSingleThreadProxy in order to move LayerRenderer to CCLayerTreeHostImpl
2721         https://bugs.webkit.org/show_bug.cgi?id=66807
2722
2723         Reviewed by James Robinson.
2724
2725         * WebCore.gypi:
2726         * platform/graphics/chromium/ContentLayerChromium.cpp:
2727         (WebCore::ContentLayerChromium::createTextureUpdater):
2728         * platform/graphics/chromium/ImageLayerChromium.cpp:
2729         (WebCore::ImageLayerChromium::createTextureUpdater):
2730         * platform/graphics/chromium/LayerChromium.cpp:
2731         (WebCore::LayerChromium::setLayerRendererRecursive):
2732         * platform/graphics/chromium/LayerChromium.h:
2733         * platform/graphics/chromium/LayerRendererChromium.cpp:
2734         (WebCore::LayerRendererChromium::create):
2735         (WebCore::LayerRendererChromium::LayerRendererChromium):
2736         (WebCore::LayerRendererChromium::initialize):
2737         (WebCore::LayerRendererChromium::close):
2738         (WebCore::LayerRendererChromium::updateLayers):
2739         (WebCore::LayerRendererChromium::drawLayers):
2740         (WebCore::LayerRendererChromium::drawLayersInternal):
2741         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
2742         (WebCore::LayerRendererChromium::isContextLost):
2743         * platform/graphics/chromium/LayerRendererChromium.h:
2744         (WebCore::LayerRendererChromium::capabilities):
2745         (WebCore::LayerRendererChromium::rootLayerImpl):
2746         (WebCore::LayerRendererChromium::contextSupportsMapSub):
2747         (WebCore::LayerRendererChromium::viewportSize):
2748         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2749         * platform/graphics/chromium/TiledLayerChromium.cpp:
2750         (WebCore::TiledLayerChromium::setLayerTreeHost):
2751         * platform/graphics/chromium/VideoLayerChromium.cpp:
2752         (WebCore::VideoLayerChromium::reserveTextures):
2753         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2754         (WebCore::CCCanvasLayerImpl::draw):
2755         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2756         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2757         (WebCore::CCLayerTreeHost::initialize):
2758         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2759         (WebCore::CCLayerTreeHost::animateAndLayout):
2760         (WebCore::CCLayerTreeHost::preCommit):
2761         (WebCore::CCLayerTreeHost::commitTo):
2762         (WebCore::CCLayerTreeHost::createCompositorThread):
2763         (WebCore::CCLayerTreeHost::createLayerTreeHostContext3D):
2764         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
2765         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2766         (WebCore::CCLayerTreeHost::scheduleComposite):
2767         (WebCore::CCLayerTreeHost::context):
2768         (WebCore::CCLayerTreeHost::compositeAndReadback):
2769         (WebCore::CCLayerTreeHost::finishAllRendering):
2770         (WebCore::CCLayerTreeHost::layerRendererCapabilities):
2771         (WebCore::CCLayerTreeHost::setRootLayer):
2772         (WebCore::CCLayerTreeHost::skiaContext):
2773         (WebCore::CCLayerTreeHost::setViewport):
2774         (WebCore::CCLayerTreeHost::setVisible):
2775         (WebCore::CCLayerTreeHost::loseCompositorContext):
2776         (WebCore::CCLayerTreeHost::contentsTextureManager):
2777         (WebCore::CCLayerTreeHost::composite):
2778         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2779         (WebCore::CCSettings::CCSettings):
2780         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2781         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
2782         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2783         (WebCore::CCLayerTreeHostImpl::create):
2784         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2785         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2786         (WebCore::CCLayerTreeHostImpl::commitComplete):
2787         (WebCore::CCLayerTreeHostImpl::context):
2788         (WebCore::CCLayerTreeHostImpl::drawLayers):
2789         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
2790         (WebCore::CCLayerTreeHostImpl::isContextLost):
2791         (WebCore::CCLayerTreeHostImpl::layerRendererCapabilities):
2792         (WebCore::CCLayerTreeHostImpl::present):
2793         (WebCore::CCLayerTreeHostImpl::readback):
2794         (WebCore::CCLayerTreeHostImpl::setRootLayer):
2795         (WebCore::CCLayerTreeHostImpl::setVisible):
2796         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2797         (WebCore::CCLayerTreeHostImpl::updateLayers):
2798         (WebCore::CCLayerTreeHostImpl::setViewport):
2799         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2800         (WebCore::CCLayerTreeHostImpl::layerRenderer):
2801         (WebCore::CCLayerTreeHostImpl::rootLayer):
2802         (WebCore::CCLayerTreeHostImpl::viewportSize):
2803         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
2804         * platform/graphics/chromium/cc/CCMainThreadTask.h:
2805         (WebCore::MainThreadTask4::create):
2806         (WebCore::MainThreadTask4::MainThreadTask4):
2807         (WebCore::MainThreadTask4::performTask):
2808         (WebCore::MainThreadTask5::create):
2809         (WebCore::MainThreadTask5::MainThreadTask5):
2810         (WebCore::MainThreadTask5::performTask):
2811         (WebCore::createMainThreadTask):
2812         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2813         (WebCore::CCPluginLayerImpl::draw):
2814         * platform/graphics/chromium/cc/CCProxy.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp.
2815         (WebCore::CCProxy::isMainThread):
2816         (WebCore::CCProxy::isImplThread):
2817         (WebCore::CCProxy::setImplThread):
2818         * platform/graphics/chromium/cc/CCProxy.h: Added.
2819         (WebCore::CCProxy::~CCProxy):
2820         (WebCore::CCProxy::CCProxy):
2821         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Added.
2822         (WebCore::ScopedSetImplThread::ScopedSetImplThread):
2823         (WebCore::ScopedSetImplThread::~ScopedSetImplThread):
2824         (WebCore::CCSingleThreadProxy::create):
2825         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2826         (WebCore::CCSingleThreadProxy::start):
2827         (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
2828         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2829         (WebCore::CCSingleThreadProxy::context):
2830         (WebCore::CCSingleThreadProxy::finishAllRendering):
2831         (WebCore::CCSingleThreadProxy::isStarted):
2832         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
2833         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
2834         (WebCore::CCSingleThreadProxy::loseCompositorContext):
2835         (WebCore::CCSingleThreadProxy::setNeedsCommitAndRedraw):
2836         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2837         (WebCore::CCSingleThreadProxy::stop):
2838         (WebCore::CCSingleThreadProxy::skiaContext):
2839         (WebCore::CCSingleThreadProxy::contentsTextureManager):
2840         (WebCore::CCSingleThreadProxy::compositeImmediately):
2841         (WebCore::CCSingleThreadProxy::compositeIfNeeded):
2842         (WebCore::CCSingleThreadProxy::doComposite):
2843         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
2844         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Added.
2845         (WebCore::CCThreadProxy::create):
2846         (WebCore::CCThreadProxy::CCThreadProxy):
2847         (WebCore::CCThreadProxy::~CCThreadProxy):
2848         (WebCore::CCThreadProxy::compositeAndReadback):
2849         (WebCore::CCThreadProxy::context):
2850         (WebCore::CCThreadProxy::finishAllRendering):
2851         (WebCore::CCThreadProxy::isStarted):
2852         (WebCore::CCThreadProxy::initializeLayerRenderer):
2853         (WebCore::CCThreadProxy::layerRendererCapabilities):
2854         (WebCore::CCThreadProxy::loseCompositorContext):
2855         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2856         (WebCore::CCThreadProxy::setNeedsRedraw):
2857         (WebCore::CCThreadProxy::start):
2858         (WebCore::CCThreadProxy::stop):
2859         (WebCore::CCThreadProxy::skiaContext):
2860         (WebCore::CCThreadProxy::contentsTextureManager):
2861         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2862         (WebCore::CCThreadProxy::beginFrameAndCommit):
2863         (WebCore::CCThreadProxy::commitOnCCThread):
2864         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2865         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2866         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2867         (WebCore::CCThreadProxy::initializeImplOnCCThread):
2868         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
2869         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2870         * platform/graphics/chromium/cc/CCThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
2871         * platform/graphics/chromium/cc/CCThreadTask.h:
2872         (WebCore::CCThreadTask5::create):
2873         (WebCore::CCThreadTask5::CCThreadTask5):
2874         (WebCore::CCThreadTask5::performTask):
2875         (WebCore::createCCThreadTask):
2876         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2877         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2878         (WebCore::CCVideoLayerImpl::draw):
2879
2880 2011-09-01  Dan Bernstein  <mitz@apple.com>
2881
2882         <rdar://problem/9528843> STIX glyphs not rendered on this stackoverflow answer
2883         https://bugs.webkit.org/show_bug.cgi?id=67444
2884
2885         Reviewed by Darin Adler.
2886
2887         Test: fast/text/fallback-traits-fixup.html
2888
2889         After obtaining STIX Regular as a fallback font for some characters, getFontDataForCharacters()
2890         proceeded to ask for a font from the same family having the desired traits and weight (because
2891         wkGetFontInLanguageForRange() does not preserve traits and weight). The returned font was different
2892         and happened to not contain the desired character.
2893
2894         * platform/graphics/mac/FontCacheMac.mm:
2895         (WebCore::FontCache::getFontDataForCharacters): Only ask for a family member with the desired
2896         traits and weight if the substitute font does not already have them, and only use the returned
2897         member if it actually contains the desired character.
2898
2899 2011-09-01  Kentaro Hara  <haraken@google.com>
2900
2901         Generate an XSLTProcessor constructor of V8 using the IDL 'Constructor' extended attribute
2902         https://bugs.webkit.org/show_bug.cgi?id=67414
2903
2904         Reviewed by Dimitri Glazkov.
2905
2906         Test: fast/dom/Window/custom-constructors.html
2907               fast/xsl/default-html.html
2908
2909         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Removed constructorCallback().
2910         * xml/XSLTProcessor.idl: Added the 'Constructor' extended attribute.
2911
2912 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
2913
2914         HTMLMediaElement should use fastHasAttribute instead of hasAttribute
2915         https://bugs.webkit.org/show_bug.cgi?id=67421
2916
2917         Reviewed by Simon Fraser.
2918
2919         Use fastHasAttribute instead of hasAttribute because it is faster, and HTMLMediaElement
2920         doesn't ever need to check style or SVG animated attributes.
2921
2922         No new tests required, this is just an optimization.
2923
2924         * html/HTMLMediaElement.cpp:
2925         (WebCore::HTMLMediaElement::selectMediaResource): hasAttribute -> fastHasAttribute.
2926         (WebCore::HTMLMediaElement::loadResource): Ditto.
2927         (WebCore::HTMLMediaElement::autoplay): Ditto.
2928         (WebCore::HTMLMediaElement::loop): Ditto.
2929         (WebCore::HTMLMediaElement::controls): Ditto.
2930         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
2931         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
2932
2933 2011-09-01  Dominic Mazzoni  <dmazzoni@google.com>
2934
2935         Add API functions to enable starting and stopping speech input,
2936         and checking the current speech input state.
2937         https://bugs.webkit.org/show_bug.cgi?id=60170
2938
2939         Reviewed by Dimitri Glazkov.
2940
2941         Test: fast/speech/input-text-speechstart.html
2942
2943         * html/shadow/TextControlInnerElements.cpp:
2944         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2945         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2946         (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
2947         * html/shadow/TextControlInnerElements.h:
2948         * rendering/RenderTextControlSingleLine.cpp:
2949         (WebCore::RenderTextControlSingleLine::speechButtonElement):
2950         * rendering/RenderTextControlSingleLine.h:
2951
2952 2011-09-01  Tim Horton  <timothy_horton@apple.com>
2953
2954         REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape
2955         https://bugs.webkit.org/show_bug.cgi?id=53055
2956         <rdar://problem/8910917>
2957
2958         Reviewed by Simon Fraser.
2959
2960         Make use of wkCGPatternCreateWithImageAndTransform
2961         when tiling patterns in both directions. This helps to avoid
2962         pixel-cracking along pattern tiling boundaries.
2963
2964         Ignore 2D rotation when computing the size of a pattern's tile image,
2965         as it artificially inflates the size of the tile, which can cause
2966         pixel-cracking.
2967
2968         Test: svg/custom/pattern-rotate-gaps.svg
2969
2970         * platform/graphics/cg/PatternCG.cpp:
2971         (WebCore::Pattern::createPlatformPattern):
2972         * rendering/svg/RenderSVGResourcePattern.cpp:
2973         * rendering/svg/SVGImageBufferTools.cpp:
2974         (WebCore::SVGImageBufferTools::roundedImageBufferSize):
2975         * rendering/svg/SVGImageBufferTools.h:
2976
2977 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
2978
2979         Unreviewed, rolling out r94284.
2980         http://trac.webkit.org/changeset/94284
2981         https://bugs.webkit.org/show_bug.cgi?id=65050
2982
2983         Broke building without SVG enabled on Chromium.
2984
2985         * page/DOMWindow.idl:
2986
2987 2011-09-01  Alexey Proskuryakov  <ap@apple.com>
2988
2989         REGRESSION (r93247): 2 http/tests/misc tests failing on SnowLeopard Intel Release (Tests)
2990         https://bugs.webkit.org/show_bug.cgi?id=67374
2991
2992         Reviewed by Simon Fraser.
2993
2994         * platform/network/cf/ResourceHandleCFNet.cpp:
2995         (WebCore::applyBasicAuthorizationHeader):
2996         * platform/network/mac/ResourceHandleMac.mm:
2997         (WebCore::applyBasicAuthorizationHeader):
2998         Some versions of CFNetwork carry along an Authorization header, some don't. We shouldn't
2999         repeat its value twice, this is not one of those headers that allow comma separated lists
3000         of values.
3001
3002 2011-09-01  Noel Gordon  <noel.gordon@gmail.com>
3003
3004         [chromium] Move ImageBuffer::platformLayer()
3005         https://bugs.webkit.org/show_bug.cgi?id=67372
3006
3007         Reviewed by Kenneth Russell.
3008
3009         No new tests: refactoring only, covered by existting tests.
3010
3011         * platform/graphics/skia/ImageBufferSkia.cpp:
3012         (WebCore::ImageBuffer::platformLayer):  Move it away from the toDataURL code.
3013
3014 2011-09-01  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
3015
3016         Focus ring is rendered incorrectly for a block with -webkit-writing-mode
3017         https://bugs.webkit.org/show_bug.cgi?id=62915
3018
3019         Reviewed by Simon Fraser.
3020
3021         RenderBlock::addFocusRingRects() should consider physical box position and
3022         dimension instead of logical values for focus ring rects calculation.
3023
3024         Test: fast/css/focus-ring-multiline-writingmode-vertical.html
3025
3026         * rendering/RenderBlock.cpp:
3027         (WebCore::RenderBlock::addFocusRingRects):
3028
3029 2011-09-01  Philippe Normand  <pnormand@igalia.com>
3030
3031         Unreviewed, GTK build fix after r94299.
3032
3033         * GNUmakefile.list.am:
3034
3035 2011-09-01  Brian Salomon  <bsalomon@google.com>
3036
3037         [Chromium/Skia] Use GraphicsContext3D::grContext() to create GrContext for accelerated drawing
3038         https://bugs.webkit.org/show_bug.cgi?id=67419
3039
3040         Reviewed by James Robinson.
3041
3042         Accelerated drawing is not enabled in layout tests. However, once it is this change will be tested by every test.
3043
3044         * platform/graphics/chromium/ContentLayerChromium.cpp:
3045         (WebCore::ContentLayerChromium::createTextureUpdater):
3046         * platform/graphics/chromium/LayerRendererChromium.cpp:
3047         (WebCore::contextSupportsAcceleratedPainting):
3048         (WebCore::LayerRendererChromium::initialize):
3049         * platform/graphics/chromium/LayerRendererChromium.h:
3050         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3051         (WebCore::LayerTextureUpdaterSkPicture::create):
3052         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
3053         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
3054         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
3055         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
3056
3057 2011-09-01  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
3058
3059         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
3060         https://bugs.webkit.org/show_bug.cgi?id=67172
3061
3062         Build fix, completing rename for GTK file.
3063
3064         Reviewed by Chris Marrin.
3065
3066         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.cpp.
3067         (sharedDisplay):
3068         (WebCore::activeGraphicsContexts):
3069         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
3070         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
3071         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
3072         (WebCore::GraphicsContext3DPrivate::create):
3073         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
3074         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
3075         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
3076         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3077         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
3078
3079 2011-09-01  Simon Fraser  <simon.fraser@apple.com>
3080
3081         REGRESSION (r94259): Two tests doing hit testing were broken by this change.
3082         https://bugs.webkit.org/show_bug.cgi?id=67353
3083
3084         Reviewed by Chris Marrin.
3085
3086         Fix a regression from r94259; that change missed a fix in RenderView,
3087         which affects coordinate transforms in position:fixed elements.
3088         
3089         This fixes these tests:
3090             fast/events/document-elementFromPoint.html
3091             fast/events/offsetX-offsetY.html
3092             plugins/mouse-events-fixedpos.html
3093
3094         * rendering/RenderView.cpp:
3095         (WebCore::RenderView::mapAbsoluteToLocalPoint):
3096
3097 2011-09-01  Tony Gentilcore  <tonyg@chromium.org>
3098
3099         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
3100         https://bugs.webkit.org/show_bug.cgi?id=66673
3101
3102         Reviewed by James Robinson.
3103
3104         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
3105         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
3106
3107         No new tests because no directly observable change in behavior.
3108
3109         * platform/graphics/chromium/FontCacheLinux.cpp:
3110         (WebCore::FontCache::getFontDataForCharacters):
3111
3112 2011-08-31  Mikhail Naganov  <mnaganov@chromium.org>
3113
3114         Web Inspector: [Chromium] Perform a more effective JS GC
3115         https://bugs.webkit.org/show_bug.cgi?id=67304
3116
3117         Reviewed by Pavel Feldman.
3118
3119         * bindings/v8/ScriptProfiler.cpp:
3120         (WebCore::ScriptProfiler::collectGarbage):
3121
3122 2011-09-01  Sam Weinig  <sam@webkit.org>
3123
3124         WebGLContextEvent should have its own JS wrapper
3125         https://bugs.webkit.org/show_bug.cgi?id=67352
3126
3127         Reviewed by Anders Carlsson.
3128
3129         The WebGLContextEvent was missing a proper JS wrapper, and thus
3130         anyone using one in an EventListener was actually just getting
3131         a plain old Event. Rectify this by generating the wrapper and 
3132         wrapping it on creating.
3133
3134         Test: fast/canvas/webgl/WebGLContextEvent.html
3135
3136         * CodeGenerators.pri:
3137         Add WebGLContextEvent.idl
3138
3139         * DerivedSources.make:
3140         Add WebGLContextEvent and sort.
3141
3142         * WebCore.xcodeproj/project.pbxproj:
3143         Add generated JSWebGLContextEvent.h/cpp.
3144
3145         * bindings/js/JSEventCustom.cpp:
3146         (WebCore::toJS):
3147         Wrap WebGLContextEvents as JSWebGLContextEvents.
3148
3149         * dom/Event.cpp:
3150         (WebCore::Event::isWebGLContextEvent):
3151         * dom/Event.h:
3152         * html/canvas/WebGLContextEvent.cpp:
3153         (WebCore::WebGLContextEvent::isWebGLContextEvent):
3154         * html/canvas/WebGLContextEvent.h:
3155         Add predicate for WebGLContextEvent.
3156
3157 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
3158
3159         Add 'muted' content attribute to HTMLMediaElement
3160         https://bugs.webkit.org/show_bug.cgi?id=58369
3161
3162         Reviewed by Darin Adler.
3163
3164         Test: media/video-defaultmuted.html
3165
3166         * html/HTMLAttributeNames.in: Add muted.
3167         * html/HTMLMediaElement.cpp:
3168         (WebCore::HTMLMediaElement::loadResource): Deal with the 'muted' attribute.
3169         * html/HTMLMediaElement.idl: Add defaultMuted.
3170
3171 2011-09-01  Tim Horton  <timothy_horton@apple.com>
3172
3173         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
3174         https://bugs.webkit.org/show_bug.cgi?id=53055
3175         <rdar://problem/8910917>
3176
3177         Reviewed by Simon Fraser.
3178
3179         Introduce wkCGPatternCreateWithImageAndTransform.
3180
3181         * WebCore.exp.in:
3182         * platform/mac/WebCoreSystemInterface.h:
3183         * platform/mac/WebCoreSystemInterface.mm:
3184
3185 2011-08-30  Adrienne Walker  <enne@google.com>
3186
3187         [chromium] Fix scissor rects on clipped nested iframes
3188         https://bugs.webkit.org/show_bug.cgi?id=67221
3189
3190         Reviewed by James Robinson.
3191
3192         Layers that mask to bounds (like iframes) weren't being properly
3193         clipped if their parent scissor rect was empty. This case happens
3194         when a parent iframe is clipped. Fixed by propagating the empty
3195         scissor rect to child layers rather than ignoring it.
3196
3197         Test: compositing/iframes/nested-composited-iframe.html
3198
3199         * platform/graphics/chromium/LayerRendererChromium.cpp:
3200
3201 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
3202
3203         Web Inspector: close dedicated worker inspectors when page inspector is closing
3204         https://bugs.webkit.org/show_bug.cgi?id=67366
3205
3206         Close all dedicated worker inspector windows when page inspector is closing.
3207
3208         Reviewed by Pavel Feldman.
3209
3210         * inspector/front-end/WorkerManager.js:
3211         (WebInspector.WorkerManager.prototype._openInspectorWindow):
3212         (WebInspector.WorkerManager.prototype._pageInspectorClosing):
3213         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
3214         * inspector/front-end/inspector.js:
3215         (WebInspector.close):
3216
3217 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
3218
3219         [Chromium] Web Inspector: dedicated worker inspection is broken
3220         https://bugs.webkit.org/show_bug.cgi?id=67279
3221
3222         Provide transport for inspector messages between Page and DedicatedWorker inspectors
3223         in case of in-process workers.
3224
3225         Reviewed by Pavel Feldman.
3226
3227         * inspector/CodeGeneratorInspector.pm: sendMessageObjectToBackend should accept message
3228         object which is ready for sending to backend. This method is overriden in WorkerManager
3229         for dedicated workers and we don't want to replicate request id assignment there.
3230         * workers/WorkerMessagingProxy.cpp:
3231         (WebCore::PostMessageToPageInspectorTask::create):
3232         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
3233         (WebCore::PostMessageToPageInspectorTask::performTask):
3234         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3235         (WebCore::connectToWorkerContextInspectorTask):
3236         (WebCore::WorkerMessagingProxy::connectToInspector):
3237         (WebCore::disconnectFromWorkerContextInspectorTask):
3238         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
3239         (WebCore::dispatchOnInspectorBackendTask):
3240         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
3241         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
3242         * workers/WorkerMessagingProxy.h:
3243
3244 2011-09-01  Csaba Osztrogonác  <ossy@webkit.org>
3245
3246         [CSS3 Backgrounds and Borders] Implement border-image-slice
3247         https://bugs.webkit.org/show_bug.cgi?id=67321
3248
3249         * WebCore.pro: Unreviewed buildfix after Dave "scattered" Hyatt (r94299).
3250
3251 2011-09-01  Ned Holbrook  <nholbrook@apple.com>
3252
3253         Typesetting features need not force complex for single-character runs
3254         https://bugs.webkit.org/show_bug.cgi?id=66498
3255
3256         Typesetting features have no effect on a solitary character, so they shouldn't enable complex layout
3257         unless multiple characters are present.
3258
3259         Reviewed by Dan Bernstein.
3260
3261         No new tests, this is merely a performance optimization.
3262
3263         * platform/graphics/Font.cpp:
3264         (WebCore::Font::codePath): typesettingFeatures() only forces Complex for multiple-character runs.
3265
3266 2011-08-31  Jeff Miller  <jeffm@apple.com>
3267
3268         Defer creating AVPlayer and AVPlayerItem in MediaPlayerPrivateAVFoundation::setPreload()
3269         https://bugs.webkit.org/show_bug.cgi?id=66253
3270
3271         Reviewed by Jon Honeycutt.
3272
3273         No new tests, should be covered by existing media tests.
3274
3275         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3276         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Use the same code on Mac and Windows to only create the AVPlayer and AVPlayerItem when needed.
3277
3278         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3279         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Assign any existing AVPlayerItem to the new AVPlayer.
3280         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Allow creation of the AVPlayerItem before the AVPlayer.
3281
3282 2011-08-31  David Hyatt  <hyatt@apple.com>
3283
3284         https://bugs.webkit.org/show_bug.cgi?id=67321
3285
3286         Implement border-image-slice. This will eventually be a component of the new border-image shorthand
3287         property. It holds the cuts that you make into the border image along with a new optional "fill"
3288         keyword that indicates whether or not the center should be filled with the middle slice of the image.
3289         
3290         By default -webkit-border-image has always filled, but this does not match the specification. To preserve
3291         backwards compatibility, -webkit-border-image will continue to fill by default, but this does slightly affect
3292         computed style results, since the "fill" keyword will now be included in property dumps.
3293
3294         Reviewed by Beth Dakin.
3295
3296         Added fast/borders/border-image-slices.html.
3297
3298         * CMakeLists.txt:
3299         * WebCore.gypi:
3300         * WebCore.pro:
3301         * WebCore.vcproj/WebCore.vcproj:
3302         * WebCore.xcodeproj/project.pbxproj:
3303         * css/CSSBorderImageSliceValue.cpp: Added.
3304         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
3305         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
3306         (WebCore::CSSBorderImageSliceValue::cssText):
3307         * css/CSSBorderImageSliceValue.h: Added.
3308         (WebCore::CSSBorderImageSliceValue::create):
3309         (WebCore::CSSBorderImageSliceValue::isBorderImageSliceValue):
3310         Add a new CSSBorderImageSliceValue that holds both the four slices (as a CSS rect) and the
3311         fill keyword (as a boolean). Note that the cssText() dumping of the slices has been refined
3312         to be smarter, and it will no longer dump repeating values.
3313
3314         * css/CSSBorderImageValue.cpp:
3315         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3316         (WebCore::CSSBorderImageValue::cssText):
3317         * css/CSSBorderImageValue.h:
3318         (WebCore::CSSBorderImageValue::create):
3319         CSSBorderImageValue now owns a CSSBorderImageSliceValue instead of just a CSS rect.
3320
3321         * css/CSSComputedStyleDeclaration.cpp:
3322         (WebCore::valueForNinePieceImageSlice):
3323         (WebCore::valueForNinePieceImage):
3324         Add a new method, valueForNinePieceImageSlice, for getting the slices plus the fill value
3325         from the NinePieceImage and putting it into a CSSBorderImageSliceValue. This method is now used by
3326         valueForNinePieceImage to get the CSSBorderImageSliceValue that is part of the overall
3327         CSSBorderImageValue.
3328     
3329         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3330         Adding support for the new properties: border-image-slice and -webkit-mask-box-image-slice.
3331
3332         * css/CSSParser.cpp:
3333         (WebCore::CSSParser::parseValue):
3334         (WebCore::BorderImageParseContext::BorderImageParseContext):
3335         (WebCore::BorderImageParseContext::allowBreak):
3336         (WebCore::BorderImageParseContext::commitImage):
3337         (WebCore::BorderImageParseContext::commitSlice):
3338         (WebCore::BorderImageParseContext::commitSlash):
3339         (WebCore::BorderImageParseContext::commitBorderImage):
3340         (WebCore::CSSParser::parseBorderImage):
3341         Modify parseBorderImage to no longer parse the slices itself. Instead it farms out the parsing
3342         to parseBorderImageSlice.
3343
3344         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
3345         (WebCore::BorderImageSliceParseContext::allowNumber):
3346         (WebCore::BorderImageSliceParseContext::allowFill):
3347         (WebCore::BorderImageSliceParseContext::allowFinalCommit):
3348         (WebCore::BorderImageSliceParseContext::top):
3349         (WebCore::BorderImageSliceParseContext::commitNumber):
3350         (WebCore::BorderImageSliceParseContext::commitFill):
3351         (WebCore::BorderImageSliceParseContext::setAllowFinalCommit):
3352         (WebCore::BorderImageSliceParseContext::setTop):
3353         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
3354         (WebCore::CSSParser::parseBorderImageSlice):
3355         Slice parsing has now been broken out so that it can be parsed as a single property. In addition
3356         support for the "fill" keyword has been added to control image filling.
3357
3358         * css/CSSParser.h:
3359         Modified to add the new parseBorderImageSlice method.
3360
3361         * css/CSSPropertyNames.in:
3362         Add the new properties: border-image-slice and -webkit-mask-box-image-slice.
3363
3364         * css/CSSStyleSelector.cpp:
3365         (WebCore::CSSStyleSelector::applyProperty):
3366         (WebCore::CSSStyleSelector::mapNinePieceImage):
3367         Rework mapNinePieceImage to call mapNinePieceImageSlice so that the mapping can be done just for
3368         the slices.
3369
3370         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
3371         A new method that handles mapping just the slices into the front-end NinePieceImage.
3372
3373         (WebCore::CSSStyleSelector::loadPendingImages):
3374         Modified to ensure the fill value is preserved when box-reflect makes a new NinePieceImage.
3375
3376         * css/CSSStyleSelector.h:
3377         Added the new mapNinePieceImageSlice method.
3378
3379         * css/CSSValue.h:
3380         (WebCore::CSSValue::isBorderImageSliceValue):
3381         Virtual function for identifying border image slice values.
3382
3383         * rendering/RenderBoxModelObject.cpp:
3384         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3385         The painting of the nine piece image has been modified to match the specification. The "fill"
3386         keyword controls whether or not the middle is painted.
3387
3388         * rendering/style/NinePieceImage.cpp:
3389         (WebCore::NinePieceImage::operator==):
3390         The fill keyword has to be checked now for equality.
3391
3392         * rendering/style/NinePieceImage.h:
3393         (WebCore::NinePieceImage::NinePieceImage):
3394         (WebCore::NinePieceImage::fill):
3395         (WebCore::NinePieceImage::setFill):
3396         Added the fill keyword to the front end NinePieceImage.
3397
3398         (WebCore::NinePieceImage::copySlicesFrom):
3399         Added a helper to copy only the slices over from another NinePieceImage. Used when inheriting
3400         the border-image-slice property from a parent style.
3401
3402 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
3403
3404         Web Inspector: Decode query/form parameters names as well as values.
3405         https://bugs.webkit.org/show_bug.cgi?id=67393
3406
3407         Reviewed by Yury Semikhatsky.
3408
3409         * inspector/front-end/ResourceHeadersView.js:
3410         (WebInspector.ResourceHeadersView.prototype._decodeURIComponent):
3411         (WebInspector.ResourceHeadersView.prototype._refreshParms):
3412
3413 2011-08-31  Pavel Podivilov  <podivilov@chromium.org>
3414
3415         Web Inspector: remove PresentationBreakpoint class.
3416         https://bugs.webkit.org/show_bug.cgi?id=67275
3417
3418         Reviewed by Yury Semikhatsky.
3419
3420         * inspector/front-end/BreakpointsSidebarPane.js:
3421         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
3422         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
3423         * inspector/front-end/DebuggerPresentationModel.js:
3424         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3425         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
3426
3427 2011-08-31  Steve Block  <steveblock@google.com>
3428
3429         Clean up all mentions of Android in comments
3430         https://bugs.webkit.org/show_bug.cgi?id=67303
3431
3432         Also removes some superfluous guards and methods added for Android.
3433
3434         Reviewed by Darin Adler.
3435
3436         No new tests, removing dead code only.
3437
3438         * WebCorePrefix.h:
3439           Chromium uses this file only on Mac, so these Android guards are no
3440           longer required.
3441         * bindings/v8/NPV8Object.cpp:
3442         * bindings/v8/NPV8Object.h:
3443           Including npruntime.h for non-Chromium ports was added in
3444           http://trac.webkit.org/changeset/53634 for Android. However, this
3445           file is included in WebCore.pro, so leaving the guard in place.
3446         * bindings/v8/ScriptCachedFrameData.h:
3447           This code was added for Android in
3448           http://trac.webkit.org/changeset/56716 but is now also used by QT. The
3449           comment should have been removed in
3450           http://trac.webkit.org/changeset/93573.
3451         * dom/Document.cpp:
3452         (WebCore::Document::Document):
3453         (WebCore::Document::isLayoutTimerActive):
3454         (WebCore::Document::minimumLayoutDelay):
3455         * dom/Document.h:
3456           This method was added for Android in
3457           http://trac.webkit.org/changeset/52919 and modified in
3458           http://trac.webkit.org/changeset/79775. It is no longer needed.
3459
3460 2011-09-01  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
3461
3462         [Qt] Build dependency problems
3463         https://bugs.webkit.org/show_bug.cgi?id=38054
3464
3465         Make clean build after the defines are changed.
3466
3467      &n