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