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