2010-07-02 Zhenyao Mo <zmo@google.com>
[WebKit.git] / WebCore / ChangeLog
1 2010-07-02  Zhenyao Mo  <zmo@google.com>
2
3         Reviewed by Dimitri Glazkov.
4
5         Need to validate the size of the incoming arrays for uniform* functions
6         https://bugs.webkit.org/show_bug.cgi?id=41383
7
8         * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
9         (WebCore::WebGLRenderingContext::uniform1fv):
10         (WebCore::WebGLRenderingContext::uniform1iv):
11         (WebCore::WebGLRenderingContext::uniform2fv):
12         (WebCore::WebGLRenderingContext::uniform2iv):
13         (WebCore::WebGLRenderingContext::uniform3fv):
14         (WebCore::WebGLRenderingContext::uniform3iv):
15         (WebCore::WebGLRenderingContext::uniform4fv):
16         (WebCore::WebGLRenderingContext::uniform4iv):
17         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
18         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
19         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
20         (WebCore::WebGLRenderingContext::validateUniformParameters):
21         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
22         * html/canvas/WebGLRenderingContext.h: Add helper functions.
23
24 2010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25
26         Reviewed by Simon Hausmann.
27
28         [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
29
30         The implementation of PathQt's addArcTo() was not float-safe and also had
31         a case where it drew an 'infinite' line, which is not part of the spec.
32
33         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
34
35         We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
36         also had the same problem, and was refactored a bit in the process of fixing
37         the bug.
38
39         Initial patch by Andreas Kling.
40
41         https://bugs.webkit.org/show_bug.cgi?id=41412
42
43         * platform/graphics/qt/PathQt.cpp:
44
45 2010-07-02  Yury Semikhatsky  <yurys@chromium.org>
46
47         Reviewed by Pavel Feldman.
48
49         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
50         https://bugs.webkit.org/show_bug.cgi?id=41511
51
52         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
53                http/tests/inspector/change-iframe-src.html
54
55         * bindings/v8/ScriptController.cpp:
56         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
57         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
58         * bindings/v8/V8AbstractEventListener.cpp:
59         (WebCore::V8AbstractEventListener::invokeEventHandler):
60         * bindings/v8/V8HiddenPropertyName.h:
61         * bindings/v8/custom/V8DOMWindowCustom.cpp:
62         (WebCore::V8DOMWindow::eventAccessorGetter):
63         (WebCore::V8DOMWindow::eventAccessorSetter):
64
65 2010-07-02  Adam Barth  <abarth@webkit.org>
66
67         Reviewed by Eric Seidel.
68
69         Fix tokenization of <!----->
70         https://bugs.webkit.org/show_bug.cgi?id=41505
71
72         I noticed this error when browsing through the HTML5lib failures.
73         We're adding an extra character to the comment token, contrary to what
74         the spec says to do.
75
76         * html/HTMLTokenizer.cpp:
77         (WebCore::HTMLTokenizer::nextToken):
78
79 2010-07-02  Adam Barth  <abarth@webkit.org>
80
81         Reviewed by Eric Seidel.
82
83         Implement processFakePEndTagIfPInScope
84         https://bugs.webkit.org/show_bug.cgi?id=41503
85
86         This is a common idiom because <p> likes to close itself.
87
88         * html/HTMLTreeBuilder.cpp:
89         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
90         (WebCore::HTMLTreeBuilder::processStartTag):
91         * html/HTMLTreeBuilder.h:
92
93 2010-07-02  Adam Barth  <abarth@webkit.org>
94
95         Reviewed by Eric Seidel.
96
97         Implement AfterAfterBodyMode
98         https://bugs.webkit.org/show_bug.cgi?id=41501
99
100         In implementing this mode, I noticed a bug in the character processing
101         of the AfterBodyMode, which I fixed by adding a break statement.  Also,
102         to get one of the new tests to pass, I needed to implement one
103         notImplemented() in the InBody insertion mode.  Yay for testing.
104
105         * html/HTMLTreeBuilder.cpp:
106         (WebCore::HTMLTreeBuilder::processStartTag):
107         (WebCore::HTMLTreeBuilder::processEndTag):
108         (WebCore::HTMLTreeBuilder::processComment):
109         (WebCore::HTMLTreeBuilder::processCharacter):
110         (WebCore::HTMLTreeBuilder::processEndOfFile):
111
112 2010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
113
114         Unreviewed, rolling out r62371.
115         http://trac.webkit.org/changeset/62371
116         https://bugs.webkit.org/show_bug.cgi?id=41515
117
118         "Breaks media/controls-drag-timebar.html on 32-Bit Release"
119         (Requested by philn-tp on #webkit).
120
121         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
122         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
123         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
124
125 2010-06-28  Philippe Normand  <pnormand@igalia.com>
126
127         Reviewed by Xan Lopez.
128
129         [GStreamer] can't seek past maxTimeLoaded value
130         https://bugs.webkit.org/show_bug.cgi?id=40526
131
132         Extended the seekable range to the whole media. This allows video
133         played with progressive download to be seeked past the current
134         buffered position.
135
136         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
137         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
138         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
139
140 2010-07-02  Adam Barth  <abarth@webkit.org>
141
142         Reviewed by Eric Seidel.
143
144         Implement AfterBodyMode for HTML5 tree builder
145         https://bugs.webkit.org/show_bug.cgi?id=41500
146
147         In the coarse of implementing this state, I ran into an ASSERT in how
148         </br> tags where handled, which I fixed.  Technically, that could be a
149         separate patch, but it seemed harmless to include it here (with tests).
150
151         * html/HTMLTreeBuilder.cpp:
152         (WebCore::HTMLTreeBuilder::processStartTag):
153         (WebCore::HTMLTreeBuilder::processEndTag):
154         (WebCore::HTMLTreeBuilder::processComment):
155         (WebCore::HTMLTreeBuilder::processCharacter):
156         (WebCore::HTMLTreeBuilder::processEndOfFile):
157         (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
158         * html/HTMLTreeBuilder.h:
159
160 2010-07-02  Adam Barth  <abarth@webkit.org>
161
162         Reviewed by Eric Seidel.
163
164         Handle <base> and friends in AfterHeadMode
165         https://bugs.webkit.org/show_bug.cgi?id=41502
166
167         Implement notImplemented() per spec.
168
169         * html/HTMLTreeBuilder.cpp:
170         (WebCore::HTMLTreeBuilder::processStartTag):
171
172 2010-07-01  Oliver Hunt  <oliver@apple.com>
173
174         Build fix
175
176         * dom/Document.h:
177
178 2010-07-01  Oliver Hunt  <oliver@apple.com>
179
180         Reviewed by Maciej Stachowiak.
181
182         Add a FixedArray template to encapsulate fixed length arrays
183         https://bugs.webkit.org/show_bug.cgi?id=41506
184
185         Add forwarding header, and replace a few fixed length arrays
186         with the new FixedArray type.
187
188         * ForwardingHeaders/wtf/FixedArray.h: Added.
189         * dom/Document.h:
190         * platform/graphics/GlyphMetricsMap.h:
191
192 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
193
194         No review.
195
196         Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
197
198         * WebCore.AcceleratedCompositing.exp:
199
200 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
201
202         Reviewed by Dimitri Glazkov.
203
204         Add window.performance.navigation namespace
205         https://bugs.webkit.org/show_bug.cgi?id=41442
206
207         Adds window.performance.navigation namespace consisting of ".type"
208         and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
209         to just "Timing" to avoid confusion.
210
211         No new tests because tests will be added in a subsequent patch when
212         functionality is added.
213
214         * Android.mk:
215         * CMakeLists.txt:
216         * DerivedSources.cpp:
217         * DerivedSources.make:
218         * GNUmakefile.am:
219         * WebCore.gypi:
220         * WebCore.pri:
221         * WebCore.pro:
222         * WebCore.vcproj/WebCore.vcproj:
223         * WebCore.xcodeproj/project.pbxproj:
224         * page/Navigation.cpp: Added.
225         (WebCore::Navigation::Navigation):
226         (WebCore::Navigation::frame):
227         (WebCore::Navigation::disconnectFrame):
228         (WebCore::Navigation::type):
229         (WebCore::Navigation::redirectCount):
230         * page/Navigation.h: Added.
231         (WebCore::Navigation::create):
232         * page/Navigation.idl: Added.
233         * page/NavigationTiming.cpp: Removed.
234         * page/NavigationTiming.h: Removed.
235         * page/NavigationTiming.idl: Removed.
236         * page/Performance.cpp:
237         (WebCore::Performance::navigation):
238         (WebCore::Performance::timing):
239         * page/Performance.h:
240         * page/Performance.idl:
241         * page/Timing.cpp: Added.
242         (WebCore::Timing::Timing):
243         (WebCore::Timing::frame):
244         (WebCore::Timing::disconnectFrame):
245         (WebCore::Timing::navigationStart):
246         * page/Timing.h: Added.
247         (WebCore::Timing::create):
248         * page/Timing.idl: Added.
249
250 2010-07-01  Daniel Cheng  <dcheng@chromium.org>
251
252         Reviewed by Jian Li.
253
254         [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
255         https://bugs.webkit.org/show_bug.cgi?id=41493
256
257         ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
258         be non-empty if url is valid.
259
260         No new tests.
261
262         * platform/chromium/ClipboardChromium.cpp:
263         (WebCore::ClipboardChromium::writeURL):
264
265 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
266
267         Reviewed by Tor Arne Vestbø.
268
269         [Qt] Clamp color stops passed to QGradient to 1.0
270         [https://bugs.webkit.org/show_bug.cgi?id=41484
271
272         Fixes an issue where color stops would be silently dropped from radial gradients.
273
274         * platform/graphics/qt/GradientQt.cpp:
275         (WebCore::Gradient::platformGradient):
276
277 2010-07-01  Eric Seidel  <eric@webkit.org>
278
279         Reviewed by Adam Barth.
280
281         HTMLTokenizer should ASSERT that it never emits a null character
282         https://bugs.webkit.org/show_bug.cgi?id=41448
283
284         No functional change, thus no tests.  These ASSERTs would have
285         caught the coding error which caused the trouble in bug 41436
286         (which was fixed by bug 41439).
287
288         * html/HTMLToken.h:
289         (WebCore::HTMLToken::beginStartTag):
290         (WebCore::HTMLToken::beginCharacter):
291         (WebCore::HTMLToken::beginDOCTYPE):
292         (WebCore::HTMLToken::appendToName):
293         (WebCore::HTMLToken::appendToComment):
294         (WebCore::HTMLToken::appendToAttributeName):
295         (WebCore::HTMLToken::appendToAttributeValue):
296         (WebCore::HTMLToken::appendToPublicIdentifier):
297         (WebCore::HTMLToken::appendToSystemIdentifier):
298
299 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
300
301         Reviewed by Tor Arne Vestbø.
302
303         Canvas: Don't paint with empty radial gradients
304         https://bugs.webkit.org/show_bug.cgi?id=41190
305
306         If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
307
308         * html/canvas/CanvasRenderingContext2D.cpp:
309         (WebCore::CanvasRenderingContext2D::fillRect):
310         * platform/graphics/Gradient.h:
311         (WebCore::Gradient::isZeroSize):
312
313 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
314
315         Reviewed by Adam Barth.
316
317         Add interface for network platform to pass up timing information
318         https://bugs.webkit.org/show_bug.cgi?id=41437
319
320         The Web Timing feature requires the network platform to expose detailed
321         timing information for the main resource. This patch adds that data to
322         the ResourceResponseBase. Since the 82 bytes of information is only
323         needed for the main resource, it is a RefPtr to avoid using the memory
324         for other resource types.
325
326         No new tests because no new functionality.
327
328         * GNUmakefile.am:
329         * WebCore.gypi:
330         * WebCore.pro:
331         * WebCore.vcproj/WebCore.vcproj:
332         * WebCore.xcodeproj/project.pbxproj:
333         * platform/network/ResourceLoadTiming.h: Added.
334         (WebCore::ResourceLoadTiming::create):
335         (WebCore::ResourceLoadTiming::deepCopy):
336         (WebCore::ResourceLoadTiming::operator==):
337         (WebCore::ResourceLoadTiming::operator!=):
338         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
339         * platform/network/ResourceResponseBase.cpp:
340         (WebCore::ResourceResponseBase::adopt):
341         (WebCore::ResourceResponseBase::copyData):
342         (WebCore::ResourceResponseBase::resourceLoadTiming):
343         (WebCore::ResourceResponseBase::setResourceLoadTiming):
344         (WebCore::ResourceResponseBase::compare):
345         * platform/network/ResourceResponseBase.h:
346
347 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
348
349         Unreviewed, rolling out r62321.
350         http://trac.webkit.org/changeset/62321
351         https://bugs.webkit.org/show_bug.cgi?id=41494
352
353         Broke the non-win builds. (Requested by dumi on #webkit).
354
355         * dom/ScriptExecutionContext.cpp:
356         (WebCore::ScriptExecutionContext::addOpenDatabase):
357         (WebCore::ScriptExecutionContext::removeOpenDatabase):
358         (WebCore::ScriptExecutionContext::stopDatabases):
359         * dom/ScriptExecutionContext.h:
360         * storage/Database.cpp:
361         (WebCore::Database::openDatabase):
362         (WebCore::Database::Database):
363         (WebCore::Database::markAsDeletedAndClose):
364         (WebCore::ContextRemoveOpenDatabaseTask::create):
365         (WebCore::ContextRemoveOpenDatabaseTask::performTask):
366         (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
367         (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
368         (WebCore::Database::close):
369         (WebCore::Database::closeImmediately):
370         (WebCore::Database::stop):
371         (WebCore::Database::performPolicyChecks):
372         * storage/Database.h:
373         (WebCore::Database::):
374         (WebCore::Database::stopped):
375         * storage/DatabaseTask.cpp:
376         (WebCore::DatabaseTask::performTask):
377         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
378         (WebCore::DatabaseOpenTask::doPerformTask):
379         (WebCore::DatabaseOpenTask::debugTaskName):
380         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
381         (WebCore::DatabaseCloseTask::doPerformTask):
382         (WebCore::DatabaseCloseTask::debugTaskName):
383         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
384         (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
385         (WebCore::DatabaseTransactionTask::doPerformTask):
386         (WebCore::DatabaseTransactionTask::debugTaskName):
387         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
388         (WebCore::DatabaseTableNamesTask::doPerformTask):
389         (WebCore::DatabaseTableNamesTask::debugTaskName):
390         * storage/DatabaseTask.h:
391         (WebCore::DatabaseOpenTask::create):
392         (WebCore::DatabaseCloseTask::create):
393         (WebCore::DatabaseTransactionTask::create):
394         (WebCore::DatabaseTableNamesTask::create):
395         * storage/DatabaseThread.cpp:
396         (WebCore::DatabaseThread::databaseThread):
397         * storage/DatabaseTracker.cpp:
398         (WebCore::DatabaseTracker::addOpenDatabase):
399         * storage/SQLTransaction.cpp:
400         (WebCore::SQLTransaction::executeSQL):
401         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
402
403 2010-07-01  Xan Lopez  <xlopez@igalia.com>
404
405         Reviewed by Gustavo Noronha.
406
407         [GTK] Stop using GdkRegion in 3.x mode
408         https://bugs.webkit.org/show_bug.cgi?id=41463
409
410         Make us compile without using GdkRegion, since it's gone from GTK+
411         3.x.
412
413         * platform/graphics/IntRect.h:
414         * platform/graphics/cairo/GraphicsContextCairo.cpp:
415         (WebCore::GraphicsContext::drawFocusRing):
416         * platform/graphics/gtk/FontGtk.cpp:
417         (WebCore::cairo_region_shrink):
418         (WebCore::Font::drawComplexText):
419         * platform/gtk/GtkPluginWidget.cpp:
420         (WebCore::GtkPluginWidget::paint):
421         * platform/gtk/RenderThemeGtk.h:
422         * platform/gtk/ScrollbarGtk.cpp:
423         (ScrollbarGtk::paint):
424
425 2010-06-30  Dumitru Daniliuc  <dumi@chromium.org>
426
427         Reviewed by Darin Fisher.
428
429         DB clean up.
430         https://bugs.webkit.org/show_bug.cgi?id=41404
431
432         1. Made all DatabaseTasks internal classes of Database and made
433            the Database methods called by those tasks private.
434         2. Removed the Database::stop{ed}() methods.
435         3. Removed the code that kept track of open databases from
436            ScriptExecutionContext (no longer needed).
437         4. Made minor changes to Database::closeImmediately() to make it
438            possible for DatabaseThread to call that method instead of
439            close().
440         5. Minor fix to DatabaseTracker: addOpenDatabase() should call
441            OriginQuotaManager::addDatabase() if the origin quota manager
442            is not tracking this origin.
443         6. Removed Database::performPolicyChecks(). We already update the
444            DB size after each transaction, and we enforce a max size for
445            the DB at the beginning of each transaction.
446
447         * dom/ScriptExecutionContext.cpp:
448         (WebCore::ScriptExecutionContext::stopDatabases):
449         * dom/ScriptExecutionContext.h:
450         (WebCore::ScriptExecutionContext::hasOpenDatabases):
451         * storage/Database.cpp:
452         (WebCore::Database::openDatabase):
453         (WebCore::Database::Database):
454         (WebCore::Database::markAsDeletedAndClose):
455         (WebCore::Database::close):
456         (WebCore::Database::closeImmediately):
457         * storage/Database.h:
458         * storage/DatabaseTask.cpp:
459         (WebCore::DatabaseTask::performTask):
460         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
461         (WebCore::Database::DatabaseOpenTask::doPerformTask):
462         (WebCore::Database::DatabaseOpenTask::debugTaskName):
463         (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
464         (WebCore::Database::DatabaseCloseTask::doPerformTask):
465         (WebCore::Database::DatabaseCloseTask::debugTaskName):
466         (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
467         (WebCore::Database::DatabaseTransactionTask::doPerformTask):
468         (WebCore::Database::DatabaseTransactionTask::debugTaskName):
469         (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
470         (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
471         (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
472         * storage/DatabaseTask.h:
473         (WebCore::Database::DatabaseOpenTask::create):
474         (WebCore::Database::DatabaseCloseTask::create):
475         (WebCore::Database::DatabaseTransactionTask::create):
476         (WebCore::Database::DatabaseTableNamesTask::create):
477         * storage/DatabaseThread.cpp:
478         (WebCore::DatabaseThread::databaseThread):
479         * storage/DatabaseTracker.cpp:
480         (WebCore::DatabaseTracker::addOpenDatabase):
481         * storage/SQLTransaction.cpp:
482         (WebCore::SQLTransaction::executeSQL):
483         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
484
485 2010-07-01  Kent Tamura  <tkent@chromium.org>
486
487         Reviewed by Darin Fisher.
488
489         [Chromium] Support indeterminate checkbox for Windows
490         https://bugs.webkit.org/show_bug.cgi?id=41444
491
492         * rendering/RenderThemeChromiumWin.cpp:
493         (WebCore::RenderThemeChromiumWin::determineState):
494          Check isIndeterminate() and set an appropriate flag value.
495
496 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
497
498         Reviewed by Dan Bernstein.
499
500         https://bugs.webkit.org/show_bug.cgi?id=41488
501         <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
502
503         Test: plugins/js-from-destroy.html
504
505         * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
506         document loader.
507
508 2010-07-01  Andy Estes  <aestes@apple.com>
509
510         Reviewed by Darin Adler.
511
512         <rdar://problem/8113003> Correctly fire beforeload events for images
513         added to the DOM using .innerHTML.
514         https://bugs.webkit.org/show_bug.cgi?id=40919
515
516         Test: fast/dom/beforeload/image-before-load-innerHTML.html
517
518         * html/LegacyHTMLDocumentParser.cpp:
519         (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
520         image beforeload events immediately after parsing a document fragment.
521         Let the events fire later, giving the fragment time to potentially be
522         inserted into the document.
523
524 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
525
526         Reviewed by Tor Arne Vestbø.
527
528         Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
529         https://bugs.webkit.org/show_bug.cgi?id=41192
530
531         If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
532         move to the (first) control point before adding the curve.
533
534         Spec links:
535         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
536         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
537
538         * html/canvas/CanvasRenderingContext2D.cpp:
539         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
540         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
541
542 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
543
544         Reviewed by Darin Adler.
545
546         Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
547         https://bugs.webkit.org/show_bug.cgi?id=39149
548
549         If assigned a negative value, it should default to 300 for width and 150 for height.
550
551         Spec link:
552         http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
553
554         Test: fast/canvas/canvas-negative-size.html
555
556         * html/HTMLCanvasElement.cpp:
557         (WebCore::HTMLCanvasElement::reset):
558
559 2010-07-01  Darin Adler  <darin@apple.com>
560
561         Reviewed by Steve Falkenburg.
562
563         Turn on adoptRef assertion for TreeShared.
564
565         * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
566         Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
567         removing them all now.
568
569         * rendering/ShadowElement.cpp:
570         (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
571         storage leak before, probably recently introduced r61324.
572         (WebCore::ShadowInputElement::create): Ditto.
573
574 2010-07-01  Xan Lopez  <xlopez@igalia.com>
575
576         Reviewed by Gustavo Noronha.
577
578         Only include the geolocation IDL in the GObject DOM bindings set
579         if geolocation is enabled.
580
581         * GNUmakefile.am:
582
583 2010-07-01  Timothy Hatcher  <timothy@apple.com>
584
585         Provide a WebView preference to disable DNS prefetching.
586
587         https://bugs.webkit.org/show_bug.cgi?id=28825
588         rdar://problem/7181249
589
590         Reviewed by Darin Adler.
591
592         * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
593         * dom/Document.cpp:
594         (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
595         * page/Settings.cpp:
596         (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
597         (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
598         * page/Settings.h:
599         (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
600
601 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
602
603         Reviewed by Darin Adler.
604
605         Get accelerated compositing working with webkit2
606         https://bugs.webkit.org/show_bug.cgi?id=41084
607
608         Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
609         batched changes non-recursively. This allows us to use GraphicsLayer in places where we
610         don't want to kick off a recursive commit of the entire tree.
611
612         * platform/graphics/GraphicsLayer.h:
613         (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
614         * platform/graphics/mac/GraphicsLayerCA.h:
615         * platform/graphics/mac/GraphicsLayerCA.mm:
616         (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
617         * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
618
619 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
620
621         Reviewed by Sam Weinig.
622
623         Get accelerated compositing working with webkit2
624         https://bugs.webkit.org/show_bug.cgi?id=41084
625
626         Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
627         is defined.
628         
629         Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
630
631         * DerivedSources.make:
632         * WebCore.AcceleratedCompositing.exp: Added.
633         * WebCore.base.exp:
634         * WebCore.xcodeproj/project.pbxproj:
635
636 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
637
638         Reviewed by Darin Adler.
639
640         <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
641         REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
642
643         Test: plugins/write-xssauditor-from-destroy.html
644
645         Fix specific known cases that also crash in same process case. I don't know if there is
646         any rule for when documentLoader should be checked for being null, it looks like a mess.
647
648         * loader/FrameLoader.cpp:
649         (WebCore::FrameLoader::referrer):
650         * page/XSSAuditor.cpp:
651         (WebCore::XSSAuditor::findInRequest):
652
653 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
654
655         Reviewed by Darin Adler.
656
657         The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
658         https://bugs.webkit.org/show_bug.cgi?id=40271
659
660         Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
661
662         Spec link:
663         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
664
665         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
666         (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
667         * html/canvas/CanvasRenderingContext2D.cpp:
668         (WebCore::CanvasRenderingContext2D::drawImage):
669
670 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
671
672         Reviewed by Oliver Hunt.
673
674         [Qt] Canvas: clip() should use non-zero winding rule
675         https://bugs.webkit.org/show_bug.cgi?id=41466
676
677         Use non-zero winding number rule when clipping a GraphicsContext from canvas.
678         Fixes appearance of the "pill" in the web inspector.
679
680         * platform/graphics/qt/GraphicsContextQt.cpp:
681         (WebCore::GraphicsContext::canvasClip):
682
683 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
684
685         Unreviewed, rolling out r62246.
686         http://trac.webkit.org/changeset/62246
687         https://bugs.webkit.org/show_bug.cgi?id=41470
688
689         "Worker tests are broken in Chromium" (Requested by yurys on
690         #webkit).
691
692         * bindings/v8/ScriptController.cpp:
693         (WebCore::ScriptController::processingUserGesture):
694         * bindings/v8/V8AbstractEventListener.cpp:
695         (WebCore::V8AbstractEventListener::invokeEventHandler):
696         * bindings/v8/V8HiddenPropertyName.h:
697         * bindings/v8/custom/V8DOMWindowCustom.cpp:
698         (WebCore::V8DOMWindow::eventAccessorGetter):
699         (WebCore::V8DOMWindow::eventAccessorSetter):
700
701 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
702
703         Reviewed by Tor Arne Vestbø.
704
705         Canvas: Exception erroneously thrown for drawImage() when image.complete=false
706         https://bugs.webkit.org/show_bug.cgi?id=33968
707
708         Do nothing in drawImage() if called with an image whose 'complete'
709         attribute is false, or a video whose readyState is either HAVE_NOTHING
710         or HAVE_METADATA.
711
712         Spec link:
713         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
714
715         Test: fast/canvas/canvas-drawImage-incomplete.html
716
717         * html/canvas/CanvasRenderingContext2D.cpp:
718         (WebCore::CanvasRenderingContext2D::drawImage):
719
720 2010-07-01  Justin Schuh  <jschuh@chromium.org>
721
722         Reviewed by Dan Bernstein.
723
724         Prevent crash on counter destruction
725         https://bugs.webkit.org/show_bug.cgi?id=40032
726
727         Added counter destruction to RenderWidget::destroy()
728
729         Test: fast/css/counters/destroy-counter-crash.html
730
731         * rendering/RenderWidget.cpp:
732         (WebCore::RenderWidget::destroy):
733
734 2010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
735
736         Unreviewed build fix after r62215.
737
738         No new functionality, so no new tests.
739
740         * CMakeLists.txt: Add missing files and re-sort.
741
742 2010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
743
744         Reviewed by Kenneth Rohde Christiansen.
745
746         [Qt] Remove an unneeded assert.
747
748         This assert is triggered for example while showing the falling leaves demo.
749         GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
750         pointer is null. Looking at the uses of this method it seems like
751         it is expected to return null if a null pointer is given to it.
752
753         * platform/graphics/qt/GraphicsLayerQt.cpp:
754         (WebCore::toGraphicsLayerQtImpl):
755
756 2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
757
758         Reviewed by Simon Hausmann.
759
760         [Qt] Fix qmake vcproj generation for QtWebKit.
761
762         qmake use TARGET=/LIBS+= -lTARGET to create dependencies
763         between projects in a subdir template.
764
765         Since when compiling outside of Qt we hijack the target name of
766         QtWebKit to add the configuration and version suffix to the binary
767         filename, qmake can't establish the WebCore project as a dependency
768         to QtTestBrowser.
769
770         This patch makes sure that the target is not hijacked on the
771         first of the three passes where the dependencies are determined.
772
773         * WebCore.pro:
774
775 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
776
777         Reviewed by Dirk Schulze.
778
779         SVGRenderStyle::diff() is missing
780         https://bugs.webkit.org/show_bug.cgi?id=41455
781
782         Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
783         Figure out when to repaint, and as last resort do a relayout.
784
785         Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
786
787         * rendering/style/RenderStyle.cpp:
788         (WebCore::RenderStyle::diff):
789         * rendering/style/SVGRenderStyle.cpp:
790         (WebCore::SVGRenderStyle::diff):
791         * rendering/style/SVGRenderStyle.h:
792
793 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
794
795         Revert accidental commit.
796
797         * platform/network/qt/ResourceRequestQt.cpp:
798         (WebCore::ResourceRequest::toNetworkRequest):
799
800 2010-07-01  Patrick Gansterer  <paroga@paroga.com>
801
802         Reviewed by Dirk Schulze.
803
804         Buildfix for !ENABLE(FILTERS) after r62238.
805         https://bugs.webkit.org/show_bug.cgi?id=41456
806
807         * rendering/SVGRenderSupport.cpp:
808         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
809
810 2010-07-01  MORITA Hajime  <morrita@google.com>
811
812         Unreviewed build fix.
813
814         * rendering/RenderInputSpeech.cpp:
815         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
816         * rendering/RenderInputSpeech.h:
817         * rendering/RenderTheme.cpp:
818         (WebCore::RenderTheme::paintInputFieldSpeechButton):
819         * rendering/RenderTheme.h:
820
821 2010-07-01  Satish Sampath  <satish@chromium.org>
822
823         Reviewed by Kent Tamura.
824
825         Rendering the speech button in input elements.
826         https://bugs.webkit.org/show_bug.cgi?id=40984
827
828         The button currently has only one state and rendered as an image on all platforms. Subsequent
829         patches will add user input handling and more states + rendering code to the button. The
830         button's appearance can be customized by individual ports in their RenderTheme implementation
831         if required.
832
833         Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
834                platform/mac/fast/forms/input-appearance-searchandspeech.html
835                platform/mac/fast/forms/input-appearance-speechbutton.html
836
837         * GNUmakefile.am:
838         * Resources/inputSpeech.png: Added.
839         * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
840         * WebCore.gypi:
841         * WebCore.pro:
842         * WebCore.qrc:
843         * WebCore.xcodeproj/project.pbxproj:
844         * platform/graphics/qt/ImageQt.cpp:
845         (loadResourcePixmap): Load the speech button images for Qt port.
846         * rendering/RenderInputSpeech.cpp: Added.
847         (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
848         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
849         * rendering/RenderInputSpeech.h: Added.
850         * rendering/RenderTextControlSingleLine.cpp:
851         (WebCore::RenderTextControlSingleLine::layout):
852         (WebCore::RenderTextControlSingleLine::forwardEvent):
853         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
854         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
855         * rendering/RenderTheme.cpp:
856         (WebCore::RenderTheme::adjustStyle):
857         (WebCore::RenderTheme::paint):
858         (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
859         (WebCore::RenderTheme::paintInputFieldSpeechButton):
860         * rendering/RenderTheme.h:
861         * rendering/RenderThemeMac.mm:
862         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
863         speech button when enabled.
864
865 2010-07-01  Mario Sanchez Prada  <msanchez@igalia.com>
866
867         Reviewed by Xan Lopez.
868
869         [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
870         https://bugs.webkit.org/show_bug.cgi?id=41447
871
872         Extra null check added.
873
874         * editing/gtk/SelectionControllerGtk.cpp:
875         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
876
877 2010-07-01  Yury Semikhatsky  <yurys@chromium.org>
878
879         Reviewed by Adam Barth.
880
881         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
882         https://bugs.webkit.org/show_bug.cgi?id=41350
883
884         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
885                http/tests/inspector/change-iframe-src.html
886
887         * bindings/v8/ScriptController.cpp:
888         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
889         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
890         * bindings/v8/V8AbstractEventListener.cpp:
891         (WebCore::V8AbstractEventListener::invokeEventHandler):
892         * bindings/v8/V8HiddenPropertyName.h:
893         * bindings/v8/custom/V8DOMWindowCustom.cpp:
894         (WebCore::V8DOMWindow::eventAccessorGetter):
895         (WebCore::V8DOMWindow::eventAccessorSetter):
896
897 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
898
899         Reviewed by Dirk Schulze.
900
901         RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
902         https://bugs.webkit.org/show_bug.cgi?id=41450
903
904         strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
905         instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
906         which has a resource applied and contains a children which also has a resource applied.
907
908         Doesn't affect any test results.
909
910         * rendering/RenderSVGContainer.cpp:
911         (WebCore::RenderSVGContainer::objectBoundingBox):
912         (WebCore::RenderSVGContainer::strokeBoundingBox):
913         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
914         * rendering/RenderSVGRoot.cpp:
915         (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
916         (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
917         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
918         * rendering/RenderSVGRoot.h:
919         * rendering/SVGRenderSupport.cpp:
920         (WebCore::SVGRenderSupport::computeContainerBoundingBox):
921         * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
922
923 2010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>
924
925         Reviewed by Nikolas Zimmermann.
926
927         Implementing feConvolveMatrix svg filter
928         https://bugs.webkit.org/show_bug.cgi?id=5861
929
930         The implementation is optimized for speed, and uses
931         multiple algorithms for different parts of the image.
932         See SVGFEConvolveMatrixElement.cpp for a detailed
933         description.
934
935         * svg/SVGFEConvolveMatrixElement.cpp:
936         (WebCore::SVGFEConvolveMatrixElement::build):
937         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
938         (WebCore::clampRGBAValue):
939         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
940         (WebCore::FEConvolveMatrix::getPixelValue):
941         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
942         (WebCore::FEConvolveMatrix::setInteriorPixels):
943         (WebCore::FEConvolveMatrix::setOuterPixels):
944         (WebCore::FEConvolveMatrix::apply):
945         * svg/graphics/filters/SVGFEConvolveMatrix.h:
946         (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
947
948 2010-07-01  Adam Barth  <abarth@webkit.org>
949
950         Reviewed by Eric Seidel.
951
952         Abstract 'a'-'z' checks into a function
953         https://bugs.webkit.org/show_bug.cgi?id=41438
954
955         Hopefully this version is more readable.
956
957         * html/HTMLTokenizer.cpp:
958         (WebCore::HTMLTokenizer::nextToken):
959
960 2010-07-01  Adam Barth  <abarth@webkit.org>
961
962         Reviewed by Eric Seidel.
963
964         Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
965         https://bugs.webkit.org/show_bug.cgi?id=41345
966
967         Apparently whether an HTML entity requires a trailing semicolon varies
968         depending on the entity.  The full table is in the spec:
969
970         http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
971
972         I believe branch added in this patch is accurate.  At some point, I'll
973         add a full test suite for all the named entities.
974
975         * html/HTMLEntityParser.cpp:
976         (WebCore::consumeHTMLEntity):
977
978 2010-07-01  Eric Seidel  <eric@webkit.org>
979
980         Unreviewed.  Fix paste-o in Gtk build file.
981
982         Split out HTMLFormattingElementList into its own file
983         https://bugs.webkit.org/show_bug.cgi?id=41440
984
985         * GNUmakefile.am:
986
987 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
988
989         Reviewed by Eric Seidel & Dirk Schulze.
990
991         Performance regression for setting content of <text> in SVG
992         https://bugs.webkit.org/show_bug.cgi?id=36564
993
994         Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
995         Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
996         Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
997         And as RenderSVGRoot never carries shadow or opacity it was completly useless.
998
999         RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
1000         These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
1001         the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
1002
1003         50 runs without the patch: ~ 520.8ms
1004         50 runs with the patch   : ~ 501.8ms
1005
1006         The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
1007         element withs clippers applied, is very cheap now.
1008
1009         Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
1010         of the cache - just like all other resources are handled, simplifying the code.
1011
1012         * rendering/RenderPath.cpp:
1013         (WebCore::RenderPath::paint):
1014         * rendering/RenderSVGContainer.cpp:
1015         (WebCore::RenderSVGContainer::paint):
1016         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1017         * rendering/RenderSVGImage.cpp:
1018         (WebCore::RenderSVGImage::paint):
1019         * rendering/RenderSVGRoot.cpp:
1020         (WebCore::RenderSVGRoot::paint):
1021         * rendering/SVGInlineFlowBox.cpp:
1022         (WebCore::SVGInlineFlowBox::paint):
1023         * rendering/SVGRenderSupport.cpp:
1024         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
1025         (WebCore::SVGRenderSupport::finishRenderSVGContent):
1026         * rendering/SVGRenderSupport.h:
1027         * rendering/SVGRootInlineBox.cpp:
1028         (WebCore::SVGRootInlineBox::paint):
1029
1030 2010-07-01  Eric Seidel  <eric@webkit.org>
1031
1032         Reviewed by Adam Barth.
1033
1034         Split out HTMLFormattingElementList into its own file
1035         https://bugs.webkit.org/show_bug.cgi?id=41440
1036
1037         No functional changes, thus no tests.
1038
1039         * Android.mk:
1040         * CMakeLists.txt:
1041         * GNUmakefile.am:
1042         * WebCore.gypi:
1043         * WebCore.pro:
1044         * WebCore.vcproj/WebCore.vcproj:
1045         * WebCore.xcodeproj/project.pbxproj:
1046         * html/HTMLTreeBuilder.cpp:
1047         (WebCore::HTMLTreeBuilder::processEndTag):
1048         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
1049         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
1050         * html/HTMLTreeBuilder.h:
1051
1052 2010-07-01  Adam Barth  <abarth@webkit.org>
1053
1054         Reviewed by Eric Seidel.
1055
1056         BogusCommentState should come in from the cold
1057         https://bugs.webkit.org/show_bug.cgi?id=41439
1058
1059         The BogusCommentState has always been wrong.  The proximate issue is
1060         that it didn't handle resuming correctly when parsing a partial input
1061         stream.  Now that we have EOF working properly, we can actually
1062         implement this state correctly.
1063
1064         We need to distinguish when we enter this state from when we continue
1065         in this state.  We could do that with a branch for each character, but
1066         it seemed easier to split the state in two, even though that leaves us
1067         with one more state in our tokenizer than we have in the HTML5 spec.
1068
1069         * html/HTMLTokenizer.cpp:
1070         (WebCore::HTMLTokenizer::nextToken):
1071         * html/HTMLTokenizer.h:
1072         (WebCore::HTMLTokenizer::):
1073
1074 2010-06-30  Adam Barth  <abarth@webkit.org>
1075
1076         Reviewed by Eric Seidel.
1077
1078         HTMLTokenizer's whitespace checks are very redundant
1079         https://bugs.webkit.org/show_bug.cgi?id=41434
1080
1081         This patch adds isTokenizerWhitespace, which replaces a lot of
1082         redundant logic in nextToken.
1083
1084         * html/HTMLTokenizer.cpp:
1085         (WebCore::HTMLTokenizer::nextToken):
1086
1087 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
1088
1089         Reviewed by Kenneth Rohde Christiansen.
1090
1091         [Qt] Crash when uploading document to Google Docs
1092         https://bugs.webkit.org/show_bug.cgi?id=40795
1093
1094         Fix bug where the local file wasn't opened (for POSTing)
1095         if it were the first element in the form.
1096
1097         * platform/network/qt/QNetworkReplyHandler.cpp:
1098         (WebCore::FormDataIODevice::FormDataIODevice):
1099         (WebCore::FormDataIODevice::moveToNextElement):
1100         (WebCore::FormDataIODevice::openFileForCurrentElement):
1101         * platform/network/qt/QNetworkReplyHandler.h:
1102
1103 2010-06-30  Eric Seidel  <eric@webkit.org>
1104
1105         Reviewed by Adam Barth.
1106
1107         Implement generateImpliedEndTags and deploy to steps which were blocked on it
1108         https://bugs.webkit.org/show_bug.cgi?id=41432
1109
1110         This fixes one subtest in html5lib/runner.html and positively
1111         effects a couple others.
1112
1113         More code sharing will be needed here.  For the moment
1114         we're using copy/paste code, but that will soon be shared.
1115
1116         * html/HTMLTreeBuilder.cpp:
1117         (WebCore::HTMLTreeBuilder::processEndTag):
1118         (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
1119         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
1120         * html/HTMLTreeBuilder.h:
1121
1122 2010-06-30  Csaba Osztrogonác  <ossy@webkit.org>
1123
1124         Unreviewed buildfix after r62196 and r62214.
1125
1126         * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
1127         !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
1128
1129 2010-06-30  Sam Weinig  <sam@webkit.org>
1130
1131         Really fix the windows build.
1132
1133         * bindings/js/JSBindingsAllInOne.cpp:
1134
1135 2010-06-30  Sam Weinig  <sam@webkit.org>
1136
1137         Another Chromium build fix.
1138
1139         * page/DOMWindow.idl:
1140
1141 2010-06-30  Sam Weinig  <sam@webkit.org>
1142
1143         Fix Chromium build.
1144
1145         * WebCore.gyp/WebCore.gyp:
1146
1147 2010-06-30  Sam Weinig  <sam@webkit.org>
1148
1149         Fix Windows build.
1150
1151         * bindings/js/JSBindingsAllInOne.cpp:
1152
1153 2010-06-30  Sam Weinig  <sam@webkit.org>
1154
1155         Fix Gtk build.
1156
1157         * GNUmakefile.am:
1158
1159 2010-06-29  Sam Weinig  <sam@webkit.org>
1160
1161         Reviewed by Dan Bernstein.
1162
1163         Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
1164         <rdar://problem/8126069>
1165         Implement the .dataset DOM property
1166
1167         Tests: fast/dom/dataset-xhtml.xhtml
1168                fast/dom/dataset.html
1169
1170         * DerivedSources.cpp:
1171         * DerivedSources.make:
1172         * GNUmakefile.am:
1173         * WebCore.gypi:
1174         * WebCore.pro:
1175         * WebCore.vcproj/WebCore.vcproj:
1176         * WebCore.xcodeproj/project.pbxproj:
1177         * bindings/js/JSDOMStringMapCustom.cpp: Added.
1178         (WebCore::JSDOMStringMap::canGetItemsForName):
1179         (WebCore::JSDOMStringMap::nameGetter):
1180         (WebCore::JSDOMStringMap::getOwnPropertyNames):
1181         (WebCore::JSDOMStringMap::deleteProperty):
1182         (WebCore::JSDOMStringMap::putDelegate):
1183         * bindings/js/JSDOMStringMapCustom.h: Added.
1184         * dom/DOMStringMap.cpp: Added.
1185         (WebCore::DOMStringMap::~DOMStringMap):
1186         * dom/DOMStringMap.h: Added.
1187         (WebCore::DOMStringMap::DOMStringMap):
1188         * dom/DOMStringMap.idl: Added.
1189         * dom/DatasetDOMStringMap.cpp: Added.
1190         (WebCore::isValidAttributeName):
1191         (WebCore::convertAttributeNameToPropertyName):
1192         (WebCore::propertyNameMatchesAttributeName):
1193         (WebCore::isValidPropertyName):
1194         (WebCore::convertPropertyNameToAttributeName):
1195         (WebCore::DatasetDOMStringMap::ref):
1196         (WebCore::DatasetDOMStringMap::deref):
1197         (WebCore::DatasetDOMStringMap::getNames):
1198         (WebCore::DatasetDOMStringMap::item):
1199         (WebCore::DatasetDOMStringMap::contains):
1200         (WebCore::DatasetDOMStringMap::setItem):
1201         (WebCore::DatasetDOMStringMap::deleteItem):
1202         * dom/DatasetDOMStringMap.h: Added.
1203         (WebCore::DatasetDOMStringMap::create):
1204         (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
1205         * dom/Element.cpp:
1206         (WebCore::Element::dataset):
1207         * dom/Element.h:
1208         * dom/Element.idl:
1209         * dom/ElementRareData.h:
1210         * page/DOMWindow.idl:
1211
1212 2010-06-30  Darin Adler  <darin@apple.com>
1213
1214         More Qt build fix.
1215
1216         * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
1217         include of SVGNames.h too.
1218
1219 2010-06-30  Darin Adler  <darin@apple.com>
1220
1221         Reviewed by Adam Barth.
1222
1223         Add assertion, off by default, for when you forget to do adoptRef
1224         https://bugs.webkit.org/show_bug.cgi?id=41422
1225
1226         * platform/TreeShared.h: Added code to require adoption and assert if
1227         you don't call adoptRef. For now, it is turned off because of the
1228         LOOSE_TREE_SHARED define in this header. Later we can turn it on
1229         once we get everything working without asserting. Note also that it
1230         only works for objects with an initial reference count of 1.
1231
1232 2010-06-30  Patrick Gansterer  <paroga@paroga.com>
1233
1234         Reviewed by Darin Adler.
1235
1236         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
1237         https://bugs.webkit.org/show_bug.cgi?id=41429
1238
1239         * html/HTMLElementStack.cpp:
1240
1241 2010-06-30  Eric Seidel  <eric@webkit.org>
1242
1243         Reviewed by Adam Barth.
1244
1245         Add new popUntil(tagName) function and deploy
1246         https://bugs.webkit.org/show_bug.cgi?id=41405
1247
1248         Add a new popUntil function to share some common code
1249         between states.  There is more code to share here, but this
1250         is a start.
1251
1252         I also filled in a couple similar states to these with the
1253         hope of sharing more code, but decided to wait for a later
1254         patch.
1255
1256         No test changes, since this code doesn't do enough yet to
1257         pass any more subtests.  Lack of generateImpliedEndTags is the main
1258         blocking issue.
1259
1260         * html/HTMLElementStack.cpp:
1261         (WebCore::HTMLElementStack::popUntil):
1262         * html/HTMLElementStack.h:
1263         * html/HTMLTreeBuilder.cpp:
1264         (WebCore::HTMLTreeBuilder::processEndTag):
1265
1266 2010-06-30  Xan Lopez  <xlopez@igalia.com>
1267
1268         Reviewed by Gustavo Noronha.
1269
1270         [GTK] Unit test for DOM insertion methods
1271         https://bugs.webkit.org/show_bug.cgi?id=40495
1272
1273         Fix typo in custom function detection method.
1274
1275         * bindings/scripts/CodeGeneratorGObject.pm:
1276
1277 2010-06-30  Eric Seidel  <eric@webkit.org>
1278
1279         Reviewed by Adam Barth.
1280
1281         Implement HTML5 "in scope" algorithm and attempt to use it
1282         https://bugs.webkit.org/show_bug.cgi?id=41402
1283
1284         Implemented the 4 needed "in scope" functions for HTML5.
1285         3 for the different sets of scope markers, and one for
1286         doing exact element comparisons instead of tag name searches.
1287
1288         I deployed inScope("body") for </body> and </html> in InBody.
1289
1290         Adds two new (expected) failures, since we're now
1291         switching out of InBody to AfterBody when seeing
1292         </html>.  We don't implement AfterBody yet, so
1293         the rest of the content after </html> is ignored.
1294
1295         * html/HTMLElementStack.cpp:
1296         (WebCore::inScopeCommon):
1297         (WebCore::HTMLElementStack::inScope):
1298         (WebCore::HTMLElementStack::inListItemScope):
1299         (WebCore::HTMLElementStack::inTableScope):
1300         * html/HTMLElementStack.h:
1301         * html/HTMLTreeBuilder.cpp:
1302         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
1303         (WebCore::HTMLTreeBuilder::processEndTag):
1304         * html/HTMLTreeBuilder.h:
1305
1306 2010-06-30  Eric Seidel  <eric@webkit.org>
1307
1308         Reviewed by Adam Barth.
1309
1310         Split HTMLElementStack out into its own file
1311         https://bugs.webkit.org/show_bug.cgi?id=41399
1312
1313         No functional change, thus no tests.
1314
1315         * Android.mk:
1316         * CMakeLists.txt:
1317         * GNUmakefile.am:
1318         * WebCore.gypi:
1319         * WebCore.pro:
1320         * WebCore.vcproj/WebCore.vcproj:
1321         * WebCore.xcodeproj/project.pbxproj:
1322         * html/HTMLElementStack.cpp: Added.
1323         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1324         (WebCore::HTMLElementStack::ElementRecord::element):
1325         (WebCore::HTMLElementStack::ElementRecord::next):
1326         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
1327         (WebCore::HTMLElementStack::ElementRecord::setNext):
1328         (WebCore::HTMLElementStack::HTMLElementStack):
1329         (WebCore::HTMLElementStack::~HTMLElementStack):
1330         (WebCore::HTMLElementStack::popHTMLHeadElement):
1331         (WebCore::HTMLElementStack::pop):
1332         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1333         (WebCore::HTMLElementStack::pushHTMLHeadElement):
1334         (WebCore::HTMLElementStack::pushHTMLBodyElement):
1335         (WebCore::HTMLElementStack::push):
1336         (WebCore::HTMLElementStack::top):
1337         (WebCore::HTMLElementStack::removeHTMLHeadElement):
1338         (WebCore::HTMLElementStack::remove):
1339         (WebCore::HTMLElementStack::contains):
1340         (WebCore::HTMLElementStack::inScope):
1341         (WebCore::HTMLElementStack::htmlElement):
1342         (WebCore::HTMLElementStack::headElement):
1343         (WebCore::HTMLElementStack::bodyElement):
1344         (WebCore::HTMLElementStack::pushCommon):
1345         (WebCore::HTMLElementStack::popCommon):
1346         (WebCore::HTMLElementStack::removeNonFirstCommon):
1347         * html/HTMLElementStack.h: Added.
1348         * html/HTMLTreeBuilder.h:
1349
1350 2010-06-30  Kenneth Russell  <kbr@google.com>
1351
1352         Reviewed by Oliver Hunt.
1353
1354         WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
1355         https://bugs.webkit.org/show_bug.cgi?id=38040
1356
1357         Changed custom ArrayBufferView constructors to create a
1358         fully-initialized, zero-length array when called with zero
1359         arguments. This is the simplest fix which works identically in
1360         both the JSC and V8 bindings.
1361
1362         Test: fast/canvas/webgl/array-buffer-view-crash.html
1363
1364         * bindings/js/JSArrayBufferViewHelper.h:
1365         (WebCore::constructArrayBufferView):
1366         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1367         (WebCore::constructWebGLArray):
1368
1369 2010-06-30  Victor Wang  <victorw@chromium.org>
1370
1371         Reviewed by Darin Fisher.
1372
1373         [chromium] update webcore gyp to use v8 dll for chromium multi dll build.
1374
1375         https://bugs.webkit.org/show_bug.cgi?id=41376
1376
1377         * WebCore.gyp/WebCore.gyp:
1378
1379 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
1380
1381         Reviewed by Dimitri Glazkov.
1382
1383         [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
1384
1385         On OS X, with font management software installed. Fonts
1386         can reside in an arbitrary path on disk which is blocked by
1387         Chromium's sandbox.
1388
1389         This change adds hooks to FontPlaformData which allow cross-process
1390         font loading in case of need.
1391
1392         https://bugs.webkit.org/show_bug.cgi?id=41148
1393
1394         Not possible to test - requires sandboxing which DRT doesn't support.
1395
1396         * WebCore.gypi:
1397         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
1398         (WebCore::FontPlatformData::FontPlatformData):
1399         (WebCore::FontPlatformData::~FontPlatformData):
1400         (WebCore::FontPlatformData::operator=):
1401         (WebCore::FontPlatformData::setFont):
1402         (WebCore::FontPlatformData::roundsGlyphAdvances):
1403         (WebCore::FontPlatformData::allowsLigatures):
1404         (WebCore::FontPlatformData::description):
1405
1406 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
1407
1408         Reviewed by Dan Bernstein.
1409
1410         Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
1411
1412         * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
1413         * Fix a typo in FontPlatformDataMac.mm
1414
1415         https://bugs.webkit.org/show_bug.cgi?id=41152
1416
1417         No behavior changes so no new tests.
1418
1419         * platform/graphics/mac/FontPlatformDataMac.mm:
1420         (WebCore::FontPlatformData::description):
1421         * platform/graphics/mac/SimpleFontDataMac.mm:
1422         (WebCore::copyFontTableForTag):
1423
1424 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
1425
1426         Reviewed by Kenneth Rohde Christiansen.
1427
1428         [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
1429         https://bugs.webkit.org/show_bug.cgi?id=41407
1430
1431         Only disallow calling SetWindow more than once if we're using Flash 9 or older.
1432         This fixes resizing of YouTube videos via the player's own button.
1433
1434         Removed copy-pasted logic in PluginViewGtk since the issue only exists
1435         when running Flash with a non-Gtk toolkit.
1436
1437         * plugins/PluginPackage.cpp:
1438         (WebCore::PluginPackage::determineQuirks):
1439         * plugins/PluginQuirkSet.h:
1440         (WebCore::):
1441         * plugins/gtk/PluginViewGtk.cpp:
1442         (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
1443         * plugins/qt/PluginViewQt.cpp:
1444         (WebCore::PluginView::setNPWindowIfNeeded):
1445
1446 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
1447
1448         Reviewed by Antti Koivisto.
1449
1450         [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
1451         https://bugs.webkit.org/show_bug.cgi?id=41406
1452
1453         NPRect has right/bottom instead of width/height.
1454         This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
1455
1456         * plugins/gtk/PluginViewGtk.cpp:
1457         (WebCore::PluginView::setNPWindowIfNeeded):
1458         * plugins/qt/PluginViewQt.cpp:
1459         (WebCore::PluginView::setNPWindowIfNeeded):
1460         * plugins/symbian/PluginViewSymbian.cpp:
1461         (WebCore::PluginView::setNPWindowIfNeeded):
1462
1463 2010-06-30  Antonio Gomes  <tonikitoo@webkit.org>
1464
1465         Reviewed by Simon Fraser.
1466
1467         Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
1468         https://bugs.webkit.org/show_bug.cgi?id=41160
1469
1470         Patch addresses the problem of spatial navigation not work properly with nested
1471         inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
1472         if a give node is descendant of a given document or any parent of it.
1473
1474         Test: fast/events/spatial-navigation/snav-iframe-nested.html
1475
1476         * page/FocusController.cpp:
1477         (WebCore::FocusController::deepFindFocusableNodeInDirection):
1478         * page/SpatialNavigation.cpp:
1479         (WebCore::isNodeDeepDescendantOfDocument):
1480         * page/SpatialNavigation.h:
1481
1482 2010-06-30  Adam Barth  <abarth@webkit.org>
1483
1484         Reviewed by Eric Seidel.
1485
1486         HTMLTokenizer should use fewer macros
1487         https://bugs.webkit.org/show_bug.cgi?id=41397
1488
1489         Macros are sadness.  Inline functions are the new hotness.
1490
1491         * html/HTMLTokenizer.cpp:
1492         (WebCore::HTMLTokenizer::processEntity):
1493         (WebCore::HTMLTokenizer::emitAndResumeIn):
1494         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
1495         (WebCore::HTMLTokenizer::emitEndOfFile):
1496         (WebCore::HTMLTokenizer::flushBufferedEndTag):
1497         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
1498         (WebCore::HTMLTokenizer::nextToken):
1499         (WebCore::HTMLTokenizer::bufferCharacter):
1500         (WebCore::HTMLTokenizer::bufferCodePoint):
1501         (WebCore::HTMLTokenizer::bufferParseError):
1502         (WebCore::HTMLTokenizer::bufferCurrentToken):
1503         (WebCore::HTMLTokenizer::bufferEndOfFile):
1504         * html/HTMLTokenizer.h:
1505
1506 2010-06-30  Justin Schuh  <jschuh@chromium.org>
1507
1508         Reviewed by Adam Barth.
1509
1510         Remove dead binding code
1511         https://bugs.webkit.org/show_bug.cgi?id=41388
1512
1513         Removed BindingElement because it was obsoleted by r59866.
1514
1515         * WebCore.gypi:
1516         * bindings/generic/BindingElement.h: Removed.
1517         * bindings/v8/SerializedScriptValue.cpp:
1518         * bindings/v8/V8Binding.h:
1519         * bindings/v8/custom/V8DatabaseCustom.cpp:
1520         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
1521         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1522         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1523
1524 2010-06-30  Eric Seidel  <eric@webkit.org>
1525
1526         Reviewed by Adam Barth.
1527
1528         HTMLTokenizer needs EndOfFile support
1529         https://bugs.webkit.org/show_bug.cgi?id=41344
1530
1531         EndOfFile support uncovered a bug in our implementation of finish().
1532         finish() may be called more than once if the first call does not
1533         result in end() being called (and parsing thus actually stopping).
1534
1535         SegmentedString::close() should have ASSERTed that it was not already
1536         closed when close() is called.  I've added such an assert now.
1537
1538         * html/HTMLDocumentParser.cpp:
1539         (WebCore::HTMLDocumentParser::finish):
1540         * platform/text/SegmentedString.cpp:
1541         (WebCore::SegmentedString::close):
1542         * platform/text/SegmentedString.h:
1543
1544 2010-06-29  Eric Seidel  <eric@webkit.org>
1545
1546         Reviewed by Adam Barth.
1547
1548         HTMLTokenizer needs EndOfFile support
1549         https://bugs.webkit.org/show_bug.cgi?id=41344
1550
1551         We're using \0 as the EndOfFile marker as HTML5 replaces
1552         all other \0 with \0xFFFD.  Added some special case logic
1553         to InputStreamPreprocessor::peek not to replace \0 when
1554         its being used at the end of a stream.
1555
1556         This fixed 60 subtests in html5lib/runner.html.
1557
1558         There are still at least two states (BogusCommentState and
1559         CDATASectionState) which do not have proper EOF support.
1560
1561         * html/HTMLDocumentParser.cpp:
1562         (WebCore::HTMLDocumentParser::finish):
1563         (WebCore::HTMLDocumentParser::finishWasCalled):
1564         * html/HTMLInputStream.h:
1565         (WebCore::HTMLInputStream::markEndOfFile):
1566         (WebCore::HTMLInputStream::haveSeenEndOfFile):
1567         * html/HTMLToken.h:
1568         (WebCore::HTMLToken::makeEndOfFile):
1569         * html/HTMLTokenizer.cpp:
1570         (WebCore::HTMLTokenizer::nextToken):
1571         (WebCore::HTMLTokenizer::emitEndOfFile):
1572         * html/HTMLTokenizer.h:
1573         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
1574         (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
1575         * html/HTMLTreeBuilder.cpp:
1576         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
1577
1578 2010-06-28  Eric Seidel  <eric@webkit.org>
1579
1580         Reviewed by Adam Barth.
1581
1582         Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
1583         https://bugs.webkit.org/show_bug.cgi?id=41337
1584
1585         Had to teach ElementStack to store pointers to html, head, and body
1586         elements.
1587
1588         This fixed a few tests in LayoutTests/html5lib.
1589
1590         * html/HTMLTreeBuilder.cpp:
1591         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
1592         (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
1593         (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
1594         (WebCore::HTMLTreeBuilder::processStartTag):
1595         (WebCore::HTMLTreeBuilder::processEndTag):
1596         (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
1597         (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
1598         (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
1599         (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
1600         (WebCore::HTMLTreeBuilder::insertElement):
1601         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
1602         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
1603         * html/HTMLTreeBuilder.h:
1604         (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
1605         (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
1606         (WebCore::HTMLTreeBuilder::ElementStack::pop):
1607         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
1608         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
1609         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
1610         (WebCore::HTMLTreeBuilder::ElementStack::push):
1611         (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
1612         (WebCore::HTMLTreeBuilder::ElementStack::remove):
1613         (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
1614         (WebCore::HTMLTreeBuilder::ElementStack::headElement):
1615         (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
1616         (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
1617         (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
1618         (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
1619
1620 2010-06-30  José Millán Soto  <jmillan@igalia.com>
1621
1622         Reviewed by Xan Lopez.
1623
1624         [Gtk] Text attributes not exposed
1625         https://bugs.webkit.org/show_bug.cgi?id=25528
1626
1627         Implemented the get_run_attributes and get_default_attributes
1628         functions for the ATK_TEXT role.
1629
1630         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1631         (getAttributeSetForAccessibilityObject):
1632         (compareAttribute):
1633         (attributeSetDifference):
1634         (accessibilityObjectLength):
1635         (getAccessibilityObjectForOffset):
1636         (getRunAttributesFromAccesibilityObject):
1637         (webkit_accessible_text_get_run_attributes):
1638         (webkit_accessible_text_get_default_attributes):
1639
1640 2010-06-30  Yuta Kitamura  <yutak@chromium.org>
1641
1642         Reviewed by Alexey Proskuryakov.
1643
1644         Fix Sec-WebSocketKey{1,2} headers.
1645
1646         According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
1647         should not start or end with a space.
1648
1649         WebSocket: Malformed handshake headers in a worker due to rand_s failing
1650         https://bugs.webkit.org/show_bug.cgi?id=41327
1651
1652         No new tests. ASSERT should catch the problem.
1653
1654         * websockets/WebSocketHandshake.cpp:
1655         (WebCore::generateSecWebSocketKey):
1656
1657 2010-06-30  Yuzo Fujishima  <yuzo@google.com>
1658
1659         Reviewed by Dan Bernstein.
1660
1661         Fix for Bug 41339 - unicode-range property only with a descending range
1662         causes a crash
1663
1664         https://bugs.webkit.org/show_bug.cgi?id=41339
1665
1666         Test: fast/css/font-face-descending-unicode-range.html
1667
1668         * css/CSSParser.cpp:
1669         (WebCore::CSSParser::parseFontFaceUnicodeRange):
1670
1671 2010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>
1672
1673         Reviewed by Laszlo Gombos.
1674
1675         [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
1676         https://bugs.webkit.org/show_bug.cgi?id=37303
1677
1678         * plugins/symbian/PluginViewSymbian.cpp:
1679         (WebCore::PluginView::platformDestroy):
1680
1681 2010-06-29  Zhenyao Mo  <zmo@google.com>
1682
1683         Reviewed by Dimitri Glazkov.
1684
1685         Implement getAttachedShaders
1686         https://bugs.webkit.org/show_bug.cgi?id=31172
1687
1688         * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
1689         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
1690         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
1691         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1692         * html/canvas/WebGLRenderingContext.cpp:
1693         (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
1694         (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
1695         * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
1696         * html/canvas/WebGLRenderingContext.idl: Ditto.
1697         * platform/graphics/GraphicsContext3D.h: Ditto.
1698         * platform/graphics/mac/GraphicsContext3DMac.mm:
1699         (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
1700
1701 2010-06-29  MORITA Hajime  <morrita@google.com>
1702
1703         Reviewed by Kent Tamura.
1704
1705         REGRESSION: [Chromium] <progress> appearance on windows looks not good
1706         https://bugs.webkit.org/show_bug.cgi?id=41343
1707         
1708         RenderThemeChromiumWin::paintProgressBar() should return false,
1709         which indicates the widget is painted.
1710         
1711         Test: fast/dom/HTMLProgressElement/progress-element.html
1712               * rebaselined with a wrong expectation.
1713
1714         * rendering/RenderThemeChromiumWin.cpp:
1715         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1716
1717 2010-06-29  Kinuko Yasuda  <kinuko@chromium.org>
1718
1719         Reviewed by Jian Li.
1720
1721         Fix http/tests/local/blob/send-data-blob.html on Windows
1722         https://bugs.webkit.org/show_bug.cgi?id=41228
1723
1724         Fix a regression bug in the line-conversion code.
1725         Rewrite the line-conversion function with simpler functions to
1726         make it less error prone.
1727
1728         No new tests as this is for bug fixes.
1729
1730         * platform/BlobItem.cpp:
1731         (WebCore::StringBlobItem::convertToCString):
1732
1733 2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
1734
1735         Reviewed by Darin Fisher.
1736
1737         Implementing DatabaseSync::openDatabaseSync().
1738         https://bugs.webkit.org/show_bug.cgi?id=40607
1739
1740         1. Moved some common code from Database to AbstractDatabase.
1741         2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
1742            need to interact with DatabaseThread.
1743         3. Removed the m_creationCallback field, since it's only needed in
1744            the openDatabase{Sync} methods.
1745
1746         * storage/AbstractDatabase.cpp:
1747         (WebCore::retrieveTextResultFromDatabase):
1748         (WebCore::setTextValueInDatabase):
1749         (WebCore::guidMutex):
1750         (WebCore::guidToVersionMap):
1751         (WebCore::updateGuidVersionMap):
1752         (WebCore::guidToDatabaseMap):
1753         (WebCore::guidForOriginAndName):
1754         (WebCore::AbstractDatabase::databaseInfoTableName):
1755         (WebCore::AbstractDatabase::AbstractDatabase):
1756         (WebCore::AbstractDatabase::closeDatabase):
1757         (WebCore::AbstractDatabase::version):
1758         (WebCore::AbstractDatabase::performOpenAndVerify):
1759         (WebCore::AbstractDatabase::scriptExecutionContext):
1760         (WebCore::AbstractDatabase::securityOrigin):
1761         (WebCore::AbstractDatabase::stringIdentifier):
1762         (WebCore::AbstractDatabase::displayName):
1763         (WebCore::AbstractDatabase::estimatedSize):
1764         (WebCore::AbstractDatabase::fileName):
1765         (WebCore::AbstractDatabase::databaseVersionKey):
1766         (WebCore::AbstractDatabase::getVersionFromDatabase):
1767         (WebCore::AbstractDatabase::setVersionInDatabase):
1768         (WebCore::AbstractDatabase::versionMatchesExpected):
1769         (WebCore::AbstractDatabase::setExpectedVersion):
1770         (WebCore::AbstractDatabase::disableAuthorizer):
1771         (WebCore::AbstractDatabase::enableAuthorizer):
1772         (WebCore::AbstractDatabase::setAuthorizerReadOnly):
1773         (WebCore::AbstractDatabase::lastActionChangedDatabase):
1774         (WebCore::AbstractDatabase::lastActionWasInsert):
1775         (WebCore::AbstractDatabase::resetDeletes):
1776         (WebCore::AbstractDatabase::hadDeletes):
1777         (WebCore::AbstractDatabase::resetAuthorizer):
1778         * storage/AbstractDatabase.h:
1779         (WebCore::AbstractDatabase::opened):
1780         (WebCore::AbstractDatabase::isNew):
1781         (WebCore::AbstractDatabase::databaseDebugName):
1782         * storage/Database.cpp:
1783         (WebCore::DatabaseCreationCallbackTask::create):
1784         (WebCore::DatabaseCreationCallbackTask::performTask):
1785         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
1786         (WebCore::Database::openDatabase):
1787         (WebCore::Database::Database):
1788         (WebCore::Database::version):
1789         (WebCore::Database::openAndVerifyVersion):
1790         (WebCore::Database::close):
1791         (WebCore::Database::stop):
1792         (WebCore::Database::performOpenAndVerify):
1793         * storage/Database.h:
1794         (WebCore::Database::sqliteDatabase):
1795         * storage/DatabaseAuthorizer.cpp:
1796         (WebCore::DatabaseAuthorizer::create):
1797         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1798         (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
1799         * storage/DatabaseAuthorizer.h:
1800         * storage/DatabaseSync.cpp:
1801         (WebCore::DatabaseSync::openDatabaseSync):
1802         (WebCore::DatabaseSync::DatabaseSync):
1803         (WebCore::DatabaseSync::~DatabaseSync):
1804         (WebCore::DatabaseSync::markAsDeletedAndClose):
1805         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
1806         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
1807         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
1808         (WebCore::DatabaseSync::closeImmediately):
1809         * storage/DatabaseSync.h:
1810         * storage/DatabaseTask.cpp:
1811         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1812         (WebCore::DatabaseOpenTask::doPerformTask):
1813         * storage/DatabaseTask.h:
1814         (WebCore::DatabaseOpenTask::create):
1815
1816 2010-06-29  François Sausset  <sausset@gmail.com>
1817
1818         Reviewed by Darin Adler.
1819
1820         Fix a bug when a msubsup element is inside a mrow element
1821         https://bugs.webkit.org/show_bug.cgi?id=36525
1822
1823         Test: mathml/presentation/subsup.xhtml
1824
1825         * mathml/RenderMathMLSubSup.cpp:
1826         (WebCore::RenderMathMLSubSup::stretchToHeight):
1827
1828 2010-06-29  Zhenyao Mo  <zmo@google.com>
1829
1830         Reviewed by Dimitri Glazkov.
1831
1832         uniformmatrix* should generate INVALID_VALUE with transpose = true
1833         https://bugs.webkit.org/show_bug.cgi?id=41235
1834
1835         Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
1836
1837         * html/canvas/WebGLRenderingContext.cpp:
1838         (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
1839         (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
1840         (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
1841         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
1842         * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
1843
1844 2010-06-29  Kenneth Russell  <kbr@google.com>
1845
1846         Reviewed by Dimitri Glazkov.
1847
1848         Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
1849         https://bugs.webkit.org/show_bug.cgi?id=40398
1850
1851         Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
1852         parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
1853         More cleanly separated the unpacking and packing phases of user-supplied pixel data
1854         in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
1855         of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
1856         validation of the amount of data passed to texImage2D and texSubImage2D. Modified
1857         fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
1858         tests for relevant source formats; added new test which exercises all combinations
1859         of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
1860         store parameters.
1861
1862         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
1863
1864         * html/canvas/WebGLRenderingContext.cpp:
1865         (WebCore::WebGLRenderingContext::texImage2D):
1866         (WebCore::WebGLRenderingContext::texSubImage2D):
1867         (WebCore::WebGLRenderingContext::validateTexFuncData):
1868         * html/canvas/WebGLRenderingContext.h:
1869         * platform/graphics/GraphicsContext3D.cpp:
1870         (WebCore::GraphicsContext3D::extractImageData):
1871         (WebCore::GraphicsContext3D::extractTextureData):
1872         (WebCore::GraphicsContext3D::flipVertically):
1873         (WebCore::doUnpackingAndPacking):
1874         (WebCore::computeIncrementParameters):
1875         (WebCore::doPacking):
1876         (WebCore::GraphicsContext3D::packPixels):
1877         * platform/graphics/GraphicsContext3D.h:
1878         (WebCore::GraphicsContext3D::):
1879         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1880         (WebCore::GraphicsContext3D::getImageData):
1881         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1882         (WebCore::GraphicsContext3D::getImageData):
1883         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1884         (WebCore::GraphicsContext3D::getImageData):
1885
1886 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
1887
1888         Reviewed by Dirk Schulze.
1889
1890         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
1891         https://bugs.webkit.org/show_bug.cgi?id=41367
1892
1893         * svg/SVGSVGElement.cpp:
1894         (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
1895
1896 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
1897
1898         Reviewed by Darin Adler.
1899
1900         Buildfix after r62118.
1901         https://bugs.webkit.org/show_bug.cgi?id=41365
1902
1903         * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
1904
1905 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1906
1907         Unreviewed, rolling out r62052.
1908         http://trac.webkit.org/changeset/62052
1909         https://bugs.webkit.org/show_bug.cgi?id=41357
1910
1911         Causes crashes in JSLazyEventListener::initializeFunction (see
1912         bug 41352) (Requested by aroben on #webkit).
1913
1914         * bindings/js/ScriptEventListener.cpp:
1915         (WebCore::createAttributeEventListener):
1916         * bindings/js/ScriptEventListener.h:
1917         * bindings/v8/ScriptEventListener.cpp:
1918         (WebCore::createAttributeEventListener):
1919         * bindings/v8/ScriptEventListener.h:
1920         * html/HTMLBodyElement.cpp:
1921         (WebCore::HTMLBodyElement::parseMappedAttribute):
1922         * html/HTMLFrameSetElement.cpp:
1923         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1924         * svg/SVGSVGElement.cpp:
1925         (WebCore::SVGSVGElement::parseMappedAttribute):
1926
1927 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1928
1929         Unreviewed, rolling out r62129.
1930         http://trac.webkit.org/changeset/62129
1931         https://bugs.webkit.org/show_bug.cgi?id=41362
1932
1933         Needed to roll out r62052 (see bug 41357) (Requested by aroben
1934         on #webkit).
1935
1936         * bindings/js/ScriptEventListener.cpp:
1937         (WebCore::createWindowAttributeEventListener):
1938
1939 2010-06-29  Beth Dakin  <bdakin@apple.com>
1940
1941         Reviewed by Darin Adler.
1942
1943         Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
1944         2300+ crashes in Safari at com.apple.WebCore: 
1945         WebCore::FrameView::scheduleRelayout + 352
1946
1947         Unfortunately, we don't have a reproducible case for this bug, and 
1948         therefore, we do not have a layout test either. It is pretty clear 
1949         from the logs that m_frame->settings() is null in 
1950         FrameView::scheduleRelayout() in the crashing case. 
1951         m_frame->settings() is null whenever page is null. Everywhere else 
1952         in FrameView.cpp we null-check either page or settings before using 
1953         settings. It seems plausible to me that scheduleRelayout could be 
1954         called when page is null, so the fix is just to add null-checks. 
1955
1956         * page/FrameView.cpp:
1957         (WebCore::FrameView::layout):
1958         (WebCore::FrameView::scheduleRelayout):
1959
1960 2010-06-29  Dan Bernstein  <mitz@apple.com>
1961
1962         Reviewed by Darin Adler.
1963
1964         <rdar://problem/7975842> Certain text is repeated after using splitText()
1965
1966         Tests: fast/text/setData-dirty-lines.html
1967                fast/text/splitText-dirty-lines.html
1968
1969         * dom/CharacterData.cpp:
1970         (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
1971         setText(), because only the former correctly dirties line boxes.
1972         * dom/Text.cpp:
1973         (WebCore::Text::splitText): Ditto.
1974
1975 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1976
1977         Unreviewed, rolling out r62073.
1978         http://trac.webkit.org/changeset/62073
1979         https://bugs.webkit.org/show_bug.cgi?id=41359
1980
1981         Necessary to fix chromium build when r62052 is rolled out.
1982         (Requested by dave_levin on #webkit).
1983
1984         * bindings/v8/ScriptEventListener.h:
1985
1986 2010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>
1987
1988         Reviewed by Darin Fisher.
1989
1990         [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
1991         methods to set the contents of a GraphicsLayer with a platform specific WebGL
1992         Layer, and to update the contents of the WebGL Layer when needed.
1993         https://bugs.webkit.org/show_bug.cgi?id=41243
1994
1995         * platform/graphics/GraphicsContext3D.h:
1996         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1997         (WebCore::GraphicsLayerChromium::setContentsToWebGL):
1998         * platform/graphics/chromium/GraphicsLayerChromium.h:
1999         * platform/graphics/chromium/LayerChromium.cpp:
2000         (WebCore::LayerChromium::removeAllSublayers):
2001           No need to call setNeedsCommit() from here as the previous call to
2002           layer->removeFromSuperlayer() will have that effect (and we only need
2003           to notify the owner if there were actually any sublayers removed).
2004         * platform/graphics/chromium/LayerChromium.h:
2005         * platform/graphics/chromium/LayerRendererChromium.cpp:
2006         (WebCore::LayerRendererChromium::drawLayer):
2007         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2008         (WebCore::WebGLLayerChromium::create):
2009         (WebCore::WebGLLayerChromium::updateTextureContents):
2010         (WebCore::WebGLLayerChromium::setContext):
2011
2012 2010-06-29  Csaba Osztrogonác  <ossy@webkit.org>
2013
2014         Reviewed by Nikolas Zimmermann.
2015
2016         Buildfix for --minimal build after r62052
2017         https://bugs.webkit.org/show_bug.cgi?id=41338
2018
2019         * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
2020         (WebCore::createWindowAttributeEventListener):
2021
2022 2010-06-29  Brent Fulgham  <bfulgham@webkit.org>
2023
2024         Build fix. Not reviewd.
2025
2026         CGColor is only used for PLATFORM(CG).  Conditionalize include
2027         to correct build failure for WinCairo.
2028
2029         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2030         Conditionalize use of CGColor.
2031
2032 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
2033
2034         Reviewed by Xan Lopez.
2035
2036         [GTK] Clean up the source lists in the GNUMakefile.am files
2037         https://bugs.webkit.org/show_bug.cgi?id=41229
2038
2039         Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
2040         the source lists.
2041
2042         * GNUmakefile.am:
2043
2044 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
2045
2046         Reviewed by Xan Lopez.
2047
2048         [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
2049         https://bugs.webkit.org/show_bug.cgi?id=40307
2050
2051         Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
2052         contains all the information necessary to keep track of drops in progress.
2053
2054         * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
2055         * platform/gtk/DragDataGtk.cpp:
2056         (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
2057         (WebCore::DragData::asFilenames): Ditto.
2058         (WebCore::DragData::containsPlainText): Ditto.
2059         (WebCore::DragData::asPlainText): Ditto.
2060         (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
2061         (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
2062         (WebCore::DragData::containsURL): Ditto.
2063         (WebCore::DragData::asURL): Ditto.
2064         (WebCore::DragData::asFragment): Ditto.
2065
2066 2010-06-29  Adam Langley  <agl@chromium.org>
2067
2068         Build fix. Not reviewd.
2069
2070         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2071         (WebCore::FontPlatformData::setupPaint):
2072           The name of the Skia function changed between writing this patch and
2073           commiting it.
2074
2075 2010-06-29  Adam Langley  <agl@chromium.org>
2076
2077         Reviewed by Kent Tamura.
2078
2079         [chromium] Support forced autohinting.
2080
2081         https://bugs.webkit.org/show_bug.cgi?id=40493
2082
2083         Freetype (the typical font rendering on Linux) includes an 'autohinter':
2084         an algorithm for hinting glyph shapes without using the embedded hinting
2085         bytecode in a font.
2086
2087         Some people prefer the autohinter's results, so we support forcing its
2088         use.
2089
2090         This change also fixes a bug where two FontPlatformData structures would
2091         compare equal, even if their rendering styles were different.
2092
2093         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2094         (WebCore::FontPlatformData::setupPaint):
2095           In order to compare FontPlatformData structures we need to make sure
2096           that they are initialised.
2097         (WebCore::FontPlatformData::operator==):
2098         * platform/graphics/chromium/FontRenderStyle.h:
2099         (WebCore::FontRenderStyle::FontRenderStyle):
2100         (WebCore::FontRenderStyle::operator==):
2101           This fixes the case where two FontPlatformData structures, differing
2102           only by rendering style, would compare equal.
2103
2104 2010-06-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2105
2106         Unreviewed, Symbian build fix.
2107
2108         Add more directories to USERINCLUDE so that they get included
2109         before the Symbian system headers.
2110
2111         This is a workaround to some toolchain problems; bug 31273 is used to
2112         find a better solution.
2113
2114         No new tests as there is no new functionality.
2115
2116         * WebCore.pro:
2117
2118 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2119
2120         Reviewed by Dirk Schulze.
2121
2122         Cleanup SVGRenderSupport
2123         https://bugs.webkit.org/show_bug.cgi?id=41347
2124
2125         Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
2126         though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
2127         it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
2128         RenderSVGInlineText (RenderText inheritance) etc.
2129
2130         Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
2131         We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.
2132
2133         Doesn't affect any test.
2134
2135         * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
2136         * rendering/RenderBox.h: Ditto.
2137         * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
2138         (WebCore::RenderForeignObject::paint):
2139         (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
2140         (WebCore::RenderForeignObject::computeRectForRepaint):
2141         (WebCore::RenderForeignObject::nodeAtFloatPoint):
2142         (WebCore::RenderForeignObject::mapLocalToContainer):
2143         * rendering/RenderPath.cpp:
2144         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2145         (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
2146         (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
2147         (WebCore::RenderPath::updateCachedBoundaries): Ditto.
2148         * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
2149         * rendering/RenderSVGContainer.cpp:
2150         (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
2151         (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2152         (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
2153         (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
2154         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
2155         (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2156         * rendering/RenderSVGHiddenContainer.cpp:
2157         (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
2158         * rendering/RenderSVGImage.cpp:
2159         (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
2160         (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. 
2161         (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2162         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
2163         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2164         (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
2165         (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
2166         * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
2167         * rendering/RenderSVGInline.cpp:
2168         (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
2169         (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
2170         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
2171         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2172         (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
2173         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
2174         (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
2175         * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
2176         * rendering/RenderSVGModelObject.cpp:
2177         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2178         (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
2179         (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
2180         (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2181         * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
2182         * rendering/RenderSVGResource.cpp:
2183         (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
2184         (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
2185         * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
2186         * rendering/RenderSVGResourceClipper.cpp:
2187         (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
2188         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
2189         * rendering/RenderSVGResourceGradient.cpp:
2190         (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
2191         (WebCore::clipToTextMask): Ditto.
2192         (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2193         (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
2194         * rendering/RenderSVGResourceMarker.cpp:
2195         (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
2196         * rendering/RenderSVGResourceMasker.cpp:
2197         (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
2198         * rendering/RenderSVGResourcePattern.cpp:
2199         (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2200         (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
2201         (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
2202         * rendering/RenderSVGResourceSolidColor.cpp:
2203         (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
2204         * rendering/RenderSVGRoot.cpp:
2205         (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
2206         (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2207         (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2208         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
2209         * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
2210         (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. 
2211         (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
2212         * rendering/RenderSVGText.cpp: 
2213         (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2214         (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
2215         (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
2216         (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2217         (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2218         (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
2219         * rendering/RenderSVGViewportContainer.cpp:
2220         (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
2221         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
2222         * rendering/SVGInlineFlowBox.cpp:
2223         (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2224         * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
2225         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2226         (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
2227         (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
2228         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
2229         (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
2230         (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
2231         (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
2232         (WebCore::SVGRenderSupport::layoutChildren): Ditto.
2233         (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
2234         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
2235         (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
2236         (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
2237         (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
2238         (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
2239         * rendering/SVGRenderSupport.h:
2240         * rendering/SVGRenderTreeAsText.cpp:
2241         (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
2242         * rendering/SVGRootInlineBox.cpp:
2243         (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
2244         * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
2245         * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
2246         (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
2247         * svg/SVGStyledElement.cpp: 
2248         (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2249
2250 2010-06-21  Philippe Normand  <pnormand@igalia.com>
2251
2252         Reviewed by Xan Lopez.
2253
2254         [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
2255         https://bugs.webkit.org/show_bug.cgi?id=40907
2256
2257         Define a JMPBUF macro to cope with deprecation of the jmpbuf
2258         attribute in libpng >= 1.4.
2259
2260         * platform/image-decoders/png/PNGImageDecoder.cpp:
2261         (WebCore::decodingFailed):
2262         (WebCore::PNGImageReader::decode):
2263         (WebCore::PNGImageDecoder::headerAvailable):
2264         (WebCore::PNGImageDecoder::rowAvailable):
2265
2266 2010-06-29  Kristian Amlie  <kristian.amlie@nokia.com>
2267
2268         Reviewed by Simon Hausmann.
2269
2270         [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.
2271
2272         * WebCore.pro:
2273
2274 2010-06-29  Yury Semikhatsky  <yurys@chromium.org>
2275
2276         Unreviewed: Chromium Win and Mac build fix.
2277
2278         * bindings/v8/ScriptDebugServer.cpp:
2279         (WebCore::ScriptDebugServer::setBreakpoint):
2280
2281 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2282
2283         Reviewed by Dirk Schulze.
2284
2285         Move PaintInfo/PaintPhase into their own headers, out of RenderObject
2286         https://bugs.webkit.org/show_bug.cgi?id=41342
2287
2288         1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
2289            Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
2290            Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.
2291
2292         2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
2293            and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".
2294
2295         This changes a common idiom:
2296         -    info.paintingRoot = paintingRootForChildren(paintInfo);
2297         +    info.updatePaintingRootForChildren(this);
2298
2299         We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.
2300
2301         3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
2302            and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".
2303
2304         This changes a common idiom:
2305         -    if (!shouldPaintWithinRoot(paintInfo))
2306         +    if (!paintInfo.shouldPaintWithinRoot(this))
2307
2308         4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
2309            from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.
2310
2311         This changes a common idiom:
2312         -    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
2313         +    childPaintInfo.applyTransform(localToParentTransform());
2314
2315         Add PaintInfo.h / PaintPhase.h to all build systems that list headers.
2316
2317         * GNUmakefile.am:
2318         * WebCore.gypi:
2319         * WebCore.pro:
2320         * WebCore.vcproj/WebCore.vcproj:
2321         * WebCore.xcodeproj/project.pbxproj:
2322         * platform/android/RenderThemeAndroid.cpp:
2323         (WebCore::getCanvasFromInfo):
2324         (WebCore::RenderThemeAndroid::paintCheckbox):
2325         (WebCore::RenderThemeAndroid::paintButton):
2326         (WebCore::RenderThemeAndroid::paintRadio):
2327         (WebCore::RenderThemeAndroid::paintTextField):
2328         (WebCore::RenderThemeAndroid::paintTextArea):
2329         (WebCore::RenderThemeAndroid::paintSearchField):
2330         (WebCore::RenderThemeAndroid::paintCombo):
2331         (WebCore::RenderThemeAndroid::paintMenuList):
2332         (WebCore::RenderThemeAndroid::paintMenuListButton):
2333         * platform/android/RenderThemeAndroid.h:
2334         * platform/efl/RenderThemeEfl.cpp:
2335         (WebCore::RenderThemeEfl::paintThemePart):
2336         (WebCore::RenderThemeEfl::paintCheckbox):
2337         (WebCore::RenderThemeEfl::paintRadio):
2338         (WebCore::RenderThemeEfl::paintButton):
2339         (WebCore::RenderThemeEfl::paintMenuList):
2340         (WebCore::RenderThemeEfl::paintTextField):
2341         (WebCore::RenderThemeEfl::paintTextArea):
2342         (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
2343         (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
2344         (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
2345         (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
2346         (WebCore::RenderThemeEfl::paintSearchField):
2347         * platform/efl/RenderThemeEfl.h:
2348         * platform/gtk/RenderThemeGtk.cpp:
2349         (WebCore::paintMozillaGtkWidget):
2350         (WebCore::RenderThemeGtk::paintCheckbox):
2351         (WebCore::RenderThemeGtk::paintRadio):
2352         (WebCore::RenderThemeGtk::paintButton):
2353         (WebCore::RenderThemeGtk::paintMenuList):
2354         (WebCore::RenderThemeGtk::paintTextField):
2355         (WebCore::RenderThemeGtk::paintTextArea):
2356         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
2357         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2358         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2359         (WebCore::RenderThemeGtk::paintSearchField):
2360         (WebCore::RenderThemeGtk::paintSliderTrack):
2361         (WebCore::RenderThemeGtk::paintSliderThumb):
2362         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
2363         (WebCore::RenderThemeGtk::paintMediaMuteButton):
2364         (WebCore::RenderThemeGtk::paintMediaPlayButton):
2365         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
2366         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
2367         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2368         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
2369         (WebCore::RenderThemeGtk::paintProgressBar):
2370         * platform/gtk/RenderThemeGtk.h:
2371         * platform/haiku/RenderThemeHaiku.cpp:
2372         (WebCore::RenderThemeHaiku::paintCheckbox):
2373         (WebCore::RenderThemeHaiku::paintRadio):
2374         (WebCore::RenderThemeHaiku::paintMenuList):
2375         * platform/haiku/RenderThemeHaiku.h:
2376         * platform/qt/RenderThemeQt.cpp:
2377         (WebCore::StylePainter::StylePainter):
2378         (WebCore::RenderThemeQt::paintCheckbox):
2379         (WebCore::RenderThemeQt::paintRadio):
2380         (WebCore::RenderThemeQt::paintButton):
2381         (WebCore::RenderThemeQt::paintTextField):
2382         (WebCore::RenderThemeQt::paintTextArea):
2383         (WebCore::RenderThemeQt::paintMenuList):
2384         (WebCore::RenderThemeQt::paintMenuListButton):
2385         (WebCore::RenderThemeQt::paintProgressBar):
2386         (WebCore::RenderThemeQt::paintSliderTrack):
2387         (WebCore::RenderThemeQt::paintSliderThumb):
2388         (WebCore::RenderThemeQt::paintSearchField):
2389         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
2390         (WebCore::RenderThemeQt::paintSearchFieldDecoration):
2391         (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
2392         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
2393         (WebCore::RenderThemeQt::paintMediaMuteButton):
2394         (WebCore::RenderThemeQt::paintMediaPlayButton):
2395         (WebCore::RenderThemeQt::paintMediaSeekBackButton):
2396         (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
2397         (WebCore::RenderThemeQt::paintMediaCurrentTime):
2398         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2399         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
2400         (WebCore::RenderThemeQt::paintMediaSliderTrack):
2401         (WebCore::RenderThemeQt::paintMediaSliderThumb):
2402         * platform/qt/RenderThemeQt.h:
2403         * platform/wx/RenderThemeWx.cpp:
2404         (WebCore::RenderThemeWx::paintCheckbox):
2405         (WebCore::RenderThemeWx::paintRadio):
2406         (WebCore::RenderThemeWx::paintButton):
2407         (WebCore::RenderThemeWx::paintTextField):
2408         (WebCore::RenderThemeWx::paintMenuList):
2409         (WebCore::RenderThemeWx::paintMenuListButton):
2410         * rendering/EllipsisBox.cpp:
2411         (WebCore::EllipsisBox::paint):
2412         * rendering/EllipsisBox.h:
2413         * rendering/InlineBox.cpp:
2414         (WebCore::InlineBox::paint):
2415         * rendering/InlineBox.h:
2416         * rendering/InlineFlowBox.cpp:
2417         (WebCore::InlineFlowBox::paint):
2418         (WebCore::InlineFlowBox::paintFillLayers):
2419         (WebCore::InlineFlowBox::paintFillLayer):
2420         (WebCore::InlineFlowBox::paintBoxDecorations):
2421         (WebCore::InlineFlowBox::paintMask):
2422         (WebCore::InlineFlowBox::paintTextDecorations):
2423         * rendering/InlineFlowBox.h:
2424         * rendering/InlineTextBox.cpp:
2425         (WebCore::InlineTextBox::paint):
2426         * rendering/InlineTextBox.h:
2427         * rendering/PaintInfo.h: Added.
2428         (WebCore::PaintInfo::PaintInfo):
2429         (WebCore::PaintInfo::updatePaintingRootForChildren):
2430         (WebCore::PaintInfo::shouldPaintWithinRoot):
2431         (WebCore::PaintInfo::applyTransform):
2432         * rendering/PaintPhase.h: Added.
2433         (WebCore::):
2434         * rendering/RenderBlock.cpp:
2435         (WebCore::RenderBlock::paint):
2436         (WebCore::RenderBlock::paintChildren):
2437         (WebCore::RenderBlock::paintEllipsisBoxes):
2438         (WebCore::clipOutPositionedObjects):
2439         (WebCore::RenderBlock::layoutColumns):
2440         * rendering/RenderBox.cpp:
2441         (WebCore::RenderBox::paint):
2442         (WebCore::RenderBox::paintBoxDecorations):
2443         (WebCore::RenderBox::paintMask):
2444         * rendering/RenderFieldset.cpp:
2445         (WebCore::RenderFieldset::paintBoxDecorations):
2446         * rendering/RenderForeignObject.cpp:
2447         (WebCore::RenderForeignObject::paint):
2448         * rendering/RenderLayer.cpp:
2449         (WebCore::RenderLayer::paint):
2450         (WebCore::performOverlapTests):
2451         (WebCore::RenderLayer::paintLayer):
2452         (WebCore::RenderLayer::paintList):
2453         (WebCore::RenderLayer::paintPaginatedChildLayer):
2454         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2455         * rendering/RenderLayer.h:
2456         * rendering/RenderLayerBacking.cpp:
2457         (WebCore::RenderLayerBacking::paintIntoLayer):
2458         * rendering/RenderLineBoxList.cpp:
2459         (WebCore::RenderLineBoxList::paint):
2460         * rendering/RenderLineBoxList.h:
2461         * rendering/RenderMediaControls.cpp:
2462         (WebCore::RenderMediaControls::paintMediaControlsPart):
2463         * rendering/RenderMediaControls.h:
2464         * rendering/RenderMediaControlsChromium.cpp:
2465         (WebCore::paintMediaMuteButton):
2466         (WebCore::paintMediaPlayButton):
2467         (WebCore::paintMediaSlider):
2468         (WebCore::paintMediaSliderThumb):
2469         (WebCore::paintMediaVolumeSlider):
2470         (WebCore::paintMediaVolumeSliderThumb):
2471         (WebCore::paintMediaTimelineContainer):
2472         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2473         * rendering/RenderMediaControlsChromium.h:
2474         * rendering/RenderObject.h:
2475         * rendering/RenderPath.cpp:
2476         (WebCore::RenderPath::paint):
2477         * rendering/RenderReplaced.cpp:
2478         (WebCore::RenderReplaced::paint):
2479         (WebCore::RenderReplaced::shouldPaint):
2480         * rendering/RenderSVGContainer.cpp:
2481         (WebCore::RenderSVGContainer::paint):
2482         * rendering/RenderSVGResourceMarker.cpp:
2483         (WebCore::RenderSVGResourceMarker::draw):
2484         * rendering/RenderSVGResourceMarker.h:
2485         * rendering/RenderSVGRoot.cpp:
2486         (WebCore::RenderSVGRoot::paint):
2487         * rendering/RenderSVGText.cpp:
2488         (WebCore::RenderSVGText::paint):
2489         * rendering/RenderScrollbarPart.cpp:
2490         (WebCore::RenderScrollbarPart::paintIntoRect):
2491         * rendering/RenderTable.cpp:
2492         (WebCore::RenderTable::paintObject):
2493         (WebCore::RenderTable::paintBoxDecorations):
2494         * rendering/RenderTableCell.cpp:
2495         (WebCore::RenderTableCell::paint):
2496         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2497         (WebCore::RenderTableCell::paintBoxDecorations):
2498         * rendering/RenderTheme.cpp:
2499         (WebCore::RenderTheme::paint):
2500         (WebCore::RenderTheme::paintBorderOnly):
2501         (WebCore::RenderTheme::paintDecorations):
2502         (WebCore::RenderTheme::paintMeter):
2503         * rendering/RenderTheme.h:
2504         (WebCore::RenderTheme::paintCapsLockIndicator):
2505         (WebCore::RenderTheme::paintCheckbox):
2506         (WebCore::RenderTheme::paintRadio):
2507         (WebCore::RenderTheme::paintButton):
2508         (WebCore::RenderTheme::paintInnerSpinButton):
2509         (WebCore::RenderTheme::paintOuterSpinButton):
2510         (WebCore::RenderTheme::paintTextField):
2511         (WebCore::RenderTheme::paintTextArea):
2512         (WebCore::RenderTheme::paintMenuList):
2513         (WebCore::RenderTheme::paintMenuListButton):
2514         (WebCore::RenderTheme::paintProgressBar):
2515         (WebCore::RenderTheme::paintSliderTrack):
2516         (WebCore::RenderTheme::paintSliderThumb):
2517         (WebCore::RenderTheme::paintSearchField):
2518         (WebCore::RenderTheme::paintSearchFieldCancelButton):
2519         (WebCore::RenderTheme::paintSearchFieldDecoration):
2520         (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
2521         (WebCore::RenderTheme::paintSearchFieldResultsButton):
2522         (WebCore::RenderTheme::paintMediaFullscreenButton):
2523         (WebCore::RenderTheme::paintMediaPlayButton):
2524         (WebCore::RenderTheme::paintMediaMuteButton):
2525         (WebCore::RenderTheme::paintMediaSeekBackButton):
2526         (WebCore::RenderTheme::paintMediaSeekForwardButton):
2527         (WebCore::RenderTheme::paintMediaSliderTrack):
2528         (WebCore::RenderTheme::paintMediaSliderThumb):
2529         (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
2530         (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
2531         (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
2532         (WebCore::RenderTheme::paintMediaRewindButton):
2533         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
2534         (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
2535         (WebCore::RenderTheme::paintMediaControlsBackground):
2536         (WebCore::RenderTheme::paintMediaCurrentTime):
2537         (WebCore::RenderTheme::paintMediaTimeRemaining):
2538         * rendering/RenderThemeChromiumMac.h:
2539         * rendering/RenderThemeChromiumMac.mm:
2540         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
2541         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
2542         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
2543         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
2544         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
2545         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
2546         * rendering/RenderThemeChromiumSkia.cpp:
2547         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2548         (WebCore::RenderThemeChromiumSkia::paintRadio):
2549         (WebCore::paintButtonLike):
2550         (WebCore::RenderThemeChromiumSkia::paintButton):
2551         (WebCore::RenderThemeChromiumSkia::paintTextField):
2552         (WebCore::RenderThemeChromiumSkia::paintTextArea):
2553         (WebCore::RenderThemeChromiumSkia::paintSearchField):
2554         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2555         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2556         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2557         (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
2558         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
2559         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
2560         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
2561         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
2562         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2563         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
2564         (WebCore::RenderThemeChromiumSkia::paintMenuList):
2565         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
2566         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
2567         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2568         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
2569         * rendering/RenderThemeChromiumSkia.h:
2570         * rendering/RenderThemeChromiumWin.cpp:
2571         (WebCore::RenderThemeChromiumWin::paintCheckbox):
2572         (WebCore::RenderThemeChromiumWin::paintRadio):
2573         (WebCore::RenderThemeChromiumWin::paintButton):
2574         (WebCore::RenderThemeChromiumWin::paintTextField):
2575         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2576         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
2577         (WebCore::RenderThemeChromiumWin::paintMenuList):
2578         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2579         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2580         * rendering/RenderThemeChromiumWin.h:
2581         * rendering/RenderThemeMac.h:
2582         * rendering/RenderThemeMac.mm:
2583         (WebCore::RenderThemeMac::paintTextField):
2584         (WebCore::RenderThemeMac::paintCapsLockIndicator):
2585         (WebCore::RenderThemeMac::paintTextArea):
2586         (WebCore::RenderThemeMac::paintMenuList):
2587         (WebCore::RenderThemeMac::paintMeter):
2588         (WebCore::RenderThemeMac::paintProgressBar):
2589         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2590         (WebCore::RenderThemeMac::paintMenuListButton):
2591         (WebCore::RenderThemeMac::paintSliderTrack):
2592         (WebCore::RenderThemeMac::paintSliderThumb):
2593         (WebCore::RenderThemeMac::paintSearchField):
2594         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2595         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
2596         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2597         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2598         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
2599         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2600         (WebCore::RenderThemeMac::paintMediaMuteButton):
2601         (WebCore::RenderThemeMac::paintMediaPlayButton):
2602         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2603         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2604         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2605         (WebCore::RenderThemeMac::paintMediaSliderThumb):
2606         (WebCore::RenderThemeMac::paintMediaRewindButton):
2607         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2608         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
2609         (WebCore::RenderThemeMac::paintMediaControlsBackground):
2610         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2611         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2612         * rendering/RenderThemeSafari.cpp:
2613         (WebCore::RenderThemeSafari::paintCheckbox):
2614         (WebCore::RenderThemeSafari::paintRadio):
2615         (WebCore::RenderThemeSafari::paintButton):
2616         (WebCore::RenderThemeSafari::paintTextField):
2617         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
2618         (WebCore::RenderThemeSafari::paintTextArea):
2619         (WebCore::RenderThemeSafari::paintMenuList):
2620         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2621         (WebCore::RenderThemeSafari::paintMenuListButton):
2622         (WebCore::RenderThemeSafari::paintSliderTrack):
2623         (WebCore::RenderThemeSafari::paintSliderThumb):
2624         (WebCore::RenderThemeSafari::paintSearchField):
2625         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
2626         (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
2627         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
2628         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
2629         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2630         (WebCore::RenderThemeSafari::paintMediaMuteButton):
2631         (WebCore::RenderThemeSafari::paintMediaPlayButton):
2632         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2633         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2634         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
2635         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2636         * rendering/RenderThemeSafari.h:
2637         * rendering/RenderThemeWin.cpp:
2638         (WebCore::RenderThemeWin::paintButton):
2639         (WebCore::RenderThemeWin::paintTextField):
2640         (WebCore::RenderThemeWin::paintMenuList):
2641         (WebCore::RenderThemeWin::paintMenuListButton):
2642         (WebCore::RenderThemeWin::paintSliderTrack):
2643         (WebCore::RenderThemeWin::paintSliderThumb):
2644         (WebCore::RenderThemeWin::paintSearchField):
2645         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2646         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2647         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2648         (WebCore::RenderThemeWin::paintMediaFullscreenButton):
2649         (WebCore::RenderThemeWin::paintMediaMuteButton):
2650         (WebCore::RenderThemeWin::paintMediaPlayButton):
2651         (WebCore::RenderThemeWin::paintMediaSeekBackButton):
2652         (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
2653         (WebCore::RenderThemeWin::paintMediaSliderTrack):
2654         (WebCore::RenderThemeWin::paintMediaSliderThumb):
2655         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
2656         * rendering/RenderThemeWin.h:
2657         (WebCore::RenderThemeWin::paintCheckbox):
2658         (WebCore::RenderThemeWin::paintRadio):
2659         (WebCore::RenderThemeWin::paintTextArea):
2660         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
2661         * rendering/RenderThemeWince.cpp:
2662         (WebCore::RenderThemeWince::paintButton):
2663         (WebCore::RenderThemeWince::paintTextField):
2664         (WebCore::RenderThemeWince::paintMenuList):
2665         (WebCore::RenderThemeWince::paintMenuListButton):
2666         (WebCore::RenderThemeWince::paintSearchField):
2667         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
2668         (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
2669         (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
2670         (WebCore::RenderThemeWince::paintSliderTrack):
2671         (WebCore::RenderThemeWince::paintSliderThumb):
2672         (WebCore::RenderThemeWince::paintMediaFullscreenButton):
2673         (WebCore::RenderThemeWince::paintMediaMuteButton):
2674         (WebCore::RenderThemeWince::paintMediaPlayButton):
2675         (WebCore::RenderThemeWince::paintMediaSeekBackButton):
2676         (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
2677         (WebCore::RenderThemeWince::paintMediaSliderTrack):
2678         (WebCore::RenderThemeWince::paintMediaSliderThumb):
2679         * rendering/RenderThemeWince.h:
2680         (WebCore::RenderThemeWince::paintCheckbox):
2681         (WebCore::RenderThemeWince::paintRadio):
2682         (WebCore::RenderThemeWince::paintTextArea):
2683         (WebCore::RenderThemeWince::paintSearchFieldDecoration):
2684         * rendering/RootInlineBox.cpp:
2685         (WebCore::RootInlineBox::paintEllipsisBox):
2686         (WebCore::RootInlineBox::paintCustomHighlight):
2687         (WebCore::RootInlineBox::paint):
2688         (WebCore::RootInlineBox::fillLineSelectionGap):
2689         * rendering/RootInlineBox.h:
2690         * rendering/SVGInlineFlowBox.cpp:
2691         (WebCore::SVGInlineFlowBox::paint):
2692         * rendering/SVGInlineFlowBox.h:
2693         * rendering/SVGInlineTextBox.cpp:
2694         (WebCore::SVGInlineTextBox::paint):
2695         * rendering/SVGInlineTextBox.h:
2696         * rendering/SVGMarkerLayoutInfo.cpp:
2697         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
2698         * rendering/SVGMarkerLayoutInfo.h:
2699         * rendering/SVGRenderSupport.cpp:
2700         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2701         (WebCore::SVGRenderBase::finishRenderSVGContent):
2702         (WebCore::renderSubtreeToImage):
2703         * rendering/SVGRenderSupport.h:
2704         * rendering/SVGRootInlineBox.cpp:
2705         (WebCore::SVGRootInlineBox::paint):
2706         * rendering/SVGRootInlineBox.h:
2707
2708 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2709
2710         Not reviewed. Sort Xcode project file.
2711
2712         * WebCore.xcodeproj/project.pbxproj:
2713
2714 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2715
2716         Reviewed by Dirk Schulze.
2717
2718         Provide floating-point support for text selection framework
2719         https://bugs.webkit.org/show_bug.cgi?id=40665
2720
2721         Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
2722         Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.
2723
2724         No functional changes, thus no new tests.
2725
2726         * platform/graphics/TextRun.h:
2727         (WebCore::TextRun::TextRun):
2728         (WebCore::TextRun::horizontalGlyphStretch):
2729         (WebCore::TextRun::setHorizontalGlyphStretch):
2730         (WebCore::TextRun::spacingDisabled):
2731         * platform/graphics/WidthIterator.cpp:
2732         (WebCore::WidthIterator::advance):
2733         * rendering/SVGInlineTextBox.cpp:
2734         (WebCore::SVGInlineTextBox::offsetForPosition):
2735
2736 2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2737
2738         Reviewed by Dirk Schulze.
2739
2740         REGRESSION: text-shadow CSS applied to SVG no longer works
2741         https://bugs.webkit.org/show_bug.cgi?id=40960
2742
2743         Readd text-shadow support, this time supporting multiple shadows.
2744         It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.
2745
2746         Tests: svg/css/text-shadow-multiple.xhtml
2747
2748         * rendering/InlineTextBox.cpp:
2749         (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
2750         (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
2751         * rendering/InlineTextBox.h: 
2752         * rendering/SVGInlineTextBox.cpp:
2753         (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
2754         (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
2755         * rendering/SVGInlineTextBox.h:
2756
2757 2010-06-29  Pavel Podivilov  <podivilov@chromium.org>
2758
2759         Reviewed by Yury Semikhatsky.
2760
2761         Web Inspector: show actual breakpoint position in UI.
2762         When user sets breakpoint from UI, javascript engine may actually set
2763         it on a different line. If so, move breakpoint to the correct position
2764         in frontend.
2765         https://bugs.webkit.org/show_bug.cgi?id=40781
2766
2767         * bindings/js/ScriptDebugServer.cpp:
2768         (WebCore::ScriptDebugServer::setBreakpoint):
2769         (WebCore::ScriptDebugServer::dispatchDidPause):
2770         * bindings/js/ScriptDebugServer.h:
2771         * bindings/v8/ScriptDebugServer.cpp:
2772         (WebCore::ScriptDebugServer::setBreakpoint):
2773         (WebCore::ScriptDebugServer::currentCallFrame):
2774         * bindings/v8/ScriptDebugServer.h:
2775         * inspector/InspectorBackend.cpp:
2776         (WebCore::InspectorBackend::setBreakpoint):
2777         * inspector/InspectorBackend.h:
2778         * inspector/InspectorBackend.idl:
2779         * inspector/InspectorController.cpp:
2780         (WebCore::InspectorController::didCommitLoad):
2781         (WebCore::InspectorController::setBreakpoint):
2782         (WebCore::InspectorController::removeBreakpoint):
2783         (WebCore::InspectorController::didParseSource):
2784         * inspector/InspectorController.h:
2785         * inspector/InspectorFrontend.cpp:
2786         (WebCore::InspectorFrontend::didSetBreakpoint):
2787         * inspector/InspectorFrontend.h:
2788         * inspector/front-end/BreakpointManager.js:
2789         (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
2790         (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
2791         (WebInspector.BreakpointManager.prototype.setBreakpoint):
2792         (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
2793         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
2794         (WebInspector.BreakpointManager.prototype._setBreakpoint):
2795         (WebInspector.BreakpointManager.prototype._removeBreakpoint):
2796         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
2797         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
2798         (WebInspector.Breakpoint.prototype.set enabled):
2799         (WebInspector.Breakpoint.prototype.set condition):
2800         * inspector/front-end/InspectorBackendStub.js:
2801         (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
2802         * inspector/front-end/ScriptView.js:
2803         (WebInspector.ScriptView.prototype._addBreakpoint):
2804         * inspector/front-end/SourceView.js:
2805         (WebInspector.SourceView.prototype._addBreakpoint):
2806
2807 2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
2808
2809         Reviewed by Adam Barth.
2810
2811         Catch toString() exceptions in all DB-related code.
2812         https://bugs.webkit.org/show_bug.cgi?id=41297
2813
2814         * bindings/v8/custom/V8BindingMacros.h:
2815         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2816         (WebCore::V8DOMWindow::openDatabaseCallback):
2817         * bindings/v8/custom/V8DatabaseCustom.cpp:
2818         (WebCore::V8Database::changeVersionCallback):
2819         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
2820         (WebCore::V8DatabaseSync::changeVersionCallback):
2821         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2822         (WebCore::V8SQLTransaction::executeSqlCallback):
2823         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2824         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2825         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2826         (WebCore::V8WorkerContext::openDatabaseCallback):
2827         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
2828
2829 2010-06-29  Herczeg Zoltan  <zherczeg@webkit.org>
2830
2831         Rubber-stamped by Nikolas Zimmermann.
2832
2833         Windows build fix.
2834         https://bugs.webkit.org/show_bug.cgi?id=5861
2835
2836         * svg/SVGFEConvolveMatrixElement.cpp:
2837         (WebCore::SVGFEConvolveMatrixElement::build):
2838
2839 2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
2840
2841         Reviewed by Nikolas Zimmermann.
2842
2843         Add ConvolveMatrix SVG filter effect
2844         https://bugs.webkit.org/show_bug.cgi?id=5861
2845
2846         The patch was originally started by Dirk Schulze,
2847         and the .cpp and .h files are mostly his work.
2848         I updated the build systems and do some minor updates
2849         to the source files as well. The patch does not contain
2850         the implementation of the filter: this is intended,
2851         and will be landed in a follow-up patch.
2852
2853         * Android.derived.jscbindings.mk:
2854         * Android.derived.v8bindings.mk:
2855         * Android.mk:
2856         * CMakeLists.txt:
2857         * DerivedSources.cpp:
2858         * DerivedSources.make:
2859         * GNUmakefile.am:
2860         * WebCore.gypi:
2861         * WebCore.pri:
2862         * WebCore.pro:
2863         * WebCore.vcproj/WebCore.vcproj:
2864         * WebCore.xcodeproj/project.pbxproj:
2865         * bindings/objc/DOM.mm:
2866         (WebCore::createElementClassMap):
2867         * bindings/objc/DOMSVG.h:
2868         * page/DOMWindow.idl:
2869         * svg/SVGAllInOne.cpp:
2870         * svg/SVGFEConvolveMatrixElement.cpp: Added.
2871         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
2872         (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
2873         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
2874         (WebCore::SVGFEConvolveMatrixElement::setOrder):
2875         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
2876         (WebCore::SVGFEConvolveMatrixElement::build):
2877         * svg/SVGFEConvolveMatrixElement.h: Added.
2878         * svg/SVGFEConvolveMatrixElement.idl: Added.
2879         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2880         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
2881         (WebCore::FEConvolveMatrix::create):
2882         (WebCore::FEConvolveMatrix::kernelSize):
2883         (WebCore::FEConvolveMatrix::setKernelSize):
2884         (WebCore::FEConvolveMatrix::targetOffset):
2885         (WebCore::FEConvolveMatrix::setTargetOffset):
2886         (WebCore::operator<<):
2887         (WebCore::FEConvolveMatrix::externalRepresentation):
2888         * svg/graphics/filters/SVGFEConvolveMatrix.h:
2889         (WebCore::):
2890         * svg/svgattrs.in:
2891         * svg/svgtags.in:
2892
2893 2010-06-28  Adam Barth  <abarth@webkit.org>
2894
2895         Reviewed by Eric Seidel.
2896
2897         HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
2898         https://bugs.webkit.org/show_bug.cgi?id=41335
2899
2900         Sketch out the EndTag handling for InBodyMode.
2901
2902         * html/HTMLTreeBuilder.cpp:
2903         (WebCore::HTMLTreeBuilder::processEndTag):
2904         * html/HTMLTreeBuilder.h:
2905         (WebCore::HTMLTreeBuilder::ElementStack::inScope):
2906         (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
2907         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
2908
2909 2010-06-28  David Levin  <levin@chromium.org>
2910
2911         Reviewed by NOBODY (chromium build fix).
2912
2913         * rendering/RenderObject.h: Add missing forward declaration.
2914
2915 2010-06-28  Adam Barth  <abarth@webkit.org>
2916
2917         Unreviewed.
2918
2919         I accidently gave up my ref and tried to dereference a null pointer.
2920         This code is keeping an extra ref that it doesn't need, but that fact
2921         was somewhat hidden before.
2922
2923         * dom/ContainerNode.cpp:
2924         (WebCore::ContainerNode::addChildCommon):
2925         (WebCore::ContainerNode::parserAddChild):
2926         (WebCore::ContainerNode::legacyParserAddChild):
2927         * dom/ContainerNode.h:
2928
2929 2010-06-28  Adam Barth  <abarth@webkit.org>
2930
2931         Unreviewed.
2932
2933         Refactor common code into addChildCommon
2934         https://bugs.webkit.org/show_bug.cgi?id=41326
2935
2936         Eric asked that we share the common code between these codepaths.
2937
2938         * dom/ContainerNode.cpp:
2939         (WebCore::ContainerNode::addChildCommon):
2940         (WebCore::ContainerNode::parserAddChild):
2941         (WebCore::ContainerNode::addChild):
2942         * dom/ContainerNode.h:
2943
2944 2010-06-28  Eric Seidel  <eric@webkit.org>
2945
2946         Reviewed by Adam Barth.
2947
2948         Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
2949         https://bugs.webkit.org/show_bug.cgi?id=41319
2950
2951         Restructure the code to not use in-band data, which is what
2952         got us in trouble with a signed/unsigned mismatch before.
2953
2954         * html/HTMLTreeBuilder.cpp:
2955         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
2956         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
2957         * html/HTMLTreeBuilder.h:
2958
2959 2010-06-28  Daniel Bates  <dbates@rim.com>
2960
2961         Unreviewed, attempt to fix Qt bots.
2962
2963         Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
2964         (https://bugs.webkit.org/show_bug.cgi?id=41324).
2965
2966         Rename some more call sites that were missed in the initial landing.
2967
2968         * dom/XMLDocumentParserQt.cpp:
2969         (WebCore::XMLDocumentParser::parseStartElement):
2970         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2971         (WebCore::XMLDocumentParser::parseCdata):
2972         (WebCore::XMLDocumentParser::parseComment):
2973         (WebCore::XMLDocumentParser::parseDtd):
2974
2975 2010-06-28  Daniel Bates  <dbates@rim.com>
2976
2977         Unreviewed, build fix.
2978
2979         Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
2980         from int to unsigned.
2981
2982         Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
2983         (https://bugs.webkit.org/show_bug.cgi?id=41319).
2984
2985         * html/HTMLTreeBuilder.cpp:
2986         (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
2987         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
2988         * html/HTMLTreeBuilder.h:
2989
2990 2010-06-28  Eric Seidel  <eric@webkit.org>
2991
2992         Reviewed by Adam Barth.
2993
2994         Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
2995         https://bugs.webkit.org/show_bug.cgi?id=41324
2996
2997         A bunch of places in the code were calling ContainerNode::addChild.
2998         I don't think they actually want to be doing that, as it has special
2999         form-related handling which is part of LegacyHTMLTreeBuilder.
3000
3001         No functional changes, thus no tests.
3002
3003         * dom/ContainerNode.cpp:
3004         (WebCore::ContainerNode::legacyParserAddChild):
3005         * dom/ContainerNode.h:
3006         * dom/DOMImplementation.cpp:
3007         (WebCore::DOMImplementation::createDocument):
3008         * dom/Node.cpp:
3009         (WebCore::Node::legacyParserAddChild):
3010         * dom/Node.h:
3011         * html/HTMLKeygenElement.cpp:
3012         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3013         * html/HTMLTableElement.cpp:
3014         (WebCore::HTMLTableElement::legacyParserAddChild):
3015         * html/HTMLTableElement.h:
3016         * html/HTMLTableRowElement.cpp:
3017         (WebCore::HTMLTableRowElement::legacyParserAddChild):
3018         * html/HTMLTableRowElement.h:
3019         * html/HTMLTableSectionElement.cpp:
3020         (WebCore::HTMLTableSectionElement::legacyParserAddChild):
3021         * html/HTMLTableSectionElement.h:
3022         * html/HTMLViewSourceDocument.cpp:
3023         (WebCore::HTMLViewSourceDocument::createContainingTable):
3024         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3025         (WebCore::HTMLViewSourceDocument::addLine):
3026         (WebCore::HTMLViewSourceDocument::addText):
3027         (WebCore::HTMLViewSourceDocument::addLink):
3028
3029 2010-06-28  Eric Seidel  <eric@webkit.org>
3030
3031         Reviewed by Adam Barth.
3032
3033         Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
3034         https://bugs.webkit.org/show_bug.cgi?id=41319
3035
3036         This is basically a direct transcription of HTML5 TreeBuilder spec:
3037          http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements
3038
3039         This code is covered by various tests in html5lib/runner which we
3040         can't run yet due to other asserts.  Adam and I are working on
3041         getting rid of those ASSERTS so that this (and other code) will
3042         be better tested shortly.
3043
3044         * html/HTMLTreeBuilder.cpp:
3045         (WebCore::HTMLTreeBuilder::insertFormatingElement):
3046         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
3047         * html/HTMLTreeBuilder.h:
3048         (WebCore::HTMLTreeBuilder::ElementStack::contains):
3049         (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
3050         (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
3051         (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
3052         (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
3053         (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):
3054
3055 2010-06-28  Adam Barth  <abarth@webkit.org>
3056
3057         Reviewed by Eric Seidel.
3058
3059         Fix ASSERT so we can run more HTML5lib tests
3060         https://bugs.webkit.org/show_bug.cgi?id=41325
3061
3062         We can't call Node::addChild because that function contains a bunch of
3063         logic from the old parser.  Instead, this patch creates a new version
3064         of addChild that's does less validating (that's the tree builder's
3065         job).
3066
3067         * dom/ContainerNode.cpp:
3068         (WebCore::ContainerNode::parserAddChild):
3069         * dom/ContainerNode.h:
3070         * dom/Node.cpp:
3071         (WebCore::Node::parserAddChild):
3072         * dom/Node.h:
3073         * html/HTMLTreeBuilder.h:
3074         (WebCore::HTMLTreeBuilder::attach):
3075
3076 2010-06-28  David Levin  <levin@chromium.org>
3077
3078         Reviewed by NOBODY (chromium build fix).
3079
3080         * bindings/v8/ScriptEventListener.h: Changed forward declaration
3081           to correspond to the code change doing in r62052.
3082
3083 2010-06-28  Brady Eidson  <beidson@apple.com>
3084
3085         Reviewed by Alexey Proskuryakov.
3086
3087         Support for https://bugs.webkit.org/show_bug.cgi?id=40484
3088
3089         In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
3090         original Node* was, even if it was a window event listener.
3091
3092         For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
3093         took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.
3094
3095         This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
3096         for later use by the beforeProcess mechanism.
3097
3098         No new tests. (No change in behavior)
3099
3100         * bindings/js/ScriptEventListener.cpp:
3101         (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
3102           of a Frame*, and figures out the Frame* itself internally.
3103         * bindings/js/ScriptEventListener.h:
3104
3105         * bindings/v8/ScriptEventListener.cpp:
3106         (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
3107           of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
3108           pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
3109         * bindings/v8/ScriptEventListener.h:
3110
3111         * html/HTMLBodyElement.cpp:
3112         (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
3113         * html/HTMLFrameSetElement.cpp:
3114         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
3115         * svg/SVGSVGElement.cpp:
3116         (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
3117           should be there.
3118
3119 2010-06-28  John Gregg  <johnnyg@google.com>
3120
3121         Reviewed by Kent Tamura.
3122
3123         add ENABLE_DIRECTORY_UPLOAD build support
3124         https://bugs.webkit.org/show_bug.cgi?id=41100
3125
3126         * Configurations/FeatureDefines.xcconfig:
3127         * GNUmakefile.am:
3128         * WebCore.pri:
3129
3130 2010-06-28  Adam Barth  <abarth@webkit.org>
3131
3132         Reviewed by Eric Seidel.
3133
3134         Don't use the new tree builder for fragments
3135         https://bugs.webkit.org/show_bug.cgi?id=41316
3136
3137         We need to walk before we can run.  After this change, we can run the
3138         runner.html tests (with the ASSERT caveat).
3139
3140         * html/HTMLTreeBuilder.cpp:
3141         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3142
3143 2010-06-28  Adam Barth  <abarth@webkit.org>
3144
3145         Reviewed by Eric Seidel.
3146
3147         The new tree builder should actually finish building the tree
3148         https://bugs.webkit.org/show_bug.cgi?id=41314
3149
3150         Again, this patch makes progress on runner.html, but I haven't removed
3151         the ASSERT yet.
3152
3153         * html/HTMLTreeBuilder.cpp:
3154         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3155         (WebCore::HTMLTreeBuilder::finished):
3156         * html/HTMLTreeBuilder.h:
3157
3158 2010-06-28  Dumitru Daniliuc  <dumi@chromium.org>
3159
3160         Reviewed by Eric Seidel.
3161
3162         Fix a race condition that can happen when using DBs in workers.
3163         https://bugs.webkit.org/show_bug.cgi?id=41105
3164
3165         * storage/DatabaseTracker.cpp:
3166         (WebCore::DatabaseTracker::addOpenDatabase):
3167         * storage/DatabaseTracker.h:
3168
3169 2010-06-28  Adam Barth  <abarth@webkit.org>
3170
3171         Reviewed by Eric Seidel.
3172
3173         Add text nodes to the DOM
3174         https://bugs.webkit.org/show_bug.cgi?id=41306
3175
3176         Actually add some text nodes to the DOM when parsing a document.  We're
3177         going to need to do something fancier here eventually, but this gets us
3178         past the error we're seeing currently in runner.html.
3179
3180         Unfortunately, this patch "regresses" runner.html in the sense that we
3181         now hit an assert, but it's still an improvement...  I'll update the
3182         HTML5 expectations once we get past the assert.
3183
3184         * html/HTMLTreeBuilder.cpp:
3185         (WebCore::HTMLTreeBuilder::processCharacter):
3186         (WebCore::HTMLTreeBuilder::insertTextNode):
3187         * html/HTMLTreeBuilder.h:
3188
3189 2010-06-28  Beth Dakin  <bdakin@apple.com>
3190
3191         Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.
3192
3193         * rendering/RenderBoxModelObject.cpp:
3194
3195 2010-06-28  Andreas Kling  <andreas.kling@nokia.com>
3196
3197         Reviewed by Kenneth Rohde Christiansen.
3198
3199         [Qt] Use HTML5-conformant gradient interpolation mode
3200         https://bugs.webkit.org/show_bug.cgi?id=41298
3201
3202         Change the Qt Gradient implementation to use ComponentInterpolation mode.
3203
3204         Spec link:
3205         http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles
3206
3207         * platform/graphics/qt/GradientQt.cpp:
3208         (WebCore::Gradient::platformGradient):
3209
3210 2010-06-28  Beth Dakin  <bdakin@apple.com>
3211
3212         Reviewed by Sam Weinig.
3213
3214         Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders 
3215         with border-radius and double, groove, or ridge styles should look 
3216         better
3217
3218         This patch re-works border radius painting to stroke paths instead 
3219         of arcs. 
3220
3221         Added new function clipConvexPolygon(). Added static 
3222         addConvexPolygonToContext so that code can be shared between 
3223         drawConvexPolygon() and clipConvexPolygon().
3224         * platform/graphics/GraphicsContext.h:
3225         * platform/graphics/cg/GraphicsContextCG.cpp:
3226         (WebCore::addConvexPolygonToContext):
3227         (WebCore::GraphicsContext::drawConvexPolygon):
3228         (WebCore::GraphicsContext::clipConvexPolygon):
3229
3230         Shells of implementations on non-CG platforms.
3231         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3232         (WebCore::GraphicsContext::clipConvexPolygon):
3233         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3234         (WebCore::GraphicsContext::clipConvexPolygon):
3235         * platform/graphics/qt/GraphicsContextQt.cpp:
3236         (WebCore::GraphicsContext::clipConvexPolygon):
3237         * platform/graphics/skia/GraphicsContextSkia.cpp:
3238         (WebCore::GraphicsContext::clipConvexPolygon):
3239         * platform/graphics/wince/GraphicsContextWince.cpp:
3240         (WebCore::GraphicsContext::clipConvexPolygon):
3241         * platform/graphics/wx/GraphicsContextWx.cpp:
3242         (WebCore::GraphicsContext::clipConvexPolygon):
3243
3244         This new helper function determines if the inner corners of the 
3245         border will arch in or meet at a right angle. 
3246         * rendering/RenderBoxModelObject.cpp:
3247         (WebCore::borderWillArcInnerEdge):
3248
3249         This function is re-written so that, for each side of the border, 
3250         if borderWillArcInnerEdge() is true, we go down a brand new code 
3251         path of clipping to a convex polygon for the border side and then 
3252         we paint the side using the new function drawBoxSideFromPath(). If 
3253         borderWillArcInnerEdge() is false, then we call into the old 
3254         familiar drawLineForBoxSide() which relies on the rounder clip 
3255         rects we have set up to arch the outer edge of the border.
3256         (WebCore::RenderBoxModelObject::paintBorder):
3257
3258         This new function does the math to figure out the convex polygon 
3259         to clip to in the case where we need to arch the inner edge of the 
3260         border. This calls into a new GraphicsContext function that is only 
3261         implemented on CG at this time. This is the reason we are keeping 
3262         around an old version of paintBorder() for now.
3263         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
3264         * rendering/RenderBoxModelObject.h:
3265
3266         borderInnerRect() is a new convenience function called from 
3267         RenderObject and RenderBoxModelObject to determine the rect of the 
3268         inside edge of the border.
3269         * rendering/RenderObject.cpp:
3270         (WebCore::RenderObject::borderInnerRect):
3271
3272         This new function re-works drawArcForBoxSide to draw from Paths 
3273         when appropriate instead of stroking arcs. 
3274         (WebCore::RenderObject::drawBoxSideFromPath):
3275
3276         Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until 
3277         GraphicsContext::clipConvexPolygon() is implemented.
3278         (WebCore::RenderObject::drawArcForBoxSide):
3279         * rendering/RenderObject.h:
3280
3281         New function 
3282         RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the 
3283         inner radius values for a rect. It takes border widths a parameters 
3284         rather than using the style's border widths so that it can be used 
3285         in inner radius calculations for double and groove/ridge 
3286         calculations. The W3C corner constraining rules were moved to a 
3287         static function that can be called from both getBorderRadiiForRect
3288         () and getInnerBorderRadiiForRectWithBorderWidths().
3289         * rendering/style/RenderStyle.cpp:
3290         (WebCore::constrainCornerRadiiForRect):
3291         (WebCore::RenderStyle::getBorderRadiiForRect):
3292         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
3293         * rendering/style/RenderStyle.h:
3294
3295 2010-06-28  Martin Robinson  <mrobinson@igalia.com>
3296
3297         Reviewed by Xan Lopez.
3298
3299         [GTK] Add support for the progress bar tag
3300         https://bugs.webkit.org/show_bug.cgi?id=41014
3301
3302         Add support for rendering the progress tag for WebKit GTK+.
3303
3304         * GNUmakefile.am:
3305         * platform/gtk/RenderThemeGtk.cpp:
3306         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
3307         Added. Currently progress bar animations are disabled. As it looks like
3308         there may not be a good way to support this with Mozilla's theme drawing code.
3309         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
3310         (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
3311         (WebCore::RenderThemeGtk::paintProgressBar): Added.
3312         * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
3313         * platform/gtk/gtk2drawing.c: 
3314         (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
3315         * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.
3316
3317 2010-06-28  Adam Barth  <abarth@webkit.org>
3318
3319         Reviewed by Eric Seidel.
3320
3321         HTML5 Regression: Crash in insert()
3322         https://bugs.webkit.org/show_bug.cgi?id=41281
3323
3324         We need to call endIfDelayed() outside of the script nesting block
3325         because endIfDelayed() might call end(), which deletes the
3326         HTMLDocumentParser.  If we try to exit the script nesting block after
3327         the HTMLDocumentParser has been deleted, we'll decrement unallocated
3328         memory, which is bad times.
3329
3330         Moving endIfDelayed outside of the script nesting block also lets us
3331         avoid ending if inWrite() is true.  If we're inWrite(), then there's
3332         folks above us on the stack who will crash of the HTMLDocumentParser is
3333         deallocated.  Adding this check matches the LegacyHTMLDocumentParser
3334         and the logic in attemptToEnd, facilitating a small refactoring of the
3335         common logic for improved readability.
3336
3337         I don't know of any test case that changes in behavior because of this
3338         patch, but this bug exists on the same line of code that the reliablity
3339         tests crashed.  I'm not sure whether this patch will fix that crash,
3340         but removing bugs (even theoretical ones) seems like a good idea.
3341
3342         * html/HTMLDocumentParser.cpp:
3343         (WebCore::HTMLDocumentParser::insert):
3344         (WebCore::HTMLDocumentParser::append):
3345         (WebCore::HTMLDocumentParser::attemptToEnd):
3346         (WebCore::HTMLDocumentParser::endIfDelayed):
3347         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3348         * html/HTMLDocumentParser.h:
3349         (WebCore::HTMLDocumentParser::shouldDelayEnd):
3350
3351 2010-06-28  Eric Carlson  <eric.carlson@apple.com>
3352
3353         Reviewed by Sam Weinig.
3354
3355         MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
3356         https://bugs.webkit.org/show_bug.cgi?id=41287
3357         <rdar://problem/8137402>
3358
3359         No new test because getSupportedTypes is used privately by MediaPlayer.
3360
3361         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3362         (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
3363         modern types.
3364
3365 2010-06-28  James Robinson  <jamesr@chromium.org>
3366
3367         Reviewed by Darin Adler.
3368
3369         REGRESSION(53790): Neopets page with mismatched elements misrenders
3370         https://bugs.webkit.org/show_bug.cgi?id=41181
3371
3372         Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
3373         O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
3374         of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
3375         7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
3376         defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
3377         but doesn't specify any particular iteration limit.
3378
3379         * html/LegacyHTMLTreeBuilder.cpp:
3380
3381 2010-06-28  Adam Barth  <abarth@webkit.org>
3382
3383         Reviewed by Eric Seidel.
3384
3385         The new tree builder needs to call attach() on elements it attaches to
3386         the DOM
3387         https://bugs.webkit.org/show_bug.cgi?id=41293
3388
3389         Apparently Nodes expect to have their attach() method called when they
3390         are attached to the DOM.  The new tree builder is happy to oblige.
3391         Making this call requires some fancy footwork with RefPtr/PassRefPtr to
3392         avoid extra ref churn while keeping each function small.
3393
3394         * html/HTMLTreeBuilder.cpp:
3395         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
3396         (WebCore::HTMLTreeBuilder::processCharacter):
3397         (WebCore::HTMLTreeBuilder::insertDoctype):
3398         (WebCore::HTMLTreeBuilder::insertComment):
3399         (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
3400         (WebCore::HTMLTreeBuilder::insertElement):
3401         (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
3402         (WebCore::HTMLTreeBuilder::insertScriptElement):
3403         * html/HTMLTreeBuilder.h:
3404         (WebCore::HTMLTreeBuilder::attach):
3405
3406 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3407
3408         Fix distcheck.
3409
3410         * GNUmakefile.am:
3411
3412 2010-06-28  Kenneth Russell  <kbr@google.com>
3413
3414         Reviewed by Dimitri Glazkov.
3415
3416         Index validation caches buffer size information too aggressively
3417         https://bugs.webkit.org/show_bug.cgi?id=41092
3418
3419         Test: fast/canvas/webgl/index-validation-with-resized-buffer.html
3420
3421         * html/canvas/WebGLRenderingContext.cpp:
3422         (WebCore::WebGLRenderingContext::validateRenderingState):
3423          - Compute the number of valid elements each time based on the latched buffer.
3424         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3425          - Do not cache the buffer size, only the attributes used to
3426            compute the number of required elements.
3427         * html/canvas/WebGLRenderingContext.h:
3428         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
3429          - Ditto.
3430
3431 2010-06-28  Andreas Kling  <andreas.kling@nokia.com>
3432
3433         Reviewed by Simon Hausmann.
3434
3435         [Qt] Replace single treat-as-space characters with normal space
3436         https://bugs.webkit.org/show_bug.cgi?id=41278
3437
3438         This keeps Qt from attempting glyph substitution and loading a bunch
3439         of extra fonts when encountering &nbsp; entities.
3440
3441         * platform/graphics/qt/FontQt.cpp:
3442         (WebCore::Font::floatWidthForComplexText):
3443
3444 2010-06-28  Robin Cao  <robin.cao@torchmobile.com.cn>
3445
3446         Reviewed by Dan Bernstein.
3447
3448         canvas fillText with @font-face crashes
3449         https://bugs.webkit.org/show_bug.cgi?id=35486
3450
3451         The font object in CanvasRenderingContext2D may become invalid at some point.
3452         Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.
3453
3454         A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html
3455
3456         * html/HTMLCanvasElement.cpp:
3457         (WebCore::HTMLCanvasElement::recalcStyle):
3458         * html/HTMLCanvasElement.h:
3459         * html/canvas/CanvasRenderingContext2D.cpp:
3460         (WebCore::CanvasRenderingContext2D::updateFont):
3461         * html/canvas/CanvasRenderingContext2D.h:
3462
3463 2010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3464
3465         Unreviewed build fix.
3466
3467         [EFL] Build fix for latest version of Ecore library.
3468         Ecore recently changed return type of callbacks from int to Eina_Bool.
3469
3470         No new functionality, so no new tests.
3471
3472         * platform/efl/SharedTimerEfl.cpp:
3473         (WebCore::timerEvent): Return Eina_Bool instead of int.
3474
3475 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3476
3477         Fix build with GTK+ older than 2.18
3478
3479         * platform/gtk/ScrollViewGtk.cpp:
3480         (WebCore::ScrollView::visibleContentRect):
3481
3482 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3483
3484         Reviewed by Adam Barth.
3485
3486         [GTK] Push NULL context on every DOM bindings entry point
3487         https://bugs.webkit.org/show_bug.cgi?id=39967
3488
3489         Update GObject DOM bindings to push the NULL context on every API
3490         entry point, and update bindings test results.
3491
3492         * bindings/scripts/CodeGeneratorGObject.pm:
3493         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3494         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3495         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3496
3497 2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
3498
3499         Reviewed by Adam Roben.
3500
3501         [WinCairo] Text box backgrounds do not render in partially opaque layers
3502         https://bugs.webkit.org/show_bug.cgi?id=41113
3503
3504         Tests:
3505          manual-tests/partially-opaque-text-input.html
3506
3507         * platform/graphics/win/GraphicsContextCairoWin.cpp:
3508         (WebCore::GraphicsContext::releaseWindowsContext):
3509         When restoring a context which does not support alpha blending, manually
3510         set the alpha channel of the HBITMAP to fully opaque. This will effectively
3511         ignore the alpha channel of the HBITMAP, which is necessary because GDI
3512         drawing functions set the alpha value to be fully transparent (0).
3513
3514 2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
3515
3516         Reviewed by Adam Roben.
3517
3518         [WinCairo] Rendering of themed elements on a layer with opacity produces nothing
3519         https://bugs.webkit.org/show_bug.cgi?id=41111
3520
3521         Tests:
3522          manual-tests/partially-opaque-form-elements.html
3523
3524         * platform/graphics/win/GraphicsContextCairoWin.cpp:
3525         (WebCore::GraphicsContext::releaseWindowsContext):
3526         Preform a cairo_save() and a cairo_restore() around code modifying the transformation
3527         matrix of the Cairo surface. Also set the destination coordinates before adjusting
3528         the transformation matrix scale, so that the destination coordinates are not scaled
3529         as well.
3530
3531 2010-06-28  Sam Magnuson  <smagnuson@netflix.com>
3532
3533         Reviewed by Kenneth Rohde Christiansen.
3534
3535         [Qt] GraphicsLayerQt delay seems unnecessary.
3536         https://bugs.webkit.org/show_bug.cgi?id=40846
3537
3538         Test: compositing/animation/busy-indicator.html
3539
3540         * platform/graphics/qt/GraphicsLayerQt.cpp:
3541         (WebCore::GraphicsLayerQtImpl::recache):
3542         (WebCore::GraphicsLayerQtImpl::flushChanges):
3543         (WebCore::GraphicsLayerQt::setContentsToImage):
3544         (WebCore::GraphicsLayerQt::addAnimation):
3545
3546 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3547
3548         Reviewed by Gustavo Noronha.
3549
3550         Until now we were adding the event listeners for a given object in
3551         the wrap method, since that's the first moment we have accoss to
3552         the core WebCore object. The problem is that we only install the
3553         listeners that the topmost class in the class hierarchy needs (eg,
3554         HTMLParagrahElement for a P element), when most of the actual
3555         event attributes are defined in the base classes (Node, Element,
3556         ...).
3557
3558         To fix this set the core object as a construct/write-only property
3559         on the wrapper GObject, and set the eventlisteners in the cGObject
3560         'construct' method, chaining up through all the class hierarchy
3561         until the end. This way we'll get all the eventlisteners defined
3562         in all the superclasses of our object, which is what we want.
3563
3564         * bindings/gobject/WebKitDOMObject.cpp:
3565         (webkit_dom_object_get_property):
3566         (webkit_dom_object_set_property):
3567         (webkit_dom_object_class_init):
3568         * bindings/scripts/CodeGeneratorGObject.pm:
3569         * dom/Node.idl:
3570
3571 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3572
3573         Fix GTK+ build.
3574
3575         * platform/gtk/RenderThemeGtk.cpp:
3576
3577 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3578
3579         Reviewed by Gustavo Noronha.
3580
3581         [GTK] Does not compile with -DGSEAL_ENABLE
3582         https://bugs.webkit.org/show_bug.cgi?id=37851
3583
3584         Fix build with GSEAL enabled.
3585
3586         * GNUmakefile.am:
3587         * platform/gtk/GtkVersioning.h:
3588         * platform/gtk/RenderThemeGtk.cpp:
3589         (WebCore::paintMozillaGtkWidget):
3590         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
3591         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
3592         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
3593         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
3594         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
3595         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
3596         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
3597         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
3598         (WebCore::RenderThemeGtk::systemColor):
3599         * platform/gtk/ScrollViewGtk.cpp:
3600         (WebCore::ScrollView::platformRemoveChild):
3601         (WebCore::ScrollView::visibleContentRect):
3602         * platform/gtk/gtk2drawing.c:
3603         (ensure_toggle_button_widget):
3604         (ensure_combo_box_widgets):
3605         (ensure_combo_box_entry_widgets):
3606         (ensure_tree_header_cell_widget):
3607         (moz_gtk_button_paint):
3608         (moz_gtk_toggle_paint):
3609         (calculate_button_inner_rect):
3610         (calculate_arrow_rect):
3611         (moz_gtk_scrollbar_button_paint):
3612         (moz_gtk_scrollbar_trough_paint):
3613         (moz_gtk_scrollbar_thumb_paint):
3614         (moz_gtk_spin_paint):
3615         (moz_gtk_spin_updown_paint):
3616         (moz_gtk_scale_paint):
3617         (moz_gtk_scale_thumb_paint):
3618         (moz_gtk_gripper_paint):
3619         (moz_gtk_hpaned_paint):
3620         (moz_gtk_vpaned_paint):
3621         (moz_gtk_entry_paint):
3622         (moz_gtk_treeview_paint):
3623         (moz_gtk_tree_header_sort_arrow_paint):
3624         (moz_gtk_treeview_expander_paint):
3625         (moz_gtk_expander_paint):
3626         (moz_gtk_combo_box_paint):
3627         (moz_gtk_downarrow_paint):
3628         (moz_gtk_combo_box_entry_button_paint):
3629         (moz_gtk_container_paint):
3630         (moz_gtk_toggle_label_paint):
3631         (moz_gtk_toolbar_paint):
3632         (moz_gtk_toolbar_separator_paint):
3633         (moz_gtk_tooltip_paint):
3634         (moz_gtk_resizer_paint):
3635         (moz_gtk_frame_paint):
3636         (moz_gtk_progressbar_paint):
3637         (moz_gtk_progress_chunk_paint):
3638         (moz_gtk_get_tab_thickness):
3639         (moz_gtk_tab_paint):
3640         (moz_gtk_tabpanels_paint):
3641         (moz_gtk_tab_scroll_arrow_paint):
3642         (moz_gtk_menu_bar_paint):
3643         (moz_gtk_menu_popup_paint):
3644         (moz_gtk_menu_separator_paint):
3645         (moz_gtk_menu_item_paint):
3646         (moz_gtk_menu_arrow_paint):
3647
3648 2010-06-28  Xan Lopez  <xlopez@igalia.com>
3649
3650         Reviewed by Gustavo Noronha.
3651
3652         [GTK] Add support for GTK+3
3653         https://bugs.webkit.org/show_bug.cgi?id=41253
3654
3655         Adapt build system for 3.x support.