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