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