On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
2
3         Reviewed by Tor Arne Vestbø.
4
5         On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
6         files in the .pro file, resulting in unresolved symbols.
7
8         * WebCore.pro:
9
10 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
11
12         Reviewed by Tor Arne Vestbø.
13
14         [Qt] Make it possible to link with -no-undefined.
15
16         * WebCore.pro: Add missing explicit dependency to libXrender due to the
17         use of XRenderFindVisualFormat in the X11 plugin code.
18
19 2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
20
21         Reviewed by Tor Arne Vestbø.
22
23         Add missing files to the build.
24
25         * WebCore.pro:
26
27 2010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>
28
29         Reviewed by Darin Fisher.
30
31         [Chromium] computePageRectsForFrame seems to be unnecessary
32         https://bugs.webkit.org/show_bug.cgi?id=33881
33
34         * WebCore.gypi: Removed FrameChromium.h
35         * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
36         * page/chromium/FrameChromium.h: Removed.
37
38 2010-01-20  Roland Steiner  <rolandsteiner@chromium.org>
39
40         Reviewed by Dan Bernstein.
41
42         Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
43         (https://bugs.webkit.org/show_bug.cgi?id=33266)
44         
45         Ruby did not handle malformed cases correctly when the ruby base was in
46         block flow. Changed the code to handle all possible cases.
47         Also, added some simplification methods to RenderBlock.
48
49         Tests: fast/ruby/ruby-illegal-1.html
50                fast/ruby/ruby-illegal-2.html
51                fast/ruby/ruby-illegal-3.html
52                fast/ruby/ruby-illegal-4.html
53                fast/ruby/ruby-illegal-5.html
54                fast/ruby/ruby-illegal-6.html
55                fast/ruby/ruby-illegal-7.html
56                fast/ruby/ruby-illegal-combined.html
57                fast/ruby/rubyDOM-insert-rt-block-1.html
58                fast/ruby/rubyDOM-insert-rt-block-2.html
59                fast/ruby/rubyDOM-insert-rt-block-3.html
60                fast/ruby/rubyDOM-remove-rt-block-1.html
61                fast/ruby/rubyDOM-remove-rt-block-2.html
62                fast/ruby/rubyDOM-remove-rt-block-3.html
63
64         * rendering/RenderBlock.cpp:
65         (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
66         (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
67         * rendering/RenderBlock.h:
68         * rendering/RenderRubyBase.cpp:
69         (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
70         (WebCore::RenderRubyBase::moveChildren):
71         (WebCore::RenderRubyBase::moveInlineChildren):
72         (WebCore::RenderRubyBase::moveBlockChildren):
73         (WebCore::RenderRubyBase::mergeBlockChildren):
74         * rendering/RenderRubyBase.h:
75         * rendering/RenderRubyRun.cpp:
76         (WebCore::RenderRubyRun::addChild):
77         (WebCore::RenderRubyRun::removeChild):
78
79 2010-01-19  Dan Bernstein  <mitz@apple.com>
80
81         Build fix after r53514
82
83         * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
84
85 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
86
87         Reviewed by Dan Bernstein.
88
89         Avoid calling NSEqualRects() on the garbage rect obtained
90         by calling -frame on a null view.
91
92         * platform/mac/WidgetMac.mm:
93         (WebCore::Widget::setFrameRect):
94
95 2010-01-19  Maciej Stachowiak  <mjs@apple.com>
96
97         Unreviewed build fix.
98
99         Remove currentWorld from the exports file again, since it is now inline.
100
101         * WebCore.base.exp:
102
103 2010-01-19  Brian Weinstein  <bweinstein@apple.com>
104
105         Reviewed by Tim Hatcher.
106
107         Part of <http://webkit.org/b/28622>.
108         Caught exceptions still pause the debugger.
109         
110         Update JavaScriptDebugServer::exception to take a hasHandler parameter,
111         so later we can differentiate between a caught and an uncaught exception.
112         
113         This just adds a new parameter, no behavior is changed.
114
115         No change in functionality, so no tests.
116
117         * inspector/JavaScriptDebugServer.cpp:
118         (WebCore::JavaScriptDebugServer::exception):
119         * inspector/JavaScriptDebugServer.h:
120
121 2010-01-18  Maciej Stachowiak  <mjs@apple.com>
122
123         Reviewed by Adam Barth.
124
125         Inline functions that are hot in DOM manipulation
126         https://bugs.webkit.org/show_bug.cgi?id=33820
127
128         (3% speedup on Dromaeo DOM Core tests)
129
130         * bindings/js/JSDOMBinding.h:
131         (WebCore::currentWorld): Inlined.
132         (WebCore::jsString): Inlined String& overload and split off slow case.
133         * bindings/js/JSDOMBinding.cpp:
134         (WebCore::jsStringSlowCase): Slow case for the above.
135         * dom/Document.h:
136         (WebCore::Document::isHTMLDocument): Use a bit and an inline method
137         instead of a virtual method, since this is so hot and size of Document
138         is not a prime concern.
139         (WebCore::Document::create): Adapt for above.
140         (WebCore::Document::createXHTML): ditto
141         * dom/Document.cpp:
142         (WebCore::Document::Document): ditto
143         * html/HTMLDocument.cpp:
144         (WebCore::HTMLDocument::HTMLDocument): ditto
145         * html/HTMLDocument.h: ditto
146         * loader/PlaceholderDocument.h:
147         (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
148         * svg/SVGDocument.cpp:
149         (WebCore::SVGDocument::SVGDocument): ditto
150         * dom/Element.h:
151         (WebCore::Element::attributes): Inlined.
152         (WebCore::Element::updateId): Inlined.
153         * dom/Element.cpp: (Remove inlined methods.)
154         * dom/NamedAttrMap.h:
155         (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
156         * dom/NamedAttrMap.cpp:
157         (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
158         * inspector/InspectorController.cpp:
159         * inspector/InspectorController.h:
160         (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
161         early exit doesn't incur a function call.
162         (WebCore::InspectorController::didRemoveDOMNode): ditto
163         (WebCore::InspectorController::didModifyDOMAttr): ditto
164         * platform/ThreadGlobalData.h:
165         (WebCore::threadGlobalData): Inlined.
166         * platform/ThreadGlobalData.cpp: (Removed inline methods).
167         * platform/Timer.h:
168         (WebCore::TimerBase::isActive): Inlined.
169         * platform/Timer.cpp: (Removed inline methods).
170         * WebCore.xcodeproj/project.pbxproj: Install new heares.
171         * WebCore.base.exp: Add appropriate exports.
172
173 2010-01-19  Jon Honeycutt  <jhoneycutt@apple.com>
174
175         Chromium build fix.
176
177         * accessibility/chromium/AccessibilityObjectChromium.cpp:
178         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
179         Call correct function.
180
181 2010-01-17  Jon Honeycutt  <jhoneycutt@apple.com>
182
183         MSAA: The child <option> elements of a non-multiple <select> are not
184         exposed
185
186         https://bugs.webkit.org/show_bug.cgi?id=33773
187         <rdar://problem/7550556>
188
189         Reviewed by Alice Liu.
190
191         This exposes the child <option> elements in a format similar to
192         Firefox's: the <select> element has one child, a hidden list object,
193         and this list has as its children the <option> elements.
194
195         * GNUmakefile.am:
196         * WebCore.gypi:
197         * WebCore.vcproj/WebCore.vcproj:
198         * WebCore.xcodeproj/project.pbxproj:
199         Add new files to project.
200
201         * accessibility/AXObjectCache.cpp:
202         (WebCore::AXObjectCache::getOrCreate):
203         If the element is a RenderMenuList, create an AccessibilityMenuList.
204         (WebCore::AXObjectCache::getOrCreate):
205         Add new types to create by role value.
206
207         * accessibility/AccessibilityMenuList.cpp: Added.
208         (WebCore::AccessibilityMenuList::AccessibilityMenuList):
209         Call the base class constructor. Assert that the RenderObject passed
210         is a RenderMenuList.
211         (WebCore::AccessibilityMenuList::press):
212         Show or hide the popup menu.
213         (WebCore::AccessibilityMenuList::addChildren):
214         Create an AccessibilityMenuListPopup. If the platform ignores its
215         accessibility, remove it from the object cache and return early.
216         Otherwise, set its parent object to this object, add it to our list of
217         children, and tell it to add its children.
218         (WebCore::AccessibilityMenuList::childrenChanged):
219         Tell our child hidden list that its children changed.
220         (WebCore::AccessibilityMenuList::isCollapsed):
221         Return whether the popup menu is visible.
222
223         * accessibility/AccessibilityMenuList.h: Added.
224         (WebCore::AccessibilityMenuList::create):
225         Adopt and return a new RenderMenuList.
226         (WebCore::AccessibilityMenuList::isMenuList):
227         (WebCore::AccessibilityMenuList::roleValue):
228         (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
229         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
230
231         * accessibility/AccessibilityMenuListOption.cpp: Added.
232         (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
233         Initialize the pointer to our parent popup menu.
234         (WebCore::AccessibilityMenuListOption::setElement):
235         Assert that the element is an <option> element.
236         (WebCore::AccessibilityMenuListOption::actionElement):
237         Return our element.
238         (WebCore::AccessibilityMenuListOption::parentObject):
239         Return our parent popup menu.
240         (WebCore::AccessibilityMenuListOption::isEnabled):
241         Return true if the element itself is enabled.
242         (WebCore::AccessibilityMenuListOption::isVisible):
243         Return true if the popup is visible, or return true if the popup is
244         collapsed but the element is selected.
245         (WebCore::AccessibilityMenuListOption::isOffScreen):
246         Return true if the object is invisible.
247         (WebCore::AccessibilityMenuListOption::isSelected):
248         (WebCore::AccessibilityMenuListOption::setSelected):
249         (WebCore::AccessibilityMenuListOption::nameForMSAA):
250         Return the <option> element's text.
251         (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
252         Return true if enabled.
253         (WebCore::AccessibilityMenuListOption::elementRect):
254         Return the AccessibilityMenuList's rect.
255
256         * accessibility/AccessibilityMenuListOption.h: Added.
257         (WebCore::AccessibilityMenuListOption::create):
258         Adopt and return a new AccessibilityMenuListOption.
259         (WebCore::AccessibilityMenuListOption::setParent):
260         (WebCore::AccessibilityMenuListOption::isMenuListOption):
261         (WebCore::AccessibilityMenuListOption::roleValue):
262         (WebCore::AccessibilityMenuListOption::canHaveChildren):
263         (WebCore::AccessibilityMenuListOption::size):
264
265         * accessibility/AccessibilityMenuListPopup.cpp: Added.
266         (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
267         Initialize the pointer to our parent list.
268         (WebCore::AccessibilityMenuListPopup::isVisible):
269         Return false; we're never considered visible.
270         (WebCore::AccessibilityMenuListPopup::isOffScreen):
271         Return true if the popup is collapsed.
272         (WebCore::AccessibilityMenuListPopup::parentObject):
273         Return our parent AccessibilityMenuList.
274         (WebCore::AccessibilityMenuListPopup::isEnabled):
275         Return true if our parent is enabled.
276         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
277         If the element is an <option> element, create a list item for it, and
278         set the object's element to this element.
279         (WebCore::AccessibilityMenuListPopup::press):
280         Call our parent's press() function to show or hide the popup menu.
281         (WebCore::AccessibilityMenuListPopup::addChildren):
282         Walk the select element's children, and create list items for them. Add
283         them to our list of children.
284         (WebCore::AccessibilityMenuListPopup::childrenChanged):
285         If any of our children have been detached from the document, remove
286         them from the AXObjectCache and from our child list.
287         (WebCore::AccessibilityMenuListPopup::setMenuList):
288
289         * accessibility/AccessibilityMenuListPopup.h: Added.
290         (WebCore::AccessibilityMenuListPopup::create):
291         Adopt and return an AccessibilityMenuListPopup.
292         (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
293         (WebCore::AccessibilityMenuListPopup::elementRect):
294         (WebCore::AccessibilityMenuListPopup::size):
295         (WebCore::AccessibilityMenuListPopup::roleValue):
296
297         * accessibility/AccessibilityObject.cpp:
298         (WebCore::AccessibilityObject::actionVerb):
299         Add the menuListAction and menuListPopupAction verbs.
300
301         * accessibility/AccessibilityObject.h:
302         (WebCore::):
303         Add new roles.
304         (WebCore::AccessibilityObject::isMenuList):
305         Stubbed.
306         (WebCore::AccessibilityObject::isMenuListHiddenList):
307         Stubbed.
308         (WebCore::AccessibilityObject::isMenuListOption):
309         Stubbed.
310         (WebCore::AccessibilityObject::isVisible):
311         Stubbed.
312
313         * accessibility/chromium/AccessibilityObjectChromium.cpp:
314         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
315         Ignore the new object type.
316
317         * accessibility/gtk/AccessibilityObjectAtk.cpp:
318         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
319         Ditto.
320
321         * accessibility/mac/AccessibilityObjectMac.mm:
322         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
323         Ditto.
324
325         * accessibility/qt/AccessibilityObjectQt.cpp:
326         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
327         Ditto.
328
329         * accessibility/win/AccessibilityObjectWin.cpp:
330         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
331         Allow the new object types.
332
333         * accessibility/wx/AccessibilityObjectWx.cpp:
334         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
335         Ignore the new object type.
336
337         * accessibility/win/AccessibilityObjectWin.cpp:
338         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
339         If the object is an AccessibilityMenuListHiddenList or
340         AccessibilityMenuListOption, include it.
341
342         * html/HTMLOptionElement.cpp:
343         (WebCore::HTMLOptionElement::disabled):
344         Call ownElementDisabled().
345
346         * html/HTMLOptionElement.h:
347         (WebCore::HTMLOptionElement::ownElementDisabled):
348         Return the base class implementation of disabled, which returns
349         whether this <option> itself is disabled.
350
351         * platform/LocalizedStrings.h:
352         Declare new localized string functions.
353
354         * platform/gtk/LocalizedStringsGtk.cpp:
355         (WebCore::AXMenuListPopupActionVerb):
356         Stubbed.
357         (WebCore::AXMenuListActionVerb):
358         Stubbed.
359
360         * platform/haiku/LocalizedStringsHaiku.cpp:
361         (WebCore::AXMenuListPopupActionVerb):
362         Stubbed.
363         (WebCore::AXMenuListActionVerb):
364         Stubbed.
365
366         * platform/mac/LocalizedStringsMac.mm:
367         (WebCore::AXMenuListPopupActionVerb):
368         Call the view factory's method.
369         (WebCore::AXMenuListActionVerb):
370         Ditto.
371
372         * platform/qt/Localizations.cpp:
373         (WebCore::AXMenuListPopupActionVerb):
374         Stubbed.
375         (WebCore::AXMenuListActionVerb):
376         Stubbed.
377
378         * platform/wx/LocalizedStringsWx.cpp:
379         (WebCore::AXMenuListPopupActionVerb):
380         Stubbed.
381         (WebCore::AXMenuListActionVerb):
382         Stubbed.
383
384 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
385
386         Reviewed by Dan Bernstein.
387
388         Support reflections on WebGL
389         https://bugs.webkit.org/show_bug.cgi?id=33754
390
391         Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
392         WebGL content gets displayed, we correctly copy its content to the clone layers.
393         
394         Test: compositing/webgl/webgl-reflection.html
395
396         * platform/graphics/GraphicsLayer.h:
397         (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter
398         which is the layer that displayed.
399         * platform/graphics/mac/Canvas3DLayer.mm:
400         (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
401         * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
402
403         * platform/graphics/mac/GraphicsLayerCA.mm:
404         (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content
405         layer, since we're setting it for WebGL layers now.
406         
407         (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
408         as well as the main layer now, getting the correct layer to copy contents from, and using
409         the correct clone map.
410         
411         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
412         layers, because we need the didDisplay() callback.
413
414         * platform/graphics/mac/WebLayer.mm:
415         (-[WebLayer display]): didDisplay() takes a layer argument.
416         * platform/graphics/mac/WebTiledLayer.mm:
417         (-[WebTiledLayer display]): ditto.
418
419 2010-01-19  Mark Rowe  <mrowe@apple.com>
420
421         Reviewed by Oliver Hunt.
422
423         <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray
424
425         Rework toArray to extract elements in to a vector rather than handing out raw pointers.  This prevents
426         callers from forgetting to free the memory, and gives them the option of using stack buffers for
427         sufficiently small allocations.
428
429         * bindings/js/JSWebGLRenderingContextCustom.cpp:
430         (WebCore::JSWebGLRenderingContext::texSubImage2D):
431         (WebCore::toVector):
432         (WebCore::dataFunctionf):
433         (WebCore::dataFunctioni):
434         (WebCore::dataFunctionMatrix):
435
436 2010-01-19  Carol Szabo  <carol.szabo@nokia.com>
437
438         Reviewed by Darin Adler.
439
440         Another crazy counters bug
441         https://bugs.webkit.org/show_bug.cgi?id=11031
442
443         This patch actually provides for counter updating when the style
444         of a renderer changes.
445
446         Tests: fast/css/counters/counter-increment-002.html
447                fast/css/counters/counter-reset-000.html
448                fast/css/counters/counter-reset-002.html
449
450         * rendering/RenderCounter.cpp:
451         (WebCore::RenderCounter::rendererStyleChanged):
452         This function is added to update the counter hierarchy in 
453         response to changes to the style of a renderer.
454         * rendering/RenderCounter.h:
455         * rendering/RenderObject.cpp:
456         (WebCore::RenderObject::styleDidChange):
457         For changes that may include the counter directives added a
458         call to RenderCounter::rendererStyleChanged.
459
460 2010-01-19  Gustavo Noronha Silva  <gns@gnome.org>
461
462         Unreviewed. Build fixes for make distcheck - missing files.
463
464         * GNUmakefile.am:
465
466 2010-01-19  Alexey Proskuryakov  <ap@apple.com>
467
468         Reviewed by Oliver Hunt.
469
470         https://bugs.webkit.org/show_bug.cgi?id=33850
471         Attr.childNodes does not get updated after DOM mutations
472
473         Test: fast/dom/Attr/child-nodes-cache.html
474
475         * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an
476         attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
477
478 2010-01-19  John Sullivan  <sullivan@apple.com>
479
480         https://bugs.webkit.org/show_bug.cgi?id=33854
481         Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 
482         more info about where the result was found
483
484         Reviewed by Darin Adler.
485
486         No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.
487
488         * WebCore.base.exp:
489         Updated mangled signature for export.
490
491         * page/Frame.cpp:
492         (WebCore::Frame::searchForLabelsAboveCell):
493         Now fills in an out parameter with the number of characters from the start of the cell.
494         (WebCore::Frame::searchForLabelsBeforeElement):
495         Now fills in an out parameter with the distance as a number of characters, and another
496         with a bool for whether the result was in a table cell above the current cell (otherwise
497         it was found in the text before this element and after the previous element or start of form).
498
499         * page/Frame.h:
500         Updated signatures.
501
502         * page/mac/FrameMac.mm:
503         (WebCore::Frame::searchForNSLabelsAboveCell):
504         Same as above. This is a parallel copy of the function using Mac-specific data structures.
505         (WebCore::Frame::searchForLabelsBeforeElement):
506         Ditto
507
508 2010-01-19  Jakob Petsovits  <jpetsovits@rim.com>
509
510         Reviewed by Nikolas Zimmermann.
511
512         [OpenVG] Add (EGL) surface/context management
513         https://bugs.webkit.org/show_bug.cgi?id=33403
514
515         The foundations for a new OpenVG port.
516
517         OpenVG is not tied to EGL per se, EGL just happens to be
518         the only usable backend for OpenVG state and painting
519         at the time of writing.
520
521         The purpose of the SurfaceOpenVG class is to provide
522         an EGL-independent interface for OpenVG-specific code.
523         The EGLDisplayOpenVG class takes care of keeping track
524         of EGL displays, surfaces and contexts. It also makes
525         sure that all created contexts are interoperable, and
526         that different surfaces use a single context if possible.
527
528         * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
529         (WebCore::displayManagers):
530         (WebCore::EGLDisplayOpenVG::currentSurface):
531         (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
532         (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
533         (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
534         (WebCore::EGLDisplayOpenVG::current):
535         (WebCore::EGLDisplayOpenVG::forDisplay):
536         (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
537         (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
538         (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
539         (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
540         (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
541         (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
542         (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
543         (WebCore::EGLDisplayOpenVG::createPbufferSurface):
544         (WebCore::EGLDisplayOpenVG::surfaceForWindow):
545         (WebCore::EGLDisplayOpenVG::surfacesCompatible):
546         (WebCore::EGLDisplayOpenVG::destroySurface):
547         (WebCore::EGLDisplayOpenVG::contextForSurface):
548         * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
549         (WebCore::EGLDisplayOpenVG::display):
550         * platform/graphics/openvg/EGLUtils.h: Added.
551         (toEGLErrorConstant):
552         * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
553         (WebCore::SurfaceOpenVG::currentSurface):
554         (WebCore::SurfaceOpenVG::SurfaceOpenVG):
555         (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
556         (WebCore::SurfaceOpenVG::isValid):
557         (WebCore::SurfaceOpenVG::width):
558         (WebCore::SurfaceOpenVG::height):
559         (WebCore::SurfaceOpenVG::sharedSurface):
560         (WebCore::SurfaceOpenVG::makeCurrent):
561         (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
562         (WebCore::SurfaceOpenVG::flush):
563         * platform/graphics/openvg/SurfaceOpenVG.h: Added.
564         (WebCore::SurfaceOpenVG::eglDisplay):
565         (WebCore::SurfaceOpenVG::eglSurface):
566         (WebCore::SurfaceOpenVG::eglContext):
567         * platform/graphics/openvg/VGUtils.h: Added.
568         (toVGErrorConstant):
569
570 2010-01-19  Steve Block  <steveblock@google.com>
571
572         Reviewed by David Levin.
573
574         Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
575         https://bugs.webkit.org/show_bug.cgi?id=33843
576
577         No new tests, refactoring only.
578
579         * Android.jscbindings.mk:
580         * Android.v8bindings.mk:
581         * GNUmakefile.am:
582         * WebCore.xcodeproj/project.pbxproj:
583         * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
584         * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
585         * bridge/jni/jni_jsobject.mm:
586         * bridge/jni/jni_objc.mm:
587         * bridge/jni/jni_runtime.cpp:
588         * bridge/jni/jni_runtime.h:
589         * bridge/jni/jni_utility.cpp: Removed.
590         * bridge/jni/jni_utility.h: Removed.
591         * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.
592         (JSC::Bindings::convertValueToJValue):
593         * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
594         * bridge/jni/jsc/JavaClassJSC.cpp:
595         * bridge/jni/jsc/JavaInstanceJSC.cpp:
596         * bridge/jni/jsc/JavaStringJSC.h:
597         * bridge/jni/jsc/jni_utility_private.cpp: Removed.
598         * bridge/jni/jsc/jni_utility_private.h: Removed.
599         * platform/android/GeolocationServiceBridge.cpp:
600         * platform/android/GeolocationServiceBridge.h:
601         * platform/android/TemporaryLinkStubs.cpp:
602
603 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
604
605         Reviewed by Dan Bernstein.
606
607         Occasional crash when interacting with page with reflected WebGL
608         https://bugs.webkit.org/show_bug.cgi?id=33863
609         
610         If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
611         then we would determine that the layer does not require compositing, and tear down its
612         backing (without clearing replicaLayer() on the source layer's GraphicsLayer).
613         
614         Fix by changing requiresCompositingLayer() on a reflection layer to always give the
615         same answer for a reflection and its original.
616         
617         Also add various belt-and-brances code and null checks to ensure that if we ever end up
618         with a non-composited reflection layer, we won't crash.
619         
620         No new tests, because the crash depends on timing issues that are hard to reproduce in a test.
621
622         * platform/graphics/GraphicsLayer.h:
623         (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
624         
625         * rendering/RenderLayerCompositor.cpp:
626         (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer
627         pointer if tearing down backing store of a reflection.
628         
629         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
630         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
631         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
632         (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
633         use the source layer to answer the question.        
634
635 2010-01-19  Simon Fraser  <simon.fraser@apple.com>
636
637         Reviewed by Dan Bernstein.
638
639         Some composited reflections incorrectly positioned
640         https://bugs.webkit.org/show_bug.cgi?id=33856
641         
642         When setting the position of the replicated layer inside the reflection, we need to take
643         into account the bounds of the original layer, and the replica layer to get the
644         reflection in the right place.
645
646         Tests: compositing/reflections/nested-reflection-transformed2.html
647                compositing/reflections/reflection-positioning2.html
648
649         * rendering/RenderLayerBacking.cpp:
650         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
651
652 2010-01-19  Enrica Casucci  <enrica@apple.com>
653
654         Reviewed by Simon Fraser.
655
656         REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
657         https://bugs.webkit.org/show_bug.cgi?id=33864
658         <rdar://problem/7552959>
659         
660         Regression has been introduced by changeset 53085.
661         The original fix had to be limited to editable content.
662
663         Test: editing/selection/selection-applet.html
664
665         * dom/Position.cpp:
666         (WebCore::Position::getInlineBoxAndOffset):
667
668 2010-01-19  Kristian Amlie <kristian.amlie@nokia.com>
669
670         Reviewed by Laszlo Gombos.
671
672         [Qt] Fix qmake warning with qmake in Qt for Symbian
673         https://bugs.webkit.org/show_bug.cgi?id=33786
674
675         * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
676
677 2010-01-19  Daniel Bates  <dbates@rim.com>
678
679         Reviewed by Darin Adler.
680
681         https://bugs.webkit.org/show_bug.cgi?id=33851
682
683         Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
684         returns the rectangle of the document within the content view of
685         the scroll view (i.e. the rectangle not including scrollbars) when
686         the parameter includeScrollbars == true
687
688         Currently, this behavior contradicts both the comment in ScrollView.h
689         for method visibleContentRect as well as the behavior in
690         ScrollView::visibleContentRect() for a platform-independent scroll view.
691
692         Instead, it should return the rectangle whose dimensions include
693         the scrollbars.
694
695         Also, removes some extra whitespace at the end of the lines.
696
697         No tests included because we cannot test this using either DRT
698         or a manual test.
699
700         * platform/mac/ScrollViewMac.mm:
701         (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true
702         then return the rectangle whose dimensions are that of
703         the frame (i.e. -[NSScrollView frame]).
704
705 2010-01-19  Steve Block  <steveblock@google.com>
706
707         Reviewed by David Levin.
708
709         Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
710         https://bugs.webkit.org/show_bug.cgi?id=33819
711
712         No new tests, style fixes only.
713
714         * bridge/jni/jsc/JavaClassJSC.cpp: Modified.
715         * bridge/jni/jsc/JavaClassJSC.h: Modified.
716
717 2010-01-19  Jaime Yap  <jaimeyap@google.com>
718
719         Reviewed by Pavel Feldman.
720         
721         Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
722         when closing a record. Also includes grabbing the start and end line number for parse HTML
723         records as a reference use case for the above refactor
724
725         Tests updated:
726             inspector/timeline-parse-html-expected.txt
727             inspector/timeline-layout-expected.txt
728             inspector/timeline-recalculate-styles-expected.txt
729
730         https://bugs.webkit.org/show_bug.cgi?id=33853
731
732         * html/HTMLTokenizer.cpp:
733         (WebCore::HTMLTokenizer::write):
734         * inspector/InspectorTimelineAgent.cpp:
735         (WebCore::InspectorTimelineAgent::willDispatchEvent):
736         (WebCore::InspectorTimelineAgent::willLayout):
737         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
738         (WebCore::InspectorTimelineAgent::willPaint):
739         (WebCore::InspectorTimelineAgent::willWriteHTML):
740         (WebCore::InspectorTimelineAgent::didWriteHTML):
741         (WebCore::InspectorTimelineAgent::didInstallTimer):
742         (WebCore::InspectorTimelineAgent::didRemoveTimer):
743         (WebCore::InspectorTimelineAgent::willFireTimer):
744         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
745         (WebCore::InspectorTimelineAgent::willLoadXHR):
746         (WebCore::InspectorTimelineAgent::willEvaluateScript):
747         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
748         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
749         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
750         (WebCore::InspectorTimelineAgent::didMarkTimeline):
751         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
752         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
753         * inspector/InspectorTimelineAgent.h:
754         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
755         * inspector/TimelineRecordFactory.cpp:
756         (WebCore::TimelineRecordFactory::createEventDispatchData):
757         (WebCore::TimelineRecordFactory::createGenericTimerData):
758         (WebCore::TimelineRecordFactory::createTimerInstallData):
759         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
760         (WebCore::TimelineRecordFactory::createXHRLoadData):
761         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
762         (WebCore::TimelineRecordFactory::createMarkTimelineData):
763         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
764         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
765         (WebCore::TimelineRecordFactory::createResourceFinishData):
766         (WebCore::TimelineRecordFactory::createPaintData):
767         (WebCore::TimelineRecordFactory::createParseHTMLData):
768         * inspector/TimelineRecordFactory.h:
769
770 2010-01-19 Joanmarie Diggs  <joanmarie.diggs@gmail.com>
771
772         Reviewed by Xan Lopez.
773
774         https://bugs.webkit.org/show_bug.cgi?id=30883
775         [Gtk] Implement AtkText for HTML elements which contain text
776
777         Moves the text assembling functionality from getPangoLayoutForAtk to
778         textForObject, which webkit_accessible_text_get_text now falls back on
779         when it comes up empty.
780
781         Adds a check in textForObject so that we don't double-add newlines
782         when we have a BR.
783
784         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
785         (textForObject):
786         (getPangoLayoutForAtk):
787         (webkit_accessible_text_get_text):
788
789 2010-01-19  Eric Carlson  <eric.carlson@apple.com>
790
791         Reviewed by Adam Roben.
792
793         error events don't fire if no <source> elements passed to media engine
794         https://bugs.webkit.org/show_bug.cgi?id=33855
795
796         Test: media/video-source-error-no-candidate.html
797
798         * html/HTMLMediaElement.cpp:
799         (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if
800         there is no 'src' attribute and no <source> child elements at all.
801
802 2010-01-19  Daniel Bates  <dbates@webkit.org>
803
804         Reviewed by Adam Roben.
805
806         https://bugs.webkit.org/show_bug.cgi?id=33822
807
808         REGRESSION(r53273): Fixes redefinition of XFORM error when building
809         WebKit using Qt Windows with the MinGW compiler.
810  
811         Note, MinGW has a slightly different declaration of the struct XFORM
812         from that in the Microsoft SDK. So, we need to substitute an alternative
813         typedef for XFORM when compiling with MinGW.
814
815         No functionality was changed. So, no new tests.
816
817         * platform/graphics/transforms/TransformationMatrix.h:
818
819 2010-01-19  Stephen White  <senorblanco@chromium.org>
820
821         Reviewed by Dimitri Glazkov.
822
823         Fix for crash on large TransparencyWin allocation.  The fix is
824         to leave m_layerValid false when the allocPixels of
825         OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
826         attempt to use it.
827
828         Will be covered by a new unit test in Chromium's test_shell_tests (when
829         this is rolled into Chromium).
830
831         https://bugs.webkit.org/show_bug.cgi?id=33844
832
833         * platform/graphics/chromium/TransparencyWin.cpp:
834         (WebCore::TransparencyWin::initializeNewContext):
835         Early return when m_referenceBitmap or its pixels is NULL, leaving
836         m_layerValid false.
837
838 2010-01-19  Eric Carlson  <eric.carlson@apple.com>
839
840         Reviewed by Adam Roben.
841
842         video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
843         https://bugs.webkit.org/show_bug.cgi?id=33744
844
845         Test: media/video-source-none-supported.html
846
847         * html/HTMLMediaElement.cpp:
848         (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if
849             there are no valid source elements.
850         (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
851         (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie
852             hasn't reached HAVE_METADATA and there are no more <source> elements to try.
853         * html/HTMLMediaElement.h: Declare waitForSourceChange.
854
855 2010-01-19  Daniel Bates  <dbates@rim.com>
856
857         Reviewed by Adam Treat.
858
859         https://bugs.webkit.org/show_bug.cgi?id=33408
860
861         Implements an optimization to ignore fixed background images
862         (i.e. background-attachment: fixed) when a page does not contain
863         any fixed position elements so as to allow fast repaints (via bit
864         blit) when scrolling a page.
865
866         Currently, if a page has elements that specify either a fixed
867         background or a fixed position then we perform a slow repaint
868         (i.e disable blitting) so as to avoid rendering artifacts.
869         However, on low-powered/mobile devices slow repaints can cause
870         noticeable delays when scrolling a page with a fixed background
871         image. By sacrificing support for fixed background images when
872         there are no fixed elements on the page and with come care, we
873         don't need to force slow repaints and can avoid rendering artifacts.
874         Hence, on such devices we can improve the responsiveness of
875         scrolling a page with a fixed background image.
876
877         Note, this optimization is only enabled if the WebKit is built
878         with FAST_MOBILE_SCROLLING enabled.
879
880         Tests: fast/fast-mobile-scrolling/fixed-position-element.html
881                fast/fast-mobile-scrolling/no-fixed-position-elements.html
882
883         * rendering/RenderBoxModelObject.cpp:
884         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
885         Disable fixed background attachment if we can blit on scroll.
886         * rendering/RenderObject.cpp:
887         (WebCore::RenderObject::styleWillChange):
888
889 2010-01-19  Dave Hyatt  <hyatt@apple.com>
890
891         Build bustage fix.  Land modified WebCore.base.exp file that includes export of currentWorld().
892
893         * WebCore.base.exp:
894
895 2010-01-19  Brady Eidson  <beidson@apple.com>
896
897         Reviewed by Alexey Proskuryakov.
898
899         Crash in Page::backForwardList when using History object from a detached window
900         <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828
901
902         Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html
903
904         * page/History.cpp:
905         (WebCore::History::stateObjectAdded): Do an early return when detached. The spec
906           doesn't really cover expected behavior and we already do something similar in 
907           other places, such as in History::length().
908
909 2010-01-19  Yury Semikhatsky  <yurys@chromium.org>
910
911         Reviewed by NOBODY (build fix).
912
913         Revert r53467. Browser crashes on opening inspector if there
914         are messages in console.
915
916         * bindings/js/JSInjectedScriptHostCustom.cpp:
917         (WebCore::JSInjectedScriptHost::databaseForId):
918         (WebCore::JSInjectedScriptHost::inspectedWindow):
919         (WebCore::JSInjectedScriptHost::wrapCallback):
920         (WebCore::JSInjectedScriptHost::currentCallFrame):
921         (WebCore::JSInjectedScriptHost::nodeForId):
922         (WebCore::JSInjectedScriptHost::wrapObject):
923         (WebCore::JSInjectedScriptHost::unwrapObject):
924         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
925         (WebCore::JSInjectedScriptHost::selectDatabase):
926         (WebCore::JSInjectedScriptHost::selectDOMStorage):
927         * bindings/js/ScriptController.cpp:
928         * bindings/js/ScriptController.h:
929         * bindings/js/ScriptObject.h:
930         * bindings/js/ScriptValue.cpp:
931         (WebCore::ScriptValue::quarantineValue):
932         * bindings/js/ScriptValue.h:
933         * bindings/v8/ScriptObject.h:
934         * bindings/v8/ScriptValue.h:
935         (WebCore::ScriptValue::quarantineValue):
936         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
937         (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
938         (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
939         (WebCore::V8InjectedScriptHost::wrapObjectCallback):
940         (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
941         * inspector/ConsoleMessage.cpp:
942         (WebCore::ConsoleMessage::ConsoleMessage):
943         (WebCore::ConsoleMessage::addToConsole):
944         (WebCore::ConsoleMessage::isEqual):
945         * inspector/ConsoleMessage.h:
946         * inspector/InjectedScriptHost.cpp:
947         (WebCore::InjectedScriptHost::wrapObject):
948         (WebCore::InjectedScriptHost::unwrapObject):
949         * inspector/InjectedScriptHost.h:
950         * inspector/InjectedScriptHost.idl:
951         * inspector/InspectorBackend.cpp:
952         (WebCore::InspectorBackend::dispatchOnInjectedScript):
953         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
954         * inspector/InspectorBackend.h:
955         * inspector/InspectorBackend.idl:
956         * inspector/InspectorController.cpp:
957         (WebCore::InspectorController::InspectorController):
958         (WebCore::InspectorController::clearConsoleMessages):
959         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
960         (WebCore::InspectorController::windowScriptObjectAvailable):
961         (WebCore::InspectorController::scriptObjectReady):
962         (WebCore::InspectorController::setFrontendProxyObject):
963         (WebCore::InspectorController::close):
964         (WebCore::InspectorController::resetScriptObjects):
965         (WebCore::InspectorController::didPause):
966         (WebCore::InspectorController::wrapObject):
967         (WebCore::InspectorController::unwrapObject):
968         (WebCore::InspectorController::releaseWrapperObjectGroup):
969         (WebCore::InspectorController::resetInjectedScript):
970         * inspector/InspectorController.h:
971         * inspector/InspectorFrontend.cpp:
972         (WebCore::InspectorFrontend::addConsoleMessage):
973         (WebCore::InspectorFrontend::pausedScript):
974         * inspector/InspectorFrontend.h:
975         * inspector/front-end/AuditsPanel.js:
976         (WebInspector.AuditsPanel.prototype._reloadResources):
977         * inspector/front-end/ConsoleView.js:
978         (WebInspector.ConsoleView.prototype.requestClearMessages):
979         (WebInspector.ConsoleView.prototype.completions):
980         (WebInspector.ConsoleView.prototype.doEvalInWindow):
981         (WebInspector.ConsoleView.prototype._formatnode):
982         (WebInspector.ConsoleView.prototype._formatarray):
983         * inspector/front-end/DOMAgent.js:
984         (WebInspector.DOMNode):
985         (WebInspector.CSSStyleDeclaration):
986         (WebInspector.CSSStyleDeclaration.parseRule):
987         * inspector/front-end/Database.js:
988         (WebInspector.Database.prototype.executeSql):
989         * inspector/front-end/ElementsPanel.js:
990         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
991         (WebInspector.ElementsPanel.prototype.setDocument):
992         (WebInspector.ElementsPanel.prototype.searchCanceled):
993         (WebInspector.ElementsPanel.prototype.performSearch):
994         * inspector/front-end/ElementsTreeOutline.js:
995         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
996         * inspector/front-end/EventListenersSidebarPane.js:
997         ():
998         * inspector/front-end/InjectedScript.js:
999         (InjectedScript.dispatch):
1000         (InjectedScript.toggleStyleEnabled):
1001         (InjectedScript._serializeRule):
1002         (InjectedScript._serializeStyle):
1003         (InjectedScript.getProperties):
1004         (InjectedScript.setPropertyValue):
1005         (InjectedScript._evaluateAndWrap):
1006         (InjectedScript.getCallFrames):
1007         (InjectedScript._inspectObject):
1008         (InjectedScript._ensureCommandLineAPIInstalled):
1009         (InjectedScript._resolveObject):
1010         (InjectedScript._window):
1011         (InjectedScript._objectForId):
1012         (InjectedScript.createProxyObject):
1013         (InjectedScript.executeSql):
1014         (InjectedScript.executeSql.errorCallback):
1015         (InjectedScript.executeSql.queryTransaction):
1016         (Object.type):
1017         (String.prototype.escapeCharacters):
1018         * inspector/front-end/InjectedScriptAccess.js:
1019         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1020         (InjectedScriptAccess._installHandler):
1021         * inspector/front-end/MetricsSidebarPane.js:
1022         (WebInspector.MetricsSidebarPane):
1023         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
1024         (WebInspector.MetricsSidebarPane.prototype.update):
1025         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1026         * inspector/front-end/ObjectPropertiesSection.js:
1027         (WebInspector.ObjectPropertiesSection.prototype.update):
1028         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1029         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1030         * inspector/front-end/ObjectProxy.js:
1031         (WebInspector.ObjectProxy):
1032         (WebInspector.ObjectProxy.getPropertiesAsync):
1033         * inspector/front-end/PropertiesSidebarPane.js:
1034         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1035         (WebInspector.PropertiesSidebarPane.prototype.update):
1036         * inspector/front-end/ResourcesPanel.js:
1037         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1038         * inspector/front-end/ScriptsPanel.js:
1039         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1040         * inspector/front-end/StylesSidebarPane.js:
1041         (WebInspector.StylesSidebarPane.prototype.update):
1042         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1043         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1044         (WebInspector.StylePropertyTreeElement.prototype):
1045         * inspector/front-end/WatchExpressionsSidebarPane.js:
1046         (WebInspector.WatchExpressionsSection.prototype.update):
1047         * inspector/front-end/inspector.js:
1048         (WebInspector.loaded):
1049         (WebInspector.pausedScript):
1050         (WebInspector.addConsoleMessage):
1051         (WebInspector.log.logMessage):
1052         (WebInspector.log):
1053
1054 2010-01-19  Yury Semikhatsky  <yurys@chromium.org>
1055
1056         Reviewed by Pavel Feldman.
1057
1058         Inject inspector script directly into the inspected context. All the
1059         communication between the script and the frontend is serialized into
1060         JSON strings. It allows to get rid of object quarantines in Web Inspector.
1061
1062         https://bugs.webkit.org/show_bug.cgi?id=32554
1063
1064         * bindings/js/JSInjectedScriptHostCustom.cpp:
1065         (WebCore::JSInjectedScriptHost::databaseForId):
1066         (WebCore::JSInjectedScriptHost::currentCallFrame):
1067         (WebCore::JSInjectedScriptHost::nodeForId):
1068         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
1069         (WebCore::JSInjectedScriptHost::selectDatabase):
1070         (WebCore::JSInjectedScriptHost::selectDOMStorage):
1071         * bindings/js/ScriptController.cpp:
1072         (WebCore::ScriptController::mainWorldScriptState):
1073         * bindings/js/ScriptController.h:
1074         * bindings/js/ScriptObject.h:
1075         (WebCore::ScriptObject::scriptState):
1076         * bindings/js/ScriptValue.cpp:
1077         * bindings/js/ScriptValue.h:
1078         * bindings/v8/ScriptObject.h:
1079         (WebCore::ScriptObject::scriptState):
1080         * bindings/v8/ScriptValue.h:
1081         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1082         * inspector/ConsoleMessage.cpp:
1083         (WebCore::ConsoleMessage::ConsoleMessage):
1084         (WebCore::ConsoleMessage::addToConsole):
1085         (WebCore::ConsoleMessage::isEqual):
1086         * inspector/ConsoleMessage.h:
1087         * inspector/InjectedScriptHost.cpp:
1088         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
1089         * inspector/InjectedScriptHost.h:
1090         * inspector/InjectedScriptHost.idl:
1091         * inspector/InspectorBackend.cpp:
1092         (WebCore::InspectorBackend::setInjectedScriptSource):
1093         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1094         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
1095         * inspector/InspectorBackend.h:
1096         * inspector/InspectorBackend.idl:
1097         * inspector/InspectorController.cpp:
1098         (WebCore::InspectorController::InspectorController):
1099         (WebCore::InspectorController::clearConsoleMessages):
1100         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1101         (WebCore::InspectorController::windowScriptObjectAvailable):
1102         (WebCore::InspectorController::scriptObjectReady):
1103         (WebCore::InspectorController::setFrontendProxyObject):
1104         (WebCore::InspectorController::close):
1105         (WebCore::InspectorController::resetScriptObjects):
1106         (WebCore::InspectorController::didPause):
1107         (WebCore::InspectorController::injectedScriptForNodeId):
1108         * inspector/InspectorController.h:
1109         * inspector/InspectorFrontend.cpp:
1110         (WebCore::InspectorFrontend::addConsoleMessage):
1111         (WebCore::InspectorFrontend::pausedScript):
1112         * inspector/InspectorFrontend.h:
1113         * inspector/front-end/AuditsPanel.js:
1114         (WebInspector.AuditsPanel.prototype._reloadResources):
1115         * inspector/front-end/ConsoleView.js:
1116         (WebInspector.ConsoleView.prototype.requestClearMessages):
1117         (WebInspector.ConsoleView.prototype.doEvalInWindow):
1118         * inspector/front-end/DOMAgent.js:
1119         (WebInspector.DOMNode):
1120         (WebInspector.CSSStyleDeclaration):
1121         (WebInspector.CSSStyleDeclaration.parseRule):
1122         * inspector/front-end/Database.js:
1123         (WebInspector.Database.prototype.executeSql):
1124         * inspector/front-end/ElementsPanel.js:
1125         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
1126         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1127         (WebInspector.ElementsPanel.prototype.setDocument):
1128         (WebInspector.ElementsPanel.prototype.searchCanceled):
1129         (WebInspector.ElementsPanel.prototype.performSearch):
1130         * inspector/front-end/ElementsTreeOutline.js:
1131         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
1132         * inspector/front-end/EventListenersSidebarPane.js:
1133         ():
1134         * inspector/front-end/InjectedScript.js:
1135         (injectedScriptConstructor):
1136         (injectedScriptConstructor.):
1137         * inspector/front-end/InjectedScriptAccess.js:
1138         (InjectedScriptAccess):
1139         (InjectedScriptAccess.getDefault):
1140         (get InjectedScriptAccess):
1141         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
1142         (InjectedScriptAccess._installHandler):
1143         * inspector/front-end/MetricsSidebarPane.js:
1144         (WebInspector.MetricsSidebarPane):
1145         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
1146         * inspector/front-end/ObjectPropertiesSection.js:
1147         * inspector/front-end/ObjectProxy.js:
1148         (WebInspector.ObjectProxy):
1149         * inspector/front-end/PropertiesSidebarPane.js:
1150         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1151         * inspector/front-end/ResourcesPanel.js:
1152         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1153         * inspector/front-end/ScriptsPanel.js:
1154         * inspector/front-end/StylesSidebarPane.js:
1155         (WebInspector.StylePropertyTreeElement.prototype):
1156         * inspector/front-end/WatchExpressionsSidebarPane.js:
1157         (WebInspector.WatchExpressionsSection.prototype.update):
1158         * inspector/front-end/inspector.js:
1159         (WebInspector.loaded):
1160         (WebInspector.pausedScript):
1161         (WebInspector.addConsoleMessage):
1162         (WebInspector.log.logMessage):
1163         (WebInspector.log):
1164
1165 2010-01-19  Steve Block  <steveblock@google.com>
1166
1167         Unreviewed build fix.
1168
1169         Fixes Windows build due to http://trac.webkit.org/changeset/53464
1170         Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]
1171
1172         No new tests, build fix only.
1173
1174         * WebCore.vcproj/WebCore.vcproj:
1175
1176 2010-01-19  Steve Block  <steveblock@google.com>
1177
1178         Reviewed by Adam Barth.
1179
1180         Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
1181         https://bugs.webkit.org/show_bug.cgi?id=33801
1182
1183         runtime.[cpp|h] contains general interface classes for use in the bridge,
1184         so Bridge is a more appropriate name than runtime.
1185
1186         No new tests, renaming only.
1187
1188         * Android.jscbindings.mk:
1189         * GNUmakefile.am:
1190         * WebCore.pro:
1191         * WebCore.xcodeproj/project.pbxproj:
1192         * WebCoreSources.bkl:
1193         * bindings/js/JSPluginElementFunctions.cpp:
1194         * bindings/js/ScriptControllerGtk.cpp:
1195         * bindings/js/ScriptControllerHaiku.cpp:
1196         * bindings/js/ScriptControllerMac.mm:
1197         * bindings/js/ScriptControllerQt.cpp:
1198         * bindings/js/ScriptControllerWin.cpp:
1199         * bindings/js/ScriptControllerWx.cpp:
1200         * bindings/js/ScriptInstance.h:
1201         * bindings/objc/WebScriptObject.mm:
1202         * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp.
1203         * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h.
1204         * bridge/c/c_class.h:
1205         * bridge/c/c_instance.h:
1206         * bridge/c/c_runtime.h:
1207         * bridge/jni/jni_instance.h:
1208         * bridge/objc/objc_runtime.h:
1209         * bridge/qt/qt_class.h:
1210         * bridge/qt/qt_instance.h:
1211         * bridge/qt/qt_runtime.cpp:
1212         * bridge/qt/qt_runtime.h:
1213         * bridge/runtime.cpp: Removed.
1214         * bridge/runtime.h: Removed.
1215         * bridge/runtime_array.h:
1216         * bridge/runtime_method.h:
1217         * bridge/runtime_object.h:
1218         * bridge/runtime_root.cpp:
1219         * bridge/testbindings.cpp:
1220         * bridge/testbindings.mm:
1221         * bridge/testqtbindings.cpp:
1222         * page/win/FrameWin.cpp:
1223         * platform/graphics/wince/MediaPlayerProxy.cpp:
1224         * plugins/PluginView.cpp:
1225         * plugins/gtk/PluginViewGtk.cpp:
1226         * plugins/mac/PluginViewMac.cpp:
1227         * plugins/qt/PluginViewQt.cpp:
1228         * plugins/symbian/PluginViewSymbian.cpp:
1229         * plugins/win/PluginViewWin.cpp:
1230
1231 2010-01-19  Geoffrey Garen  <ggaren@apple.com>
1232
1233         Reviewed by Oliver Hunt.
1234
1235         REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
1236         https://bugs.webkit.org/show_bug.cgi?id=33826
1237
1238         Test: fast/workers/worker-gc2.html
1239
1240         * bindings/js/WorkerScriptController.cpp:
1241         (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
1242         ASSERTs that have moved to JavaScriptCore.
1243
1244 2010-01-19  Gavin Barraclough  <barraclough@apple.com>
1245
1246         Reviewed by NOBODY (build fix).
1247
1248         Reverting r53455, breaks 2 javascriptcore tests.
1249
1250         * bindings/js/WorkerScriptController.cpp:
1251         (WebCore::WorkerScriptController::~WorkerScriptController):
1252
1253 2010-01-18  Geoffrey Garen  <ggaren@apple.com>
1254
1255         Reviewed by Oliver Hunt.
1256
1257         REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
1258         https://bugs.webkit.org/show_bug.cgi?id=33826
1259
1260         Test: fast/workers/worker-gc2.html
1261
1262         * bindings/js/WorkerScriptController.cpp:
1263         (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
1264         ASSERTs that have moved to JavaScriptCore.
1265
1266 2010-01-18  Daniel Bates  <dbates@webkit.org>
1267
1268         Reviewed by Darin Adler.
1269
1270         https://bugs.webkit.org/show_bug.cgi?id=33089
1271
1272         Implements all of the alphabetic CSS3 list-style-types as per
1273         section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.
1274
1275         Test: fast/lists/w3-css3-list-styles-alphabetic.html
1276
1277         * css/CSSParser.cpp:
1278         (WebCore::CSSParser::parseValue): Updated comment to include
1279         added list-style-types.
1280         * css/CSSPrimitiveValueMappings.h:
1281         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types,
1282         alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
1283         * css/CSSValueKeywords.in:
1284         * inspector/front-end/CSSSourceSyntaxHighlighter.js:
1285         (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types
1286         and alphabetized array valueKeywords.
1287         * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
1288         * rendering/RenderListMarker.cpp:
1289         (WebCore::toAlphabetic):
1290         (WebCore::listMarkerSuffix): Added.
1291         (WebCore::listMarkerText):
1292         (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix.
1293         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
1294         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
1295         * rendering/style/RenderStyle.h:
1296         (WebCore::):
1297         * rendering/style/RenderStyleConstants.h:
1298         (WebCore::):
1299
1300 2010-01-18  Daniel Bates  <dbates@webkit.org>
1301
1302         Unreviewed, fix misspelling of the word maximum in comment.
1303
1304         * html/HTMLInputElement.cpp:
1305         (WebCore::HTMLInputElement::maximum):
1306
1307 2010-01-18  Dan Bernstein  <mitz@apple.com>
1308
1309         Rubber-stamped by Sam Weinig.
1310
1311         <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change
1312
1313         Reverted r49567.
1314
1315         * css/CSSComputedStyleDeclaration.cpp:
1316         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1317         * rendering/InlineFlowBox.cpp:
1318         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1319         * rendering/RenderBR.cpp:
1320         (WebCore::RenderBR::lineHeight):
1321         * rendering/style/RenderStyle.h:
1322         (WebCore::InheritedFlags::computedLineHeight):
1323
1324 2010-01-18  Steve Block  <steveblock@google.com>
1325
1326         Reviewed by Adam Barth.
1327
1328         Moves JSC-specific implementation of JavaString to a private implementation class.
1329         https://bugs.webkit.org/show_bug.cgi?id=33558
1330
1331         Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
1332         which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.
1333
1334         No new tests, refactoring only.
1335
1336         * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
1337         * bridge/jni/jni_class.cpp: Modified.
1338         (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.
1339         * bridge/jni/jni_runtime.h: Modified.
1340         (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
1341         (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
1342         (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
1343         (JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
1344         (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
1345         (JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
1346         (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.
1347         * bridge/jni/jsc/JavaStringJSC.h: Added.
1348         (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
1349         (JSC::Bindings::JavaStringImpl::init):
1350         (JSC::Bindings::JavaStringImpl::UTF8String):
1351         (JSC::Bindings::JavaStringImpl::uchars):
1352         (JSC::Bindings::JavaStringImpl::length):
1353         (JSC::Bindings::JavaStringImpl::uString):
1354
1355 2010-01-18  Yuzo Fujishima  <yuzo@google.com>
1356
1357         Reviewed by Darin Adler.
1358
1359         Skip an error after invalid blocks in a CSS expression.
1360         https://bugs.webkit.org/show_bug.cgi?id=33650
1361
1362         * css/CSSGrammar.y:
1363
1364 2010-01-15  Gavin Barraclough  <barraclough@apple.com>
1365
1366         Reviewed by Darin Adler & Oliver Hunt.
1367
1368         https://bugs.webkit.org/show_bug.cgi?id=33731
1369         Remove uses of PtrAndFlags from WebCore::StringImpl.
1370
1371         These break the OS X Leaks tool.  Move the management of null-terminated copies
1372         out from StringImpl to String, and use a bit stolen from the refCount to hold the
1373         'InTable' flag.
1374
1375         * platform/sql/SQLiteFileSystem.cpp:
1376         (WebCore::SQLiteFileSystem::openDatabase):
1377         * platform/sql/SQLiteStatement.cpp:
1378         (WebCore::SQLiteStatement::prepare):
1379         * platform/sql/SQLiteStatement.h:
1380         * platform/text/PlatformString.h:
1381         * platform/text/String.cpp:
1382         (WebCore::String::copyWithNullTermination):
1383         * platform/text/StringImpl.cpp:
1384         (WebCore::StringImpl::StringImpl):
1385         (WebCore::StringImpl::~StringImpl):
1386         (WebCore::StringImpl::create):
1387         (WebCore::StringImpl::crossThreadString):
1388         (WebCore::StringImpl::sharedBuffer):
1389         * platform/text/StringImpl.h:
1390         (WebCore::StringImpl::inTable):
1391         (WebCore::StringImpl::setInTable):
1392
1393 2010-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>
1394
1395         Reviewed by Dirk Schulze.
1396
1397         Rewrite SVG <use> support in a modern-fashion
1398         https://bugs.webkit.org/show_bug.cgi?id=33776
1399
1400         Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml
1401                svg/custom/relative-sized-shadow-tree-content.xhtml
1402
1403         Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)
1404
1405         Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
1406         Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
1407         render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.
1408
1409         Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
1410         just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.
1411
1412         updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
1413         lazily recloning the shadow tree if necessary.
1414
1415         Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
1416         avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
1417         nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
1418         For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
1419         We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.
1420
1421         Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
1422         x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
1423         as expected, and resize on window changes - affecting lots of testcases.
1424
1425         The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
1426         Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.
1427
1428         * Android.mk: Add new files to build.
1429         * GNUmakefile.am: Ditto.
1430         * WebCore.gypi: Ditto.
1431         * WebCore.pro: Ditto.
1432         * WebCore.vcproj/WebCore.vcproj: Ditto.
1433         * WebCore.xcodeproj/project.pbxproj: Ditto.
1434         * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement.
1435         (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer):
1436         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
1437         (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers
1438         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates.
1439         (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
1440         * rendering/RenderSVGShadowTreeRootContainer.h: Added.
1441         (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
1442         * rendering/RenderSVGTransformableContainer.cpp:
1443         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
1444         * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise).
1445         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
1446         (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement):
1447         (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements.
1448         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
1449         (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement):
1450         (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
1451         * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree).
1452         (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here.
1453         (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree.
1454         (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node.
1455         (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
1456         * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree.
1457         (WebCore::SVGElement::SVGElement):
1458         (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
1459         * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
1460         * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say.
1461         (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag.
1462         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
1463         * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
1464         * svg/SVGGElement.h:
1465         (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
1466         * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
1467         * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked.
1468         (WebCore::SVGStyledElement::instanceUpdatesBlocked):
1469         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
1470         * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above.
1471         (WebCore::SVGUseElement::SVGUseElement):
1472         (WebCore::SVGUseElement::instanceRoot):
1473         (WebCore::SVGUseElement::insertedIntoDocument):
1474         (WebCore::SVGUseElement::removedFromDocument):
1475         (WebCore::SVGUseElement::svgAttributeChanged):
1476         (WebCore::updateContainerOffset):
1477         (WebCore::SVGUseElement::updateContainerOffsets):
1478         (WebCore::SVGUseElement::recalcStyle):
1479         (WebCore::dumpInstanceTree):
1480         (WebCore::SVGUseElement::buildPendingResource):
1481         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
1482         (WebCore::SVGUseElement::createRenderer):
1483         (WebCore::updateFromElementCallback):
1484         (WebCore::SVGUseElement::attach):
1485         (WebCore::SVGUseElement::detach):
1486         (WebCore::SVGUseElement::toClipPath):
1487         (WebCore::SVGUseElement::buildInstanceTree):
1488         (WebCore::SVGUseElement::handleDeepUseReferencing):
1489         (WebCore::SVGUseElement::buildShadowTree):
1490         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1491         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1492         (WebCore::SVGUseElement::instanceForShadowTreeElement):
1493         (WebCore::SVGUseElement::invalidateShadowTree):
1494         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
1495         * svg/SVGUseElement.h:
1496         (WebCore::SVGUseElement::isPendingResource):
1497
1498 2010-01-18  Kent Tamura  <tkent@chromium.org>
1499
1500         Reviewed by Darin Adler.
1501
1502         HTMLInputElement::valueAsDate setter support for type=month.
1503         https://bugs.webkit.org/show_bug.cgi?id=33021
1504
1505         Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
1506         toString() for the Month type, and HTMLInputElement::setValueAsDate()
1507         calls them.
1508
1509         * html/HTMLInputElement.cpp:
1510         (WebCore::HTMLInputElement::setValueAsDate):
1511         * html/ISODateTime.cpp:
1512         (WebCore::beforeGregorianStartDate):
1513         (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate().
1514         (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate().
1515         (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal):
1516         (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
1517         (WebCore::ISODateTime::toString): Implement only for the Month type.
1518         * html/ISODateTime.h:
1519
1520 2010-01-18  Enrica Casucci  <enrica@apple.com>
1521
1522         Reviewed by Darin Adler.
1523
1524         Script attributes are copied and pasted, making cross-domain attacks possible (30019)
1525         <rdar://problem/6008809>
1526         https://bugs.webkit.org/show_bug.cgi?id=30019
1527
1528         When we create the document fragment from a markup string,
1529         either to perform a paste operation or a drag and drop, we
1530         want to remove all the event handlers and any attribute that contain
1531         a value that leads to code execution.
1532         The HTMLParser class is now aware of the needs of stripping these attributes.
1533         I've modified the call to createMarkupString for every platform.
1534
1535         Test: editing/pasteboard/paste-noscript.html
1536
1537         * WebCore.base.exp:
1538         * dom/Element.cpp:
1539         (WebCore::isEventHandlerAttribute):
1540         (WebCore::Element::setAttributeMap):
1541         * dom/Element.h:
1542         * dom/MappedAttributeEntry.h:
1543         (WebCore::):
1544         * editing/markup.cpp:
1545         (WebCore::createFragmentFromMarkup):
1546         * editing/markup.h:
1547         * html/HTMLElement.cpp:
1548         (WebCore::HTMLElement::createContextualFragment):
1549         * html/HTMLElement.h:
1550         * html/HTMLParser.cpp:
1551         (WebCore::HTMLParser::HTMLParser):
1552         (WebCore::HTMLParser::parseToken):
1553         * html/HTMLParser.h:
1554         * html/HTMLTokenizer.cpp:
1555         (WebCore::HTMLTokenizer::HTMLTokenizer):
1556         (WebCore::parseHTMLDocumentFragment):
1557         * html/HTMLTokenizer.h:
1558         * platform/chromium/DragDataChromium.cpp:
1559         (WebCore::DragData::asFragment):
1560         * platform/chromium/PasteboardChromium.cpp:
1561         (WebCore::Pasteboard::documentFragment):
1562         * platform/gtk/PasteboardGtk.cpp:
1563         (WebCore::Pasteboard::documentFragment):
1564         * platform/mac/PasteboardMac.mm:
1565         (WebCore::Pasteboard::documentFragment):
1566         * platform/qt/DragDataQt.cpp:
1567         (WebCore::DragData::asFragment):
1568         * platform/qt/PasteboardQt.cpp:
1569         (WebCore::Pasteboard::documentFragment):
1570         * platform/win/ClipboardUtilitiesWin.cpp:
1571         (WebCore::fragmentFromCF_HTML):
1572         (WebCore::fragmentFromHTML):
1573
1574 2010-01-18  Steve Falkenburg  <sfalken@apple.com>
1575
1576         Reviewed by Sam Weinig.
1577
1578         <https://bugs.webkit.org/show_bug.cgi?id=33816>        
1579         Crashes in Geolocation code due to refcounting, observer balance issues.
1580         
1581         Hold a ref to the GeoNotifier while dispatching a callback. The code was
1582         copying a data member to avoid accessing a freed this ptr, but was still
1583         using the this ptr.
1584         
1585         Geolocation::removeObserver calls are not always balanced with addObserver.
1586         Instead of asserting and continuing, don't try to remove non-existant
1587         observers.
1588
1589         * page/Geolocation.cpp:
1590         (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.
1591         * page/GeolocationController.cpp:
1592         (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.
1593
1594 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
1595
1596         Reviewed by Darin Adler.
1597
1598         https://bugs.webkit.org/show_bug.cgi?id=33815
1599         Crash when using DOMTimer from a detached frame
1600
1601         Test: fast/dom/Window/timer-null-script-execution-context.html
1602
1603         * bindings/js/JSDOMWindowCustom.cpp:
1604         (WebCore::JSDOMWindow::setTimeout):
1605         (WebCore::JSDOMWindow::setInterval):
1606         * page/DOMWindow.h:
1607         * page/DOMWindow.idl:
1608         Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both
1609         IE and Firefox do raise an exception in this situation, although different ones.
1610
1611         * page/DOMWindow.cpp:
1612         (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is
1613         null (meaning that the window is detached).
1614         (WebCore::DOMWindow::setInterval): Ditto.
1615         (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution
1616         context.
1617         (WebCore::DOMWindow::clearInterval): Ditto.
1618         Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
1619
1620 2010-01-18  Steve Block  <steveblock@google.com>
1621
1622         Reviewed by Adam Barth.
1623
1624         Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC
1625         https://bugs.webkit.org/show_bug.cgi?id=33561
1626
1627         No new tests, refactoring only.
1628
1629         * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp
1630         * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h
1631         * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h]
1632         * bridge/jni/jni_class.cpp: Removed.
1633         * bridge/jni/jni_class.h: Removed.
1634         * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp.
1635         * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h.
1636         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h
1637
1638 2010-01-18  Steve Block  <steveblock@google.com>
1639
1640         Reviewed by Adam Barth.
1641
1642         Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
1643         https://bugs.webkit.org/show_bug.cgi?id=33792
1644
1645         No new tests, style fixes only.
1646
1647         * bridge/jni/jni_runtime.cpp: Modified.
1648         (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance
1649         (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance
1650         (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
1651         * bridge/jni/jni_runtime.h: Modified.
1652         (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
1653         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
1654         * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
1655
1656 2010-01-18  Chris Marrin  <cmarrin@apple.com>
1657
1658         Reviewed by Oliver Hunt.
1659
1660         https://bugs.webkit.org/show_bug.cgi?id=30073
1661         Moved reshape to HTMLCanvasElement::reset and have it always
1662         set the size to the canvas width and height attrs.
1663
1664         This is not testable with LayoutTests, so I instead added logic
1665         to the demo at:
1666
1667         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html
1668
1669         * html/HTMLCanvasElement.cpp:
1670         (WebCore::HTMLCanvasElement::reset):
1671         (WebCore::HTMLCanvasElement::paint):
1672
1673 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
1674
1675         Reviewed by Geoffrey Garen.
1676
1677         https://bugs.webkit.org/show_bug.cgi?id=33813
1678         <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame
1679
1680         Test: http/tests/appcache/destroyed-frame.html
1681
1682         * loader/appcache/DOMApplicationCache.cpp:
1683         (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
1684
1685 2010-01-18  Dan Bernstein  <mitz@apple.com>
1686
1687         Reviewed by Darin Adler.
1688
1689         REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
1690         https://bugs.webkit.org/show_bug.cgi?id=33809
1691
1692         Test: fast/repaint/trailing-floats-root-line-box-overflow.html
1693
1694         * rendering/RenderBlockLineLayout.cpp:
1695         (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
1696         root box to the trailing floats box, which is becoming the last root box. This is
1697         needed because painting code assumes that the last line in a block is the one with the
1698         lowest overflow bottom.
1699
1700 2010-01-18  Csaba Osztrogonác  <ossy@webkit.org>
1701
1702         [Qt] Unreviewed trivial buildfix. (r53429)
1703
1704         * WebCore.pri: missing XMLNS_NAMES added.
1705
1706 2010-01-18  Geoffrey Garen  <ggaren@apple.com>
1707
1708         Reviewed by Darin Adler.
1709
1710         Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
1711         https://bugs.webkit.org/show_bug.cgi?id=33811
1712
1713         This change simplifies a bunch of code, and also reduces
1714         the number of places that use the difficult-to-understand and possibly
1715         crashy-null scriptExecutionContext() idiom.
1716
1717         * bindings/js/JSDOMGlobalObject.cpp:
1718         * bindings/js/JSDOMGlobalObject.h:
1719         * bindings/js/JSEventListener.h:
1720         (WebCore::createJSAttributeEventListener):
1721         * bindings/scripts/CodeGeneratorJS.pm:
1722
1723 2010-01-18  Alexey Proskuryakov  <ap@apple.com>
1724
1725         Reviewed by Darin Adler.
1726
1727         https://bugs.webkit.org/show_bug.cgi?id=33787
1728         Add constants for more XML strings
1729
1730         No change in functionality, so no tests.
1731
1732         * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - 
1733         XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
1734
1735         * platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
1736         * platform/text/AtomicString.h:
1737         Added atomic strings for "xml" and "xmlns".
1738
1739         * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
1740
1741         * dom/Attr.cpp: (WebCore::Attr::setPrefix):
1742         * dom/Document.cpp:
1743         (WebCore::Document::hasPrefixNamespaceMismatch):
1744         (WebCore::Document::createAttributeNS):
1745         * dom/Node.cpp:
1746         (WebCore::Node::checkSetPrefix):
1747         (WebCore::Node::isDefaultNamespace):
1748         (WebCore::Node::lookupNamespaceURI):
1749         (WebCore::Node::lookupNamespacePrefix):
1750         * dom/XMLTokenizerLibxml2.cpp:
1751         (WebCore::XMLTokenizer::XMLTokenizer):
1752         (WebCore::handleElementNamespaces):
1753         * editing/markup.cpp:
1754         (WebCore::shouldAddNamespaceAttr):
1755         (WebCore::appendNamespace):
1756         * xml/XPathStep.cpp:
1757         (WebCore::XPath::nodeMatchesBasicTest):
1758         (WebCore::XPath::Step::nodesInAxis):
1759         Use the new constants.
1760
1761         * Android.derived.mk:
1762         * DerivedSources.make:
1763         * GNUmakefile.am:
1764         * WebCore.gyp/WebCore.gyp:
1765         * WebCore.pri:
1766         * WebCore.vcproj/WebCore.vcproj:
1767         * WebCore.xcodeproj/project.pbxproj:
1768         * WebCoreSources.bkl:
1769         Added the new files to projects.
1770
1771 2010-01-18  Anders Carlsson  <andersca@apple.com>
1772
1773         Fix !ENABLE(3D_CANVAS) build.
1774
1775         * rendering/RenderLayerBacking.cpp:
1776         (WebCore::is3DCanvas):
1777
1778 2010-01-18  Timothy Hatcher  <timothy@apple.com>
1779
1780         Adjust the scroll position when doing a full page zoom, so the content
1781         stays in relatively the same position.
1782
1783         <rdar://problem/6150099> Zooming should keep the page content in the same place
1784
1785         Reviewed by Oliver Hunt.
1786
1787         * page/Frame.cpp:
1788         (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
1789         the scroll position, only when doing a full page zoom.
1790
1791 2010-01-18  Adam Roben  <aroben@apple.com>
1792
1793         Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
1794         respect it
1795
1796         WebCore part of fixing <http://webkit.org/b/33806>
1797         <rdar://problem/7552837> Would like API to disallow setting of
1798         document.domain for pages with certain URL schemes
1799
1800         Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
1801
1802         Reviewed by Sam Weinig.
1803
1804         * WebCore.base.exp: Export
1805         SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
1806
1807         * dom/Document.cpp:
1808         (WebCore::Document::setDomain): If domain relaxation is forbidden for
1809         our security origin's scheme, throw an exception and don't allow
1810         the domain to be set.
1811
1812         * page/SecurityOrigin.cpp:
1813         (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
1814         global set of schemes.
1815         (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
1816         Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
1817         appropriate.
1818         (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
1819         Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
1820
1821         * page/SecurityOrigin.h: Added
1822         {set,is}DomainRelaxationForbiddenForURLScheme.
1823
1824 2010-01-18  Dan Bernstein  <mitz@apple.com>
1825
1826         Address review comments on the last change
1827
1828         * rendering/TrailingFloatsRootInlineBox.h:
1829         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
1830
1831 2010-01-18  Dan Bernstein  <mitz@apple.com>
1832
1833         Reviewed by Darin Adler.
1834
1835         <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
1836         <rdar://problem/7546035> Second right floated image misplacment
1837         https://bugs.webkit.org/show_bug.cgi?id=33245
1838
1839         Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html
1840
1841         When the last line of a block contains a line break and there are floats
1842         after the line break, it is incorrect to put those floats in the last line’s
1843         floats vector (along with floats from before the break). Instead, create
1844         an additional line box (a TrailingFloatsRootInlineBox) and put those floats
1845         in its floats vector. 
1846
1847         * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
1848         * WebCore.xcodeproj/project.pbxproj: Ditto.
1849         * rendering/RenderBlock.cpp:
1850         (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
1851         parameter, which is the highest line to dirty.
1852         * rendering/RenderBlock.h:
1853         * rendering/RenderBlockLineLayout.cpp:
1854         (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
1855         for the floats occurring after the line break on the last line.
1856         (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
1857         above the first dirty line.
1858         * rendering/TrailingFloatsRootInlineBox.h: Added.
1859         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
1860         setHasVirtualHeight().
1861         (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.
1862
1863 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
1864
1865         Reviewed by NOBODY (build fix).
1866
1867         Eeeep! reverting r53416 & r53417, more to be done to fix windows.
1868
1869         * WebCore.base.exp:
1870         * platform/sql/SQLiteFileSystem.cpp:
1871         (WebCore::SQLiteFileSystem::openDatabase):
1872         * platform/sql/SQLiteStatement.cpp:
1873         (WebCore::SQLiteStatement::prepare):
1874         * platform/sql/SQLiteStatement.h:
1875         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1876         (WebCore::SQLiteFileSystem::openDatabase):
1877         * platform/text/PlatformString.h:
1878         * platform/text/String.cpp:
1879         (WebCore::String::charactersWithNullTermination):
1880         * platform/text/StringImpl.cpp:
1881         (WebCore::StringImpl::operator new):
1882         (WebCore::StringImpl::operator delete):
1883         (WebCore::StringImpl::StringImpl):
1884         (WebCore::StringImpl::~StringImpl):
1885         (WebCore::StringImpl::create):
1886         (WebCore::StringImpl::createWithTerminatingNullCharacter):
1887         (WebCore::StringImpl::crossThreadString):
1888         (WebCore::StringImpl::sharedBuffer):
1889         * platform/text/StringImpl.h:
1890         (WebCore::StringImpl::hasTerminatingNullCharacter):
1891         (WebCore::StringImpl::inTable):
1892         (WebCore::StringImpl::setInTable):
1893         (WebCore::StringImpl::):
1894         * platform/win/ClipboardUtilitiesWin.cpp:
1895         (WebCore::createGlobalData):
1896         * storage/OriginUsageRecord.cpp:
1897         (WebCore::OriginUsageRecord::addDatabase):
1898         (WebCore::OriginUsageRecord::markDatabase):
1899
1900 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
1901
1902         Reviewed by NOBODY (windows build fix).
1903
1904         * platform/win/ClipboardUtilitiesWin.cpp:
1905         (WebCore::createGlobalData):
1906
1907 2010-01-15  Gavin Barraclough  <barraclough@apple.com>
1908
1909         Reviewed by Darin Adler.
1910
1911         https://bugs.webkit.org/show_bug.cgi?id=33731
1912         Remove uses of PtrAndFlags from WebCore::StringImpl.
1913
1914         These break the OS X Leaks tool.  Move the management of null-terminated copies
1915         out from StringImpl to String, and use a bit stolen from the refCount to hold the
1916         'InTable' flag.
1917
1918         * platform/sql/SQLiteFileSystem.cpp:
1919         (WebCore::SQLiteFileSystem::openDatabase):
1920         * platform/sql/SQLiteStatement.cpp:
1921         (WebCore::SQLiteStatement::prepare):
1922         * platform/sql/SQLiteStatement.h:
1923         * platform/text/PlatformString.h:
1924         * platform/text/String.cpp:
1925         (WebCore::String::copyWithNullTermination):
1926         * platform/text/StringImpl.cpp:
1927         (WebCore::StringImpl::StringImpl):
1928         (WebCore::StringImpl::~StringImpl):
1929         (WebCore::StringImpl::create):
1930         (WebCore::StringImpl::crossThreadString):
1931         (WebCore::StringImpl::sharedBuffer):
1932         * platform/text/StringImpl.h:
1933         (WebCore::StringImpl::inTable):
1934         (WebCore::StringImpl::setInTable):
1935
1936 2010-01-18  Chris Marrin  <cmarrin@apple.com>
1937
1938         Reviewed by Darin Adler.
1939
1940         Made root compositing layer scroll rather than scroll parent.
1941         https://bugs.webkit.org/show_bug.cgi?id=32279
1942         
1943         There's some general cleanup here so the frames, bounds and
1944         positions of all the associated layers are correct.
1945         I also changed API of setScrollFrame to use an IntRect.
1946
1947         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1948         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
1949         (WebCore::WKCACFLayerRenderer::setScrollFrame):
1950         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
1951         (WebCore::WKCACFLayerRenderer::createRenderer):
1952         (WebCore::WKCACFLayerRenderer::resize):
1953         * platform/graphics/win/WKCACFLayerRenderer.h:
1954
1955 2010-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
1956
1957         Reviewed by Pavel Feldman.
1958
1959         WebInspector: Timeline panel scrolling speed can be 2 times faster.
1960         https://bugs.webkit.org/show_bug.cgi?id=33794
1961
1962         * inspector/front-end/TimelinePanel.js:
1963         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1964         (WebInspector.TimelinePanel.prototype._refreshRecords):
1965         (WebInspector.TimelineCalculator):
1966         (WebInspector.TimelineCalculator.prototype.calculateWindow):
1967         (WebInspector.TimelineCalculator.prototype.reset):
1968         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
1969         (WebInspector.TimelineRecordGraphRow.prototype.update):
1970
1971 2010-01-18  Steve Block  <steveblock@google.com>
1972
1973         Reviewed by Adam Barth.
1974
1975         Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
1976         https://bugs.webkit.org/show_bug.cgi?id=33672
1977
1978         No new tests, refactoring only.
1979
1980         * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
1981         * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
1982         * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
1983         * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
1984         * bridge/jni/jni_instance.cpp: Removed.
1985         * bridge/jni/jni_instance.h: Removed.
1986         * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
1987         * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
1988         * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
1989
1990 2010-01-18  Peter Kasting  <pkasting@google.com>
1991
1992         Reviewed by Adam Barth.
1993
1994         Simplify image decoders slightly by using OwnPtr instead of raw pointers
1995         and eliminating a basically-useless wrapper class in the GIF decoder.
1996         https://bugs.webkit.org/show_bug.cgi?id=28751
1997
1998         * platform/graphics/qt/ImageDecoderQt.cpp:
1999         (WebCore::ImageDecoderQt::ImageDecoderQt):
2000         (WebCore::ImageDecoderQt::~ImageDecoderQt):
2001         (WebCore::ImageDecoderQt::setData):
2002         (WebCore::ImageDecoderQt::internalReadImage):
2003         (WebCore::ImageDecoderQt::failRead):
2004         * platform/graphics/qt/ImageDecoderQt.h:
2005         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2006         (WebCore::GIFImageDecoder::GIFImageDecoder):
2007         (WebCore::GIFImageDecoder::~GIFImageDecoder):
2008         (WebCore::GIFImageDecoder::setData):
2009         (WebCore::GIFImageDecoder::frameCount):
2010         (WebCore::GIFImageDecoder::repetitionCount):
2011         (WebCore::GIFImageDecoder::decode):
2012         (WebCore::GIFImageDecoder::decodingHalted):
2013         (WebCore::GIFImageDecoder::initFrameBuffer):
2014         (WebCore::GIFImageDecoder::haveDecodedRow):
2015         (WebCore::GIFImageDecoder::gifComplete):
2016         * platform/image-decoders/gif/GIFImageDecoder.h:
2017         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2018         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
2019         (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
2020         (WebCore::JPEGImageDecoder::setData):
2021         (WebCore::JPEGImageDecoder::decode):
2022         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2023         * platform/image-decoders/png/PNGImageDecoder.cpp:
2024         (WebCore::PNGImageDecoder::PNGImageDecoder):
2025         (WebCore::PNGImageDecoder::~PNGImageDecoder):
2026         (WebCore::PNGImageDecoder::setData):
2027         (WebCore::PNGImageDecoder::decode):
2028         (WebCore::PNGImageDecoder::headerAvailable):
2029         (WebCore::PNGImageDecoder::rowAvailable):
2030         * platform/image-decoders/png/PNGImageDecoder.h:
2031
2032 2010-01-18  Daniel Cheng  <dcheng@google.com>
2033
2034         Reviewed by Adam Roben.
2035
2036         DataTransfer interface broken on Windows--types member is always
2037         undefined, and getData() does not work.
2038         https://bugs.webkit.org/show_bug.cgi?id=30527
2039
2040         * platform/win/ClipboardWin.cpp:
2041         (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
2042         (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
2043         (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.
2044
2045 2010-01-18  Mikhail Naganov  <mnaganov@chromium.org>
2046
2047         Reviewed by Timothy Hatcher.
2048
2049         Don't show Profiles welcome screen on panel switch,
2050         if a profile view is shown.
2051
2052         https://bugs.webkit.org/show_bug.cgi?id=33799
2053
2054         * inspector/front-end/ProfilesPanel.js:
2055         (WebInspector.ProfilesPanel.prototype.show):
2056
2057 2010-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2058
2059         Reviewed by Simon Hausmann.
2060
2061         [Qt] Force qmake to generate a single makefile for DerivedSources.pro
2062
2063         * DerivedSources.pro:
2064
2065 2010-01-18  Jonathan Dixon  <joth@chromium.org>
2066
2067         Reviewed by Adam Barth.
2068
2069         Add support for enabling navigator.geolocation at runtime in the V8 bindings.
2070         Adds the [EnabledAtRuntime] modifier to the navigator IDL.
2071         https://bugs.webkit.org/show_bug.cgi?id=33467
2072
2073         * WebCore.gypi:
2074         * bindings/v8/RuntimeEnabledFeatures.cpp:
2075         * bindings/v8/RuntimeEnabledFeatures.h:
2076         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
2077         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
2078         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2079         (WebCore::V8Navigator::GeolocationEnabled):
2080         * page/Navigator.cpp:
2081         (WebCore::Navigator::geolocation):
2082         * page/Navigator.idl:
2083
2084 2010-01-18  Alexander Pavlov  <apavlov@chromium.org>
2085
2086         Reviewed by Pavel Feldman.
2087
2088         Improve Resources panel performance for lots of resources
2089
2090         DOM properties are extracted into const's, comparisons are faster.
2091         https://bugs.webkit.org/show_bug.cgi?id=33790
2092
2093         * inspector/front-end/AbstractTimelinePanel.js:
2094         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
2095         * inspector/front-end/Resource.js:
2096         (WebInspector.Resource.CompareByStartTime):
2097         (WebInspector.Resource.CompareByResponseReceivedTime):
2098         (WebInspector.Resource.CompareByEndTime):
2099         (WebInspector.Resource.CompareByDuration):
2100         (WebInspector.Resource.CompareByLatency):
2101         (WebInspector.Resource.CompareBySize):
2102         * inspector/front-end/ResourcesPanel.js:
2103         (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
2104
2105 2010-01-18  Daniel Bates  <dbates@rim.com>
2106
2107         Reviewed by Eric Seidel.
2108
2109         https://bugs.webkit.org/show_bug.cgi?id=33726
2110
2111         Following up on changes made with respect to bug #33498, we should
2112         fix the the style errors found by the style bot.
2113         
2114         Moreover, this fixes all the style errors found by check-webkit-style
2115         except the use of an underline in the variable name _niflags. We should
2116         fix this in a second run through for all the other variables names that
2117         contain an underline because there are many.
2118
2119         No functionality was changed. So, no new tests.
2120
2121         * rendering/style/SVGRenderStyle.h:
2122         (WebCore::SVGRenderStyle::create):
2123         (WebCore::SVGRenderStyle::copy):
2124         (WebCore::SVGRenderStyle::operator!=):
2125         (WebCore::SVGRenderStyle::hasStroke):
2126         (WebCore::SVGRenderStyle::hasFill):
2127         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
2128         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
2129         (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
2130         (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
2131         (WebCore::SVGRenderStyle::NonInheritedFlags::):
2132         (WebCore::SVGRenderStyle::):
2133         (WebCore::SVGRenderStyle::setBitDefaults):
2134
2135 2010-01-18  Andrei Popescu  <andreip@google.com>
2136
2137         Reviewed by Adam Barth.
2138
2139         [Android] DOMWrapperMap::Visitor needs virtual destructor
2140         https://bugs.webkit.org/show_bug.cgi?id=33675
2141
2142         Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.
2143
2144         No new tests needed, functionality not changed.
2145
2146         * bindings/v8/V8DOMMap.h:
2147         (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.
2148
2149 2010-01-18  Simon Hausmann  <simon.hausmann@nokia.com>
2150
2151         Unreviewed Symbian build fix.
2152
2153         If we don't link with def files, then we have to pass EXPORTUNFROZEN,
2154         so that the build system still creates the .dso files in
2155         release/armv5/lib and we can actually link against the created QtWebKit
2156         dlls.
2157
2158         Thanks Iain for the help!
2159
2160         * WebCore.pro:
2161
2162 2010-01-17  Srinidhi Shreedhara  <srinidhi.shreedhara@nokia.com>
2163
2164         Reviewed by Simon Hausmann.
2165
2166         [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
2167         https://bugs.webkit.org/show_bug.cgi?id=33573
2168
2169         * plugins/symbian/PluginViewSymbian.cpp:
2170         (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
2171         coordinates for early return.
2172
2173 2010-01-17  Oliver Hunt  <oliver@apple.com>
2174
2175         Reviewed by Dan Bernstein.
2176
2177         REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
2178         https://bugs.webkit.org/show_bug.cgi?id=33782
2179
2180         Test: svg/custom/transformedMaskFails.svg
2181
2182         When computing the bounds for elements in a mask, we iterate through
2183         all of our children requesting their repaint bounds using
2184         repaintRectInLocalCoordinates(), but we were not converting that
2185         rect into our own coordinate system, thus leading to an incorrect
2186         repaint rect.  This patch simply adds the missing localToParent
2187         transform.
2188
2189         * svg/SVGMaskElement.cpp:
2190         (WebCore::SVGMaskElement::drawMaskerContent):
2191
2192 2010-01-17  Maciej Stachowiak  <mjs@apple.com>
2193
2194         Reviewed by Dan Bernstein.
2195
2196         Avoid slow access to AX objects on attribute access when AX is off
2197         https://bugs.webkit.org/show_bug.cgi?id=33779
2198
2199         ~4% Dromaeo attributes test speedup
2200
2201         * dom/Element.cpp:
2202         (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
2203         AX object cache unless accessibility is on and an AX-related attribute is
2204         changed.
2205
2206 2010-01-17  Kevin Watters  <kevinwatters@gmail.com>
2207
2208         Reviewed by Kevin Ollivier.
2209
2210         [wx] On Win and GTK, we need to manually apply the transforms when falling back
2211         to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
2212         
2213         https://bugs.webkit.org/show_bug.cgi?id=33730
2214
2215         * platform/wx/RenderThemeWx.cpp:
2216         (WebCore::RenderThemeWx::paintButton):
2217
2218 2010-01-17  Martin Robinson  <martin.james.robinson@gmail.com>
2219
2220         Reviewed by Gustavo Noronha Silva.
2221
2222         [GTK] GtkWebKit incompatible with rgba colormaps
2223         https://bugs.webkit.org/show_bug.cgi?id=20736
2224
2225         Fix GTK theme rendering onto drawables with RGBA colormaps. Now
2226         each type of colormap has its own collection of GtkWidgets.
2227
2228         This fix does not introduce any functionality changes, so does not
2229         includes new tests.
2230
2231         * platform/gtk/RenderThemeGtk.cpp:
2232         (WebCore::RenderThemeGtk::RenderThemeGtk):
2233         (WebCore::RenderThemeGtk::~RenderThemeGtk):
2234         (WebCore::RenderThemeGtk::partsForDrawable):
2235         (WebCore::adjustMozillaStyle):
2236         (WebCore::setMozillaState):
2237         (WebCore::paintMozillaGtkWidget):
2238         (WebCore::setToggleSize):
2239         (WebCore::RenderThemeGtk::setCheckboxSize):
2240         (WebCore::RenderThemeGtk::paintCheckbox):
2241         (WebCore::RenderThemeGtk::setRadioSize):
2242         (WebCore::RenderThemeGtk::paintRadio):
2243         (WebCore::RenderThemeGtk::paintButton):
2244         (WebCore::RenderThemeGtk::adjustMenuListStyle):
2245         (WebCore::RenderThemeGtk::paintMenuList):
2246         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
2247         (WebCore::RenderThemeGtk::paintTextField):
2248         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
2249         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2250         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2251         * platform/gtk/RenderThemeGtk.h:
2252         * platform/gtk/gtk2drawing.c:
2253         (moz_gtk_use_theme_parts):
2254         (ensure_window_widget):
2255         (setup_widget_prototype):
2256         (ensure_button_widget):
2257         (ensure_hpaned_widget):
2258         (ensure_vpaned_widget):
2259         (ensure_toggle_button_widget):
2260         (ensure_button_arrow_widget):
2261         (ensure_checkbox_widget):
2262         (ensure_radiobutton_widget):
2263         (ensure_scrollbar_widget):
2264         (ensure_spin_widget):
2265         (ensure_scale_widget):
2266         (ensure_entry_widget):
2267         (moz_gtk_get_combo_box_inner_button):
2268         (moz_gtk_get_combo_box_button_inner_widgets):
2269         (ensure_combo_box_widgets):
2270         (moz_gtk_get_combo_box_entry_inner_widgets):
2271         (moz_gtk_get_combo_box_entry_arrow):
2272         (ensure_combo_box_entry_widgets):
2273         (ensure_handlebox_widget):
2274         (ensure_toolbar_widget):
2275         (ensure_toolbar_separator_widget):
2276         (ensure_tooltip_widget):
2277         (ensure_tab_widget):
2278         (ensure_progress_widget):
2279         (ensure_statusbar_widget):
2280         (ensure_frame_widget):
2281         (ensure_menu_bar_widget):
2282         (ensure_menu_bar_item_widget):
2283         (ensure_menu_popup_widget):
2284         (ensure_menu_item_widget):
2285         (ensure_image_menu_item_widget):
2286         (ensure_menu_separator_widget):
2287         (ensure_check_menu_item_widget):
2288         (ensure_tree_view_widget):
2289         (ensure_tree_header_cell_widget):
2290         (ensure_expander_widget):
2291         (ensure_scrolled_window_widget):
2292         (moz_gtk_checkbox_get_metrics):
2293         (moz_gtk_radio_get_metrics):
2294         (moz_gtk_splitter_get_metrics):
2295         (moz_gtk_toggle_paint):
2296         (moz_gtk_scrollbar_button_paint):
2297         (moz_gtk_scrollbar_trough_paint):
2298         (moz_gtk_scrollbar_thumb_paint):
2299         (moz_gtk_spin_paint):
2300         (moz_gtk_spin_updown_paint):
2301         (moz_gtk_scale_paint):
2302         (moz_gtk_scale_thumb_paint):
2303         (moz_gtk_gripper_paint):
2304         (moz_gtk_hpaned_paint):
2305         (moz_gtk_vpaned_paint):
2306         (moz_gtk_caret_paint):
2307         (moz_gtk_treeview_paint):
2308         (moz_gtk_tree_header_cell_paint):
2309         (moz_gtk_tree_header_sort_arrow_paint):
2310         (moz_gtk_treeview_expander_paint):
2311         (moz_gtk_expander_paint):
2312         (moz_gtk_combo_box_paint):
2313         (moz_gtk_downarrow_paint):
2314         (moz_gtk_combo_box_entry_button_paint):
2315         (moz_gtk_container_paint):
2316         (moz_gtk_toggle_label_paint):
2317         (moz_gtk_toolbar_paint):
2318         (moz_gtk_toolbar_separator_paint):
2319         (moz_gtk_tooltip_paint):
2320         (moz_gtk_resizer_paint):
2321         (moz_gtk_frame_paint):
2322         (moz_gtk_progressbar_paint):
2323         (moz_gtk_progress_chunk_paint):
2324         (moz_gtk_get_tab_thickness):
2325         (moz_gtk_tab_paint):
2326         (moz_gtk_tabpanels_paint):
2327         (moz_gtk_tab_scroll_arrow_paint):
2328         (moz_gtk_menu_bar_paint):
2329         (moz_gtk_menu_popup_paint):
2330         (moz_gtk_menu_separator_paint):
2331         (moz_gtk_menu_item_paint):
2332         (moz_gtk_menu_arrow_paint):
2333         (moz_gtk_check_menu_item_paint):
2334         (moz_gtk_window_paint):
2335         (moz_gtk_get_widget_border):
2336         (moz_gtk_get_combo_box_entry_button_size):
2337         (moz_gtk_get_tab_scroll_arrow_size):
2338         (moz_gtk_get_downarrow_size):
2339         (moz_gtk_get_toolbar_separator_width):
2340         (moz_gtk_get_expander_size):
2341         (moz_gtk_get_treeview_expander_size):
2342         (moz_gtk_get_menu_separator_height):
2343         (moz_gtk_get_scalethumb_metrics):
2344         (moz_gtk_get_scrollbar_metrics):
2345         (moz_gtk_images_in_menus):
2346         (moz_gtk_widget_paint):
2347         (moz_gtk_get_scrollbar_widget):
2348         (moz_gtk_shutdown):
2349         (moz_gtk_destroy_theme_parts_widgets):
2350         * platform/gtk/gtkdrawing.h:
2351
2352 2010-01-16  Maciej Stachowiak  <mjs@apple.com>
2353
2354         Reviewed by Oliver Hunt.
2355
2356         Cache JS string values made from DOM strings (Dromaeo speedup)
2357         https://bugs.webkit.org/show_bug.cgi?id=33768
2358         <rdar://problem/7353576>
2359
2360         Added a new cache for JSString values that are created from Strings or AtomicStrings
2361         in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
2362         and it is wasteful to make a new JS-level string value every time.
2363         
2364         The string cache is per-world, and thus thread-safe and not a
2365         vector for accidental information exchange.
2366         
2367         ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.
2368
2369         * bindings/js/JSDOMBinding.cpp:
2370         (WebCore::jsStringCache): Helper function to get the string cache for the current world.
2371         (WebCore::jsString): Some new overloads including the caching version.
2372         (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
2373         * bindings/js/JSDOMBinding.h:
2374         (WebCore::jsString): Prototype new overloads (and define a few inline).
2375         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2376         (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
2377         * bindings/js/ScriptFunctionCall.cpp:
2378         (WebCore::ScriptFunctionCall::appendArgument): Ditto.
2379         * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
2380
2381 2010-01-16  Oliver Hunt  <oliver@apple.com>
2382
2383         Reviewed by Nikolas Zimmermann.
2384
2385         SVG Markers are getting culled incorrectly
2386         https://bugs.webkit.org/show_bug.cgi?id=33767
2387
2388         Use applyTransformToPaintInfo to transform the paintInfo, otherwise
2389         the paint rect is not updated leading to incorrect culling.
2390
2391         * svg/graphics/SVGResourceMarker.cpp:
2392         (WebCore::SVGResourceMarker::draw):
2393
2394 2010-01-15  John Sullivan  <sullivan@apple.com>
2395
2396         https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
2397         Zip code field is misidentified as street address because id attribute isn't checked.
2398
2399         Reviewed by Darin Adler
2400
2401         No new tests. I believe this code is used only by Safari AutoFill, but in any case
2402         it does not affect page rendering or anything else at the WebCore/WebKit level.
2403
2404         * page/Frame.cpp:
2405         (WebCore::matchLabelsAgainstString):
2406         New function, split out from matchLabelsAgainstElement.
2407         (WebCore::Frame::matchLabelsAgainstElement):
2408         Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
2409         
2410         * page/mac/FrameMac.mm:
2411         (WebCore::matchLabelsAgainstString):
2412         Same as above. This is a parallel copy of the function using Mac-specific data structures.
2413         (WebCore::Frame::matchLabelsAgainstElement):
2414         Ditto.
2415
2416 2010-01-16  Timothy Hatcher  <timothy@apple.com>
2417
2418         Use String.trim() instead of a regex in the Web Inspector.
2419
2420         https://bugs.webkit.org/show_bug.cgi?id=33765
2421
2422         Reviewed by George Staikos.
2423
2424         * inspector/front-end/ElementsPanel.js:
2425         (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
2426         * inspector/front-end/ObjectPropertiesSection.js:
2427         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
2428         * inspector/front-end/ProfileView.js:
2429         * inspector/front-end/SourceFrame.js:
2430         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
2431         * inspector/front-end/StylesSidebarPane.js:
2432         (WebInspector.StylePropertyTreeElement.prototype): Ditto.
2433         * inspector/front-end/utilities.js:
2434         (String.prototype.trimLeadingWhitespace): Removed.
2435         (String.prototype.trimTrailingWhitespace): Removed.
2436         (String.prototype.trimWhitespace): Removed.
2437
2438 2010-01-16  Oliver Hunt  <oliver@apple.com>
2439
2440         Reviewed by Nikolas Zimmermann.
2441
2442         Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
2443         https://bugs.webkit.org/show_bug.cgi?id=33766
2444
2445         Make localToParentTransform return by reference to avid copy overhead.
2446         This is a little gnarly in places as it means we need to be able to 
2447         return temporary values in a few implementations, so we have to add
2448         class fields to hold them, heppily the classes that these effect are
2449          sufficiently uncommon for this to be okay.
2450
2451         * rendering/RenderForeignObject.cpp:
2452         (WebCore::RenderForeignObject::localToParentTransform):
2453         * rendering/RenderForeignObject.h:
2454         * rendering/RenderObject.cpp:
2455         (WebCore::RenderObject::localTransform):
2456         (WebCore::RenderObject::localToParentTransform):
2457         * rendering/RenderObject.h:
2458         * rendering/RenderPath.cpp:
2459         (WebCore::RenderPath::localToParentTransform):
2460         (WebCore::RenderPath::nodeAtFloatPoint):
2461         * rendering/RenderPath.h:
2462         * rendering/RenderSVGImage.h:
2463         (WebCore::RenderSVGImage::localToParentTransform):
2464         * rendering/RenderSVGRoot.cpp:
2465         (WebCore::RenderSVGRoot::localToParentTransform):
2466         * rendering/RenderSVGRoot.h:
2467         * rendering/RenderSVGText.h:
2468         (WebCore::RenderSVGText::localToParentTransform):
2469         * rendering/RenderSVGTransformableContainer.cpp:
2470         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
2471         * rendering/RenderSVGTransformableContainer.h:
2472         * rendering/RenderSVGViewportContainer.cpp:
2473         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2474         * rendering/RenderSVGViewportContainer.h:
2475
2476 2010-01-16  Darin Adler  <darin@apple.com>
2477
2478         Reviewed by Oliver Hunt and Alexey Proskuryakov.
2479
2480         ValidityState can hold a stale pointer to control
2481         https://bugs.webkit.org/show_bug.cgi?id=33729
2482         rdar://problem/7545114
2483
2484         Test: fast/forms/ValidityState-removed-control.html
2485
2486         * html/HTMLFormControlElement.h: Use OwnPtr instead of
2487         RefPtr to point to the ValidityState object.
2488
2489         * html/ValidityState.cpp: Use a constant instead of a
2490         macro for the email validation regular expression.
2491         (WebCore::ValidityState::validationMessage): Use
2492         m_control instead of control function; we don't need
2493         a function for this. Also marked const.
2494         (WebCore::ValidityState::typeMismatch): Ditto.
2495         Fixed some minor style problems.
2496         (WebCore::ValidityState::rangeUnderflow): Ditto.
2497         (WebCore::ValidityState::rangeOverflow): Ditto.
2498         (WebCore::ValidityState::stepMismatch): Ditto.
2499         (WebCore::ValidityState::valid): Ditto.
2500         (WebCore::ValidityState::isValidEmailAddress):
2501         Changed local variable names for clarity. Got rid of
2502         an unneeded global variable.
2503
2504         * html/ValidityState.h: Removed RefCounted as a base
2505         class, deriving from Noncopyable instead. Changed
2506         creation to use PassOwnPtr instead of PassRefPtr.
2507         Eliminated unneeded control function. Added ref and
2508         deref functions that forward the reference counting
2509         to the control. Moved constructor here and made it
2510         inline.
2511
2512 2010-01-15  Alexey Proskuryakov  <ap@apple.com>
2513
2514         Reviewed by Darin Adler.
2515
2516         https://bugs.webkit.org/show_bug.cgi?id=33752
2517         Assertion failure when getting a href attribute with prefix
2518
2519         This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
2520         disabled during introduction of QualifiedName, but never re-enabled.
2521
2522         Tests: fast/dom/bad-href-attribute.html
2523                fast/dom/node-prefix-setter-namespace-exception.html
2524
2525         * dom/Attr.cpp: (WebCore::Attr::setPrefix):
2526         * dom/Element.cpp: (WebCore::Element::setPrefix):
2527         * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
2528         Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
2529         (DOM 3 Core spec says this behavior is implementation defined).
2530
2531 2010-01-16  Brady Eidson  <beidson@apple.com>
2532
2533         Reviewed by Darin Adler.
2534
2535         <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
2536         History traversals to a new document do not get the popstate event
2537
2538         State objects now live-on in their HistoryItem indefinitely.
2539         This means any back/forward navigation might result in a popstate event, not just to 
2540         pre-existing documents as was previously the case.
2541
2542         * history/HistoryItem.cpp:
2543         (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
2544        
2545         * loader/FrameLoader.cpp:
2546         (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
2547           on to the Document after the Document is created.
2548         (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
2549           set it as the FrameLoad's pending state object.
2550         * loader/FrameLoader.h:
2551         
2552         * page/Page.cpp:
2553         (WebCore::Page::goToItem): Remove a now-invalid ASSERT.
2554
2555 2010-01-15  Simon Fraser  <simon.fraser@apple.com>
2556
2557         Reviewed by Dan Bernstein and Adele Peterson.
2558
2559         Support reflections on composited layers
2560         https://bugs.webkit.org/show_bug.cgi?id=31885
2561         
2562         Implement reflections (via -webkit-box-reflect:) on compositing layers.
2563         
2564         We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
2565         The replica layer is not parented in the tree, but referenced by another layer.
2566         RenderLayerBacking sets this up when it finds RenderLayers for reflections.
2567         
2568         GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
2569         and copying their properties, including animations and contents. Deep reflections
2570         are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
2571         the path down the tree to each replica instance.
2572         
2573         When GraphicsLayerCA properties are changed, in most cases the clones must also
2574         be updated.
2575
2576         Tests: compositing/masks/direct-image-mask.html
2577                compositing/reflections/animation-inside-reflection.html
2578                compositing/reflections/compositing-change-inside-reflection.html
2579                compositing/reflections/deeply-nested-reflections.html
2580                compositing/reflections/masked-reflection-on-composited.html
2581                compositing/reflections/nested-reflection-anchor-point.html
2582                compositing/reflections/nested-reflection-animated.html
2583                compositing/reflections/nested-reflection-mask-change.html
2584                compositing/reflections/nested-reflection-on-overflow.html
2585                compositing/reflections/nested-reflection-opacity.html
2586                compositing/reflections/nested-reflection-size-change.html
2587                compositing/reflections/nested-reflection-transformed.html
2588                compositing/reflections/nested-reflection-transition.html
2589                compositing/reflections/nested-reflection.html
2590                compositing/reflections/reflection-opacity.html
2591                compositing/reflections/reflection-ordering.html
2592                compositing/reflections/reflection-positioning.html
2593                compositing/reflections/transform-inside-reflection.html
2594
2595         * platform/graphics/GraphicsLayer.h:
2596         (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
2597         (WebCore::GraphicsLayer::replicatedLayerPosition):
2598         (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 
2599         special-cased; we cannot just copy the position of the original.
2600         (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
2601         which gives us a chance to update clone layers.
2602         (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
2603         (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
2604         (WebCore::GraphicsLayer::setReplicatedLayer):
2605
2606         * platform/graphics/GraphicsLayer.cpp:
2607         (WebCore::GraphicsLayer::GraphicsLayer):
2608         (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
2609         (WebCore::GraphicsLayer::dumpProperties):
2610
2611         * platform/graphics/mac/GraphicsLayerCA.h:
2612         (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
2613         (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
2614         down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
2615         root of a replica tree.
2616         (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.
2617
2618         (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
2619         down the tree during recursion, to build cloneID paths.
2620
2621         (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.
2622
2623         * platform/graphics/mac/GraphicsLayerCA.mm:
2624         (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
2625         (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
2626         (WebCore::GraphicsLayerCA::addChild): ditto
2627         (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
2628         (WebCore::GraphicsLayerCA::addChildBelow): ditto
2629         (WebCore::GraphicsLayerCA::addChildAbove): ditto
2630         (WebCore::GraphicsLayerCA::replaceChild): ditto
2631         (WebCore::GraphicsLayerCA::removeFromParent): ditto
2632         (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
2633         (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
2634         (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
2635         (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
2636         (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
2637         (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
2638         (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
2639         (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
2640         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
2641         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
2642             committed before we recurse on children.
2643         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
2644             committed after we recurse on children, like clones.
2645         (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
2646         (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
2647         (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
2648         (WebCore::GraphicsLayerCA::updateLayerSize): ditto
2649         (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
2650         (WebCore::GraphicsLayerCA::updateTransform): ditto
2651         (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
2652         (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
2653         (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
2654         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
2655         (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
2656         (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
2657         (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
2658         flattening, or CATransformLayers for preserve-3d.
2659         (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
2660         (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
2661         (WebCore::GraphicsLayerCA::updateContentsImage): ditto
2662         (WebCore::GraphicsLayerCA::updateContentsRect): ditto
2663         (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
2664         (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
2665         and its children, and attach them as sublayers.
2666         (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
2667         string serves to identify clones in the hash map.
2668         (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
2669         and return it.
2670         (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
2671         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
2672         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
2673         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
2674         (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
2675         (WebCore::GraphicsLayerCA::resumeAnimations): ditto
2676         (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
2677         (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
2678         (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
2679         (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
2680         since it doesn't just copy those properties from the original.
2681         (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
2682         (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
2683         the root of the clone tree.
2684         (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
2685         (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
2686         (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
2687         (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
2688         (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.
2689
2690         * platform/graphics/mac/WebLayer.mm:
2691         (-[WebLayer display]): override -display so we know when to update the contents of clone layers
2692
2693         * platform/graphics/mac/WebTiledLayer.mm:
2694         (-[WebTiledLayer display]): ditto.
2695
2696         * rendering/RenderLayer.h:
2697         (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
2698
2699         * rendering/RenderLayer.cpp:
2700         (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
2701         (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
2702
2703         * rendering/RenderLayerBacking.cpp:
2704         (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
2705         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
2706         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
2707         Also hook up updating the reflection layer geometry, and the relica position.
2708         
2709         (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.
2710
2711         * rendering/RenderLayerCompositor.cpp:
2712         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
2713         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
2714         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
2715         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
2716         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
2717         a reflection ancestor to composite now.
2718         (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
2719         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
2720         for masks or reflections any more.
2721         (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
2722
2723         * rendering/RenderObject.h:
2724         (WebCore::RenderObject::isReplica):
2725         * rendering/RenderReplica.h:
2726         (WebCore::RenderReplica::isReplica):
2727         New method used to determine if a render is a replica.
2728
2729 2010-01-15  Carol Szabo  <carol.szabo@nokia.com>
2730
2731         Reviewed by Darin Adler.
2732
2733         CSS2.1 Counters not updated when new elements are inserted in the DOM.
2734         https://bugs.webkit.org/show_bug.cgi?id=32884
2735
2736         Test: fast/css/counters/adding-nodes.html
2737
2738         * rendering/CounterNode.cpp:
2739         (WebCore::CounterNode::insertAfter):
2740         Modified to handle the addition of nodes with children. Needed when formerly 
2741         root nodes become descendants of a new node.
2742         * rendering/RenderCounter.cpp:
2743         (WebCore::makeCounterNode):
2744         Changed to handle the case when root counter nodes lose their root 
2745         status as a result of a new root counter node creation. 
2746         (WebCore::destroyCounterNodeWithoutMapRemoval):
2747         Refactored more code into destroyCounterNodeChildren and renamed the
2748         function according to its new action.
2749         (WebCore::RenderCounter::destroyCounterNodes):
2750         Simplified to share more code with the new destroyCounterNode.
2751         (WebCore::RenderCounter::destroyCounterNode):
2752         Added to allow for selective counterNode destruction.
2753         (WebCore::RenderCounter::rendererSubtreeAttached):
2754         Added to refresh counter values in response to DOM changes.
2755         For renderers with no attached counters the execution time of this
2756         function cannot be discerned in comparison with the time needed to
2757         add a node or change the style of a node.
2758         (WebCore::updateCounters):
2759         Helper function for rendererSubtreeAttached. Updates the counters
2760         attached to a Renderer in response to the renderer or its ancestors
2761         being attached to the renderer tree.
2762         * rendering/RenderCounter.h:
2763         * rendering/RenderObject.cpp:
2764         (WebCore::RenderObject::addChild):
2765         Changed to update counter values if needed.
2766
2767 2010-01-15  Alejandro G. Castro  <alex@igalia.com>
2768
2769         Reviewed by Xan Lopez.
2770
2771         Original patch by David Ronis <david.ronis@mcgill.ca>
2772
2773         Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
2774         https://bugs.webkit.org/show_bug.cgi?id=33486
2775
2776         Deprecated symbols replaced for gtk+ versions over 2.18.
2777
2778         * platform/gtk/PlatformScreenGtk.cpp:
2779         (WebCore::getVisual):
2780         (WebCore::screenRect):
2781
2782 2010-01-15  Oliver Hunt  <oliver@apple.com>
2783
2784         Reviewed by Sam Weinig.
2785
2786         Bad DOM performance in large SVG files
2787         https://bugs.webkit.org/show_bug.cgi?id=30055
2788
2789         Improve the performance of the early culling check by avoiding save/restore
2790         of graphics state in culled case.
2791
2792         * rendering/RenderPath.cpp:
2793         (WebCore::RenderPath::paint):
2794
2795 2010-01-15  Eric Seidel  <eric@webkit.org>
2796
2797         No review, rolling out r53344.
2798         http://trac.webkit.org/changeset/53344
2799         https://bugs.webkit.org/show_bug.cgi?id=32920
2800
2801         Broke the Chromium Mac builder.
2802
2803         * WebCore.gypi:
2804         * bindings/scripts/CodeGeneratorV8.pm:
2805         * bindings/v8/SerializedScriptValue.cpp: Removed.
2806         * bindings/v8/SerializedScriptValue.h:
2807         (WebCore::SerializedScriptValue::create):
2808         (WebCore::SerializedScriptValue::release):
2809         (WebCore::SerializedScriptValue::toString):
2810         (WebCore::SerializedScriptValue::SerializedScriptValue):
2811         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2812         (WebCore::V8DOMWindow::postMessageCallback):
2813         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2814         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
2815         * bindings/v8/custom/V8HistoryCustom.cpp:
2816         (WebCore::V8History::pushStateCallback):
2817         (WebCore::V8History::replaceStateCallback):
2818         * bindings/v8/custom/V8MessageEventCustom.cpp:
2819         (WebCore::V8MessageEvent::initMessageEventCallback):
2820         * bindings/v8/custom/V8MessagePortCustom.cpp:
2821         (WebCore::V8MessagePort::postMessageCallback):
2822         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2823         (WebCore::V8PopStateEvent::initPopStateEventCallback):
2824         (WebCore::V8PopStateEvent::stateAccessorGetter):
2825         * bindings/v8/custom/V8WorkerCustom.cpp:
2826         (WebCore::V8Worker::postMessageCallback):
2827
2828 2010-01-15  Darin Fisher  <darin@chromium.org>
2829
2830         Reviewed by Brady Eidson.
2831
2832         history.length does not return number of elements in history list
2833         https://bugs.webkit.org/show_bug.cgi?id=24472
2834
2835         Test: fast/history/history-length.html
2836
2837         * page/Page.cpp:
2838         (WebCore::Page::getHistoryLength):
2839
2840 2010-01-15  Dmitry Titov  <dimich@chromium.org>
2841
2842         Reviewed by Darin Adler.
2843
2844         Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
2845         https://bugs.webkit.org/show_bug.cgi?id=31633
2846
2847         Don't see a way to add test for it, we don't have a way to reproduce the issue currently.
2848
2849         * dom/Document.cpp:
2850         (WebCore::DocumentWeakReference::DocumentWeakReference):
2851         (WebCore::DocumentWeakReference::document):
2852         (WebCore::DocumentWeakReference::clear):
2853         (WebCore::Document::Document): Create a weak reference to this Document.
2854         (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
2855         (WebCore::PerformTaskContext::PerformTaskContext):
2856         (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
2857         (WebCore::Document::postTask):
2858         * dom/Document.h:
2859         (WebCore::DocumentWeakReference::create):
2860
2861 2010-01-15  Vitaly Repeshko  <vitalyr@chromium.org>
2862
2863         Reviewed by David Levin.
2864
2865         [V8] Support SerializedScriptValue.
2866         https://bugs.webkit.org/show_bug.cgi?id=32920
2867         http://crbug.com/30620
2868
2869         Initial implementation of SerializedScriptValue which is used to
2870         to create a serialized representation of JavaScript objects.  This
2871         representation is needed for structured clones and worker messages.
2872
2873         * WebCore.gypi: Added SerializedScriptValue.cpp.
2874         * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
2875         * bindings/v8/SerializedScriptValue.cpp: Added.
2876         (WebCore::):
2877         (WebCore::ZigZag::encode):
2878         (WebCore::ZigZag::decode):
2879         (WebCore::Writer::Writer):
2880         (WebCore::Writer::writeUndefined):
2881         (WebCore::Writer::writeNull):
2882         (WebCore::Writer::writeTrue):
2883         (WebCore::Writer::writeFalse):
2884         (WebCore::Writer::writeString):
2885         (WebCore::Writer::writeInt32):
2886         (WebCore::Writer::writeNumber):
2887         (WebCore::Writer::endComposite):
2888         (WebCore::Writer::data):
2889         (WebCore::Writer::doWriteUint32):
2890         (WebCore::Writer::append):
2891         (WebCore::Writer::ensureSpace):
2892         (WebCore::Writer::fillHole):
2893         (WebCore::Writer::charAt):
2894         (WebCore::Serializer::Serializer):
2895         (WebCore::Serializer::serialize):
2896         (WebCore::Serializer::StateBase::~StateBase):
2897         (WebCore::Serializer::StateBase::nextState):
2898         (WebCore::Serializer::StateBase::setNextState):
2899         (WebCore::Serializer::StateBase::composite):
2900         (WebCore::Serializer::StateBase::StateBase):
2901         (WebCore::Serializer::State::composite):
2902         (WebCore::Serializer::State::tag):
2903         (WebCore::Serializer::State::State):
2904         (WebCore::Serializer::StackCleaner::StackCleaner):
2905         (WebCore::Serializer::StackCleaner::~StackCleaner):
2906         (WebCore::Serializer::ArrayState::ArrayState):
2907         (WebCore::Serializer::ArrayState::done):
2908         (WebCore::Serializer::ArrayState::advance):
2909         (WebCore::Serializer::ObjectState::ObjectState):
2910         (WebCore::Serializer::ObjectState::done):
2911         (WebCore::Serializer::ObjectState::advance):
2912         (WebCore::Serializer::ObjectState::nextProperty):
2913         (WebCore::Serializer::doSerialize):
2914         (WebCore::Serializer::push):
2915         (WebCore::Serializer::top):
2916         (WebCore::Serializer::pop):
2917         (WebCore::Serializer::checkComposite):
2918         (WebCore::Reader::Reader):
2919         (WebCore::Reader::isEof):
2920         (WebCore::Reader::read):
2921         (WebCore::Reader::readTag):
2922         (WebCore::Reader::readString):
2923         (WebCore::Reader::readInt32):
2924         (WebCore::Reader::readNumber):
2925         (WebCore::Reader::doReadUint32):
2926         (WebCore::Deserializer::Deserializer):
2927         (WebCore::Deserializer::deserialize):
2928         (WebCore::Deserializer::doDeserialize):
2929         (WebCore::Deserializer::push):
2930         (WebCore::Deserializer::pop):
2931         (WebCore::Deserializer::stackDepth):
2932         (WebCore::Deserializer::element):
2933         (WebCore::SerializedScriptValue::SerializedScriptValue):
2934         (WebCore::SerializedScriptValue::deserialize):
2935         * bindings/v8/SerializedScriptValue.h:
2936         (WebCore::SerializedScriptValue::create):
2937         (WebCore::SerializedScriptValue::createFromWire):
2938         (WebCore::SerializedScriptValue::release):
2939         (WebCore::SerializedScriptValue::toWireString):
2940
2941         Updated uses of SerializedScriptValue:
2942         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2943         (WebCore::V8DOMWindow::postMessageCallback):
2944         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2945         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
2946         * bindings/v8/custom/V8HistoryCustom.cpp:
2947         (WebCore::V8History::pushStateCallback):
2948         (WebCore::V8History::replaceStateCallback):
2949         * bindings/v8/custom/V8MessageEventCustom.cpp:
2950         (WebCore::V8MessageEvent::initMessageEventCallback):
2951         * bindings/v8/custom/V8MessagePortCustom.cpp:
2952         (WebCore::V8MessagePort::postMessageCallback):
2953         * bindings/v8/custom/V8WorkerCustom.cpp:
2954         (WebCore::V8Worker::postMessageCallback):
2955
2956 2010-01-15  Oliver Hunt  <oliver@apple.com>
2957
2958         Reviewed by Dirk Schulze.
2959
2960         Bad DOM performance in large SVG files
2961         https://bugs.webkit.org/show_bug.cgi?id=30055
2962
2963         Add an early return when we go to paint a RenderPath that
2964         isn't in the current clip.
2965
2966         * rendering/RenderPath.cpp:
2967         (WebCore::RenderPath::paint):
2968         * svg/graphics/SVGImage.cpp:
2969         (WebCore::SVGImage::draw):
2970
2971 2010-01-15  Steve Block  <steveblock@google.com>
2972
2973         Reviewed by Eric Seidel.
2974
2975         Make Geolocation::suspend/resume public.
2976         https://bugs.webkit.org/show_bug.cgi?id=33679
2977
2978         These were made private in Bug 32499, but are required by Android to be public.
2979
2980         No new tests, build fix only.
2981
2982         * page/Geolocation.cpp: Modified
2983         (WebCore::Geolocation::suspend): Added back in
2984         (WebCore::Geolocation::resume): Added back in
2985         * page/Geolocation.h: Modified. Make suspend and resume public
2986
2987 2010-01-15  Alexander Pavlov  <apavlov@chromium.org>
2988
2989         Reviewed by Pavel Feldman.
2990
2991         Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane
2992
2993         https://bugs.webkit.org/show_bug.cgi?id=33713
2994
2995         * inspector/front-end/inspector.css:
2996
2997 2010-01-15  Nate Chapin  <japhet@chromium.org>
2998
2999         Reviewed by Dimitri Glazkov.
3000
3001         [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.
3002
3003         * bindings/scripts/CodeGeneratorV8.pm:
3004         * bindings/v8/V8Binding.cpp:
3005         (WebCore::getToStringName):
3006         (WebCore::constructorToString):
3007         (WebCore::getToStringTemplate):
3008         * bindings/v8/V8Binding.h:
3009         * bindings/v8/V8DOMWindowShell.cpp:
3010         (WebCore::V8DOMWindowShell::createNewContext):
3011         * bindings/v8/V8DOMWrapper.cpp:
3012         (WebCore::V8DOMWrapper::getTemplate):
3013
3014 2010-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
3015
3016         No review, rolling out r53331.
3017         http://trac.webkit.org/changeset/53331
3018         https://bugs.webkit.org/show_bug.cgi?id=30055
3019
3020         Broke fast/borders/svg-as-border-image-3.html. Don't give up,
3021         Oliver! You are really, really close.
3022
3023         * rendering/RenderPath.cpp:
3024         (WebCore::RenderPath::paint):
3025
3026 2010-01-15  Oliver Hunt  <oliver@apple.com>
3027
3028         Reviewed by Nikolas Zimmermann.
3029
3030         Bad DOM performance in large SVG files
3031         https://bugs.webkit.org/show_bug.cgi?id=30055
3032
3033         Add an early return when we go to paint a RenderPath that
3034         isn't in the current clip.
3035
3036         * rendering/RenderPath.cpp:
3037         (WebCore::RenderPath::paint):
3038
3039 2010-01-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3040
3041         Reviewed by Antti Koivisto.
3042
3043         Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform
3044
3045         https://bugs.webkit.org/show_bug.cgi?id=33711
3046
3047         * page/NavigatorBase.cpp:
3048
3049 2010-01-14  Philippe Normand  <pnormand@igalia.com>
3050
3051         Reviewed by Xan Lopez.
3052
3053         [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
3054         https://bugs.webkit.org/show_bug.cgi?id=33575
3055
3056         Patch from Magnus Boman <captain.magnus@gmail.com>
3057
3058         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3059         (WebCore::mimeTypeCache): fix compiler warnings.
3060
3061 2010-01-14  Mikhail Naganov  <mnaganov@chromium.org>
3062
3063         Reviewed by Timothy Hatcher.
3064
3065         Add welcome screen to Profiles pane to provide some instructions for novices.
3066
3067         https://bugs.webkit.org/show_bug.cgi?id=19268
3068
3069         * English.lproj/localizedStrings.js:
3070         * WebCore.gypi:
3071         * WebCore.vcproj/WebCore.vcproj:
3072         * inspector/front-end/ProfileView.js:
3073         (WebInspector.CPUProfileType.prototype.get welcomeMessage):
3074         * inspector/front-end/ProfilesPanel.js:
3075         (WebInspector.ProfileType.prototype.get welcomeMessage):
3076         (WebInspector.ProfilesPanel):
3077         (WebInspector.ProfilesPanel.prototype.show):
3078         (WebInspector.ProfilesPanel.prototype.registerProfileType):
3079         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
3080         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
3081         (WebInspector.ProfilesPanel.prototype.showProfile):
3082         (WebInspector.ProfilesPanel.prototype.closeVisibleView):
3083         (WebInspector.ProfilesPanel.prototype._updateInterface):
3084         * inspector/front-end/WebKit.qrc:
3085         * inspector/front-end/WelcomeView.js: Added.
3086         (WebInspector.WelcomeView):
3087         (WebInspector.WelcomeView.prototype._windowResized):
3088         (WebInspector.WelcomeView.prototype.addMessage):
3089         * inspector/front-end/inspector.css:
3090         * inspector/front-end/inspector.html:
3091
3092 2010-01-13  Girish Ramakrishnan  <girish@forwardbias.in>
3093
3094         Reviewed by Simon Hausmann.
3095
3096         [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
3097         
3098         https://bugs.webkit.org/show_bug.cgi?id=33591
3099         
3100         Mouse hover does not work as expected with the flash in some sites.
3101         - http://www.bbc.co.uk/ Hover over the map
3102         - http://www.barbie.com/ Hover over the menu items (Games, Videos)
3103         The problem appears to be that Flash queries NPNVnetscapeWindow on every
3104         mouse hover. I do not how flash uses this value but returning 0 when flash
3105         is in windowless mode solves the problem (When using QGraphicsWebView we
3106         inject wmode opaque, thereby putting the plugin in windowless mode).
3107
3108         * plugins/win/PluginViewWin.cpp:
3109         (windowHandleForPageClient):
3110
3111 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
3112
3113         Reviewed by Darin Adler.
3114
3115         Allow custom memory allocation control for Peer class
3116         https://bugs.webkit.org/show_bug.cgi?id=33670
3117
3118         Inherits the following class from Noncopyable because it is 
3119         instantiated by 'new' and no need to be copyable:
3120
3121         class name - instantiated at: WebCore/'location'
3122         class Peer - websockets/WebSocketChannelClient.h:38
3123
3124         * websockets/WorkerThreadableWebSocketChannel.h:
3125
3126 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
3127
3128         Reviewed by Oliver Hunt.
3129
3130         [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
3131         https://bugs.webkit.org/show_bug.cgi?id=33669
3132
3133         Inherits the following class from Noncopyable because it is 
3134         instantiated by 'new' and no need to be copyable:
3135
3136         class name                           - instantiated at: WebCore/'location'
3137         class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254
3138
3139         * platform/graphics/qt/GraphicsContextQt.cpp:
3140
3141 2010-01-14  Darin Fisher  <darin@chromium.org>
3142
3143         Reviewed by Brady Eidson.
3144
3145         history.pushState should clear the entire forward history
3146         https://bugs.webkit.org/show_bug.cgi?id=33160
3147
3148         Test: fast/loader/stateobjects/pushstate-clears-forward-history.html
3149
3150         * history/BackForwardList.cpp:
3151         (WebCore::BackForwardList::addItem):
3152         (WebCore::BackForwardList::pushStateItem):
3153         * history/BackForwardList.h:
3154
3155 2010-01-14  Gavin Barraclough  <barraclough@apple.com>
3156
3157         Rubber stamped by Sam Weinig.
3158
3159         Make naming & behaviour of UString[Impl] methods more consistent.
3160         https://bugs.webkit.org/show_bug.cgi?id=33702
3161
3162         WebCore change reflecting UString method name change computedHash() -> existingHash().
3163
3164         * platform/text/AtomicString.cpp:
3165         (WebCore::AtomicString::add):
3166         (WebCore::AtomicString::find):
3167
3168 2010-01-14  Dan Bernstein  <mitz@apple.com>
3169
3170         Reviewed by Simon Fraser.
3171
3172         <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
3173         https://bugs.webkit.org/show_bug.cgi?id=19650
3174
3175         * platform/graphics/GeneratedImage.cpp:
3176         (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
3177         letting the generator substitute the parameters with visually-equivalent values that
3178         are more efficient.
3179         * platform/graphics/Generator.h:
3180         (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
3181         that does nothing.
3182         * platform/graphics/Gradient.cpp:
3183         (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
3184         or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
3185         * platform/graphics/Gradient.h:
3186
3187 2010-01-14  Norbert Leser  <norbert.leser@nokia.com>
3188
3189         Reviewed by Laszlo Gombos.
3190
3191         Platform Symbian specific:
3192         Added time-based optimization (-Otime) and increased optimization level to -O3,
3193         conditionally for RVCT compiler (for ARM), for increasing performance
3194         (primarily affecting JavaScript execution).
3195         Default settings are -Ospace and -O2.
3196
3197         No new tests needed because no new funtionality is introduced,
3198         only potential regression on existing tests needs to be evaluated.
3199
3200         * WebCore.pro:
3201
3202 2010-01-14  Jungshik Shin  <jshin@chromium.org>
3203
3204         Unreviewed, attempted build fix on chromium.
3205
3206         Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)
3207
3208         * bindings/v8/V8Collection.h:
3209         (WebCore::getNamedPropertyOfCollection):
3210
3211 2010-01-14  Jungshik Shin  <jshin@chromium.org>
3212
3213         Unreviewed, attempted build fix on chromium.
3214
3215         Fix a Chromium build failure due to an unused variable in V8 binding. 
3216
3217         * bindings/v8/V8Collection.h:
3218         (WebCore::getIndexedPropertyOfCollection):
3219
3220 2010-01-14  Peter Kasting  <pkasting@google.com>
3221
3222         Unreviewed, attempted build fix.
3223
3224         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3225         (WebCore::GIFImageDecoder::haveDecodedRow):
3226
3227 2010-01-14  Peter Kasting  <pkasting@google.com>
3228
3229         Reviewed by Adam Barth.
3230
3231         Simplify image decoders by making downsampling functions available at
3232         all times, allowing much duplicated logic to be collapsed.
3233         https://bugs.webkit.org/show_bug.cgi?id=28751
3234
3235         * platform/graphics/ImageSource.cpp:
3236         (WebCore::ImageSource::setData):
3237         * platform/image-decoders/ImageDecoder.cpp:
3238         (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
3239         * platform/image-decoders/ImageDecoder.h:
3240         (WebCore::ImageDecoder::ImageDecoder):
3241         (WebCore::ImageDecoder::scaledSize):
3242         (WebCore::ImageDecoder::setMaxNumPixels):
3243         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3244         (WebCore::GIFImageDecoder::sizeNowAvailable):
3245         (WebCore::GIFImageDecoder::initFrameBuffer):
3246         (WebCore::GIFImageDecoder::haveDecodedRow):
3247         (WebCore::GIFImageDecoder::frameComplete):
3248         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3249         (WebCore::JPEGImageDecoder::setSize):
3250         (WebCore::JPEGImageDecoder::outputScanlines):
3251         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3252         * platform/image-decoders/png/PNGImageDecoder.cpp:
3253         (WebCore::PNGImageDecoder::headerAvailable):
3254         (WebCore::PNGImageDecoder::rowAvailable):
3255
3256 2010-01-14  Jian Li  <jianli@chromium.org>
3257
3258         Reviewed by Eric Seidel.
3259
3260         [chromium] Remove obsolete CF related files from gyp build.
3261         https://bugs.webkit.org/show_bug.cgi?id=33002
3262
3263         * WebCore.gypi:
3264
3265 2010-01-14  Peter Kasting  <pkasting@google.com>
3266
3267         Reviewed by Adam Barth.
3268
3269         Decoding images to scaled output buffers resulted in garbage for
3270         no-alpha PNGs and CMYK JPEGs.
3271         https://bugs.webkit.org/show_bug.cgi?id=33624
3272         
3273         No layout test since I don't have access to a platform that scales the
3274         output buffers.
3275
3276         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3277         (WebCore::convertCMYKToRGBA):
3278         * platform/image-decoders/png/PNGImageDecoder.cpp:
3279         (WebCore::PNGImageDecoder::rowAvailable):
3280
3281 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
3282
3283         Rubber-stamped by Oliver Hunt.
3284
3285         Fix an assertion that was causing test crashes. Filed a bug
3286         about the weirdness that causes this assertion (inconsistencies 
3287         between DragOperationMove and DragOperationGeneric).
3288
3289         * dom/Clipboard.cpp:
3290         (WebCore::dragOpFromIEOp):
3291         (WebCore::Clipboard::setDestinationOperation):
3292
3293 2010-01-14  Beth Dakin  <bdakin@apple.com>
3294
3295         Reviewed by Sam Weinig.
3296
3297         Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 
3298         svg/css/circle-in-mask-with-shadow.svg failing pixel tests
3299         -and corresponding-
3300         <rdar://problem/7544176>
3301
3302         This change makes repaintRectInLocalCoordinates return a rect that 
3303         is -webkit-svg-shadow-aware.
3304
3305         * rendering/RenderPath.cpp:
3306         (WebCore::RenderPath::repaintRectInLocalCoordinates):
3307         * rendering/RenderSVGContainer.cpp:
3308         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
3309         * rendering/RenderSVGImage.cpp:
3310         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
3311         * rendering/RenderSVGRoot.cpp:
3312         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
3313         * rendering/RenderSVGText.cpp:
3314         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
3315         * rendering/SVGRenderSupport.cpp:
3316         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3317         * rendering/style/SVGRenderStyle.cpp:
3318         (WebCore::SVGRenderStyle::inflateForShadow):
3319         * rendering/style/SVGRenderStyle.h:
3320
3321 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
3322
3323         Reviewed by Adam Roben.
3324
3325         Drag and Drop source/destination code needs cleanup.
3326         <https://bugs.webkit.org/show_bug.cgi?id=33691>.
3327         
3328         Cleaned up some Drag and Drop code that deals with getting
3329         source and destination operations, and added some ASSERTS to make
3330         sure we don't get in bad states.
3331
3332         * dom/Clipboard.cpp:
3333         (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
3334         (WebCore::Clipboard::destinationOperation): Ditto.
3335         (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
3336         (WebCore::Clipboard::setDestinationOperation): Ditto.
3337         * dom/Clipboard.h:
3338         * page/DragController.cpp:
3339         (WebCore::DragController::tryDHTMLDrag):
3340         * page/EventHandler.cpp:
3341         (WebCore::EventHandler::handleDrag):
3342
3343 2010-01-14  Timothy Hatcher  <timothy@apple.com>
3344
3345         Make the Web Inspector's JavaScript debugger work with isolated worlds.
3346         Console evaluation is not performed in the correct world yet, tracked
3347         by bug http://webkit.org/b/33692.
3348
3349         http://webkit.org/b/33690
3350
3351         Reviewed by Adam Roben.
3352
3353         * bindings/js/ScriptCachedFrameData.cpp:
3354         (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
3355         any window shell, not just for the debugger world.
3356         * bindings/js/ScriptController.cpp:
3357         (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
3358         reattach to all window shells, not just for the debugger world.
3359         (WebCore::ScriptController::initScript): Attach the debugger to
3360         any window shell, not just for the debugger world.
3361         (WebCore::ScriptController::attachDebugger): Changed to loop through
3362         all the window shells and call the new overloaded attachDebugger.
3363         (WebCore::ScriptController::attachDebugger): Added. An overload that
3364         takes a window shell to attach the debugger to. Has most of the
3365         logic from the original attachDebugger.
3366         * bindings/js/ScriptController.h: Added the new attachDebugger.
3367
3368 2010-01-14  Adam Roben  <aroben@apple.com>
3369
3370         Make Cache::requestResource return 0 if the resource's load fails
3371         immediately
3372
3373         Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
3374         window.onload never fires if page contains a <script src=foo> whose
3375         load is cancelled by resource load delegate returning null from
3376         willSendRequest
3377
3378         Test: fast/loader/onload-willSendRequest-null-for-script.html
3379
3380         Reviewed by Dave Hyatt.
3381
3382         * loader/Cache.cpp:
3383         (WebCore::Cache::requestResource): Moved code to handle immediate load
3384         failure out of the "cache is disabled" block so that it will run even
3385         when the cache is enabled.
3386
3387 2010-01-14  Stephen White  <senorblanco@chromium.org>
3388
3389         Reviewed by mitz@webkit.org.
3390
3391         Fix for crash with gradient on table cell.  Pass the correct
3392         background object down to
3393         RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
3394         rework of the fix to bug 18445 by passing the correct RenderObject
3395         from RenderBox::paintRootBoxDecorations() down to
3396         RenderBoxModelObject::paintFillLayerExtended().
3397         https://bugs.webkit.org/show_bug.cgi?id=28426
3398
3399         Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html
3400
3401         * rendering/RenderBox.cpp:
3402         (WebCore::RenderBox::paintFillLayers):
3403         (WebCore::RenderBox::paintFillLayer):
3404         * rendering/RenderBox.h:
3405         Plumb through the correct background RenderObject.
3406         * rendering/RenderBoxModelObject.cpp:
3407         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3408         Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
3409         * rendering/RenderBoxModelObject.h:
3410         Plumb through the correct background RenderObject.
3411         * rendering/RenderTableCell.cpp:
3412         Pass in the correct backgroundObject to paintFillLayers().
3413
3414         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3415
3416 2010-01-14  Nate Chapin  <japhet@chromium.org>
3417
3418         Reviewed by Dimitri Glazkov.
3419
3420         Standardize the rest of the v8 bindings on toNative() wherever possible.
3421
3422         https://bugs.webkit.org/show_bug.cgi?id=33677
3423
3424         * bindings/v8/NPV8Object.cpp:
3425         (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
3426         * bindings/v8/NPV8Object.h:
3427         * bindings/v8/ScriptController.cpp:
3428         * bindings/v8/V8Collection.cpp:
3429         * bindings/v8/V8Collection.h:
3430         (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
3431         * bindings/v8/V8DOMWindowShell.cpp:
3432         * bindings/v8/V8DOMWrapper.cpp:
3433         * bindings/v8/V8DOMWrapper.h:
3434         * bindings/v8/V8NPObject.cpp:
3435         * bindings/v8/V8Proxy.cpp:
3436         * bindings/v8/V8SVGPODTypeWrapper.h:
3437         * bindings/v8/WorkerContextExecutionProxy.cpp:
3438
3439 2010-01-14  Evan Stade  <estade@chromium.org>
3440
3441         Reviewed by Eric Seidel.
3442
3443         Chromium Linux: don't stretch checkboxes
3444         https://bugs.webkit.org/show_bug.cgi?id=28631
3445
3446         Make the default size for checkboxes/radio buttons also the maximum
3447         size.
3448
3449         Based on patch by Adam Langley.
3450
3451         Test: fast/css/non-standard-checkbox-size.html
3452
3453         * rendering/RenderThemeChromiumSkia.cpp:
3454         (WebCore::center):
3455         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
3456         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
3457         (WebCore::RenderThemeChromiumSkia::paintRadio):
3458
3459 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
3460
3461         Reviewed by Adam Roben.
3462
3463         Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
3464         
3465         Now that dropEffect and effectAllowed are guaranteed to not be
3466         null, change null checks into asserts to make sure we are returning
3467         a proper DragOperation value.
3468
3469         * dom/Clipboard.cpp:
3470         (WebCore::Clipboard::sourceOperation): Change null check to assert.
3471         (WebCore::Clipboard::destinationOperation): Ditto.
3472
3473 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
3474
3475         Reviewed by Oliver Hunt.
3476
3477         [DnD] effectAllowed and dropEffect can be set to bogus values.
3478         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
3479         
3480         Test to make aure dropEffect and effectAllowed are being set to valid values
3481         when they are being set (list of valid values given by HTML5 specification).
3482         
3483         Also, drive by change to initialize dropEffect to none (as described in spec).
3484
3485         Test: fast/events/bogus-dropEffect-effectAllowed.html
3486
3487         * dom/Clipboard.cpp:
3488         (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
3489         (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
3490         (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
3491
3492 2010-01-14  Kent Hansen  <kent.hansen@nokia.com>
3493
3494         Reviewed by Darin Adler.
3495
3496         Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
3497         https://bugs.webkit.org/show_bug.cgi?id=33371
3498
3499         RuntimeObjectImp should not reimplement getPropertyNames();
3500         move the implementation to getOwnPropertyNames().
3501
3502         * bridge/runtime_object.cpp:
3503         (JSC::RuntimeObjectImp::getOwnPropertyNames):
3504         * bridge/runtime_object.h:
3505
3506 2010-01-14  Kwang Yul Seo  <skyul@company100.net>
3507
3508         Reviewed by Alexey Proskuryakov.
3509
3510         Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
3511         https://bugs.webkit.org/show_bug.cgi?id=33665
3512
3513         TransformSource is available only when ENABLE(XSLT) guard is true.
3514
3515         * dom/TransformSourceLibxslt.cpp:
3516
3517 2010-01-14  Adam Roben  <aroben@apple.com>
3518
3519         Treat all synchronous loads equally in FrameLoader::loadSubframe
3520
3521         Only loads of the empty URL or about:blank were being treated as
3522         synchronous loads. But other loads can be synchronous (e.g., when we
3523         receive a null ResourceRequest from requestFromDelegate or when a
3524         policy decision of "ignore" is made). We now treat those loads the
3525         same way we treated empty URLs and about:blank.
3526
3527         Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
3528         window.onload never fires if page contains an <iframe> with a bad
3529         scheme or whose load is cancelled by returning null from resource load
3530         delegate's willSendRequest
3531
3532       &n