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