f51a4b5bdd82e67e757d5733fc94c5040f7ed5c7
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2
3         Chromium build fix.
4
5         * bindings/v8/ScriptProfiler.cpp:
6
7 2010-10-13  Chris Evans  <cevans@google.com>
8
9         Reviewed by Jian Li.
10
11         Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
12         https://bugs.webkit.org/show_bug.cgi?id=47382
13
14         Fix integer overflow errors in Blob.slice and BlobBuilder.append.
15
16         Test: fast/files/blob-slice-overflow.html
17
18         * fileapi/Blob.cpp:
19         (WebCore::Blob::slice): handle integer overflow properly.
20         * fileapi/BlobBuilder.cpp:
21         (WebCore::BlobBuilder::append): use correct type for vector length.
22
23 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
24
25         Build fix - remove some redundant references to ScriptString.
26
27         * WebCore.gypi:
28         * WebCore.pro:
29         * bindings/v8/ScriptProfiler.cpp:
30
31 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
32
33         Reviewed by Oliver Hunt.
34
35         Bug 47621 - Remove bindings/v8/ScriptString
36         This is now redundant.
37
38         * bindings/v8/ScriptCallFrame.h:
39         (WebCore::ScriptCallFrame::functionName):
40         * bindings/v8/ScriptFunctionCall.cpp:
41         * bindings/v8/ScriptFunctionCall.h:
42         * bindings/v8/ScriptString.h: Removed.
43         * bindings/v8/ScriptStringImpl.cpp: Removed.
44         * bindings/v8/ScriptStringImpl.h: Removed.
45
46 2010-10-13  Anders Carlsson  <andersca@apple.com>
47
48         Reviewed by John Sullivan.
49
50         Draw the find overlay holes
51         https://bugs.webkit.org/show_bug.cgi?id=47631
52
53         Export symbols needed by WebKit2.
54
55         * WebCore.exp.in:
56
57 2010-10-13  James Simonsen  <simonjam@chromium.org>
58
59         Reviewed by Darin Adler.
60
61         Implement onreadystatechange event handler for Documents
62         https://bugs.webkit.org/show_bug.cgi?id=26140
63
64         Test: fast/dom/Document/readystate.html
65
66         * dom/Document.cpp:
67         (WebCore::Document::setReadyState): Fire readystatechangeevent.
68         (WebCore::Document::open): Clear event listeners.
69         * dom/Document.h: Add readystatechange event.
70         * dom/Document.idl: Ditto.
71
72 2010-10-13  Chris Fleizach  <cfleizach@apple.com>
73
74         Reviewed by Beth Dakin.
75
76         AX: accessibilityIsIgnored not respected on ARIA tables
77         https://bugs.webkit.org/show_bug.cgi?id=47564
78
79         For platforms that ignore column headers and header container objects (everything
80         except Mac) on accessibility tables, that choice needs to be respected in 
81         ARIA tables as well.
82
83         GTK is the only open platform doing this, so I'll have to collect the result of this 
84         test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
85
86         Test: platform/gtk/accessibility/aria-table-hierarchy.html
87
88         * accessibility/AccessibilityARIAGrid.cpp:
89         (WebCore::AccessibilityARIAGrid::addChildren):
90
91 2010-10-13  Victoria Kirst  <vrk@google.com>
92
93         Reviewed by James Robinson.
94
95         No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
96         https://bugs.webkit.org/show_bug.cgi?id=47432
97
98         * platform/graphics/chromium/VideoLayerChromium.cpp:
99         (WebCore::VideoLayerChromium::cleanupResources):
100
101 2010-10-13  Leandro Pereira  <leandro@profusion.mobi>
102
103         [EFL] Unreviewed. Build fix.
104
105         * CMakeLists.txt: Add ContextShadow.cpp.
106         * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
107
108 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
109
110         Reviewed by Holger Freyther.
111
112         [GTK] r69681 caused some tests to crash
113         https://bugs.webkit.org/show_bug.cgi?id=47622
114
115         Properly initialize m_layerContext on the ContextShadow so that in situations
116         where beginShadowLayer bails out early with a null return value, it is set
117         to null. This may happen when the first call to beginShadowLayer on a particular
118         ContextShadow uses a region which is entirely outside the clip region or which
119         is empty.
120
121         * platform/graphics/cairo/ContextShadow.cpp:
122         (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
123
124 2010-10-13  Anders Carlsson  <andersca@apple.com>
125
126         Reviewed by Beth Dakin.
127
128         Don't set the fill/stroke colorspace before filling/stroking
129         https://bugs.webkit.org/show_bug.cgi?id=47619
130
131         Setting the colorspace has the side-effect of setting the color to black, which is
132         not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
133
134         Pixel tests show no regressions from this change.
135
136         * platform/graphics/cg/GraphicsContextCG.cpp:
137         (WebCore::GraphicsContext::fillPath):
138         (WebCore::GraphicsContext::strokePath):
139         (WebCore::GraphicsContext::fillRect):
140         (WebCore::GraphicsContext::strokeRect):
141
142 2010-10-13  Brent Fulgham  <bfulgham@webkit.org>
143
144         Unreviewed WinCairo build fix.
145         New ContextShadow class not built for Windows builds.
146
147         * WebCore.vcproj/WebCore.vcproj: Add missing files for
148         building ContextShadow on WinCairo.
149         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
150         Add missing include for ContextShadow definition.
151
152 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
153
154         Chromium build fix pt1.
155
156         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
157         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
158
159 2010-10-13  Anders Carlsson  <andersca@apple.com>
160
161         Reviewed by Sam Weinig.
162
163         Send over find indicator information to the UI process
164         https://bugs.webkit.org/show_bug.cgi?id=47612
165
166         Export symbols needed by WebKit2.
167
168         * WebCore.exp.in:
169
170 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
171
172         Reviewed by Oliver Hunt.
173
174         https://bugs.webkit.org/show_bug.cgi?id=43987
175         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
176         to construct their internal result string.  Remove ScriptString (this is now
177         redundant).
178
179         * WebCore.xcodeproj/project.pbxproj:
180         * bindings/js/JSDOMBinding.cpp:
181         (WebCore::jsOwnedStringOrNull):
182         * bindings/js/JSDOMBinding.h:
183         * bindings/js/JSXMLHttpRequestCustom.cpp:
184         (WebCore::JSXMLHttpRequest::responseText):
185         * bindings/js/ScriptCallFrame.cpp:
186         (WebCore::ScriptCallFrame::ScriptCallFrame):
187         * bindings/js/ScriptCallFrame.h:
188         (WebCore::ScriptCallFrame::functionName):
189         * bindings/js/ScriptCallStack.h:
190         * bindings/js/ScriptFunctionCall.cpp:
191         * bindings/js/ScriptFunctionCall.h:
192         * bindings/js/ScriptString.h: Removed.
193         * dom/ScriptExecutionContext.h:
194         * fileapi/FileReader.cpp:
195         (WebCore::FileReader::FileReader):
196         (WebCore::FileReader::abort):
197         (WebCore::FileReader::didReceiveData):
198         (WebCore::FileReader::result):
199         (WebCore::FileReader::convertToText):
200         (WebCore::FileReader::convertToDataURL):
201         * fileapi/FileReader.h:
202         * fileapi/FileReaderSync.cpp:
203         (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
204         (WebCore::FileReaderSyncLoader::didReceiveData):
205         (WebCore::FileReaderSync::readAsBinaryString):
206         (WebCore::FileReaderSync::readAsText):
207         (WebCore::FileReaderSync::readAsDataURL):
208         (WebCore::FileReaderSync::read):
209         (WebCore::FileReaderSync::convertToText):
210         * fileapi/FileReaderSync.h:
211         (WebCore::FileReaderSync::readAsText):
212         (WebCore::FileReaderSync::FileReaderSync):
213         * inspector/InspectorController.cpp:
214         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
215         (WebCore::InspectorController::scriptImported):
216         * inspector/InspectorController.h:
217         * inspector/InspectorResource.cpp:
218         (WebCore::InspectorResource::setOverrideContent):
219         * inspector/InspectorResource.h:
220         * loader/FrameLoader.cpp:
221         * loader/FrameLoader.h:
222         * loader/FrameLoaderClient.h:
223         * loader/ResourceLoadNotifier.h:
224         * workers/WorkerScriptLoader.h:
225         * xml/XMLHttpRequest.cpp:
226         (WebCore::XMLHttpRequest::XMLHttpRequest):
227         (WebCore::XMLHttpRequest::responseText):
228         (WebCore::XMLHttpRequest::responseXML):
229         (WebCore::XMLHttpRequest::abort):
230         (WebCore::XMLHttpRequest::clearResponse):
231         (WebCore::XMLHttpRequest::dropProtection):
232         (WebCore::XMLHttpRequest::didFinishLoading):
233         (WebCore::XMLHttpRequest::didReceiveData):
234         * xml/XMLHttpRequest.h:
235
236 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
237
238         Reviewed by Oliver Hunt.
239
240         Bug 43987 - Downloading using XHR is much slower than before
241
242         * svg/SVGPathStringBuilder.cpp:
243         (WebCore::SVGPathStringBuilder::result):
244             StringBuilder::size() -> StringBuilder::length().
245
246 2010-10-13  Yong Li  <yoli@rim.com>
247
248         Reviewed by Oliver Hunt.
249
250         Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
251         that can result crash on ARM (<v6).
252         https://bugs.webkit.org/show_bug.cgi?id=47594
253
254         No new test added, because the crash can be produced by existing tests like:
255         LayoutTests/fast/events/message-channel-gc-4.html
256
257         * bindings/js/SerializedScriptValue.cpp:
258         (WebCore::CloneDeserializer::readLittleEndian):
259         (WebCore::CloneDeserializer::readString):
260
261 2010-10-06  Martin Robinson  <mrobinson@igalia.com>
262
263         Reviewed by Dirk Schulze.
264
265         [Cairo] Activate ContextShadow in all places where shadows are drawn
266         https://bugs.webkit.org/show_bug.cgi?id=46475
267
268         Turn on ContextShadow for the Cairo port and remove all old shadow code.
269         Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
270
271         * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
272         * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
273         (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
274         on the specified cairo_t to prepare for drawing glyphs.
275         (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
276         while properly handling glyphs with synthetic bold.
277         (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
278         * platform/graphics/cairo/GraphicsContextCairo.cpp:
279         (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
280         argument specifying whether to fill or stroke the solid figure for the shadow.
281         (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
282         (WebCore::strokeCurrentCairoPath): Ditto.
283         (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
284         (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
285         (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
286         (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
287         (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
288         (WebCore::GraphicsContext::contextShadow): Added.
289         (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
290         (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
291         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
292         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
293         * platform/graphics/cairo/ImageCairo.cpp:
294         (WebCore::BitmapImage::draw): Updated to use ContextShadow.
295
296 2010-10-13  John Knottenbelt  <jknotten@chromium.org>
297
298         Reviewed by Steve Block.
299
300         First step towards client-based Geolocation in Chromium. Build
301         fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
302         https://bugs.webkit.org/show_bug.cgi?id=47586
303
304         * WebCore.gyp/WebCore.gyp:
305         * platform/chromium/ChromiumBridge.h:
306         * platform/chromium/GeolocationServiceChromium.cpp:
307
308 2010-10-13  Steve Block  <steveblock@google.com>
309
310         Unreviewed fix
311
312         Need to check for the existence of DeviceOrientation and DeviceMotion controllers
313
314         These features can be disabled at run time, so an enable guard is not sufficient.
315         This bug was introduced in http://trac.webkit.org/changeset/69646
316
317         Tested with existing tests.
318
319         * history/PageCache.cpp:
320         (WebCore::logCanCachePageDecision):
321         (WebCore::PageCache::canCache):
322
323 2010-10-13  Yury Semikhatsky  <yurys@chromium.org>
324
325         Reviewed by Pavel Feldman.
326
327         Web Inspector: stack information is inconsistent between console.trace and runtime errors.
328         https://bugs.webkit.org/show_bug.cgi?id=47252
329
330         * console.trace() is now formatted the same way as other stack traces
331
332         * If there is //@ sourceURL=url line at the end of eval'ed script source
333         the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
334         type has changed from KURL to String.
335
336         Tests: inspector/console-trace-in-eval.html
337                inspector/console-uncaught-exception-in-eval.html
338
339         * bindings/js/ScriptCallFrame.cpp:
340         (WebCore::ScriptCallFrame::ScriptCallFrame):
341         * bindings/js/ScriptCallFrame.h:
342         (WebCore::ScriptCallFrame::sourceURL):
343         * bindings/v8/ScriptCallFrame.cpp:
344         (WebCore::ScriptCallFrame::ScriptCallFrame):
345         * bindings/v8/ScriptCallFrame.h:
346         (WebCore::ScriptCallFrame::sourceURL):
347         * bindings/v8/ScriptCallStack.cpp:
348         (WebCore::getFrameLocation):
349         (WebCore::ScriptCallStack::create):
350         * bindings/v8/ScriptCallStack.h:
351         * bindings/v8/ScriptController.cpp:
352         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
353         * bindings/v8/custom/V8ConsoleCustom.cpp:
354         (WebCore::V8Console::traceCallback):
355         * inspector/ConsoleMessage.cpp:
356         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
357         (WebCore::ConsoleMessage::ConsoleMessage):
358         * inspector/ConsoleMessage.h:
359         * inspector/front-end/ConsoleView.js:
360         (WebInspector.ConsoleMessage.prototype._formatMessage):
361         * page/Console.cpp:
362         (WebCore::Console::addMessage):
363         (WebCore::Console::count):
364         (WebCore::Console::timeEnd):
365
366 2010-10-13  Kent Tamura  <tkent@chromium.org>
367
368         Unreviewed, a trivial change.
369
370         Run sort-Xcode-project-file.
371
372         * WebCore.xcodeproj/project.pbxproj:
373
374 2010-10-13  Yael Aharon  <yael.aharon@nokia.com>
375
376         Reviewed by Andreas Kling.
377
378         Wrong ASSERT when select element has size 0
379         https://bugs.webkit.org/show_bug.cgi?id=47567
380
381         Keep the ASSERT only if the size of the element list is more than 0
382         Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
383
384         * dom/SelectElement.cpp:
385         (WebCore::SelectElement::updateListBoxSelection):
386         (WebCore::SelectElement::listBoxDefaultEventHandler):
387
388 2010-10-13  Steve Block  <steveblock@google.com>
389
390         Reviewed by Alexey Proskuryakov.
391
392         Pages using DeviceOrientation and DeviceMotion should not go into the page cache
393         https://bugs.webkit.org/show_bug.cgi?id=47408
394
395         Tests: fast/dom/DeviceMotion/no-page-cache.html
396                fast/dom/DeviceOrientation/no-page-cache.html
397
398         * dom/DeviceMotionController.h:
399         (WebCore::DeviceMotionController::isActive):
400         * dom/DeviceOrientationController.h:
401         (WebCore::DeviceOrientationController::isActive):
402         * history/PageCache.cpp:
403         (WebCore::logCanCachePageDecision):
404         (WebCore::PageCache::canCache):
405         * page/Page.cpp:
406
407 2010-10-13  Jenn Braithwaite  <jennb@chromium.org>
408
409         Reviewed by Dmitry Titov.
410
411         Make resource identifiers unique across pages
412         https://bugs.webkit.org/show_bug.cgi?id=47002
413
414         Test: http/tests/misc/iframe-reparenting-id-collision.html
415
416         * loader/ProgressTracker.cpp:
417         (WebCore::ProgressTracker::ProgressTracker):
418         (WebCore::ProgressTracker::createUniqueIdentifier):
419         * loader/ProgressTracker.h:
420
421 2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
422
423         Reviewed by David Hyatt.
424
425         Bug 41040 - :before/:after content should not become part of a ruby base
426         https://bugs.webkit.org/show_bug.cgi?id=41040
427
428         Also related to:
429         https://bugs.webkit.org/show_bug.cgi?id=40895.
430         https://bugs.webkit.org/show_bug.cgi?id=43722.
431
432         Explicitly handle :before and :after content in the default way.
433
434         Test: fast/ruby/ruby-beforeafter.html
435               fast/ruby/after-doesnt-crash.html
436
437         * rendering/RenderObject.h:
438         (WebCore::RenderObject::isBeforeContent):
439         * rendering/RenderRuby.cpp:
440         (WebCore::lastRubyRun):
441         (WebCore::RenderRubyAsInline::addChild):
442         (WebCore::RenderRubyAsInline::removeChild):
443         (WebCore::RenderRubyAsBlock::addChild):
444         (WebCore::RenderRubyAsBlock::removeChild):
445
446 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
447
448         Unreviewed, rolling out r69639.
449         http://trac.webkit.org/changeset/69639
450         https://bugs.webkit.org/show_bug.cgi?id=47575
451
452         "regressed nav-element.html" (Requested by rniwa on #webkit).
453
454         * editing/ApplyBlockElementCommand.cpp:
455         (WebCore::ApplyBlockElementCommand::formatSelection):
456         * editing/EditorCommand.cpp:
457         (WebCore::executeFormatBlock):
458         * editing/FormatBlockCommand.cpp:
459         (WebCore::FormatBlockCommand::formatRange):
460         * editing/FormatBlockCommand.h:
461         (WebCore::FormatBlockCommand::editingAction):
462         * editing/VisiblePosition.cpp:
463         (WebCore::enclosingBlockFlowElement):
464         * editing/VisiblePosition.h:
465         * editing/htmlediting.cpp:
466         (WebCore::validBlockTag):
467         * editing/htmlediting.h:
468
469 2010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
470
471         Reviewed by Tony Chang.
472
473         execCommand FormatBlock creates lots of blockquotes
474         https://bugs.webkit.org/show_bug.cgi?id=19795
475
476         The bug was caused by WebKit's not reusing the block node added by previous iteration
477         and its inserting block node at wrong places.
478
479         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
480         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
481         avoids the existing block elements when replacing blocks and it also adds a placeholder
482         when removing the existing block caused paragraphs to collapse.
483
484         Tests: editing/execCommand/format-block-multiple-paragraphs.html
485                editing/execCommand/format-block-table.html
486
487         * editing/EditorCommand.cpp:
488         (WebCore::executeFormatBlock):
489         * editing/FormatBlockCommand.cpp:
490         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
491         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
492         and moved from htmlediting.cpp.
493         (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
494         * editing/FormatBlockCommand.h:
495         * editing/VisiblePosition.cpp:
496         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
497         * editing/VisiblePosition.h:
498
499 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
500
501         Reviewed by Anders Carlsson.
502
503         Make PluginView inherit from PluginViewBase.
504
505         This change is a precursor to adding accelerated compositing support
506         for NPAPI plugins.
507
508         https://bugs.webkit.org/show_bug.cgi?id=47418
509
510         * page/Page.cpp:
511         (WebCore::Page::privateBrowsingStateChanged):
512         * plugins/PluginView.h:
513         * plugins/PluginViewBase.h:
514         (WebCore::PluginViewBase::PluginViewBase):
515
516 2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
517
518         Reviewed by Jian Li.
519
520         Pass platform path (rather than virtual path) when creating File from FileEntry
521         https://bugs.webkit.org/show_bug.cgi?id=47563
522
523         No new tests, the new test for FileWriter will be verifying this.
524
525         * fileapi/FileEntry.cpp:
526         (WebCore::FileEntry::file):
527
528 2010-10-12 David Hyatt  <hyatt@apple.com>
529
530         Reviewed by Dan Bernstein
531
532         <rdar://problem/8488444> REGRESSION (r67771)
533         https://bugs.webkit.org/show_bug.cgi?id=47434
534         Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
535         
536         Added printing/simultaneous-position-float-change.html
537
538         Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
539         objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
540         changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
541         automatically mark themselves as needing layout.
542
543         * rendering/LayoutState.cpp:
544         (WebCore::LayoutState::LayoutState):
545         * rendering/LayoutState.h:
546         (WebCore::LayoutState::LayoutState):
547         (WebCore::LayoutState::pageHeight):
548         (WebCore::LayoutState::pageHeightChanged):
549         * rendering/RenderBlock.cpp:
550         (WebCore::RenderBlock::layoutBlock):
551         (WebCore::RenderBlock::layoutBlockChild):
552         (WebCore::RenderBlock::layoutPositionedObjects):
553         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
554         (WebCore::RenderBlock::insertFloatingObject):
555         (WebCore::RenderBlock::positionNewFloats):
556         * rendering/RenderBlock.h:
557         * rendering/RenderBox.cpp:
558         * rendering/RenderBox.h:
559         (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
560         * rendering/RenderFlexibleBox.cpp:
561         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
562         (WebCore::RenderFlexibleBox::layoutVerticalBox):
563         * rendering/RenderView.cpp:
564         (WebCore::RenderView::RenderView):
565         (WebCore::RenderView::layout):
566         * rendering/RenderView.h:
567         (WebCore::RenderView::setPageHeight):
568         (WebCore::RenderView::pushLayoutState):
569         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
570         (WebCore::LayoutStateMaintainer::push):
571
572 2010-10-12  Anders Carlsson  <andersca@apple.com>
573
574         Reviewed by Dan Bernstein.
575
576         Paint the find overlay background
577         https://bugs.webkit.org/show_bug.cgi?id=47565
578
579         Export symbols required by WebKit2.
580
581         * WebCore.exp.in:
582
583 2010-10-12  James Robinson  <jamesr@chromium.org>
584
585         Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
586
587         * platform/graphics/chromium/LayerRendererChromium.cpp:
588         (WebCore::LayerRendererChromium::create):
589         (WebCore::LayerRendererChromium::LayerRendererChromium):
590         * platform/graphics/chromium/LayerRendererChromium.h:
591
592 2010-10-12  Chris Marrin  <cmarrin@apple.com>
593
594         Reviewed by Darin Adler.
595
596         Manage DrawingBuffer lifetime in GraphicsContext3D
597         https://bugs.webkit.org/show_bug.cgi?id=47501
598
599         GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
600         has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
601         DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
602         refers to GraphicsContext3D rather than SharedGraphicsContext3D.
603
604         * html/canvas/CanvasRenderingContext2D.cpp:
605         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
606         * html/canvas/CanvasRenderingContext2D.h:
607         * html/canvas/WebGLRenderingContext.cpp:
608         (WebCore::WebGLRenderingContext::create):
609         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
610         * html/canvas/WebGLRenderingContext.h:
611         * platform/graphics/GraphicsContext3D.cpp:
612         (WebCore::GraphicsContext3D::createDrawingBuffer):
613         * platform/graphics/GraphicsContext3D.h:
614         * platform/graphics/chromium/DrawingBufferChromium.cpp:
615         (WebCore::generateColorTexture):
616         (WebCore::DrawingBuffer::DrawingBuffer):
617         (WebCore::DrawingBuffer::~DrawingBuffer):
618         (WebCore::DrawingBuffer::publishToPlatformLayer):
619         (WebCore::DrawingBuffer::reset):
620         * platform/graphics/gpu/DrawingBuffer.cpp:
621         (WebCore::DrawingBuffer::create):
622         (WebCore::DrawingBuffer::clear):
623         (WebCore::DrawingBuffer::bind):
624         * platform/graphics/gpu/DrawingBuffer.h:
625         (WebCore::DrawingBuffer::graphicsContext3D):
626         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
627         (WebCore::SharedGraphicsContext3D::create):
628         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
629         * platform/graphics/gpu/SharedGraphicsContext3D.h:
630         (WebCore::SharedGraphicsContext3D::graphicsContext3D):
631         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
632         (WebCore::DrawingBuffer::DrawingBuffer):
633         (WebCore::DrawingBuffer::~DrawingBuffer):
634         (WebCore::DrawingBuffer::reset):
635         * platform/graphics/mac/GraphicsContext3DMac.mm:
636         (WebCore::GraphicsContext3D::create):
637
638 2010-10-12  Jian Li  <jianli@chromium.org>
639
640         Reviewed by David Levin.
641
642         Fix passing blob data with string data item between threads.
643         https://bugs.webkit.org/show_bug.cgi?id=46543
644
645         The fix is to use a thread-safe ref-counted Vector<char> to store the
646         string data. This also makes us be able to store any binary data in it.
647
648         I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
649         copies to make blob handling faster.
650
651         * fileapi/BlobBuilder.cpp:
652         (WebCore::BlobBuilder::append):
653         * fileapi/ThreadableBlobRegistry.cpp:
654         (WebCore::BlobRegistryContext::BlobRegistryContext):
655         * platform/network/BlobData.cpp:
656         (WebCore::BlobDataItem::RawData::RawData):
657         (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
658         (WebCore::BlobDataItem::detachFromCurrentThread):
659         (WebCore::BlobData::create):
660         (WebCore::BlobData::detachFromCurrentThread):
661         (WebCore::BlobData::appendData):
662         * platform/network/BlobData.h:
663         (WebCore::BlobDataItem::RawData::create):
664         (WebCore::BlobDataItem::RawData::data):
665         (WebCore::BlobDataItem::RawData::length):
666         (WebCore::BlobDataItem::RawData::mutableData):
667         (WebCore::BlobDataItem::BlobDataItem):
668         * platform/network/BlobRegistryImpl.cpp:
669         (WebCore::BlobRegistryImpl::registerBlobURL):
670         * platform/network/BlobResourceHandle.cpp:
671         (WebCore::BlobResourceHandle::readDataSync):
672         (WebCore::BlobResourceHandle::readDataAsync):
673         * platform/network/mac/FormDataStreamMac.mm:
674         (WebCore::setHTTPBody):
675         * platform/text/LineEnding.cpp:
676         (OutputBuffer::CStringBuffer::CStringBuffer):
677         (OutputBuffer::CStringBuffer::~CStringBuffer):
678         (OutputBuffer::CStringBuffer::allocate):
679         (OutputBuffer::CStringBuffer::copy):
680         (OutputBuffer::CStringBuffer::buffer):
681         (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
682         (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
683         (OutputBuffer::VectorCharAppendBuffer::allocate):
684         (OutputBuffer::VectorCharAppendBuffer::copy):
685         (OutputBuffer::internalNormalizeLineEndingsToCRLF):
686         (WebCore::normalizeToCROrLF):
687         (WebCore::normalizeLineEndingsToCRLF):
688         (WebCore::normalizeLineEndingsToCR):
689         (WebCore::normalizeLineEndingsToLF):
690         (WebCore::normalizeLineEndingsToNative):
691         * platform/text/LineEnding.h:
692
693 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
694
695         Unreviewed, rolling out r69589.
696         http://trac.webkit.org/changeset/69589
697         https://bugs.webkit.org/show_bug.cgi?id=47547
698
699         Wrong patch landed from a bug with two patches (Requested by
700         mrobinson on #webkit).
701
702         * platform/network/ResourceHandleInternal.h:
703         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
704         * platform/network/soup/ResourceHandleSoup.cpp:
705         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
706         (WebCore::ResourceHandle::~ResourceHandle):
707         (WebCore::restartedCallback):
708         (WebCore::gotChunkCallback):
709         (WebCore::finishedCallback):
710         (WebCore::parseDataUrl):
711         (WebCore::startHttp):
712         * platform/network/soup/ResourceRequest.h:
713         * platform/network/soup/ResourceRequestSoup.cpp:
714
715 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
716
717         Screen.availLeft should be signed
718         https://bugs.webkit.org/show_bug.cgi?id=34397
719         
720         Add the manual test missed in r69599.
721
722         * manual-tests/screen-availLeft.html: Added.
723
724 2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
725
726         Reviewed by Ariya Hidayat.
727
728         [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
729
730         Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
731         quirk is enabled only for 64-bit Flash/X11 and should not affect other
732         plugins. The freeze itself is in Flash code and the backtrace is not
733         useful.
734
735         https://bugs.webkit.org/show_bug.cgi?id=47545
736
737         * plugins/PluginPackage.cpp:
738         (WebCore::PluginPackage::determineQuirks):
739         * plugins/PluginQuirkSet.h:
740         * plugins/qt/PluginViewQt.cpp:
741         (WebCore::PluginView::handleMouseEvent):
742
743 2010-10-08  Simon Fraser  <simon.fraser@apple.com>
744
745         Reviewed by Alexey Proskuryakov.
746
747         Screen.availLeft should be signed
748         https://bugs.webkit.org/show_bug.cgi?id=34397
749
750         For the screen to the left of the main screen, screen.availLeft
751         can be negative, so the Screen API needs to use signed numbers
752         for availLeft and availTop.
753
754         * manual-tests/screen-availLeft.html: Added.
755         * page/Screen.cpp:
756         (WebCore::Screen::availLeft):
757         (WebCore::Screen::availTop):
758         * page/Screen.h:
759         * page/Screen.idl:
760
761 2010-10-12  Anders Carlsson  <andersca@apple.com>
762
763         Reviewed by Sam Weinig.
764
765         Add FindController class
766         https://bugs.webkit.org/show_bug.cgi?id=47555
767
768         Export Page::findString.
769
770         * WebCore.exp.in:
771
772 2010-10-12  Alexey Proskuryakov  <ap@apple.com>
773
774         Reviewed by Simon Fraser.
775
776         https://bugs.webkit.org/show_bug.cgi?id=47550
777         <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
778         (esp. with AdBlock style extensions)
779
780         No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
781
782         The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
783         not available yet, so scripting could only attempt to load it recursively.
784
785         This didn't affect NPAPI plug-ins, because of a completely different code path taken in
786         updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
787
788         * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
789         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
790         * html/HTMLPlugInElement.cpp:
791         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
792         (WebCore::HTMLPlugInElement::pluginWidget):
793         * html/HTMLPlugInElement.h:
794
795 2010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
796
797         Reviewed by Gavin Barraclough.
798
799         Unify JSC::StringBuilder & WebCore::StringBuilder
800         https://bugs.webkit.org/show_bug.cgi?id=47538
801
802         JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
803         WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
804         characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
805         most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
806         strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
807
808         Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
809         While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
810
811         No change in functionality, thus no new tests.
812
813         * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
814         * CMakeLists.txt: Ditto.
815         * GNUmakefile.am: Ditto. 
816         * WebCore.gypi: Ditto.
817         * WebCore.order: Ditto.
818         * WebCore.pro: Ditto.
819         * WebCore.vcproj/WebCore.vcproj: Ditto.
820         * WebCore.xcodeproj/project.pbxproj: Ditto.
821         * ForwardingHeaders/runtime/StringBuilder.h: Removed.
822         * ForwardingHeaders/runtime/UStringBuilder.h: Added.
823         * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
824         * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
825         (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
826         * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
827         * css/MediaQuery.cpp: Ditto.
828         * css/MediaQueryExp.cpp: Ditto.
829         * dom/Node.cpp: Ditto.
830         (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
831         * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
832         * html/DOMTokenList.cpp: Use WTF::StringBuilder.
833         * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
834         * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
835         * platform/brew/FileSystemBrew.cpp: Ditto.
836         * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
837         * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
838         * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
839         * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
840         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
841         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
842         * platform/network/ProxyServer.cpp:
843         (WebCore::appendProxyServerString): Use WTF::StringBuilder.
844         * platform/text/StringBuffer.h: Removed.
845         * platform/text/StringBuilder.cpp: Removed.
846         * platform/text/StringBuilder.h: Removed.
847         * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
848         * svg/SVGPathParserFactory.cpp: Ditto.
849         * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
850         (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
851         (WebCore::SVGPathStringBuilder::moveTo):
852         (WebCore::SVGPathStringBuilder::lineTo):
853         (WebCore::SVGPathStringBuilder::lineToHorizontal):
854         (WebCore::SVGPathStringBuilder::lineToVertical):
855         (WebCore::SVGPathStringBuilder::curveToCubic):
856         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
857         (WebCore::SVGPathStringBuilder::curveToQuadratic):
858         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
859         (WebCore::SVGPathStringBuilder::arcTo):
860         (WebCore::SVGPathStringBuilder::closePath):
861         * svg/SVGPathStringBuilder.h:
862         (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
863         * websockets/WebSocket.cpp: Use WTF::StringBuilder.
864         * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
865
866 2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
867
868         Reviewed by Antonio Gomes.
869
870         [EFL] Add a missing file in CMakeListEfl.txt
871         https://bugs.webkit.org/show_bug.cgi?id=47480
872
873         IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
874
875         * CMakeListsEfl.txt:
876
877 2010-10-12  Sam Weinig  <sam@webkit.org>
878
879         Reviewed by Anders Carlsson.
880
881         Need WebKit2 API to get the cell above a table cell
882         <rdar://problem/8537111>
883         https://bugs.webkit.org/show_bug.cgi?id=47532
884
885         Re-factor functionality to get the cell above a table cell
886         into a function on HTMLTableCellElement and export it for use
887         as SPI.
888
889         * WebCore.exp.in:
890         * WebCore.xcodeproj/project.pbxproj:
891         * html/HTMLTableCellElement.cpp:
892         (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
893         * html/HTMLTableCellElement.h:
894         * page/Frame.cpp:
895         (WebCore::Frame::searchForLabelsAboveCell): ...from here.
896
897 2010-10-12  Dave Moore  <davemoore@chromium.org>
898
899         Reviewed by Tony Chang.
900
901         Use new WebThemeEngine api on chromium / linux to draw scrollbars.
902         https://bugs.webkit.org/show_bug.cgi?id=47473
903
904         * platform/chromium/ChromiumBridge.h:
905         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
906
907 2010-10-12  Andreas Kling  <kling@webkit.org>
908
909         Reviewed by Antonio Gomes.
910
911         [Qt] Clipping problem viewing SVG with WebKit
912         https://bugs.webkit.org/show_bug.cgi?id=29596
913
914         SVG path clipping (via GraphicsContext::clipPath()) was done using the
915         Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
916         to misrenderings when nesting multiple clip paths.
917
918         * platform/graphics/qt/GraphicsContextQt.cpp:
919         (WebCore::GraphicsContext::clipPath):
920
921 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
922
923         Reviewed by Pavel Feldman.
924
925         Web Inspector: refactoring of native breakpoints.
926         https://bugs.webkit.org/show_bug.cgi?id=47360
927
928         Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
929         Move stuff that depends on breakpoint type to corresponding subclass.
930
931         * inspector/Inspector.idl:
932         * inspector/InspectorController.cpp:
933         (WebCore::InspectorController::didCommitLoad):
934         (WebCore::InspectorController::setNativeBreakpoint):
935         (WebCore::InspectorController::removeNativeBreakpoint):
936         (WebCore::InspectorController::findEventListenerBreakpoint):
937         (WebCore::InspectorController::findXHRBreakpoint):
938         * inspector/InspectorController.h:
939         * inspector/InspectorDOMAgent.cpp:
940         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
941         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
942         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
943         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
944         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
945         (WebCore::InspectorDOMAgent::createBreakpointId):
946         * inspector/InspectorDOMAgent.h:
947         * inspector/InspectorDebuggerAgent.h:
948         * inspector/InspectorInstrumentation.cpp:
949         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
950         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
951         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
952         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
953         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
954         * inspector/front-end/BreakpointManager.js:
955         (WebInspector.BreakpointManager):
956         (WebInspector.BreakpointManager.prototype.reset):
957         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
958         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
959         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
960         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
961         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
962         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
963         (WebInspector.BreakpointManager.prototype.debuggerPaused):
964         (WebInspector.BreakpointManager.prototype.debuggerResumed):
965         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
966         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
967         (WebInspector.NativeBreakpoint):
968         (WebInspector.NativeBreakpoint.prototype.remove):
969         (WebInspector.NativeBreakpoint.prototype.get _frontendId):
970         (WebInspector.NativeBreakpoint.prototype.get _type):
971         (WebInspector.NativeBreakpoint.prototype._compare):
972         (WebInspector.NativeBreakpoint.prototype._onRemove):
973         (WebInspector.DOMBreakpoint):
974         (WebInspector.DOMBreakpoint.prototype.click):
975         (WebInspector.DOMBreakpoint.prototype.compareTo):
976         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
977         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
978         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
979         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
980         (WebInspector.DOMBreakpoint.prototype._condition):
981         (WebInspector.DOMBreakpoint.prototype._onRemove):
982         (WebInspector.EventListenerBreakpoint):
983         (WebInspector.EventListenerBreakpoint.prototype.compareTo):
984         (WebInspector.EventListenerBreakpoint.prototype.label):
985         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
986         (WebInspector.EventListenerBreakpoint.prototype._condition):
987         (WebInspector.XHRBreakpoint):
988         (WebInspector.XHRBreakpoint.prototype.compareTo):
989         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
990         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
991         (WebInspector.XHRBreakpoint.prototype._condition):
992         (WebInspector.domBreakpointTypeLabel):
993         (WebInspector.domBreakpointTypeContextMenuLabel):
994         * inspector/front-end/BreakpointsSidebarPane.js:
995         (WebInspector.BreakpointItem):
996         (WebInspector.BreakpointItem.prototype._breakpointClicked):
997         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
998         * inspector/front-end/CallStackSidebarPane.js:
999         (WebInspector.CallStackSidebarPane):
1000         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1001         (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
1002         * inspector/front-end/DOMAgent.js:
1003         (WebInspector.DOMNode):
1004         (WebInspector.DOMAgent.prototype._setDocument):
1005         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1006         (WebInspector.childNodeRemoved):
1007         * inspector/front-end/ElementsTreeOutline.js:
1008         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1009         * inspector/front-end/ScriptsPanel.js:
1010         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
1011         * inspector/front-end/inspector.js:
1012         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
1013         (WebInspector.createDOMBreakpointsSidebarPane):
1014         (WebInspector.reset):
1015
1016 2010-10-11  Eric Uhrhane  <ericu@chromium.org>
1017
1018         Reviewed by Dumitru Daniliuc.
1019
1020         FileWriter should hold a reference to a Blob during write
1021         https://bugs.webkit.org/show_bug.cgi?id=47318
1022
1023         Without this reference, the Blob might get garbage-collected from JS
1024         before the write has completed, which would be quite unintuitive to the
1025         user.  I just grab a RefPtr to the Blob at write(), then clear it when
1026         we're done.
1027
1028         * fileapi/FileWriter.cpp:
1029         (WebCore::FileWriter::stop):
1030         (WebCore::FileWriter::write):
1031         (WebCore::FileWriter::didWrite):
1032         (WebCore::FileWriter::didFail):
1033         * fileapi/FileWriter.h:
1034
1035 2010-10-11  Michael Saboff  <msaboff@apple.com>
1036
1037         Reviewed by Darin Adler.
1038
1039         Changed DOMWindow to have a constructor.  Updated the code generator
1040         to add security checks to the constructors if CheckDomainSecurity is 
1041         set.  Also changed the constructor generation code to use 
1042         globalObject->prototype() for DOMWindow object prototypes instead
1043         of "self".
1044         https://bugs.webkit.org/show_bug.cgi?id=47422
1045
1046         Test: fast/dom/Window/window-constructor.html
1047
1048         * bindings/scripts/CodeGeneratorJS.pm:
1049         * page/DOMWindow.idl:
1050
1051 2010-10-11  Daniel Cheng  <dcheng@chromium.org>
1052
1053         Reviewed by Tony Chang.
1054
1055         [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
1056         https://bugs.webkit.org/show_bug.cgi?id=44992
1057
1058         In order to allow a graceful transition, ChromiumDataObject has been
1059         reimplemented as a wrapper around the three different types of data
1060         objects that the Chrome port uses:
1061         1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
1062            All the data that ClipboardChromium/DragDataChromium can potentially
1063            use is copied over, regardless of whether or not it is needed.
1064         2. ReadableDataObject -- used for dragging in and pasting into WebKit.
1065            For efficiency, it caches an optimistic list of types it believes it
1066            can handle. When getData() is called, a browser IPC is called to
1067            retrieve the appropriate data.
1068         3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
1069            buffers all data when dragging out of WebKit or copying/cutting.
1070            Unfortunately, there is a difference between dragging out and
1071            copying/cutting--on drag outs, the data is buffered and flushed out
1072            when startDrag() is called. For copy/cut, any calls to setData()
1073            result in a browser IPC right away, so calls to setData() in one
1074            copy/cut event are not atomic.
1075
1076         Copy and paste has been changed to use the new data objects. Dragging
1077         out uses the legacy data object, and dragging in now has two potential
1078         entry points--one using the legacy data object, and one using
1079         ReadableDataObject. Once Chromium transitions to using the new drag-in
1080         interface, the old interface will be removed.
1081
1082         This change is covered by existing tests.
1083
1084         * WebCore.gypi:
1085         * editing/chromium/EditorChromium.cpp:
1086         (WebCore::Editor::newGeneralClipboard):
1087         * page/chromium/EventHandlerChromium.cpp:
1088         (WebCore::EventHandler::createDraggingClipboard):
1089         * platform/chromium/ChromiumDataObject.cpp:
1090         (WebCore::ChromiumDataObject::ChromiumDataObject):
1091         (WebCore::ChromiumDataObject::create):
1092         (WebCore::ChromiumDataObject::createReadable):
1093         (WebCore::ChromiumDataObject::createWritable):
1094         (WebCore::ChromiumDataObject::clearData):
1095         (WebCore::ChromiumDataObject::clearAll):
1096         (WebCore::ChromiumDataObject::clearAllExceptFiles):
1097         (WebCore::ChromiumDataObject::hasData):
1098         (WebCore::ChromiumDataObject::types):
1099         (WebCore::ChromiumDataObject::getData):
1100         (WebCore::ChromiumDataObject::setData):
1101         (WebCore::ChromiumDataObject::urlTitle):
1102         (WebCore::ChromiumDataObject::setUrlTitle):
1103         (WebCore::ChromiumDataObject::htmlBaseUrl):
1104         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
1105         (WebCore::ChromiumDataObject::containsFilenames):
1106         (WebCore::ChromiumDataObject::filenames):
1107         (WebCore::ChromiumDataObject::setFilenames):
1108         (WebCore::ChromiumDataObject::fileExtension):
1109         (WebCore::ChromiumDataObject::setFileExtension):
1110         (WebCore::ChromiumDataObject::fileContentFilename):
1111         (WebCore::ChromiumDataObject::setFileContentFilename):
1112         (WebCore::ChromiumDataObject::fileContent):
1113         (WebCore::ChromiumDataObject::setFileContent):
1114         * platform/chromium/ChromiumDataObject.h:
1115         * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
1116         (WebCore::ChromiumDataObjectLegacy::clearData):
1117         (WebCore::ChromiumDataObjectLegacy::clearAll):
1118         (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
1119         (WebCore::ChromiumDataObjectLegacy::hasData):
1120         (WebCore::ChromiumDataObjectLegacy::types):
1121         (WebCore::ChromiumDataObjectLegacy::getData):
1122         (WebCore::ChromiumDataObjectLegacy::setData):
1123         (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
1124         * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
1125         (WebCore::ChromiumDataObjectLegacy::create):
1126         (WebCore::ChromiumDataObjectLegacy::copy):
1127         (WebCore::ChromiumDataObjectLegacy::urlTitle):
1128         (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
1129         (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
1130         (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
1131         (WebCore::ChromiumDataObjectLegacy::containsFilenames):
1132         (WebCore::ChromiumDataObjectLegacy::filenames):
1133         (WebCore::ChromiumDataObjectLegacy::setFilenames):
1134         (WebCore::ChromiumDataObjectLegacy::fileExtension):
1135         (WebCore::ChromiumDataObjectLegacy::setFileExtension):
1136         (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
1137         (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
1138         (WebCore::ChromiumDataObjectLegacy::fileContent):
1139         (WebCore::ChromiumDataObjectLegacy::setFileContent):
1140         * platform/chromium/ClipboardChromium.cpp:
1141         (WebCore::ClipboardChromium::create):
1142         * platform/chromium/ClipboardChromium.h:
1143         * platform/chromium/ReadableDataObject.cpp:
1144         (WebCore::ReadableDataObject::getData):
1145         * platform/chromium/WritableDataObject.cpp:
1146         (WebCore::WritableDataObject::setData):
1147
1148 2010-10-11  Anders Carlsson  <andersca@apple.com>
1149
1150         Reviewed by Darin Adler.
1151
1152         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
1153         https://bugs.webkit.org/show_bug.cgi?id=47523
1154
1155         Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
1156
1157         * GNUmakefile.am:
1158         * WebCore.exp.in:
1159         * WebCore.gyp/WebCore.gyp:
1160         * WebCore.gypi:
1161         * WebCore.vcproj/WebCore.vcproj:
1162         * WebCore.xcodeproj/project.pbxproj:
1163         * loader/icon/IconFetcher.cpp: Removed.
1164         * loader/icon/IconFetcher.h: Removed.
1165
1166 2010-10-11  Jia Pu  <jpu@apple.com>
1167
1168         Reviewed by Adele Peterson.
1169
1170         Should commit pending autocorrection before next round of text checking.
1171         https://bugs.webkit.org/show_bug.cgi?id=46986
1172         <rdar://problem/8424535>
1173
1174         1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
1175         2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
1176            selection changes, which occurs after every typing command.
1177
1178         * editing/Editor.cpp:
1179         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
1180         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
1181           in m_correctionReplacementString.
1182         (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
1183         * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
1184
1185 2010-10-11  Oliver Hunt  <oliver@apple.com>
1186
1187         Reviewed by Adam Barth.
1188
1189         Make fast/canvas/webgl/glsl-conformance pass again
1190         https://bugs.webkit.org/show_bug.cgi?id=47525
1191
1192         Remove incorrect call to glGetShaderiv, so it is only
1193         called in the case where we don't have our own simulated
1194         log.
1195
1196         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1197         (WebCore::GraphicsContext3D::getShaderInfoLog):
1198
1199 2010-10-11  Sam Weinig  <sam@webkit.org>
1200
1201         Reviewed by Anders Carlsson.
1202
1203         Add WebKit2 equivalents for setValueForUser and setAutoFilled
1204         <rdar://problem/8475934>
1205         https://bugs.webkit.org/show_bug.cgi?id=47524
1206
1207         * WebCore.exp.in: Add needed export.
1208
1209 2010-10-11  Andrei Popescu  <andreip@google.com>
1210
1211         Reviewed by Jeremy Orlow.
1212
1213         The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
1214         https://bugs.webkit.org/show_bug.cgi?id=47508
1215
1216         * bindings/generic/RuntimeEnabledFeatures.h:
1217         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
1218         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
1219         (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
1220         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
1221         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
1222         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
1223         (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
1224         (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
1225         (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
1226         (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
1227         (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
1228         (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
1229         (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
1230         (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
1231         (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
1232         * page/DOMWindow.cpp:
1233         (WebCore::DOMWindow::webkitIndexedDB):
1234         * page/DOMWindow.h:
1235         * page/DOMWindow.idl:
1236
1237 2010-10-11  Sam Weinig  <sam@webkit.org>
1238
1239         Reviewed by Anders Carlsson.
1240
1241         Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
1242         https://bugs.webkit.org/show_bug.cgi?id=47509
1243
1244         * WebCore.exp.in: Export toNode.
1245
1246 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1247
1248         Reviewed by Tony Chang.
1249
1250         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
1251         https://bugs.webkit.org/show_bug.cgi?id=47244
1252
1253         Store the URI list as a String in DataObjectGtk, so that non-URI elements
1254         are preserved when getData(...) is called. This necessitates some other
1255         changes, including adding a m_filenames member to DataObjectGtk to store
1256         filenames extracted during setURIList(...). The logic in getData(...) has
1257         also changed to set success = true no matter what to match the spec. A
1258         followup patch will remove this parameter completely for all platforms.
1259
1260         * platform/gtk/ClipboardGtk.cpp:
1261         (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
1262         spec and Firefox. Simply return the uriList string from the DataObject
1263         instead of reconstructing it from a vector of KURLs.
1264         (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
1265         for the uriList parameter.
1266         (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
1267         DataObjectGtk::hasFilenames().
1268         (WebCore::ClipboardGtk::files): Update to reflect the change from
1269         DataObjectGtk::files() to DataObjectGtk::filenames().
1270         * platform/gtk/DataObjectGtk.cpp:
1271         (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
1272         first valid URL to use as the m_url member and also extract a list of filenames
1273         from the URI list.
1274         (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
1275         (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
1276         also leave a comment explaining why we do not clear filenames here.
1277         * platform/gtk/DataObjectGtk.h:
1278         (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
1279         (WebCore::DataObjectGtk::uriList): Ditto.
1280         (WebCore::DataObjectGtk::filenames): Added.
1281         (WebCore::DataObjectGtk::hasURL): Now a simple check.
1282         (WebCore::DataObjectGtk::hasFilenames): Added.
1283         (WebCore::DataObjectGtk::clearURIList): Simple setter.
1284         (WebCore::DataObjectGtk::clearURL): Ditto.
1285         * platform/gtk/DragDataGtk.cpp:
1286         (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
1287         (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
1288         * platform/gtk/PasteboardHelper.cpp:
1289         (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
1290         (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
1291         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
1292
1293 2010-10-11  James Robinson  <jamesr@chromium.org>
1294
1295         Reviewed by Kenneth Russell.
1296
1297         [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
1298         https://bugs.webkit.org/show_bug.cgi?id=47241
1299
1300         Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
1301         if there is no drawingContext associated with the canvas.
1302
1303         Test: fast/canvas/access-zero-sized-canvas.html
1304               fast/canvas/canvas-skia-excessive-size.html
1305               fast/canvas/toDataURL-noData.html
1306         with --accelerated-compositing and --accelerated-2d-canvas
1307
1308         * html/canvas/CanvasRenderingContext2D.cpp:
1309         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1310         (WebCore::CanvasRenderingContext2D::reset):
1311
1312 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1313
1314         Reviewed by Gustavo Noronha Silva.
1315
1316         [GTK] Cleanup font selection code for the Freetype backend
1317         https://bugs.webkit.org/show_bug.cgi?id=47503
1318
1319         Do some miscellaneous cleanup work in the Freetype font font selection backend.
1320
1321         * platform/graphics/cairo/FontCacheFreeType.cpp:
1322         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
1323         a WebCore String.
1324         (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
1325         handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
1326         comparisons using WebCore Strings. Remove a large block comment that originated from a
1327         Apache-licensed file.
1328
1329 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1330
1331         Reviewed by Gustavo Noronha Silva.
1332
1333         [GTK] Buttons activated with the keyboard should be painted as clicked
1334         https://bugs.webkit.org/show_bug.cgi?id=18364
1335
1336         When a button is pressed, force it into the hovered state as far as the
1337         Mozilla theme drawing code is concerned. This bug also seems to be an
1338         issue for Firefox. When we switch away from the Mozilla theme drawing
1339         code this work-around should no longer be necessary.
1340
1341         No new tests. I was not able to generate a pixel test for this issue. It
1342         seems that our DRT does not have the necessary infrastructure to generate a
1343         pixel dump while a button is in the pressed state.
1344
1345         * platform/gtk/RenderThemeGtk.cpp:
1346         (WebCore::RenderThemeGtk::paintRenderObject):
1347
1348 2010-10-11  Jian Li  <jianli@chromium.org>
1349
1350         Unreviewed. Build fix.
1351
1352         * bindings/js/JSArrayBufferCustom.cpp:
1353         * bindings/js/JSArrayBufferViewCustom.cpp:
1354         * bindings/js/JSFloat32ArrayCustom.cpp:
1355         * bindings/js/JSInt16ArrayCustom.cpp:
1356         * bindings/js/JSInt32ArrayCustom.cpp:
1357         * bindings/js/JSInt8ArrayCustom.cpp:
1358         * bindings/js/JSUint16ArrayCustom.cpp:
1359         * bindings/js/JSUint32ArrayCustom.cpp:
1360         * bindings/js/JSUint8ArrayCustom.cpp:
1361         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1362         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
1363         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1364         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1365         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1366         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1367         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1368         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1369         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1370
1371 2010-10-11  Brent Fulgham  <bfulgham@webkit.org>
1372
1373         Unreviewed WinCairo build fixes.
1374
1375         * platform/network/curl/ResourceResponse.h: Correct forward declaration
1376         for CFURLResponseRef.
1377         * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
1378         header file to avoid build failure on non-VIDEO builds.
1379
1380 2010-10-11  Jian Li  <jianli@chromium.org>
1381
1382         Reviewed by Adam Barth.
1383
1384         Add File API feature guard to all typed array files
1385         https://bugs.webkit.org/show_bug.cgi?id=47437
1386
1387         Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
1388         we need to update all type array files to include File API feature guard
1389         in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
1390         XMLHttpRequest, we will then remove all the guards. This is per the
1391         discussion on webkit-dev mailing list:
1392         https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
1393
1394         * html/canvas/ArrayBuffer.cpp:
1395         * html/canvas/ArrayBuffer.idl:
1396         * html/canvas/ArrayBufferView.cpp:
1397         * html/canvas/ArrayBufferView.idl:
1398         * html/canvas/Float32Array.cpp:
1399         * html/canvas/Float32Array.idl:
1400         * html/canvas/Int16Array.cpp:
1401         * html/canvas/Int16Array.idl:
1402         * html/canvas/Int32Array.cpp:
1403         * html/canvas/Int32Array.idl:
1404         * html/canvas/Int8Array.cpp:
1405         * html/canvas/Int8Array.idl:
1406         * html/canvas/Uint16Array.cpp:
1407         * html/canvas/Uint16Array.idl:
1408         * html/canvas/Uint32Array.cpp:
1409         * html/canvas/Uint32Array.idl:
1410         * html/canvas/Uint8Array.cpp:
1411         * html/canvas/Uint8Array.idl:
1412
1413 2010-10-11  Andreas Kling  <kling@webkit.org>
1414
1415         Build fix (implicit float conversion in Path.cpp)
1416
1417         * platform/graphics/Path.cpp:
1418
1419 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
1420
1421         Reviewed by Kenneth Rohde Christiansen.
1422
1423         [Qt] Refactor Plugin X Pixmap painting code to a separate function
1424
1425         The refactored function will be used for rendering by the Accelerated
1426         Composition enabled graphics layer.
1427
1428         https://bugs.webkit.org/show_bug.cgi?id=35524
1429
1430         * plugins/PluginView.h:
1431         * plugins/qt/PluginViewQt.cpp:
1432         (WebCore::PluginView::paintUsingXPixmap):
1433         (WebCore::PluginView::paint):
1434
1435 2010-10-11  Andreas Kling  <kling@webkit.org>
1436
1437         Reviewed by Dirk Schulze.
1438
1439         SVG: Remove "create" methods and use port-specific "add" counterparts
1440         https://bugs.webkit.org/show_bug.cgi?id=46052
1441
1442         Circles and ellipses will be significantly faster on platforms that
1443         implement Path::addEllipse() in a sane fashion.
1444
1445         Also, a lot of Path copying has been factored out by changing functions
1446         that would return Paths to take Path& arguments instead (toPathData, toClipPath)
1447
1448         * mathml/RenderMathMLRoot.cpp:
1449         (WebCore::RenderMathMLRoot::paint):
1450         * mathml/RenderMathMLSquareRoot.cpp:
1451         (WebCore::RenderMathMLSquareRoot::paint):
1452         * platform/graphics/GraphicsContext.cpp:
1453         (WebCore::GraphicsContext::addRoundedRectClip):
1454         (WebCore::GraphicsContext::clipOutRoundedRect):
1455         * platform/graphics/Path.cpp:
1456         (WebCore::pathLengthApplierFunction):
1457         (WebCore::Path::addRoundedRect):
1458         * platform/graphics/Path.h:
1459         * platform/graphics/cairo/ContextShadowCairo.cpp:
1460         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
1461         (WebCore::ContextShadow::drawRectShadow):
1462         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1463         (WebCore::GraphicsContext::drawFocusRing):
1464         (WebCore::GraphicsContext::drawTiledShadow):
1465         (WebCore::GraphicsContext::fillRoundedRect):
1466         * platform/graphics/cg/GraphicsContextCG.cpp:
1467         (WebCore::GraphicsContext::fillRoundedRect):
1468         * platform/graphics/qt/GraphicsContextQt.cpp:
1469         (WebCore::GraphicsContext::fillRoundedRect):
1470         * rendering/RenderBoxModelObject.cpp:
1471         (WebCore::RenderBoxModelObject::paintBorder):
1472         (WebCore::RenderBoxModelObject::paintBoxShadow):
1473         * rendering/RenderEmbeddedObject.cpp:
1474         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1475         * rendering/RenderSVGResourceClipper.cpp:
1476         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
1477         * rendering/svg/RenderSVGPath.cpp:
1478         (WebCore::RenderSVGPath::layout):
1479         * rendering/svg/RenderSVGTextPath.cpp:
1480         (WebCore::RenderSVGTextPath::layoutPath):
1481         * rendering/svg/SVGInlineTextBox.cpp:
1482         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
1483         * svg/SVGAnimateMotionElement.cpp:
1484         (WebCore::SVGAnimateMotionElement::animationPath):
1485         * svg/SVGCircleElement.cpp:
1486         (WebCore::SVGCircleElement::toPathData):
1487         * svg/SVGCircleElement.h:
1488         * svg/SVGEllipseElement.cpp:
1489         (WebCore::SVGEllipseElement::toPathData):
1490         * svg/SVGEllipseElement.h:
1491         * svg/SVGLineElement.cpp:
1492         (WebCore::SVGLineElement::toPathData):
1493         * svg/SVGLineElement.h:
1494         * svg/SVGPathElement.cpp:
1495         (WebCore::SVGPathElement::getTotalLength):
1496         (WebCore::SVGPathElement::getPointAtLength):
1497         (WebCore::SVGPathElement::toPathData):
1498         * svg/SVGPathElement.h:
1499         * svg/SVGPolygonElement.cpp:
1500         (WebCore::SVGPolygonElement::toPathData):
1501         * svg/SVGPolygonElement.h:
1502         * svg/SVGPolylineElement.cpp:
1503         (WebCore::SVGPolylineElement::toPathData):
1504         * svg/SVGPolylineElement.h:
1505         * svg/SVGRectElement.cpp:
1506         (WebCore::SVGRectElement::toPathData):
1507         * svg/SVGRectElement.h:
1508         * svg/SVGStyledTransformableElement.cpp:
1509         (WebCore::SVGStyledTransformableElement::toClipPath):
1510         * svg/SVGStyledTransformableElement.h:
1511         (WebCore::SVGStyledTransformableElement::toPathData):
1512         * svg/SVGUseElement.cpp:
1513         (WebCore::SVGUseElement::toClipPath):
1514         * svg/SVGUseElement.h:
1515
1516 2010-10-01  Oliver Hunt  <oliver@apple.com>
1517
1518         Reviewed by Gavin Barraclough.
1519
1520         [ES5] Implement strict mode
1521         https://bugs.webkit.org/show_bug.cgi?id=10701
1522
1523         Test: fast/js/basic-strict-mode.html
1524
1525         Override toStrictThisObject on the domwindow so that
1526         it correctly provides the shell object when used as this
1527         in a strict mode function.
1528
1529         * bindings/js/JSDOMWindowBase.cpp:
1530         (WebCore::JSDOMWindowBase::toStrictThisObject):
1531         * bindings/js/JSDOMWindowBase.h:
1532
1533 2010-10-11  Joseph Pecoraro  <joepeck@webkit.org>
1534
1535         Reviewed by Eric Carlson.
1536
1537         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
1538         https://bugs.webkit.org/show_bug.cgi?id=46777
1539
1540         Another case that could lead to an improper set of states between
1541         m_currentNode and m_loadingState. Also added an ASSERT and early
1542         return to prevent crashes if this case can still happen in other ways.
1543
1544         * html/HTMLMediaElement.cpp:
1545         (WebCore::HTMLMediaElement::prepareForLoad):
1546
1547 2010-10-11  Ryosuke Niwa  <rniwa@webkit.org>
1548
1549         Reviewed by Darin Adler.
1550
1551         spellcheck="false" not respected in designMode
1552         https://bugs.webkit.org/show_bug.cgi?id=39978
1553
1554         The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
1555         Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
1556         this caused us to ignore body element's spellcheck attribute.
1557
1558         Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
1559         when the parent node of body elements (namely html element) is editable.
1560
1561         Test: editing/spelling/design-mode-spellcheck-off.html
1562
1563         * html/HTMLBodyElement.cpp:
1564         (WebCore::HTMLBodyElement::supportsFocus): Added.
1565         * html/HTMLBodyElement.h:
1566
1567 2010-10-11  Oliver Hunt  <oliver@apple.com>
1568
1569         Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
1570
1571         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1572         (WebCore::GraphicsContext3D::getShaderInfoLog):
1573
1574 2010-10-11  Oliver Hunt  <oliver@apple.com>
1575
1576         Reviewed by Andreas Kling.
1577
1578         Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
1579         https://bugs.webkit.org/show_bug.cgi?id=47494
1580
1581         Working on another patch I found that there was some screwy behaviour
1582         when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
1583         zero if there is no log message, but we did not check for that case and
1584         simply perfomed a zero sized alloc and passed the resultant buffer to
1585         glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
1586         terminator to the buffer, thus causing an overflow.  This is obviously
1587         not a problem in practice as allocations are at least 4 bytes long in
1588         all common allocators, but it is still a bug.
1589
1590         I also removed some unnecessary null checks following calls to fastMalloc.
1591
1592         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1593         (WebCore::GraphicsContext3D::getProgramInfoLog):
1594         (WebCore::GraphicsContext3D::getShaderInfoLog):
1595
1596 2010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1597
1598         Reviewed by Andreas Kling.
1599
1600         Kill Path::debugString()
1601         https://bugs.webkit.org/show_bug.cgi?id=47493
1602
1603         Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
1604
1605         * platform/graphics/Path.h:
1606         * platform/graphics/cairo/PathCairo.cpp:
1607         * platform/graphics/cg/PathCG.cpp:
1608         * platform/graphics/haiku/PathHaiku.cpp:
1609         * platform/graphics/openvg/PathOpenVG.cpp:
1610         * platform/graphics/qt/PathQt.cpp:
1611         * platform/graphics/skia/PathSkia.cpp:
1612         * platform/graphics/wince/PathWinCE.cpp:
1613         * platform/graphics/wince/PlatformPathWinCE.cpp:
1614         * platform/graphics/wince/PlatformPathWinCE.h:
1615         * platform/graphics/wx/PathWx.cpp:
1616         * svg/SVGGlyphElement.h:
1617         (WebCore::SVGGlyphIdentifier::operator==):
1618
1619 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
1620
1621         Reviewed by Xan Lopez.
1622
1623         [GTK] Search field icons should be centered vertically in the field
1624         https://bugs.webkit.org/show_bug.cgi?id=47441
1625
1626         Center search field icons vertically in the search field.
1627
1628         * platform/gtk/RenderThemeGtk.cpp:
1629         (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
1630         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
1631         field icon by adjusting its drawing rect relative to the containing search field.
1632         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
1633
1634 2010-10-11  Pavel Podivilov  <podivilov@chromium.org>
1635
1636         Reviewed by Pavel Feldman.
1637
1638         Web Inspector: fix event listener breakpoints sidebar pane style
1639         https://bugs.webkit.org/show_bug.cgi?id=47487
1640
1641         * inspector/front-end/inspector.css:
1642         (.section .properties, .event-bar .event-properties):
1643         (.section.expanded .properties, .event-bar.expanded .event-properties):
1644         (.properties-tree):
1645         (.properties-tree li):
1646         (.properties-tree li.parent):
1647         (.properties-tree li.parent::before):
1648         (.properties-tree li.parent.expanded::before):
1649         (.properties-tree li .info):
1650         (.properties-tree ol, .stack-trace ol, ol.stack-trace):
1651         (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
1652         (ol.stack-trace):
1653         (.event-listener-breakpoints .event-category):
1654         (.event-listener-breakpoints.properties-tree .children li):
1655         (.event-listener-breakpoints .checkbox-elem):
1656         (.breakpoint-list .breakpoint-hit):
1657
1658 2010-10-11  Andreas Kling  <kling@webkit.org>
1659
1660         Reviewed by Tor Arne Vestbø.
1661
1662         [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
1663
1664         Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
1665         when clearing an already empty QPainterPath. Avoids one delete+new.
1666
1667         * platform/graphics/qt/GraphicsContextQt.cpp:
1668         (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
1669         (WebCore::GraphicsContext::fillPath):
1670         (WebCore::GraphicsContext::strokePath):
1671         (WebCore::GraphicsContext::beginPath):
1672
1673 2010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1674
1675         Unreviewed. Remove unnecessary GTK+ and Pango includes.
1676
1677         * platform/gtk/FileChooserGtk.cpp:
1678         * platform/gtk/Language.cpp:
1679
1680 2010-10-11  Kinuko Yasuda  <kinuko@chromium.org>
1681
1682         Reviewed by David Levin.
1683
1684         Support DirectoryEntry.removeRecursively for FileSystem API
1685         https://bugs.webkit.org/show_bug.cgi?id=47400
1686
1687         Also disallows remove/removeRecursively on the root directory.
1688
1689         Test: fast/filesystem/op-remove.html
1690
1691         * fileapi/DOMFileSystemBase.cpp:
1692         (WebCore::DOMFileSystemBase::removeRecursively): Added.
1693         * fileapi/DOMFileSystemBase.h:
1694         * fileapi/DirectoryEntry.cpp:
1695         (WebCore::DirectoryEntry::removeRecursively): Added.
1696         * fileapi/DirectoryEntry.h:
1697         * fileapi/DirectoryEntry.idl:
1698         * fileapi/DirectoryEntrySync.cpp:
1699         (WebCore::DirectoryEntrySync::removeRecursively): Added.
1700         * fileapi/DirectoryEntrySync.h:
1701         * fileapi/DirectoryEntrySync.idl:
1702         * platform/AsyncFileSystem.h:
1703
1704 2010-10-11  Dirk Schulze  <krit@webkit.org>
1705
1706         Reviewed by Nikolas Zimmermann.
1707
1708         SVG feImage take preserveAspectRatio into account for absolute paint rect
1709         https://bugs.webkit.org/show_bug.cgi?id=47464
1710
1711         Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
1712
1713         * svg/graphics/filters/SVGFEImage.cpp:
1714         (WebCore::FEImage::determineAbsolutePaintRect):
1715         (WebCore::FEImage::apply):
1716         * svg/graphics/filters/SVGFEImage.h:
1717
1718 2010-10-10  Abhishek Arya  <inferno@chromium.org>
1719
1720         Reviewed by Dan Bernstein.
1721
1722         <rdar://problem/8510200> Lines flow around a float that has been removed 
1723
1724         Overhanging floats are not added to flexible boxes since they behave like
1725         block formatting contexts. This causes the intruding floats added in siblings
1726         to not get cleared. Enforce the float release by checking if the parent is a
1727         flexible box and if yes, use that as the outermost block.
1728         
1729         https://bugs.webkit.org/show_bug.cgi?id=47104
1730
1731         Test: fast/flexbox/overhanging-floats-removed.html
1732
1733         * rendering/RenderBox.cpp:
1734         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1735
1736 2010-10-10  Chris Fleizach  <cfleizach@apple.com>
1737
1738         Reviewed by Beth Dakin.
1739
1740         AX: if aria-live is on a <span> or ignored element, live regions don't work
1741         https://bugs.webkit.org/show_bug.cgi?id=47443
1742
1743         If an element has aria attributes, but has no other native role associated with it,
1744         accessibility should fallback to exposing that element as an AXGroup.
1745
1746         Test: platform/mac/accessibility/live-region-on-span.html
1747
1748         * accessibility/AccessibilityRenderObject.cpp:
1749         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1750
1751 2010-10-10  Daniel Cheng  <dcheng@chromium.org>
1752
1753         Reviewed by Adam Barth.
1754
1755         [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
1756         https://bugs.webkit.org/show_bug.cgi?id=47419
1757
1758         This was a regression introduced in r68807. mimeTypeText had the incorrect
1759         value.
1760
1761         Test: editing/pasteboard/dataTransfer-setData-getData.html
1762
1763         * platform/chromium/ClipboardMimeTypes.cpp:
1764
1765 2010-10-09  Eric Uhrhane  <ericu@chromium.org>
1766
1767         Reviewed by Andreas Kling.
1768
1769         FileWriter sends write event instead of progress event
1770         https://bugs.webkit.org/show_bug.cgi?id=47454
1771
1772         No new tests; FileWriter tests will be added shortly, but currently
1773         there's no implementation capable of running them.
1774
1775         * fileapi/FileWriter.cpp:
1776         (WebCore::FileWriter::didWrite):
1777
1778 2010-10-09  Andreas Kling  <kling@webkit.org>
1779
1780         Reviewed by Kenneth Rohde Christiansen.
1781
1782         [Qt] Fast-path in Path::clear() for already empty paths
1783         https://bugs.webkit.org/show_bug.cgi?id=47460
1784
1785         The only way to clear a QPainterPath is to assign QPainterPath() to it.
1786         Avoid creating a temporary object etc if the path is already empty.
1787
1788         * platform/graphics/qt/PathQt.cpp:
1789         (WebCore::Path::clear):
1790
1791 2010-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1792
1793         Reviewed by Darin Adler.
1794
1795         Redo in ReplaceNodeWithSpanCommand is broken
1796         https://bugs.webkit.org/show_bug.cgi?id=47428
1797
1798         The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
1799         and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
1800         directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
1801         only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
1802
1803         Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
1804         This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
1805
1806         Test: editing/undo/replace-by-span-then-remove.html
1807
1808         * editing/ReplaceNodeWithSpanCommand.cpp:
1809         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
1810         * editing/ReplaceNodeWithSpanCommand.h:
1811
1812 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1813
1814         Reviewed by Martin Robinson.
1815
1816         [GTK] Implement subregion rendering in WebView when using gtk3
1817         https://bugs.webkit.org/show_bug.cgi?id=47411
1818
1819         * GNUmakefile.am:
1820         * platform/graphics/FloatRect.h:
1821         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
1822         (WebCore::FloatRect::FloatRect):
1823         (WebCore::FloatRect::operator cairo_rectangle_t):
1824
1825 2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1826
1827         Reviewed by Martin Robinson.
1828
1829         [GTK] Implement subregion rendering in WebView when using gtk3
1830         https://bugs.webkit.org/show_bug.cgi?id=47411
1831
1832         * GNUmakefile.am:
1833         * platform/graphics/FloatRect.h:
1834         * platform/graphics/cairo/FloatRectCairo.cpp: Added.
1835         (WebCore::FloatRect::FloatRect):
1836         (WebCore::FloatRect::operator cairo_rectangle_t):
1837
1838 2010-10-09  Kwang Yul Seo  <skyul@company100.net>
1839
1840         Reviewed by Andreas Kling.
1841
1842         Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
1843         https://bugs.webkit.org/show_bug.cgi?id=47114
1844
1845         PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
1846
1847         * platform/graphics/skia/PlatformContextSkia.h:
1848
1849 2010-10-09  Patrick Gansterer  <paroga@webkit.org>
1850
1851         Reviewed by Adam Barth.
1852
1853         Use WTF::StringHasher for hashing MappedAttributeKey
1854         https://bugs.webkit.org/show_bug.cgi?id=46516
1855
1856         * dom/StyledElement.cpp:
1857         (WebCore::MappedAttributeHash::hash):
1858
1859 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
1860
1861         Reviewed by Xan Lopez.
1862
1863         [Gtk] Non-rectangular buttons have a square background behind them
1864         https://bugs.webkit.org/show_bug.cgi?id=23569
1865
1866         Remove some code which was clearing pieces of the GdkDrawable if it was
1867         currently mapped to a window. In our case it is unnecessary, because the
1868         platform-independent parts of the render have already cleared this section
1869         if it is needed.
1870
1871         Mozilla must not trip this code path, which means they are probably rendering
1872         most often to a non-mapped GdkPixmap.
1873
1874         No new tests as some themed rendering is covered by existing tests that
1875         render buttons. This particular bug is very hard to test as it only appears
1876         with certain GTK+ themes and we currently have no mechanism to test different
1877         themes in DRT.
1878
1879         * platform/gtk/gtk2drawing.c:
1880         (moz_gtk_button_paint): Remove unnecessary code.
1881
1882 2010-10-09  Martin Robinson  <mrobinson@igalia.com>
1883
1884         Reviewed by Xan Lopez.
1885
1886         [GTK] Slider padding translate into a larger track rect
1887         https://bugs.webkit.org/show_bug.cgi?id=47435
1888
1889         Instead of painting the track rectangle for ranges onto the entire RenderBox
1890         rectangle, simply paint it on the content rectangle. This prevents misrendering
1891         sliders with padding.
1892
1893         * platform/gtk/RenderThemeGtk.cpp:
1894         (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
1895         of the slider instead of the entire area (which includes padding).
1896
1897 2010-10-09  Kent Tamura  <tkent@chromium.org>
1898
1899         Unreviewed, trivial regression fix for r69445.
1900
1901         RangeInputType::supportsRequired() should return false.
1902         https://bugs.webkit.org/show_bug.cgi?id=47405
1903
1904         * html/RangeInputType.cpp:
1905         (WebCore::RangeInputType::supportsRequired):
1906         * html/RangeInputType.h:
1907
1908 2010-10-09  Kent Tamura  <tkent@chromium.org>
1909
1910         Reviewed by Dimitri Glazkov.
1911
1912         Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
1913         isRequiredFormControl(), and recalcWillValidate()
1914         https://bugs.webkit.org/show_bug.cgi?id=47405
1915
1916         Also make checkedRadioButtons() an inline member function of
1917         HTMLInputElement in order that RadioInputType can use it.
1918
1919         * html/BaseDateAndTimeInputType.cpp:
1920         (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
1921         (WebCore::BaseDateAndTimeInputType::typeMismatch):
1922         * html/BaseDateAndTimeInputType.h:
1923         * html/ButtonInputType.cpp:
1924         (WebCore::ButtonInputType::supportsValidation):
1925         * html/ButtonInputType.h:
1926         * html/CheckboxInputType.cpp:
1927         (WebCore::CheckboxInputType::valueMissing):
1928         * html/CheckboxInputType.h:
1929         * html/ColorInputType.cpp:
1930         (WebCore::isValidColorString):
1931         (WebCore::ColorInputType::typeMismatchFor):
1932         (WebCore::ColorInputType::typeMismatch):
1933         (WebCore::ColorInputType::supportsRequired):
1934         * html/ColorInputType.h:
1935         * html/EmailInputType.cpp:
1936         (WebCore::isValidEmailAddress):
1937         (WebCore::EmailInputType::typeMismatchFor):
1938         (WebCore::EmailInputType::typeMismatch):
1939         * html/EmailInputType.h:
1940         * html/FileInputType.cpp:
1941         (WebCore::FileInputType::valueMissing):
1942         * html/FileInputType.h:
1943         * html/HTMLInputElement.cpp:
1944         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1945         (WebCore::HTMLInputElement::isValidValue):
1946         (WebCore::HTMLInputElement::typeMismatch):
1947         (WebCore::HTMLInputElement::valueMissing):
1948         (WebCore::HTMLInputElement::isKeyboardFocusable):
1949         (WebCore::HTMLInputElement::updateType):
1950         (WebCore::HTMLInputElement::parseMappedAttribute):
1951         (WebCore::HTMLInputElement::setChecked):
1952         (WebCore::HTMLInputElement::preDispatchEventHandler):
1953         (WebCore::HTMLInputElement::isRequiredFormControl):
1954         (WebCore::HTMLInputElement::recalcWillValidate):
1955         * html/HTMLInputElement.h:
1956         (WebCore::HTMLInputElement::checkedRadioButtons):
1957         * html/HiddenInputType.cpp:
1958         (WebCore::HiddenInputType::supportsValidation):
1959         * html/HiddenInputType.h:
1960         * html/ImageInputType.cpp:
1961         (WebCore::ImageInputType::supportsValidation):
1962         * html/ImageInputType.h:
1963         * html/InputType.cpp:
1964         (WebCore::InputType::supportsValidation):
1965         (WebCore::InputType::typeMismatchFor):
1966         (WebCore::InputType::typeMismatch):
1967         (WebCore::InputType::supportsRequired):
1968         (WebCore::InputType::valueMissing):
1969         * html/InputType.h:
1970         * html/IsIndexInputType.cpp:
1971         (WebCore::IsIndexInputType::supportsRequired):
1972         * html/IsIndexInputType.h:
1973         * html/NumberInputType.cpp:
1974         (WebCore::NumberInputType::typeMismatchFor):
1975         (WebCore::NumberInputType::typeMismatch):
1976         * html/NumberInputType.h:
1977         * html/RadioInputType.cpp:
1978         (WebCore::RadioInputType::valueMissing):
1979         * html/RadioInputType.h:
1980         * html/ResetInputType.cpp:
1981         (WebCore::ResetInputType::supportsValidation):
1982         * html/ResetInputType.h:
1983         * html/SubmitInputType.cpp:
1984         (WebCore::SubmitInputType::supportsValidation):
1985         * html/SubmitInputType.h:
1986         * html/TextFieldInputType.cpp:
1987         (WebCore::TextFieldInputType::valueMissing):
1988         * html/TextFieldInputType.h:
1989         * html/URLInputType.cpp:
1990         (WebCore::URLInputType::typeMismatchFor):
1991         (WebCore::URLInputType::typeMismatch):
1992         * html/URLInputType.h:
1993         * html/ValidityState.cpp:
1994         (WebCore::ValidityState::typeMismatch):
1995
1996 2010-10-09  Pratik Solanki  <psolanki@apple.com>
1997
1998         Reviewed by Dan Bernstein.
1999
2000         https://bugs.webkit.org/show_bug.cgi?id=47450
2001         Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
2002         <rdar://problem/8244376>
2003
2004         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2005         (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
2006         NULL, return early to avoid crash.
2007
2008 2010-10-08  Chris Rogers  <crogers@google.com>
2009
2010         Reviewed by James Robinson.
2011
2012         Add HRTFPanner files
2013         https://bugs.webkit.org/show_bug.cgi?id=46299
2014
2015         No new tests since audio API is not yet implemented.
2016
2017         * platform/audio/HRTFPanner.cpp: Added.
2018         (WebCore::HRTFPanner::HRTFPanner):
2019         (WebCore::HRTFPanner::~HRTFPanner):
2020         (WebCore::HRTFPanner::fftSizeForSampleRate):
2021         (WebCore::HRTFPanner::reset):
2022         (WebCore::wrapDistance):
2023         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
2024         (WebCore::HRTFPanner::pan):
2025         * platform/audio/HRTFPanner.h: Added.
2026         (WebCore::HRTFPanner::fftSize):
2027         (WebCore::HRTFPanner::sampleRate):
2028
2029 2010-10-08  James Robinson  <jamesr@chromium.org>
2030
2031         Reviewed by Adam Barth.
2032
2033         Avoid inlining large and/or virtual functions in widely included header files
2034         https://bugs.webkit.org/show_bug.cgi?id=47230
2035
2036         Functions with very large bodies should not be included in widely included header files.
2037         This results in the function's code ending up included in hundreds of object files that
2038         the linker has to discard, at a cost of linker memory use, link time, and disk space. This
2039         is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
2040         virtual address space and completely fails to link.
2041
2042         This patch moves function definitions from the .h to the corresponding .cpp when the function
2043         is large and not a candidate for inlining either because it is virtual or because its size is
2044         above any reasonable compiler's threshhold for inlining.  The most common case by far in this
2045         patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
2046         the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
2047         container and utility classes (especially Vector, String, and HashSet) have quite large
2048         destructors.
2049
2050         This patch removes 22.4MB of object file size in a debug 64 bit compile.
2051
2052         * css/CSSBorderImageValue.cpp:
2053         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
2054         * css/CSSBorderImageValue.h:
2055         * css/CSSFontFaceSrcValue.cpp:
2056         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
2057         * css/CSSFontFaceSrcValue.h:
2058         * css/CSSFunctionValue.h:
2059         * dom/BeforeTextInsertedEvent.cpp:
2060         (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
2061         * dom/BeforeTextInsertedEvent.h:
2062         * dom/BeforeUnloadEvent.cpp:
2063         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
2064         * dom/BeforeUnloadEvent.h:
2065         * dom/ClassNodeList.h:
2066         * dom/ClipboardEvent.cpp:
2067         (WebCore::ClipboardEvent::~ClipboardEvent):
2068         * dom/ClipboardEvent.h:
2069         * dom/CustomEvent.cpp:
2070         (WebCore::CustomEvent::~CustomEvent):
2071         * dom/CustomEvent.h:
2072         * dom/Element.cpp:
2073         * dom/Element.h:
2074         * dom/EventTarget.cpp:
2075         (WebCore::EventTargetData::EventTargetData):
2076         * dom/EventTarget.h:
2077         * dom/InputElement.cpp:
2078         (WebCore::InputElementData::~InputElementData):
2079         * dom/InputElement.h:
2080         * dom/MutationEvent.cpp:
2081         (WebCore::MutationEvent::~MutationEvent):
2082         * dom/MutationEvent.h:
2083         * dom/Node.cpp:
2084         (WebCore::Node::refEventTarget):
2085         (WebCore::Node::derefEventTarget):
2086         * dom/Node.h:
2087         * dom/OptionElement.cpp:
2088         (WebCore::OptionElementData::~OptionElementData):
2089         * dom/OptionElement.h:
2090         * dom/PopStateEvent.cpp:
2091         (WebCore::PopStateEvent::~PopStateEvent):
2092         * dom/PopStateEvent.h:
2093         * dom/QualifiedName.cpp:
2094         (WebCore::QualifiedName::~QualifiedName):
2095         * dom/QualifiedName.h:
2096         * dom/SelectElement.cpp:
2097         (WebCore::SelectElementData::~SelectElementData):
2098         * dom/SelectElement.h:
2099         * dom/StaticHashSetNodeList.cpp:
2100         (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
2101         (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
2102         * dom/StaticHashSetNodeList.h:
2103         * dom/StyleElement.cpp:
2104         (WebCore::StyleElement::~StyleElement):
2105         * dom/StyleElement.h:
2106         * dom/TouchEvent.cpp:
2107         (WebCore::TouchEvent::TouchEvent):
2108         (WebCore::TouchEvent::~TouchEvent):
2109         * dom/TouchEvent.h:
2110         * editing/CompositeEditCommand.cpp:
2111         (WebCore::CompositeEditCommand::~CompositeEditCommand):
2112         * editing/CompositeEditCommand.h:
2113         * editing/TextIterator.cpp:
2114         (WebCore::BitStack::~BitStack):
2115         (WebCore::TextIterator::~TextIterator):
2116         (WebCore::WordAwareIterator::~WordAwareIterator):
2117         * editing/TextIterator.h:
2118         * inspector/InspectorValues.cpp:
2119         (WebCore::InspectorObject::~InspectorObject):
2120         (WebCore::InspectorObject::InspectorObject):
2121         (WebCore::InspectorArray::~InspectorArray):
2122         (WebCore::InspectorArray::InspectorArray):
2123         * inspector/InspectorValues.h:
2124         * loader/CachedResource.cpp:
2125         (WebCore::CachedResource::registerHandle):
2126         (WebCore::CachedResource::unregisterHandle):
2127         * loader/CachedResource.h:
2128         * platform/network/HTTPHeaderMap.cpp:
2129         (WebCore::HTTPHeaderMap::HTTPHeaderMap):
2130         (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
2131         (WebCore::HTTPHeaderMap::get):
2132         (WebCore::HTTPHeaderMap::add):
2133         * platform/network/HTTPHeaderMap.h:
2134         * rendering/RenderApplet.cpp:
2135         (WebCore::RenderApplet::~RenderApplet):
2136         * rendering/RenderApplet.h:
2137         * rendering/RenderButton.cpp:
2138         (WebCore::RenderButton::~RenderButton):
2139         * rendering/RenderButton.h:
2140         * rendering/RenderCounter.cpp:
2141         (WebCore::RenderCounter::~RenderCounter):
2142         * rendering/RenderCounter.h:
2143         * rendering/RenderFieldset.h:
2144         * rendering/RenderForeignObject.cpp:
2145         (WebCore::RenderForeignObject::~RenderForeignObject):
2146         * rendering/RenderForeignObject.h:
2147         * rendering/RenderFrame.h:
2148         * rendering/RenderFrameBase.h:
2149         * rendering/RenderHTMLCanvas.h:
2150         * rendering/RenderIFrame.h:
2151         * rendering/RenderInline.h:
2152         * rendering/RenderListItem.h:
2153         * rendering/RenderMarquee.cpp:
2154         (WebCore::RenderMarquee::~RenderMarquee):
2155         * rendering/RenderMarquee.h:
2156         * rendering/RenderPath.cpp:
2157         (WebCore::RenderPath::~RenderPath):
2158         * rendering/RenderPath.h:
2159         * rendering/RenderSVGBlock.h:
2160         * rendering/RenderSVGContainer.cpp:
2161         (WebCore::RenderSVGContainer::~RenderSVGContainer):
2162         * rendering/RenderSVGContainer.h:
2163         * rendering/RenderSVGHiddenContainer.h:
2164         * rendering/RenderSVGInline.h:
2165         * rendering/RenderSVGInlineText.cpp:
2166         (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
2167         * rendering/RenderSVGInlineText.h:
2168         * rendering/RenderSVGModelObject.h:
2169         * rendering/RenderSVGResourceFilterPrimitive.h:
2170         * rendering/RenderSVGRoot.cpp:
2171         (WebCore::RenderSVGRoot::~RenderSVGRoot):
2172         * rendering/RenderSVGRoot.h:
2173         * rendering/RenderSVGTSpan.h:
2174         * rendering/RenderSVGText.h:
2175         * rendering/RenderSVGTextPath.h:
2176         * rendering/RenderSVGTransformableContainer.h:
2177         * rendering/RenderSVGViewportContainer.h:
2178         * rendering/RenderTable.cpp:
2179         (WebCore::RenderTable::~RenderTable):
2180         * rendering/RenderTable.h:
2181         * rendering/RenderTableCell.h:
2182         * rendering/RenderTableCol.h:
2183         * rendering/RenderTableRow.h:
2184         * rendering/RenderTextFragment.cpp:
2185         (WebCore::RenderTextFragment::~RenderTextFragment):
2186         * rendering/RenderTextFragment.h:
2187         * rendering/RenderWordBreak.h:
2188         * svg/SVGStyledElement.cpp:
2189         (WebCore::SVGStyledElement::~SVGStyledElement):
2190         * svg/SVGStyledElement.h:
2191         * svg/SVGStyledTransformableElement.cpp:
2192         (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
2193         * svg/SVGStyledTransformableElement.h:
2194         * xml/XPathParser.cpp:
2195         (WebCore::XPath::Parser::~Parser):
2196         * xml/XPathParser.h:
2197
2198 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
2199
2200         Reviewed by Daniel Bates.
2201
2202         [GTK] Fails /LayoutTests/fast/css/button-height.html
2203         https://bugs.webkit.org/show_bug.cgi?id=33936
2204
2205         GTK buttons honor height property set via CSS. The code for the method
2206         adjustButtonStyle originates from the original GTK+ theme drawing code
2207         and is clearly just a copy-paste from the Safari theme drawing code. The
2208         Safari theme drawing code does quite a bit of work to ensure that button
2209         fonts are consistent with the system theme, which is not something the GTK+
2210         port does.
2211
2212         This change brings the method more in line with the Chromium port, which
2213         allows CSS to style buttons, only overriding the line-height property,
2214         which is required for layout tests to pass.
2215
2216         * platform/gtk/RenderThemeGtk.cpp:
2217         (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
2218         properties for button styling.
2219
2220 2010-10-08  Mihai Parparita  <mihaip@chromium.org>
2221
2222         Reviewed by Adam Barth.
2223
2224         popstate events are lost when network connection is in progress
2225         https://bugs.webkit.org/show_bug.cgi?id=42940
2226         
2227         Instead of checking FrameLoader::isComplete() (which isn't true if the
2228         document's resource loader has requests outstanding), check that the
2229         document's readyState is complete, as the spec says.
2230
2231         Test: http/tests/history/popstate-fires-with-pending-requests.html
2232
2233         * dom/Document.cpp:
2234         (WebCore::Document::statePopped):
2235         * loader/FrameLoader.cpp:
2236         (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
2237         to Loading earlier. Otherwise, readyState's initial value is Complete,
2238         and we only set it to Loading in Document::implicitOpen (which is called
2239         after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
2240         could end up in Document::statePopped and have the readyState be
2241         Complete, even if we hadn't even begin loading the document.
2242
2243 2010-10-08  Daniel Cheng  <dcheng@chromium.org>
2244
2245         Reviewed by Tony Chang.
2246
2247         [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
2248         https://bugs.webkit.org/show_bug.cgi?id=47394
2249
2250         Minor cleanup--these classes have suffered from bit rot since they aren't
2251         actively used at the moment. The three main changes are to:
2252         1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
2253            setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
2254            title and HTML base URL.
2255         2) Use Clipboard::ClipboardType instead of a bool.
2256         3) Remove the use of virtuals, as they are no longer needed..
2257
2258         * platform/chromium/ReadableDataObject.cpp:
2259         (WebCore::clipboardBuffer):
2260         (WebCore::ReadableDataObject::create):
2261         (WebCore::ReadableDataObject::ReadableDataObject):
2262         (WebCore::ReadableDataObject::getData):
2263         (WebCore::ReadableDataObject::urlTitle): renamed from getURL
2264         (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
2265         (WebCore::ReadableDataObject::containsFilenames):
2266         (WebCore::ReadableDataObject::filenames):
2267         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2268         * platform/chromium/ReadableDataObject.h:
2269         * platform/chromium/WritableDataObject.cpp:
2270         (WebCore::WritableDataObject::create):
2271         (WebCore::WritableDataObject::WritableDataObject):
2272         (WebCore::WritableDataObject::setData):
2273         * platform/chromium/WritableDataObject.h:
2274         (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
2275         (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
2276         (WebCore::WritableDataObject::dataMap):
2277         (WebCore::WritableDataObject::urlTitle):
2278         (WebCore::WritableDataObject::htmlBaseURL):
2279         (WebCore::WritableDataObject::fileExtension):
2280         (WebCore::WritableDataObject::fileContentFilename):
2281         (WebCore::WritableDataObject::fileContent):
2282         (WebCore::WritableDataObject::setFileExtension):
2283         (WebCore::WritableDataObject::setFileContentFilename):
2284         (WebCore::WritableDataObject::setFileContent):
2285
2286 2010-10-08  Abhishek Arya  <inferno@chromium.org>
2287
2288         Unreviewed, rolling out r69360.
2289         http://trac.webkit.org/changeset/69360
2290         https://bugs.webkit.org/show_bug.cgi?id=46921
2291
2292         Test still crashing on chromium test_shell
2293
2294         * html/HTMLObjectElement.cpp:
2295         (WebCore::HTMLObjectElement::renderFallbackContent):
2296
2297 2010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2298
2299         Unreviewed, rolling out r68574.
2300         http://trac.webkit.org/changeset/68574
2301         https://bugs.webkit.org/show_bug.cgi?id=47433
2302
2303         [chromium] Breaks partial repaint of images while scrolling
2304         (Requested by jamesr on #webkit).
2305
2306         * platform/graphics/skia/ImageSkia.cpp:
2307         (WebCore::computeResamplingMode):
2308         (WebCore::drawResampledBitmap):
2309
2310 2010-10-08  Andy Estes  <aestes@apple.com>
2311
2312         Reviewed by Darin Adler.
2313
2314         REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
2315         https://bugs.webkit.org/show_bug.cgi?id=47430
2316
2317         Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
2318
2319         * rendering/RenderImage.cpp:
2320         (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
2321         to m_imageResource being set. The appropriate thing to do in this case
2322         is to return early.
2323         (WebCore::RenderImage::notifyFinished): Ditto.
2324
2325 2010-10-08  Andrei Popescu  <andreip@google.com>
2326
2327         Reviewed by Jeremy Orlow.
2328
2329         IndexedDB does not have a quota mechanism.
2330         https://bugs.webkit.org/show_bug.cgi?id=47389
2331
2332         Test: storage/indexeddb/database-quota.html
2333
2334         Add a simple mechanism for enforcing a maximum size
2335         for each origin using IndexedDB. Note that this depends
2336         on having one SQLite database file per origin, which is
2337         addressed in a separate patch.
2338
2339         * page/GroupSettings.cpp:
2340         (WebCore::GroupSettings::GroupSettings):
2341         (WebCore::GroupSettings::setIndexedDBQuotaBytes):
2342         * page/GroupSettings.h:
2343         (WebCore::GroupSettings::indexedDBQuotaBytes):
2344         * storage/IDBDatabaseBackendImpl.cpp:
2345         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2346         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2347         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2348         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
2349         * storage/IDBFactory.cpp:
2350         (WebCore::IDBFactory::open):
2351         * storage/IDBFactoryBackendImpl.cpp:
2352         (WebCore::openSQLiteDatabase):
2353         (WebCore::IDBFactoryBackendImpl::open):
2354         * storage/IDBFactoryBackendImpl.h:
2355         * storage/IDBFactoryBackendInterface.h:
2356         * storage/IDBObjectStoreBackendImpl.cpp:
2357         (WebCore::putObjectStoreData):
2358         (WebCore::putIndexData):
2359         (WebCore::IDBObjectStoreBackendImpl::put):
2360         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2361         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2362         * storage/IDBObjectStoreBackendImpl.h:
2363
2364 2010-10-08  Gavin Peters  <gavinp@chromium.org>
2365
2366         Reviewed by Adam Barth.
2367
2368         Output X-Purpose header for prefetch requests
2369         https://bugs.webkit.org/show_bug.cgi?id=46529
2370
2371         Test: http/tests/misc/prefetch-purpose.html
2372
2373         * loader/loader.cpp:
2374         (WebCore::Loader::Host::servePendingRequests):
2375
2376 2010-10-08  James Kozianski  <koz@chromium.org>
2377
2378         Reviewed by Simon Fraser.
2379
2380         Crash on reload when CSS property 'content' has malformed URL.
2381         https://bugs.webkit.org/show_bug.cgi?id=47322
2382
2383         Make CSSStyleSelector handle the case where a cached image can't be
2384         produced due to a malformed URL.
2385
2386         Test: fast/css-generated-content/malformed-url.html
2387
2388         * css/CSSStyleSelector.cpp:
2389         (WebCore::CSSStyleSelector::loadPendingImages):
2390
2391 2010-10-08  Dirk Schulze  <krit@webkit.org>
2392
2393         Reviewed by Nikolas Zimmermann.
2394
2395         SVG feImage needs absolute subregion for preserveAspectRatio
2396         https://bugs.webkit.org/show_bug.cgi?id=47409
2397
2398         PreserverAspectRatio needs the subregion in absolute coordinates to determine
2399         the destination position and size of the input image. The maxEffectRect() already
2400         stores the absolute subregion, but clipped to the filter region.
2401
2402         Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
2403
2404         * platform/graphics/filters/FETile.cpp:
2405         (WebCore::FETile::apply):
2406         * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
2407         (WebCore::FilterEffect::filterEffectType):
2408         * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
2409         (WebCore::SourceAlpha::filterEffectType):
2410         * platform/graphics/filters/SourceGraphic.h: Ditto.
2411         (WebCore::SourceGraphic::filterEffectType):
2412         * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
2413         (WebCore::FEImage::apply):
2414         * svg/graphics/filters/SVGFEImage.h: Ditto.
2415         (WebCore::FEImage::setAbsoluteSubregion):
2416         (WebCore::FEImage::filterEffectType):
2417         * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
2418         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
2419
2420 2010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2421
2422         Reviewed by Dirk Schulze.
2423
2424         gradient stroke on lines does not work
2425         https://bugs.webkit.org/show_bug.cgi?id=40985
2426
2427         Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
2428         Perfectly matches Opera, and now lets us pass three of the new tests.
2429
2430         Fix incorrect svg/custom/invalid-fill* tests:
2431         -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
2432         -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)
2433
2434         Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
2435         As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.
2436
2437         Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
2438                svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
2439                svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
2440
2441         * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
2442         (WebCore::requestPaintingResource):
2443         (WebCore::RenderSVGResource::fillPaintingResource):
2444         (WebCore::RenderSVGResource::strokePaintingResource):
2445         * rendering/RenderSVGResource.h:
2446         * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
2447         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
2448         (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
2449         (WebCore::clipToTextMask):
2450         (WebCore::RenderSVGResourceGradient::applyResource):
2451         * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
2452         * rendering/RenderSVGResourceLinearGradient.cpp:
2453         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
2454         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
2455         * rendering/RenderSVGResourceLinearGradient.h:
2456         (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
2457         (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
2458         * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
2459         (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
2460         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
2461         (WebCore::RenderSVGResourcePattern::applyResource):
2462         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
2463         * rendering/RenderSVGResourcePattern.h:
2464         * rendering/RenderSVGResourceRadialGradient.cpp:
2465         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
2466         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
2467         * rendering/RenderSVGResourceRadialGradient.h:
2468         (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
2469         (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
2470         * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
2471         (WebCore::writeStyle):
2472         (WebCore::writeSVGResourceContainer):
2473         * rendering/svg/RenderSVGPath.cpp: 
2474         (WebCore::RenderSVGPath::fillContains): Ditto.
2475         (WebCore::RenderSVGPath::strokeContains): Ditto.
2476         (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
2477         * rendering/svg/SVGInlineTextBox.cpp:
2478         (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
2479         * svg/SVGLinearGradientElement.cpp:
2480         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
2481         * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
2482         * svg/SVGPatternElement.cpp:
2483         (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
2484         * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
2485         * svg/SVGRadialGradientElement.cpp:
2486         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
2487         * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
2488
2489 2010-10-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
2490
2491         Reviewed by Andreas Kling.
2492
2493         [Qt] Slider widgets looks bad on Mac
2494         https://bugs.webkit.org/show_bug.cgi?id=47421
2495
2496         This patch change the rendering of the slider to only have the
2497         subcontrols that would be defined by default on a QSlider.
2498
2499         * platform/qt/RenderThemeQt.cpp:
2500         (WebCore::RenderThemeQt::paintSliderTrack):
2501
2502 2010-10-08  Renata Hodovan  <reni@inf.u-szeged.hu>
2503
2504         Reviewed by Andreas Kling.
2505
2506         SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
2507         https://bugs.webkit.org/show_bug.cgi?id=47342
2508
2509         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
2510
2511         Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
2512                svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
2513                svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
2514                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
2515                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
2516                svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html
2517
2518         * svg/SVGFEColorMatrixElement.cpp:
2519         (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
2520         * svg/SVGFEColorMatrixElement.h:
2521
2522 2010-10-08  Pavel Podivilov  <podivilov@chromium.org>
2523
2524         Reviewed by Pavel Feldman.
2525
2526         Web Inspector: save InspectorController in instrumentation cookie
2527         https://bugs.webkit.org/show_bug.cgi?id=47406
2528
2529         * bindings/v8/V8Proxy.cpp:
2530         (WebCore::V8Proxy::evaluate):
2531         (WebCore::V8Proxy::callFunction):
2532         * dom/Document.cpp:
2533         (WebCore::Document::recalcStyle):
2534         * dom/Node.cpp:
2535         (WebCore::Node::dispatchGenericEvent):
2536         * html/parser/HTMLDocumentParser.cpp:
2537         (WebCore::HTMLDocumentParser::pumpTokenizer):
2538         * inspector/InspectorInstrumentation.cpp:
2539         * inspector/InspectorInstrumentation.h:
2540         * loader/ResourceLoader.cpp:
2541         (WebCore::ResourceLoader::didReceiveResponse):
2542         (WebCore::ResourceLoader::didReceiveData):
2543         * page/DOMTimer.cpp:
2544         (WebCore::DOMTimer::fired):
2545         * page/DOMWindow.cpp:
2546         (WebCore::DOMWindow::dispatchEvent):
2547         * page/FrameView.cpp:
2548         (WebCore::FrameView::layout):
2549         (WebCore::FrameView::paintContents):
2550         * rendering/RenderLayerBacking.cpp:
2551         (WebCore::RenderLayerBacking::paintContents):
2552         * xml/XMLHttpRequest.cpp:
2553         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2554
2555 2010-10-08  Adam Roben  <aroben@apple.com>
2556
2557         Windows Release build fix for 32-bit systems
2558
2559         WebCore had once again grown too large for the linker's virtual
2560         address space on 32-bit systems. I combined WebCore/rendering,
2561         WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
2562         and added a few more files to RenderSVGAllInOne.cpp.
2563
2564         Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>
2565
2566         * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
2567         excluded the individual files they contain from the build.
2568
2569         * rendering/RenderSVGAllInOne.cpp: Added a few more files to this.
2570
2571         * dom/DOMAllInOne.cpp: Added.
2572         * rendering/RenderingAllInOne.cpp: Added.
2573         * rendering/style/StyleAllInOne.cpp: Added.
2574
2575 2010-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
2576
2577         Reviewed by Andreas Kling.
2578
2579         [Qt] Use constBegin and constEnd when using const iterators
2580
2581         * platform/graphics/qt/GraphicsLayerQt.cpp:
2582         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
2583         (WebCore::GraphicsLayerQtImpl::updateTransform):
2584         (WebCore::GraphicsLayerQtImpl::flushChanges):
2585
2586 2010-10-07  Pavel Feldman  <pfeldman@chromium.org>
2587
2588         Reviewed by Yury Semikhatsky.
2589
2590         Web Inspector: add resource viewer to the network panel.
2591         https://bugs.webkit.org/show_bug.cgi?id=47346
2592
2593         * inspector/front-end/DataGrid.js:
2594         (WebInspector.DataGrid):
2595         (WebInspector.DataGrid.prototype.autoSizeColumns):
2596         (WebInspector.DataGrid.prototype.updateWidths):
2597         (WebInspector.DataGrid.prototype.columnWidthsMap):
2598         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
2599         (WebInspector.DataGrid.prototype.isColumnVisible):
2600         (WebInspector.DataGrid.prototype.showColumn):
2601         (WebInspector.DataGrid.prototype.hideColumn):
2602         (WebInspector.DataGrid.prototype._positionResizers):
2603         (WebInspector.DataGrid.prototype._resizerDragging):
2604         * inspector/front-end/NetworkPanel.js:
2605         (WebInspector.NetworkPanel):
2606         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
2607         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
2608         (WebInspector.NetworkPanel.prototype.handleShortcut):
2609         (WebInspector.NetworkPanel.prototype._createTable):
2610         (WebInspector.NetworkPanel.prototype._sortItems):
2611         (WebInspector.NetworkPanel.prototype._sortByTimeline):
2612         (WebInspector.NetworkPanel.prototype._createSummaryBar):
2613         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
2614         (WebInspector.NetworkPanel.prototype.hide):
2615         (WebInspector.NetworkPanel.prototype.get searchableViews):
2616         (WebInspector.NetworkPanel.prototype.refresh):
2617         (WebInspector.NetworkPanel.prototype.reset):
2618         (WebInspector.NetworkPanel.prototype.refreshResource):
2619         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
2620         (WebInspector.NetworkPanel.prototype.showSourceLine):
2621         (WebInspector.NetworkPanel.prototype._showResource):
2622         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
2623         (WebInspector.NetworkPanel.prototype._resourceViewForResource):
2624         (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
2625         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2626         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
2627         (WebInspector.NetworkDataGridNode):
2628         (WebInspector.NetworkDataGridNode.prototype.select):
2629         (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
2630         * inspector/front-end/networkPanel.css:
2631         (#network-container):
2632         (#network-views):
2633         (.network.panel .data-grid.full-grid-mode .viewer-column):
2634         (.network.panel .data-grid.brief-grid-mode .time-column):
2635         (.network.panel.viewing-resource .network-timeline-grid):
2636         (.network.panel .data-grid.viewing-resource-mode .timeline-column):
2637         (.network.panel .network-sidebar):
2638         (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
2639         (.network.panel.viewing-resource .data-grid-resizer):
2640         (.network.panel .scope-bar):
2641         (.network.panel .resource-view.headers-visible .resource-view-content):
2642         (.network.panel:not(.viewing-resource) .data-grid tr.selected):
2643
2644 2010-10-08  Andreas Kling  <kling@webkit.org>
2645
2646         Reviewed by Nikolas Zimmermann.
2647
2648         SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
2649         https://bugs.webkit.org/show_bug.cgi?id=47180
2650
2651         Rename *Value to *ValueAttribute
2652
2653         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2654         (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
2655         (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
2656         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
2657
2658 2010-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2659
2660         Reviewed by Kenneth Rohde Christiansen.
2661
2662         [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
2663         https://bugs.webkit.org/show_bug.cgi?id=47347
2664
2665         * WebCore.pro:
2666
2667 2010-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2668
2669         Reviewed by Kenneth Rohde Christiansen.
2670
2671         [EFL] Implement IntRectEfl.cpp
2672         https://bugs.webkit.org/show_bug.cgi?id=47403
2673
2674         Implement IntRect for Efl Port using Eina_Rectangle.
2675
2676         * platform/graphics/IntRect.h:
2677         * platform/graphics/efl/IntRectEfl.cpp:
2678         (WebCore::IntRect::IntRect):
2679         (WebCore::IntRect::operator Eina_Rectangle):
2680
2681 2010-10-08  Andreas Kling  <andreas.kling@nokia.com>
2682
2683         Reviewed by Nikolas Zimmermann.
2684
2685         SVG: Make RenderPath DRT output platform-independent
2686         https://bugs.webkit.org/show_bug.cgi?id=46051
2687
2688         Move away from using the port-specific Path::debugString() to dump
2689         RenderPath objects. This shrinks the DRT output delta between platforms
2690         and makes it more readable as we now dump only the relevant,
2691         element-specific properties of each object.
2692
2693         * rendering/SVGRenderTreeAsText.cpp:
2694         (WebCore::operator<<):
2695         Generate DRT output for RenderPaths in a platform-independent manner,
2696         dumping the relevant element properties.
2697
2698 2010-10-08  Kinuko Yasuda  <kinuko@chromium.org>
2699
2700         Reviewed by David Levin.
2701
2702         Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
2703         https://bugs.webkit.org/show_bug.cgi?id=47309
2704
2705         Test: fast/filesystem/op-get-entry.html
2706
2707         * fileapi/DOMFileSystemBase.cpp:
2708         (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
2709         (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.
2710
2711 2010-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2712
2713         Reviewed by Xan Lopez.
2714
2715         [GTK] Port GTK+ theming code to GTK+ 3.x APIs
2716         https://bugs.webkit.org/show_bug.cgi?id=47398
2717
2718         Create a new gtk3drawing file for the widget drawing primitives in
2719         WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
2720         code at the moment, but we'll evolve it incrementally from here.
2721
2722         * GNUmakefile.am:
2723         * platform/gtk/RenderThemeGtk.cpp:
2724         (WebCore::RenderThemeGtk::partsForDrawable):
2725         (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
2726         * platform/gtk/gtk2drawing.c:
2727         (TSOffsetStyleGCArray):
2728         (TSOffsetStyleGCs):
2729         (moz_gtk_button_paint):
2730         (moz_gtk_scrollbar_thumb_paint):
2731         (moz_gtk_entry_paint):
2732         (moz_gtk_combo_box_paint):
2733         (moz_gtk_get_widget_border):
2734         * platform/gtk/gtk3drawing.c: Added.
2735         * platform/gtk/gtkdrawing.h:
2736
2737 2010-10-07  Daniel Cheng  <dcheng@chromium.org>
2738
2739         Reviewed by Kent Tamura.
2740
2741         [chromium] Fix indentation in ChromiumDataObject.h 
2742         https://bugs.webkit.org/show_bug.cgi?id=47396
2743
2744         Just a cleanup patch to make followup diffs smaller.
2745
2746         * platform/chromium/ChromiumDataObject.h:
2747         (WebCore::ChromiumDataObject::create):
2748         (WebCore::ChromiumDataObject::copy):
2749         (WebCore::ChromiumDataObject::urlTitle):
2750         (WebCore::ChromiumDataObject::setUrlTitle):
2751         (WebCore::ChromiumDataObject::htmlBaseUrl):
2752         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
2753         (WebCore::ChromiumDataObject::containsFilenames):
2754         (WebCore::ChromiumDataObject::filenames):
2755         (WebCore::ChromiumDataObject::setFilenames):
2756         (WebCore::ChromiumDataObject::fileExtension):
2757         (WebCore::ChromiumDataObject::setFileExtension):
2758         (WebCore::ChromiumDataObject::fileContentFilename):
2759         (WebCore::ChromiumDataObject::setFileContentFilename):
2760         (WebCore::ChromiumDataObject::fileContent):
2761         (WebCore::ChromiumDataObject::setFileContent):
2762
2763 2010-10-07  Kent Tamura  <tkent@chromium.org>
2764
2765         Reviewed by Dimitri Glazkov.
2766
2767         Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
2768         https://bugs.webkit.org/show_bug.cgi?id=47327
2769
2770         Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
2771         valueAsNumber(), and setValueAsNumber() to InputType, and move
2772         serialize() and serializeForDateTimeTypes() too
2773
2774         * html/BaseDateAndTimeInputType.cpp:
2775         (WebCore::BaseDateAndTimeInputType::valueAsDate):
2776         (WebCore::BaseDateAndTimeInputType::setValueAsDate):
2777         (WebCore::BaseDateAndTimeInputType::valueAsNumber):
2778         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
2779         (WebCore::BaseDateAndTimeInputType::serialize):
2780         * html/BaseDateAndTimeInputType.h:
2781         * html/DateInputType.cpp:
2782         (WebCore::DateInputType::setMillisecondToDateComponents):
2783         * html/DateInputType.h:
2784         * html/DateTimeInputType.cpp:
2785         (WebCore::DateTimeInputType::setMillisecondToDateComponents):
2786         * html/DateTimeInputType.h:
2787         * html/DateTimeLocalInputType.cpp:
2788         (WebCore::DateTimeLocalInputType::valueAsDate):
2789         (WebCore::DateTimeLocalInputType::setValueAsDate):
2790         (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
2791         * html/DateTimeLocalInputType.h:
2792         * html/HTMLInputElement.cpp:
2793         (WebCore::HTMLInputElement::valueAsDate):
2794         (WebCore::HTMLInputElement::setValueAsDate):
2795         (WebCore::HTMLInputElement::valueAsNumber):
2796         (WebCore::HTMLInputElement::setValueAsNumber):
2797         (WebCore::HTMLInputElement::stepUpFromRenderer):
2798         * html/HTMLInputElement.h:
2799         * html/InputType.cpp:
2800         (WebCore::InputType::valueAsDate):
2801         (WebCore::InputType::setValueAsDate):
2802         (WebCore::InputType::valueAsNumber):
2803         (WebCore::InputType::setValueAsNumber):
2804         (WebCore::InputType::serialize):
2805         * html/InputType.h:
2806         * html/MonthInputType.cpp:
2807         (WebCore::MonthInputType::valueAsDate):
2808         (WebCore::MonthInputType::setValueAsDate):
2809         (WebCore::MonthInputType::setMillisecondToDateComponents):
2810         * html/MonthInputType.h:
2811         * html/NumberInputType.cpp:
2812         (WebCore::NumberInputType::valueAsNumber):
2813         (WebCore::NumberInputType::setValueAsNumber):
2814         (WebCore::NumberInputType::serialize):
2815         * html/NumberInputType.h:
2816         * html/RangeInputType.cpp:
2817         (WebCore::RangeInputType::valueAsNumber):
2818         (WebCore::RangeInputType::setValueAsNumber):
2819         (WebCore::RangeInputType::serialize):
2820         * html/RangeInputType.h:
2821         * html/TimeInputType.cpp:
2822         (WebCore::TimeInputType::setMillisecondToDateComponents):
2823         * html/TimeInputType.h:
2824         * html/WeekInputType.cpp:
2825         (WebCore::WeekInputType::setMillisecondToDateComponents):
2826         * html/WeekInputType.h:
2827
2828 2010-10-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
2829
2830         Reviewed by Kenneth Rohde Christiansen.
2831
2832         [Texmap] [Qt] Texture mapper initial implementation
2833         Texture Mapper is an implementation of accelerated compositing that doesn't require a
2834         platform specific scenegraph library like CA or QGraphicsView. The idea is that with
2835         time this would replace GraphicsLayerQt, and could serve as an implementation for other
2836         platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
2837         and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
2838         an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.
2839
2840         This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.
2841
2842         * platform/graphics/qt/TextureMapperQt.cpp: Added.
2843         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
2844         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
2845         * platform/graphics/texmap/TextureMapper.h: Added.
2846         * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.
2847
2848 2010-10-07  Antonio Gomes  <agomes@rim.com>
2849
2850         Reviewed by Simon Fraser.
2851
2852         [Mac] [DRT] implement setSpatialNavigationEnabled
2853         https://bugs.webkit.org/show_bug.cgi?id=47291
2854
2855         Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
2856         so it can be used from WebKit/mac.
2857
2858         * WebCore.exp.in:
2859
2860 2010-10-07  Eric Uhrhane  <ericu@chromium.org>
2861
2862         Reviewed by Jian Li
2863
2864         [V8] Add FileWriter to active DOM map
2865         https://bugs.webkit.org/show_bug.cgi?id=47380
2866
2867         It's an ActiveDOMObject; it needs to be in the map.
2868
2869         * bindings/scripts/CodeGeneratorV8.pm:
2870
2871 2010-10-07  Nico Weber  <thakis@chromium.org>
2872
2873         Reviewed by James Robinson.
2874
2875         [chromium] Make sure to update the current graphics context when calling out to AppKit.
2876         https://bugs.webkit.org/show_bug.cgi?id=47387
2877
2878         This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
2879         now no longer necessary.
2880
2881         Should be covered by existing tests. The checkbox at
2882         http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
2883         now show up correctly.
2884
2885         * platform/chromium/ThemeChromiumMac.mm:
2886         (WebCore::paintCheckbox):
2887         (WebCore::paintRadio):
2888         Create current context.
2889         * platform/graphics/chromium/ContentLayerChromium.cpp:
2890         (WebCore::ContentLayerChromium::updateContents):
2891         Remove LocalCurrentContext, it's now no longer necessary.
2892
2893 2010-10-07  Cris Neckar  <cdn@chromium.org>
2894
2895         Reviewed by Adam Barth.
2896
2897         Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
2898         https://bugs.webkit.org/show_bug.cgi?id=46921
2899
2900         Test: fast/html/object-image-nested-fallback.html
2901
2902         * html/HTMLObjectElement.cpp:
2903         (WebCore::HTMLObjectElement::renderFallbackContent):
2904
2905 2010-10-07  Rafael Antognolli  <antognolli@profusion.mobi>
2906
2907         Reviewed by Kenneth Rohde Christiansen.
2908
2909         [EFL] Fix shared timers on EFL port - make them thread safe.
2910         https://bugs.webkit.org/show_bug.cgi?id=47383
2911
2912         Using ecore_timer_add to create a timer from a thread that is
2913         not the main thread isn't safe. Now we add a pipe that is used
2914         to request a timer to be added in the main thread.
2915
2916         In order to reduce some delay on timers that are added with a
2917         very small interval, the timer callback is called immediately
2918         if the interval is smaller than the mainloop frame time.
2919
2920         No new features, so no tests added.
2921
2922         * platform/efl/SharedTimerEfl.cpp:
2923         (WebCore::setSharedTimerFiredFunction):
2924         (WebCore::timerEvent):
2925         (WebCore::processTimers):
2926         (WebCore::pipeHandlerCb):
2927         (WebCore::stopSharedTimer):
2928         (WebCore::addNewTimer):
2929         (WebCore::setSharedTimerFireTime):
2930
2931 2010-10-07  James Kozianski  <koz@chromium.org>
2932
2933         Reviewed by Adam Barth.
2934
2935         getPropertyValue('border') is incorrect after border-top-width is set
2936         https://bugs.webkit.org/show_bug.cgi?id=45949
2937
2938         Test: fast/dom/css-shorthand-common-value.html
2939
2940         CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
2941         properties that were implicitly set, which led to erroneous results
2942         from getPropertyValue().
2943
2944         * css/CSSMutableStyleDeclaration.cpp:
2945         (WebCore::CSSMutableStyleDeclaration::getCommonValue):
2946
2947 2010-10-07  Ryosuke Niwa  <rniwa@webkit.org>
2948
2949         Reviewed by Tony Chang.
2950
2951         REGRESSION: Indenting pre duplicates content
2952         https://bugs.webkit.org/show_bug.cgi?id=47233
2953
2954         The bug was caused by our not splitting text nodes properly.
2955
2956         In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
2957         to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
2958         for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
2959         start, and end to work-around moveParagraphWithClones's removing a line feed.
2960
2961         Tests: editing/execCommand/indent-pre-list.html
2962                editing/execCommand/indent-pre-paragraphs.html
2963
2964         * editing/ApplyBlockElementCommand.cpp:
2965         (WebCore::ApplyBlockElementCommand::formatSelection): See above.
2966         (WebCore::isNewLineAtPosition):
2967         (WebCore::renderStyleOfEnclosingTextNode): Added.
2968         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
2969         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
2970         * editing/ApplyBlockElementCommand.h:
2971         * editing/FormatBlockCommand.cpp:
2972         (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
2973         * editing/FormatBlockCommand.h:
2974         * editing/IndentOutdentCommand.cpp:
2975         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
2976         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
2977         (WebCore::IndentOutdentCommand::formatRange): Ditto.
2978         * editing/IndentOutdentCommand.h:
2979
2980 2010-10-07  Jian Li  <jianli@chromium.org>
2981
2982         Reviewed by Adam Barth.
2983
2984         Support generating a FormData object based on the data in an existing <form>.
2985         https://bugs.webkit.org/show_bug.cgi?id=45929
2986
2987         Test: http/tests/local/formdata/send-form-data-constructed-from-form.html
2988
2989         * bindings/js/JSDOMFormDataCustom.cpp:
2990         (WebCore::toHTMLFormElement):
2991         (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
2992         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2993         (WebCore::V8DOMFormData::constructorCallback):
2994         * html/DOMFormData.cpp:
2995         (WebCore::DOMFormData::DOMFormData):
2996         * html/DOMFormData.h:
2997         (WebCore::DOMFormData::create):
2998         * html/DOMFormData.idl:
2999
3000 2010-10-07  Abhishek Arya  <inferno@chromium.org>
3001
3002         Reviewed by Dave Hyatt.
3003
3004         Set the m_selectedChildren flag on the root inline box if one of the leaf 
3005         inline box from the bidi runs walk has a selection state. Remove the flag
3006         setting logic from addToLine, since line boxes created in createLinesBoxes
3007         should not be propagating selection state to root inline box.
3008         https://bugs.webkit.org/show_bug.cgi?id=47201
3009
3010         Test: editing/selection/root-inlinebox-selected-children-crash.html
3011
3012         * rendering/InlineFlowBox.cpp:
3013         (WebCore::InlineFlowBox::addToLine):
3014         * rendering/RenderBlockLineLayout.cpp:
3015         (WebCore::RenderBlock::constructLine):
3016
3017 2010-10-07  Benjamin Otte  <otte@gnome.org>
3018
3019         Reviewed by Martin Robinson.
3020
3021         [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
3022         https://bugs.webkit.org/show_bug.cgi?id=47361
3023
3024         Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
3025         of directly with X11. This should work fine with GDK double-buffering, but
3026         if we ever disable it, we'll need to verify that this is still functioning
3027         properly.
3028
3029         * plugins/gtk/PluginViewGtk.cpp:
3030         (WebCore::PluginView::paint): Do a bit of code cleanup.
3031
3032 2010-10-07  Anders Carlsson  <andersca@apple.com>
3033
3034         Reviewed by Sam Weinig.
3035
3036         Add a WKPageFindClient, hook up WKPageCountStringMatches
3037         https://bugs.webkit.org/show_bug.cgi?id=47373
3038
3039         Export find related symbols needed by WebKit2.
3040
3041         * WebCore.exp.in:
3042
3043 2010-10-07  David Hyatt  <hyatt@apple.com>
3044
3045         Reviewed by Sam Weinig.
3046
3047         https://bugs.webkit.org/show_bug.cgi?id=47370
3048         
3049         Make line box placement in the inline direction writing-mode-aware.  Lines now set their y-position instead of x-position
3050         when vertical.
3051         
3052         Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
3053         placeBoxesInInlineDirection can be replaced with the helper.
3054
3055         Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
3056         boxes.
3057
3058         Vertical lines are still not testable until they can be placed in the block direction.  Then the render tree dumps
3059         become meaningful (even if the pixel results look horrible).
3060
3061         * rendering/InlineBox.h:
3062         (WebCore::InlineBox::logicalRight):
3063         * rendering/InlineFlowBox.cpp:
3064         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3065         * rendering/InlineFlowBox.h:
3066         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
3067         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
3068         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
3069         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
3070         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
3071         * rendering/RenderBlockLineLayout.cpp:
3072         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3073         * rendering/style/RenderStyle.cpp:
3074         (WebCore::RenderStyle::getShadowExtent):
3075         (WebCore::RenderStyle::getShadowHorizontalExtent):
3076         (WebCore::RenderStyle::getShadowVerticalExtent):
3077         * rendering/style/RenderStyle.h:
3078         (WebCore::InheritedFlags::getTextShadowExtent):
3079         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
3080         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
3081         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
3082         (WebCore::InheritedFlags::getBoxShadowExtent):
3083         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
3084         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
3085         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
3086         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
3087
3088 2010-10-07  Dan Bernstein  <mitz@apple.com>
3089
3090         Reviewed by Simon Fraser.
3091
3092         <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
3093         https://bugs.webkit.org/show_bug.cgi?id=47374
3094
3095         In the legacy (paint-time pagination) printing model, when there are overlapping lines,
3096         adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
3097         namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
3098         moved the truncation point up again.
3099
3100         * rendering/RenderLineBoxList.cpp:
3101         (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
3102         current line extends below the truncation point.
3103
3104 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
3105
3106         Reviewed by Beth Dakin.
3107
3108         Use isIdentityOrTranslationOrFlipped() in scrollbar code
3109         https://bugs.webkit.org/show_bug.cgi?id=47378
3110
3111         Replace old code that looked at values in the CGAffineTransform
3112         with nicely named method that does the same test.
3113
3114         * platform/mac/ScrollbarThemeMac.mm:
3115         (WebCore::ScrollbarThemeMac::paint):
3116
3117 2010-10-07  Simon Fraser  <simon.fraser@apple.com>
3118
3119         Reviewed by Beth Dakin.
3120
3121         Edge fringe artifact with transformed, masked elements (including reflections)
3122         https://bugs.webkit.org/show_bug.cgi?id=19179
3123         
3124         When drawing the mask images, use a transparency layer if the CTM
3125         has a rotation, scale or skew in it to avoid antialiasing issues at
3126         the edges.
3127
3128         Test: fast/css/transformed-mask.html
3129
3130         * rendering/RenderBox.cpp:
3131         (WebCore::RenderBox::paintMask): Don't bother painting the mask if
3132         painting is disabled, which also avoids an assertion in getCTM().
3133         (WebCore::RenderBox::paintMaskImages):
3134
3135 2010-10-07  Kwang Yul Seo  <skyul@company100.net>
3136
3137         Reviewed by Kent Tamura.
3138
3139         [BREWMP] Map non-alphabet key code to Unicode value
3140         https://bugs.webkit.org/show_bug.cgi?id=46002
3141
3142         Non-alphabet key codes are not equal to the unicode values. Add conversion.
3143
3144         * platform/brew/PlatformKeyboardEventBrew.cpp:
3145         (WebCore::singleCharacterString):
3146
3147 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
3148
3149         Reviewed by Chris Fleizach.
3150
3151         [GTK] The FreeType backend does not respect the FC_EMBOLDEN property
3152         https://bugs.webkit.org/show_bug.cgi?id=46216
3153
3154         Look for the FC_EMBOLDEN property of the FcPattern when constructing
3155         FontPlatformData and use it to enable synthetic bold fonts when necessary.
3156
3157         Test: platform/gtk/fonts/fontconfig-synthetic-bold.html
3158
3159         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
3160         (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.
3161
3162 2010-10-07  James Simonsen  <simonjam@chromium.org>
3163
3164         Reviewed by Pavel Feldman.
3165
3166         [Web Timing] Use platform definition of responseEnd
3167         https://bugs.webkit.org/show_bug.cgi?id=46306
3168
3169         No new tests. Used existing webtiming test.
3170
3171         * loader/MainResourceLoader.cpp:
3172         (WebCore::MainResourceLoader::didFinishLoading):
3173
3174 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
3175
3176         Reviewed by Chris Fleizach.
3177
3178         [Gtk] CSS font-style: italic behavior
3179         https://bugs.webkit.org/show_bug.cgi?id=33299
3180
3181         Properly interpret the FC_MATRIX property from a FontConfig pattern.
3182         FontConfig will use this property when returning fonts which have a
3183         synthetic oblique variant configured in the fonts.conf configuration
3184         file.
3185
3186         Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html
3187
3188         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
3189         (WebCore::FontPlatformData::FontPlatformData): Added a constructor that
3190         takes an existing FontPlatformData and a font size.
3191         (WebCore::FontPlatformData::initializeWithFontFace): Added this helper
3192         intialization method that properly handles the FC_MATRIX property from
3193         the FcPattern.
3194         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
3195         to the new constructor and the initializeWithFontFace.
3196         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
3197         (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
3198         constructor.
3199
3200 2010-10-07  David Hyatt  <hyatt@apple.com>
3201
3202         Reviewed by Dan Bernstein.
3203
3204         https://bugs.webkit.org/show_bug.cgi?id=47357
3205         
3206         Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.
3207
3208         * rendering/InlineFlowBox.cpp:
3209         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3210         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3211         * rendering/RenderBlock.cpp:
3212         (WebCore::RenderBlock::positionNewFloatOnLine):
3213         * rendering/RenderBlockLineLayout.cpp:
3214         (WebCore::getBorderPaddingMargin):
3215         (WebCore::inlineLogicalWidth):
3216         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3217         (WebCore::inlineFlowRequiresLineBox):
3218         (WebCore::RenderBlock::skipLeadingWhitespace):
3219         (WebCore::RenderBlock::fitBelowFloats):
3220         (WebCore::RenderBlock::findNextLineBreak):
3221         * rendering/RenderBoxModelObject.h:
3222         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
3223         (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):
3224
3225 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
3226
3227         Reviewed by Kenneth Rohde Christiansen.
3228
3229         Fixing viewport meta tag user-scalable handling
3230         https://bugs.webkit.org/show_bug.cgi?id=47330
3231
3232         user-scalable attribute was not considered in viewport meta tag handling.
3233
3234         * dom/ViewportArguments.cpp:
3235         (WebCore::findConfigurationForViewportData):
3236         * dom/ViewportArguments.h:
3237
3238 2010-10-05  Diego Gonzalez  <diegohcg@webkit.org>
3239
3240         Reviewed by Andreas Kling.
3241
3242         [Qt] Hook up accelerometer data via Qt DeviceMotion
3243         https://bugs.webkit.org/show_bug.cgi?id=47105
3244
3245         Get accelerometer necessary data via Qt mobility library using a
3246         provider class. Enable, also the RotationRate using the current device
3247         orientation provider.
3248
3249         * WebCore.pro:
3250
3251 2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
3252
3253         Reviewed by Kenneth Rohde Christiansen.
3254
3255         Some viewport meta tag api refactoring
3256         https://bugs.webkit.org/show_bug.cgi?id=47334
3257
3258         WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
3259         WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
3260
3261         * dom/ViewportArguments.cpp:
3262         (WebCore::computeViewportAttributes):
3263         * dom/ViewportArguments.h:
3264
3265 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3266
3267         Reviewed by Xan Lopez.
3268
3269         [GTK] Don't use GtkObject
3270         https://bugs.webkit.org/show_bug.cgi?id=47090
3271
3272         GtkObject has been removed in gtk3.
3273
3274         * plugins/gtk/gtk2xtbin.c:
3275         (gtk_xtbin_class_init):
3276         (gtk_xtbin_dispose):
3277
3278 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
3279
3280         Reviewed by Pavel Feldman.
3281
3282         Web Inspector: highlight XHR breakpoint when hit.
3283         https://bugs.webkit.org/show_bug.cgi?id=47253
3284
3285         * inspector/InspectorController.cpp:
3286         (WebCore::InspectorController::didCommitLoad):
3287         (WebCore::InspectorController::setNativeBreakpoint):
3288         (WebCore::InspectorController::removeNativeBreakpoint):
3289         (WebCore::InspectorController::findEventListenerBreakpoint):
3290         (WebCore::InspectorController::findXHRBreakpoint):
3291         * inspector/InspectorController.h:
3292         * inspector/InspectorInstrumentation.cpp:
3293         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
3294         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
3295         * inspector/front-end/BreakpointManager.js:
3296         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
3297         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
3298         (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
3299         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
3300         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
3301         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
3302         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
3303         (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
3304         (WebInspector.BreakpointManager.prototype.debuggerPaused):
3305         (WebInspector.BreakpointManager.prototype.debuggerResumed):
3306         (WebInspector.NativeBreakpoint):
3307         (WebInspector.NativeBreakpoint.prototype.get enabled):
3308         (WebInspector.NativeBreakpoint.prototype.set enabled):
3309         (WebInspector.NativeBreakpoint.prototype.remove):
3310         * inspector/front-end/BreakpointsSidebarPane.js:
3311         (WebInspector.BreakpointItem):
3312         (WebInspector.BreakpointItem.prototype._breakpointClicked):
3313         (WebInspector.BreakpointItem.prototype._hitStateChanged):
3314         * inspector/front-end/CallStackSidebarPane.js:
3315         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
3316         * inspector/front-end/inspector.css:
3317         (.breakpoint-list .breakpoint-hit):
3318         * inspector/front-end/inspector.js:
3319         (WebInspector.pausedScript):
3320         (WebInspector.resumedScript):
3321
3322 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3323
3324         Reviewed by Xan Lopez.
3325
3326         [GTK] Fix the build for GTK+ 3
3327         https://bugs.webkit.org/show_bug.cgi?id=47249
3328
3329         Use GdkVisual instead of GdkColormap. GdkColormap has been removed
3330         in gtk3.
3331
3332         * plugins/gtk/PluginViewGtk.cpp:
3333         (WebCore::PluginView::platformStart):
3334         * plugins/gtk/gtk2xtbin.c:
3335         (gtk_xtbin_new):
3336
3337 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3338
3339         Reviewed by Xan Lopez.
3340
3341         [GTK] Fix the build for GTK+ 3
3342         https://bugs.webkit.org/show_bug.cgi?id=47249
3343
3344         Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
3345         are deprecated in gtk2 and have been removed in gtk3. Equivalent
3346         API has been added to GdkWindow.
3347
3348         * platform/gtk/GtkVersioning.c:
3349         (getDefaultGDKPointerDevice):
3350         * platform/gtk/GtkVersioning.h:
3351         * platform/gtk/PlatformScreenGtk.cpp:
3352         (WebCore::getVisual):
3353         (WebCore::screenAvailableRect):
3354
3355 2010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3356
3357         Reviewed by Andreas Kling.
3358
3359         [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
3360
3361         https://bugs.webkit.org/show_bug.cgi?id=47073
3362
3363         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3364
3365 2010-10-07  Alexander Pavlov  <apavlov@chromium.org>
3366
3367         Unreviewed, release build fix.
3368
3369         * inspector/InspectorStyleSheet.cpp:
3370         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3371         * inspector/InspectorStyleSheet.h:
3372         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
3373         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
3374
3375 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
3376
3377         Unreviewed, build fix.
3378
3379         Build fix for r69283.
3380
3381         * dom/Document.cpp:
3382         (WebCore::Document::inspectorController):
3383         * dom/Document.h:
3384
3385 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3386
3387         Reviewed by Xan Lopez.
3388
3389         [GTK] Fix the build for GTK+ 3
3390         https://bugs.webkit.org/show_bug.cgi?id=47249
3391
3392         Don't use gtk_size_request_get_size(). It has been removed,
3393         gtk_widget_get_preferred_size() should be used instead
3394
3395         * platform/gtk/PopupMenuGtk.cpp:
3396         (WebCore::PopupMenuGtk::show):
3397
3398 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
3399
3400         Reviewed by Pavel Feldman.
3401
3402         Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
3403         Property toggling not implemented yet. The code is not going live.
3404         https://bugs.webkit.org/show_bug.cgi?id=45825
3405
3406         * CMakeLists.txt:
3407         * GNUmakefile.am:
3408         * WebCore.gypi:
3409         * WebCore.pro:
3410         * WebCore.vcproj/WebCore.vcproj:
3411         * WebCore.xcodeproj/project.pbxproj:
3412         * inspector/InspectorCSSAgent.cpp: Added.
3413         (WebCore::InspectorCSSAgent::buildObjectForStyle):
3414         (WebCore::InspectorCSSAgent::parentStyleSheet):
3415         (WebCore::InspectorCSSAgent::asCSSStyleRule):
3416         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3417         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
3418         (WebCore::InspectorCSSAgent::reset):
3419         (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
3420         (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
3421         (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
3422         (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
3423         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
3424         (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
3425         (WebCore::InspectorCSSAgent::getAllStyles2):
3426         (WebCore::InspectorCSSAgent::getStyleSheet2):
3427         (WebCore::InspectorCSSAgent::setStyleSheetText2):
3428         (WebCore::InspectorCSSAgent::setStyleText2):
3429         (WebCore::InspectorCSSAgent::toggleProperty2):
3430         (WebCore::InspectorCSSAgent::setRuleSelector2):
3431         (WebCore::InspectorCSSAgent::addRule2):
3432         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3433         (WebCore::InspectorCSSAgent::inlineStyleElement):
3434         (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
3435         (WebCore::InspectorCSSAgent::shorthandValue):
3436         (WebCore::InspectorCSSAgent::shorthandPriority):
3437         (WebCore::InspectorCSSAgent::longhandProperties):
3438         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
3439         (WebCore::InspectorCSSAgent::elementForId):
3440         (WebCore::InspectorCSSAgent::bindStyleSheet):
3441         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3442         (WebCore::InspectorCSSAgent::styleSheetForId):
3443         (WebCore::InspectorCSSAgent::detectOrigin):
3444         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3445         (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
3446         (WebCore::InspectorCSSAgent::didRemoveDocument):
3447         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
3448         * inspector/InspectorCSSAgent.h: Added.
3449         (WebCore::InspectorCSSAgent::create):
3450         * inspector/InspectorDOMAgent.cpp:
3451         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3452         (WebCore::InspectorDOMAgent::setDOMListener):
3453         (WebCore::InspectorDOMAgent::unbind):
3454         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3455         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
3456         * inspector/InspectorDOMAgent.h:
3457         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
3458         (WebCore::InspectorDOMAgent::documents):
3459         * inspector/InspectorStyleSheet.cpp: Added.
3460         (ParsedStyleSheet::cssStyleSheet):
3461         (ParsedStyleSheet::text):
3462         (ParsedStyleSheet::hasText):
3463         (ParsedStyleSheet::sourceData):
3464         (ParsedStyleSheet::hasSourceData):
3465         (ParsedStyleSheet::ParsedStyleSheet):
3466         (ParsedStyleSheet::setText):
3467         (ParsedStyleSheet::setSourceData):
3468         (ParsedStyleSheet::ruleSourceDataAt):
3469         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
3470         (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
3471         (WebCore::InspectorStyleSheet::setText):
3472         (WebCore::InspectorStyleSheet::setRuleSelector):
3473         (WebCore::InspectorStyleSheet::addRule):
3474         (WebCore::InspectorStyleSheet::ruleForId):
3475         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3476         (WebCore::InspectorStyleSheet::buildObjectForRule):
3477         (WebCore::InspectorStyleSheet::buildObjectForStyle):
3478         (WebCore::InspectorStyleSheet::styleForId):
3479         (WebCore::InspectorStyleSheet::setStyleText):
3480         (WebCore::InspectorStyleSheet::ownerDocument):
3481         (WebCore::InspectorStyleSheet::ruleSourceDataFor):
3482         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
3483         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
3484         (WebCore::InspectorStyleSheet::text):
3485         (WebCore::InspectorStyleSheet::ensureText):
3486         (WebCore::InspectorStyleSheet::ensureSourceData):
3487         (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
3488         (WebCore::InspectorStyleSheet::innerSetStyleText):
3489         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
3490         (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
3491         (WebCore::InspectorStyleSheet::fullRuleId):
3492         (WebCore::InspectorStyleSheet::revalidateStyle):
3493         (WebCore::InspectorStyleSheet::styleSheetText):
3494         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3495         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
3496         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3497         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3498         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3499         (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
3500         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
3501         (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
3502         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
3503         * inspector/InspectorStyleSheet.h: Added.
3504         (WebCore::InspectorStyleSheet::create):
3505         (WebCore::InspectorStyleSheet::id):
3506         (WebCore::InspectorStyleSheet::pageStyleSheet):
3507         (WebCore::InspectorStyleSheet::canBind):
3508         (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
3509         (WebCore::InspectorStyleSheet::ruleOrStyleId):
3510         (WebCore::InspectorStyleSheet::fullStyleId):
3511         (WebCore::InspectorStyleSheetForInlineStyle::create):
3512         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
3513         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
3514         (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
3515         * inspector/InspectorUtilities.cpp: Added.
3516         (WebCore::InspectorUtilities::resourceContentForURL):
3517         * inspector/InspectorUtilities.h: Added.
3518
3519 2010-10-05  Pavel Podivilov  <podivilov@chromium.org>
3520
3521         Reviewed by Pavel Feldman.
3522
3523         Web Inspector: extract Inspector Instrumentation API as a class
3524         https://bugs.webkit.org/show_bug.cgi?id=47173
3525
3526         * bindings/js/JSXMLHttpRequestCustom.cpp:
3527         (WebCore::JSXMLHttpRequest::send):
3528         * bindings/js/ScriptController.cpp:
3529         (WebCore::ScriptController::evaluateInWorld):
3530         * bindings/v8/V8DOMWindowShell.cpp:
3531         * bindings/v8/V8Proxy.cpp:
3532         (WebCore::V8Proxy::evaluate):
3533         (WebCore::V8Proxy::callFunction):
3534         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3535         (WebCore::V8XMLHttpRequest::sendCallback):
3536         * dom/Document.cpp:
3537         (WebCore::Document::recalcStyle):
3538         * dom/Document.h:
3539         * dom/Node.cpp:
3540         (WebCore::Node::dispatchGenericEvent):
3541         * html/parser/HTMLDocumentParser.cpp:
3542         (WebCore::HTMLDocumentParser::pumpTokenizer):
3543         * html/parser/HTMLDocumentParser.h:
3544         * inspector/InspectorInstrumentation.cpp:
3545         (WebCore::InspectorInstrumentation::hasFrontend):
3546         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3547         * inspector/InspectorInstrumentation.h:
3548         (WebCore::InspectorInstrumentation::hasFrontends):
3549         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
3550         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
3551         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
3552         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
3553         * inspector/InspectorTimelineAgent.cpp:
3554         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3555         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3556         * inspector/InspectorTimelineAgent.h:
3557         * loader/ResourceLoader.cpp:
3558         (WebCore::ResourceLoader::didReceiveResponse):
3559         (WebCore::ResourceLoader::didReceiveData):
3560         * loader/loader.cpp:
3561         (WebCore::Loader::load):
3562         * page/DOMTimer.cpp:
3563         (WebCore::DOMTimer::install):
3564         (WebCore::DOMTimer::removeById):
3565         (WebCore::DOMTimer::fired):
3566         * page/DOMTimer.h:
3567         * page/DOMWindow.cpp:
3568         (WebCore::DOMWindow::dispatchEvent):
3569         * page/DOMWindow.h:
3570         * page/FrameView.cpp:
3571         (WebCore::FrameView::layout):
3572         (WebCore::FrameView::paintContents):
3573         * page/FrameView.h:
3574         * page/Page.cpp:
3575         * page/Page.h:
3576         * rendering/RenderLayerBacking.cpp:
3577         (WebCore::RenderLayerBacking::paintContents):
3578         * xml/XMLHttpRequest.cpp:
3579         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3580
3581 2010-10-07  Zraly Mike  <mike.zraly@nokia.com>
3582
3583         Reviewed by Andreas Kling.
3584
3585         Windowless flash plugin is not rendered in Symbian
3586         https://bugs.webkit.org/show_bug.cgi?id=47172
3587
3588         * plugins/symbian/PluginViewSymbian.cpp:
3589         (WebCore::PluginView::platformStart):
3590         Add call to updatePluginWidget() following changes to
3591         platform widget.  This is needed to set PluginView's
3592         m_windowRect and m_clipRect members properly after
3593         the proxy widget and its container get created.
3594
3595 2010-10-07  Andreas Kling  <kling@webkit.org>
3596
3597         Reviewed by Nikolas Zimmermann.
3598
3599         Rename (and move) RenderPath to svg/RenderSVGPath
3600         https://bugs.webkit.org/show_bug.cgi?id=47053
3601
3602         Also renamed RenderObject::isRenderPath() to isSVGPath()
3603
3604         * Android.mk:
3605         * CMakeLists.txt:
3606         * GNUmakefile.am:
3607         * WebCore.gypi:
3608         * WebCore.order:
3609         * WebCore.pro:
3610         * WebCore.vcproj/WebCore.vcproj:
3611         * WebCore.xcodeproj/project.pbxproj:
3612         * rendering/RenderObject.h:
3613         (WebCore::RenderObject::isSVGPath):
3614         * rendering/RenderPath.cpp: Removed.
3615         * rendering/RenderPath.h: Removed.
3616         * rendering/RenderSVGHiddenContainer.cpp:
3617         * rendering/RenderSVGResourceClipper.cpp:
3618         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
3619         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
3620         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
3621         * rendering/RenderSVGResourceContainer.cpp:
3622         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
3623         * rendering/RenderSVGResourceSolidColor.cpp:
3624         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
3625         * rendering/RenderTreeAsText.cpp:
3626         (WebCore::write):
3627         * rendering/SVGRenderSupport.cpp:
3628         (WebCore::SVGRenderSupport::layoutChildren):
3629         * rendering/SVGRenderTreeAsText.cpp:
3630         (WebCore::writeStyle):
3631         (WebCore::operator<<):
3632         (WebCore::write):
3633         * rendering/SVGRenderTreeAsText.h:
3634         * rendering/style/SVGRenderStyle.cpp:
3635         (WebCore::SVGRenderStyle::diff):
3636         * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
3637         (WebCore::RenderSVGPath::RenderSVGPath):
3638         (WebCore::RenderSVGPath::fillContains):
3639         (WebCore::RenderSVGPath::strokeContains):
3640         (WebCore::RenderSVGPath::layout):
3641         (WebCore::RenderSVGPath::fillAndStrokePath):
3642         (WebCore::RenderSVGPath::paint):
3643         (WebCore::RenderSVGPath::addFocusRingRects):
3644         (WebCore::RenderSVGPath::nodeAtFloatPoint):
3645         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
3646         (WebCore::RenderSVGPath::updateCachedBoundaries):
3647         * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
3648         (WebCore::RenderSVGPath::isSVGPath):
3649         (WebCore::RenderSVGPath::renderName):
3650         (WebCore::toRenderSVGPath):
3651         * svg/SVGCircleElement.cpp:
3652         (WebCore::SVGCircleElement::svgAttributeChanged):
3653         * svg/SVGEllipseElement.cpp:
3654         (WebCore::SVGEllipseElement::svgAttributeChanged):
3655         * svg/SVGGradientElement.cpp:
3656         * svg/SVGLineElement.cpp:
3657         (WebCore::SVGLineElement::svgAttributeChanged):
3658         * svg/SVGPathElement.cpp:
3659         (WebCore::SVGPathElement::svgAttributeChanged):
3660         * svg/SVGPolyElement.cpp:
3661         (WebCore::SVGPolyElement::svgAttributeChanged):
3662         * svg/SVGRectElement.cpp:
3663         (WebCore::SVGRectElement::svgAttributeChanged):
3664         * svg/SVGStyledLocatableElement.cpp:
3665         * svg/SVGStyledTransformableElement.cpp:
3666         (WebCore::SVGStyledTransformableElement::createRenderer):
3667
3668 2010-10-06  Yury Semikhatsky  <yurys@chromium.org>
3669
3670         Reviewed by Pavel Feldman.
3671
3672         Web Inspector: clear line highlight when switching current view
3673         https://bugs.webkit.org/show_bug.cgi?id=47262
3674
3675         * inspector/front-end/SourceFrame.js:
3676         (WebInspector.SourceFrame.prototype.clearLineHighlight):
3677         * inspector/front-end/SourceView.js:
3678         (WebInspector.SourceView.prototype.hide):
3679         * inspector/front-end/TextViewer.js:
3680         (WebInspector.TextViewer.prototype.highlightLine):
3681         (WebInspector.TextViewer.prototype.clearLineHighlight):
3682
3683 2010-10-06  Chris Evans  <cevans@google.com>
3684
3685         Reviewed by David Levin.
3686
3687         https://bugs.webkit.org/show_bug.cgi?id=47313
3688
3689         Fix integer errors with enormous input strings to newline normalization APIs.
3690
3691         * platform/text/LineEnding.cpp:
3692         (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
3693         (WebCore::normalizeToCROrLF): use the correct type for a string length.
3694
3695 2010-10-06  Kent Tamura  <tkent@chromium.org>
3696
3697         Unreviewed, build fix.
3698
3699         Windows build fix for r69272.
3700
3701         * html/BaseDateAndTimeInputType.cpp:
3702         (WebCore::BaseDateAndTimeInputType::stepBase):
3703          Use defaultStepBase() instead of defaultStepBase.
3704         * html/InputType.h:
3705         (WebCore::InputType::defaultStepBase):
3706          Make defaultStepBase static function.
3707         * html/NumberInputType.cpp:
3708         (WebCore::NumberInputType::stepBase):
3709          Use defaultStepBase() instead of defaultStepBase.
3710
3711 2010-10-06  Kent Tamura  <tkent@chromium.org>
3712
3713         Reviewed by Dimitri Glazkov.
3714
3715         Refactor HTMLInputElement: Move range/step related functions
3716         https://bugs.webkit.org/show_bug.cgi?id=47251
3717
3718         Move the content of the following functions:
3719          - rangeUnderflow()
3720          - rangeOverflow()
3721          - minimum()
3722          - maximum()
3723          - stepMismatch()
3724          - stepBase()
3725
3726         getStepParameters() was split into InputType::defaultStep() and
3727         stepScaleFactor().
3728
3729         * html/BaseDateAndTimeInputType.cpp:
3730         (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
3731         (WebCore::BaseDateAndTimeInputType::rangeOverflow):
3732         (WebCore::BaseDateAndTimeInputType::stepMismatch):
3733         (WebCore::BaseDateAndTimeInputType::stepBase):
3734         * html/BaseDateAndTimeInputType.h:
3735         * html/DateInputType.cpp:
3736         (WebCore::DateInputType::minimum):
3737         (WebCore::DateInputType::maximum):
3738         (WebCore::DateInputType::defaultStep):
3739         (WebCore::DateInputType::stepScaleFactor):
3740         (WebCore::DateInputType::parsedStepValueShouldBeInteger):
3741         * html/DateInputType.h:
3742         * html/DateTimeInputType.cpp:
3743         (WebCore::DateTimeInputType::minimum):
3744         (WebCore::DateTimeInputType::maximum):
3745         (WebCore::DateTimeInputType::defaultStep):
3746         (WebCore::DateTimeInputType::stepScaleFactor):
3747         (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
3748         * html/DateTimeInputType.h:
3749         * html/DateTimeLocalInputType.cpp:
3750         (WebCore::DateTimeLocalInputType::minimum):
3751         (WebCore::DateTimeLocalInputType::maximum):
3752         (WebCore::DateTimeLocalInputType::defaultStep):
3753         (WebCore::DateTimeLocalInputType::stepScaleFactor):
3754         (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
3755         * html/DateTimeLocalInputType.h:
3756         * html/HTMLInputElement.cpp:
3757         (WebCore::HTMLInputElement::rangeUnderflow):
3758         (WebCore::HTMLInputElement::rangeOverflow):
3759         (WebCore::HTMLInputElement::minimum):
3760         (WebCore::HTMLInputElement::maximum):
3761         (WebCore::HTMLInputElement::stepMismatch):
3762         (WebCore::HTMLInputElement::getAllowedValueStep):
3763         (WebCore::HTMLInputElement::applyStep):
3764         (WebCore::HTMLInputElement::handleKeyEventForRange):
3765         (WebCore::HTMLInputElement::stepUpFromRenderer):
3766         * html/HTMLInputElement.h:
3767         * html/InputType.cpp:
3768         (WebCore::InputType::patternMismatch):
3769         (WebCore::InputType::rangeUnderflow):
3770         (WebCore::InputType::rangeOverflow):
3771         (WebCore::InputType::minimum):
3772         (WebCore::InputType::maximum):
3773         (WebCore::InputType::stepMismatch):
3774         (WebCore::InputType::stepBase):
3775         (WebCore::InputType::defaultStep):
3776         (WebCore::InputType::stepScaleFactor):
3777         (WebCore::InputType::parsedStepValueShouldBeInteger):
3778         (WebCore::InputType::scaledStepValeuShouldBeInteger):
3779         * html/InputType.h:
3780         * html/MonthInputType.cpp:
3781         (WebCore::MonthInputType::minimum):
3782         (WebCore::MonthInputType::maximum):
3783         (WebCore::MonthInputType::defaultStep):
3784         (WebCore::MonthInputType::stepScaleFactor):
3785         (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
3786         * html/MonthInputType.h:
3787         * html/NumberInputType.cpp:
3788         (WebCore::NumberInputType::rangeUnderflow):
3789         (WebCore::NumberInputType::rangeOverflow):
3790         (WebCore::NumberInputType::minimum):
3791         (WebCore::NumberInputType::maximum):
3792         (WebCore::NumberInputType::stepMismatch):
3793         (WebCore::NumberInputType::stepBase):
3794         (WebCore::NumberInputType::defaultStep):
3795         (WebCore::NumberInputType::stepScaleFactor):
3796         * html/NumberInputType.h:
3797         * html/RangeInputType.cpp:
3798         (WebCore::RangeInputType::rangeUnderflow):
3799         (WebCore::RangeInputType::rangeOverflow):
3800         (WebCore::RangeInputType::minimum):
3801         (WebCore::RangeInputType::maximum):
3802         (WebCore::RangeInputType::stepMismatch):
3803         (WebCore::RangeInputType::stepBase):
3804         (WebCore::RangeInputType::defaultStep):
3805         (WebCore::RangeInputType::stepScaleFactor):
3806         * html/RangeInputType.h:
3807         * html/TimeInputType.cpp:
3808         (WebCore::TimeInputType::minimum):
3809         (WebCore::TimeInputType::maximum):
3810         (WebCore::TimeInputType::defaultStep):
3811         (WebCore::TimeInputType::stepScaleFactor):
3812         (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
3813         * html/TimeInputType.h:
3814         * html/WeekInputType.cpp:
3815         (WebCore::WeekInputType::minimum):
3816         (WebCore::WeekInputType::maximum):
3817         (WebCore::WeekInputType::stepBase):
3818         (WebCore::WeekInputType::defaultStep):
3819         (WebCore::WeekInputType::stepScaleFactor):
3820         (WebCore::WeekInputType::parsedStepValueShouldBeInteger):
3821         * html/WeekInputType.h:
3822
3823 2010-10-06  Simon Fraser  <simon.fraser@apple.com>
3824
3825         Reviewed by Dan Bernstein, Darin Adler.
3826
3827         :first-letter should apply to "punctuation" after the first letter
3828         https://bugs.webkit.org/show_bug.cgi?id=45986
3829         
3830         Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
3831         the :first-letter character.
3832         
3833         The spec does not describe whitespace behavior, and browsers are inconsistent.
3834         This patch allows whitespace (including non-breaking spaces) before and after the
3835         leading punctuation, and before the trailing punctuation.
3836
3837         Test: fast/css/first-letter-punctuation.html
3838
3839         * rendering/RenderBlock.cpp:
3840         (WebCore::isPunctuationForFirstLetter):
3841         (WebCore::shouldSkipForFirstLetter):
3842         (WebCore::RenderBlock::updateFirstLetter):
3843
3844 2010-10-06  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
3845
3846         Reviewed by Darin Fisher.
3847
3848         Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
3849         https://bugs.webkit.org/show_bug.cgi?id=47129
3850
3851         * html/PluginDocument.cpp:
3852         (WebCore::PluginDocument::detach):
3853         * html/PluginDocument.h:
3854
3855 2010-10-06  Vincent Scheib  <scheib@chromium.org>
3856
3857         Reviewed by Kenneth Russell.
3858
3859         [chromium] Thumbnail generation asserts on zero alpha values.
3860         https://bugs.webkit.org/show_bug.cgi?id=47292
3861
3862         Test: Tested manually by running debug mode, and analyzing in PIX.
3863
3864         * platform/graphics/chromium/LayerRendererChromium.cpp:
3865         (WebCore::LayerRendererChromium::drawLayers):
3866
3867 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
3868
3869         Unreviewed, trying to fix chromium Windows build.
3870
3871         Explicitly give the parameter value that has a default parameter value.
3872
3873         * page/DOMWindow.cpp:
3874         (WebCore::DOMWindow::requestFileSystem):
3875         * workers/WorkerContext.cpp:
3876         (WebCore::WorkerContext::requestFileSystem):
3877
3878 2010-10-06  Darin Adler  <darin@apple.com>
3879
3880         Try to fix Windows build.
3881
3882         * platform/graphics/cg/ColorCG.cpp:
3883         (WebCore::cachedCGColor): Put in braces to make the Windows compiler
3884         happy with this file.
3885
3886         * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.
3887
3888 2010-10-06  Darin Adler  <darin@apple.com>
3889
3890         Reviewed by Alexey Proskuryakov.
3891
3892         Cache CGColor as we do NSColor
3893         https://bugs.webkit.org/show_bug.cgi?id=47226
3894
3895         This fixes performance problems on certain web pages that use
3896         multiple colors. Once in the past we were using NSColor. Now that
3897         we are using CGColor, we need the same sort of caching that we have
3898         for NSColor.
3899
3900         One example: <http://results.active.com/uploads/html/100759.html>.
3901
3902         * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.
3903
3904         * platform/graphics/Color.h: Replace createCGColor with cachedCGColor.
3905
3906         * platform/graphics/cg/ColorCG.cpp:
3907         (WebCore::cachedCGColorSpace): Added.
3908         (WebCore::leakCGColor): Added. 
3909         (WebCore::cachedCGColor): Added.
3910
3911         * platform/graphics/cg/GraphicsContextCG.cpp:
3912         (WebCore::setCGFillColor): Use cachedCGColor.
3913         (WebCore::setCGStrokeColor): Ditto.
3914         (WebCore::GraphicsContext::fillRect): Ditto.
3915         (WebCore::GraphicsContext::setPlatformShadow): Ditto.
3916
3917         * platform/graphics/cg/GraphicsContextCG.h: Added.
3918         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3919         Moved the color space functions here.
3920
3921         * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.
3922
3923         * platform/graphics/mac/ColorMac.mm: Removed the createCGColor
3924         function.
3925
3926         * platform/graphics/mac/GraphicsContextMac.mm:
3927         (WebCore::drawFocusRingToContext): Removed innappropriate use of
3928         RetainPtr for the arguments to this function.
3929         (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.
3930
3931         * platform/graphics/mac/GraphicsLayerCA.mm:
3932         (WebCore::setLayerBorderColor): Use cachedCGColor.
3933         (WebCore::setLayerBackgroundColor): Ditto.
3934         * platform/graphics/win/GraphicsContextCGWin.cpp:
3935         (WebCore::GraphicsContext::drawFocusRing): Ditto.
3936         * platform/graphics/win/GraphicsLayerCACF.cpp:
3937         (WebCore::setLayerBorderColor): Ditto.
3938         (WebCore::setLayerBackgroundColor): Ditto.
3939
3940         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3941         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
3942         CGColorCreateGenericRGB for color used only for debugging.
3943         * platform/graphics/win/WebTiledLayer.cpp:
3944         (WebCore::WebTiledLayer::addTile): Ditto.
3945
3946 2010-10-06  Peter Kasting  <pkasting@google.com>
3947
3948         Reviewed by James Robinson
3949
3950         ScrollViews without scrollbars should not eat scroll events
3951         https://bugs.webkit.org/show_bug.cgi?id=47036
3952
3953         * platform/ScrollView.cpp:
3954         (WebCore::ScrollView::wheelEvent):
3955
3956 2010-10-06  Daniel Bates  <dbates@rim.com>
3957
3958         Reviewed by Darin Adler.
3959
3960         ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
3961         when <frameset> has CSS content property
3962         https://bugs.webkit.org/show_bug.cgi?id=47314
3963
3964         Fixes an issue where sending a mouse event to an HTML Frameset Element that
3965         whose content was replaced via the CSS content property causes an assertion
3966         failure.
3967
3968         By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
3969         to support resizing a frame within the set. When a <frameset> specifies an
3970         image in its CSS content property we create a generic render object (RenderObject)
3971         for the frame set instead of a RenderFrameSet object. The event handler code
3972         in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
3973         to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
3974         must check that its renderer is of type RenderFrameSet before casting to this type.
3975
3976         Test: fast/frames/crash-frameset-CSS-content-property.html
3977
3978         * html/HTMLFrameSetElement.cpp:
3979         (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
3980         of type RenderFrameSet before casting it as such.
3981
3982 2010-10-06  Albert J. Wong  <ajwong@chromium.org>
3983
3984         Reviewed by Andreas Kling.
3985
3986         r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
3987         https://bugs.webkit.org/show_bug.cgi?id=47315
3988
3989         Compile fix. No tests.
3990
3991         * platform/graphics/filters/FETile.cpp:
3992         (WebCore::FETile::apply):
3993
3994 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
3995
3996         Unreviewed, fixing screwed up ChangeLogs.
3997
3998 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
3999
4000         Reviewed by David Levin.
4001
4002         Add FileSystemSync implementation for Worker
4003         https://bugs.webkit.org/show_bug.cgi?id=47044
4004
4005         Tests: fast/filesystem/async-operations.html
4006                fast/filesystem/workers/async-operations.html
4007                fast/filesystem/workers/sync-operations.html
4008
4009         * GNUmakefile.am:
4010         * WebCore.gypi:
4011         * WebCore.pro:
4012         * WebCore.vcproj/WebCore.vcproj:
4013         * WebCore.xcodeproj/project.pbxproj:
4014         * bindings/generic/RuntimeEnabledFeatures.h: Removed
4015         requestFileSystemEnabled() as I changed the idl/generator to
4016         use fileSystemEnabled for all the FileSystem related features.
4017         * fileapi/DOMFileSystem.cpp:
4018         * fileapi/DOMFileSystem.h:
4019         * fileapi/DOMFileSystemBase.cpp:
4020         (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
4021         (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
4022         (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
4023         (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
4024         (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
4025         (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
4026         (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
4027         (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
4028         (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
4029         * fileapi/DOMFileSystemBase.h:
4030         * fileapi/DOMFileSystemSync.h:
4031         * fileapi/DirectoryEntry.cpp:
4032         (WebCore::DirectoryEntry::DirectoryEntry): Updated to call
4033         DOMFileSystemBase's method instead of DOMFileSystem's one.
4034         (WebCore::DirectoryEntry::getFile): Ditto.
4035         (WebCore::DirectoryEntry::getDirectory): Ditto.
4036         * fileapi/DirectoryEntry.h:
4037         * fileapi/DirectoryEntrySync.cpp:
4038         (WebCore::DirectoryEntrySync::getFile): Implemented.
4039         (WebCore::DirectoryEntrySync::getDirectory): Implemented.
4040         * fileapi/DirectoryReader.h:
4041         * fileapi/DirectoryReaderSync.cpp:
4042         (WebCore::DirectoryReaderSync::readEntries): Implemented.
4043         * fileapi/Entry.cpp:
4044         (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
4045         (WebCore::Entry::getMetadata): Ditto.
4046         (WebCore::Entry::moveTo): Ditto.
4047         (WebCore::Entry::copyTo): Ditto.
4048         (WebCore::Entry::remove): Ditto.
4049         (WebCore::Entry::getParent): Ditto.
4050         * fileapi/Entry.h:
4051         * fileapi/Entry.idl:
4052         * fileapi/EntryArraySync.cpp:
4053         (WebCore::EntryArraySync::create): Added.
4054         * fileapi/EntryArraySync.h:
4055         * fileapi/EntryBase.h:
4056         (WebCore::EntryBase::filesystem): Added.
4057         * fileapi/EntrySync.cpp:
4058         (WebCore::EntrySync::create): Implemented.
4059         (WebCore::EntrySync::getMetadata): Implemented.
4060         (WebCore::EntrySync::moveTo): Implemented.
4061         (WebCore::EntrySync::copyTo): Implemented.
4062         (WebCore::EntrySync::remove): Implemented.
4063         * fileapi/EntrySync.h:
4064         * fileapi/FileEntry.cpp:
4065         * fileapi/FileEntry.h:
4066         * fileapi/FileSystemCallbacks.cpp:
4067         (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
4068         instead of DOMFileSystem.
4069         (WebCore::EntryCallbacks::EntryCallbacks): Ditto.
4070         (WebCore::EntriesCallbacks::create): Ditto.
4071         (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
4072         * fileapi/FileSystemCallbacks.h:
4073         * fileapi/LocalFileSystem.cpp:
4074         (WebCore::LocalFileSystem::requestFileSystem): Added synchronous
4075         parameter.
4076         * fileapi/LocalFileSystem.h:
4077         * fileapi/Metadata.h:
4078         * fileapi/SyncCallbackHelper.h: Added. This defines a helper template
4079         for synchronous implementation.
4080         * page/DOMWindow.idl:
4081         * platform/AsyncFileSystem.h:
4082         (WebCore::AsyncFileSystem::waitCompletion): Added.
4083         * workers/WorkerContext.cpp:
4084         (WebCore::WorkerContext::requestFileSystemSync): Added.
4085         * workers/WorkerContext.h:
4086         * workers/WorkerContext.idl:
4087
4088 2010-10-06  Andrei Popescu  <andreip@google.com>
4089
4090         Reviewed by Jeremy Orlow.
4091
4092         IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
4093         https://bugs.webkit.org/show_bug.cgi?id=47245
4094
4095         Recover metadata properly by adding abort tasks that
4096         are run when a transaction aborts.
4097  
4098         * storage/IDBDatabase.cpp:
4099         (WebCore::IDBDatabase::createObjectStore):
4100         (WebCore::IDBDatabase::removeObjectStore):
4101         * storage/IDBDatabaseBackendImpl.cpp:
4102         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
4103         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
4104         (WebCore::IDBDatabaseBackendImpl::setVersion):
4105         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
4106         (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
4107         (WebCore::IDBDatabaseBackendImpl::resetVersion):
4108         * storage/IDBDatabaseBackendImpl.h:
4109         * storage/IDBObjectStoreBackendImpl.cpp:
4110         (WebCore::IDBObjectStoreBackendImpl::createIndex):
4111         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
4112         (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
4113         (WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
4114         * storage/IDBObjectStoreBackendImpl.h:
4115         * storage/IDBTransactionBackendImpl.cpp:
4116         (WebCore::IDBTransactionBackendImpl::scheduleTask):
4117         (WebCore::IDBTransactionBackendImpl::abort):
4118         * storage/IDBTransactionBackendImpl.h:
4119         * storage/IDBTransactionBackendInterface.h:
4120         * storage/IDBTransactionCoordinator.h:
4121
4122 2010-10-06  David Hyatt  <hyatt@apple.com>
4123
4124         Reviewed by Dan Bernstein.
4125
4126         https://bugs.webkit.org/show_bug.cgi?id=47306
4127         
4128         Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.
4129
4130         * rendering/RenderBlockLineLayout.cpp:
4131         (WebCore::RenderBlock::determineStartPosition):
4132         (WebCore::RenderBlock::determineEndPosition):
4133         (WebCore::RenderBlock::matchedEndLine):
4134
4135 22010-10-06  Chris Fleizach  <cfleizach@apple.com>
4136
4137         Reviewed by Beth Dakin.
4138
4139         REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
4140         https://bugs.webkit.org/show_bug.cgi?id=45832
4141
4142         Test: fast/events/mouse-focus-imagemap.html
4143
4144         * html/HTMLAreaElement.cpp:
4145         (WebCore::HTMLAreaElement::isKeyboardFocusable):
4146         (WebCore::HTMLAreaElement::isMouseFocusable):
4147         (WebCore::HTMLAreaElement::isFocusable):
4148         (WebCore::HTMLAreaElement::updateFocusAppearance):
4149         * html/HTMLAreaElement.h:
4150
4151 010-10-06  David Hyatt  <hyatt@apple.com>
4152
4153         Reviewed by Dan Bernstein.
4154
4155         https://bugs.webkit.org/show_bug.cgi?id=47303
4156
4157         Convert layoutInlineChildren to be block-flow-aware.  None of the functions it calls are patched yet.
4158
4159         * rendering/RenderBlock.cpp:
4160         (WebCore::RenderBlock::layoutBlock):
4161         * rendering/RenderBlock.h:
4162         (WebCore::RenderBlock::forceLayoutInlineChildren):
4163         * rendering/RenderBlockLineLayout.cpp:
4164         (WebCore::RenderBlock::layoutInlineChildren):
4165         (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
4166         (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
4167         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
4168         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
4169         * rendering/RenderBox.h:
4170         (WebCore::RenderBox::logicalLeftLayoutOverflow):
4171         (WebCore::RenderBox::logicalRightLayoutOverflow):
4172         (WebCore::RenderBox::logicalLeftVisualOverflow):
4173         (WebCore::RenderBox::logicalRightVisualOverflow):
4174
4175 2010-10-06  David Hyatt  <hyatt@apple.com>
4176
4177         Reviewed by Dan Bernstein.
4178
4179         https://bugs.webkit.org/show_bug.cgi?id=47298
4180         
4181         Rename blockHeight to blockLogicalHeight.
4182
4183         * rendering/RenderBlock.cpp:
4184         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
4185         * rendering/RenderBlockLineLayout.cpp:
4186         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
4187         (WebCore::RenderBlock::layoutInlineChildren):
4188         (WebCore::RenderBlock::determineStartPosition):
4189         (WebCore::RenderBlock::determineEndPosition):
4190         (WebCore::RenderBlock::matchedEndLine):
4191         * rendering/RootInlineBox.cpp:
4192         (WebCore::RootInlineBox::RootInlineBox):
4193         (WebCore::RootInlineBox::adjustPosition):
4194         * rendering/RootInlineBox.h:
4195         (WebCore::RootInlineBox::blockLogicalHeight):
4196         (WebCore::RootInlineBox::setBlockLogicalHeight):
4197         * rendering/svg/SVGRootInlineBox.cpp:
4198         (WebCore::SVGRootInlineBox::layoutRootBox):
4199
4200 2010-10-05  James Robinson  <jamesr@chromium.org>
4201
4202         Reviewed by Kenneth Russell.
4203
4204         [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
4205         https://bugs.webkit.org/show_bug.cgi?id=47242
4206
4207         Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
4208         since that call mutates the software backing store.
4209
4210         Test: fast/canvas/canvas-putImageData.html
4211
4212         * platform/graphics/skia/ImageBufferSkia.cpp: