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