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