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