Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
6         the main thread when a database is being closed.
7
8         https://bugs.webkit.org/show_bug.cgi?id=32627
9
10         * storage/chromium/DatabaseTrackerChromium.cpp:
11         (WebCore::removeOpenDatabaseOnMainThread):
12         (WebCore::DatabaseTracker::removeOpenDatabase):
13
14 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
15
16         Build fix, no review.
17
18         * page/win/FrameCairoWin.cpp: Add missing include.
19         * platform/graphics/win/FontCacheWin.cpp:
20         (WebCore::FontCache::createFontPlatformData): Conditionalize
21           Safari-only call.
22
23 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
24
25         Reviewed by Dmitry Titov.
26
27         Move some code related to database closing from the destructor to
28         the close() method. This would allow us to do things such as post
29         tasks to other threads when a database closes, which cannot be
30         done now, because we cannot increment the ref count to a database
31         object when we're in its destructor.
32
33         https://bugs.webkit.org/show_bug.cgi?id=32626
34
35         * storage/Database.cpp:
36         (WebCore::Database::~Database):
37         (WebCore::Database::close):
38
39 2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
40
41         REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
42
43         https://bugs.webkit.org/show_bug.cgi?id=32736
44
45         Reviewed by Adam Roben.
46
47         Test: platform/win/accessibility/list-role.html
48
49         * accessibility/AccessibilityObject.h:
50         (WebCore::AccessibilityObject::roleValueForMSAA):
51         Return roleValue(), rather than m_role, as subclasses may override it.
52
53         * accessibility/AccessibilityRenderObject.cpp:
54         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
55         Fallback to roleValue(), rather than m_role, as it may be overriden.
56
57 2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
58
59         MSAA: Accessibility role of list items is wrong
60
61         https://bugs.webkit.org/show_bug.cgi?id=32688
62
63         Reviewed by Adam Roben.
64
65         Test: platform/win/accessibility/list-item-role.html
66
67         * accessibility/AccessibilityObject.h:
68         (WebCore::):
69         Add a ListItemRole to the enum.
70
71         * accessibility/AccessibilityRenderObject.cpp:
72         (WebCore::msaaRoleForRenderer):
73         Return the role for the RenderObject, or UnknownRole if unknown.
74         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
75         Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
76         back to m_role.
77
78 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
79
80         Reviewed by Darin Adler.
81
82         Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
83         https://bugs.webkit.org/show_bug.cgi?id=31559
84         
85         Fix an array bounds error when accessing the CSS value for a shorthand property that takes
86         a comma-separated list, after the list for one of the component properties has been set to a different length.
87
88         Test: fast/css/shorthand-mismatched-list-crash.html
89
90         * css/CSSMutableStyleDeclaration.cpp:
91         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
92
93 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
94
95         Reviewed by Mark Rowe.
96
97         Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
98
99         * WebCore.xcodeproj/project.pbxproj:
100
101 2009-12-18  Sam Weinig  <sam@webkit.org>
102
103         Fix mac Geolocation build.
104
105         * DerivedSources.make:
106         * WebCore.ClientBasedGeolocation.exp: Added.
107         * WebCore.xcodeproj/project.pbxproj:
108         * page/Geolocation.h:
109         * page/GeolocationError.h:
110         (WebCore::GeolocationError::GeolocationError):
111         * page/GeolocationPosition.h:
112
113 2009-12-18  Brian Weinstein  <bweinstein@apple.com>
114
115         Reviewed by Adam Roben.
116
117         Fixes <http://webkit.org/b/32613>.
118         REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
119         but should follow the link instead.
120
121         The node itself isn't the only possible node that can be a link (that was the
122         original check), any of its ancestors could be links as well, we need to climb
123         up the tree to see. Created a new function (enclosingAnchorNode), that finds a
124         node's enclosing anchor element (if it exists), that we can share between RenderLayer
125         and Node, and also added tests that test pan scrolling behavior in image maps.
126
127         Tests: platform/win/fast/events/panScroll-image-no-scroll.html
128                platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
129                platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
130
131         * dom/Node.cpp:
132         (WebCore::Node::enclosingAnchorNode):
133         (WebCore::Node::defaultEventHandler):
134         * dom/Node.h:
135         * rendering/RenderLayer.cpp:
136         (WebCore::RenderLayer::hitTest):
137
138 2009-12-18  Benjamin Otte  <otte@gnome.org>
139
140         Reviewed by Xan Lopez.
141
142         [GTK] RemoveDashboard support. It's useless.
143
144         * GNUmakefile.am:
145
146 2009-12-18  Christian Dywan  <christian@twotoasts.de>
147
148         Reviewed by Xan Lopez.
149
150         [GTK] context menu overriding API is very limited
151         https://bugs.webkit.org/show_bug.cgi?id=27546
152
153         Omit SearchWeb from the context menu in the GTK+ port.
154
155         * platform/ContextMenu.cpp:
156         (WebCore::ContextMenu::populate):
157
158 2009-12-18  Sam Weinig  <sam@webkit.org>
159
160         Reviewed by Anders Carlsson.
161
162         Add export the new symbol in WebCoreSystemInterface.
163
164         * WebCore.base.exp:
165         * platform/mac/WebCoreSystemInterface.h:
166         * platform/mac/WebCoreSystemInterface.mm:
167
168 2009-12-18  Sam Weinig  <sam@webkit.org>
169
170         Reviewed by Anders Carlsson.
171
172         Forward declare NSMutableArray when not compiling for Objective-C.
173
174         * platform/mac/WebCoreSystemInterface.h:
175
176 2009-12-18  Gavin Barraclough  <barraclough@apple.com>
177
178         Reviewed by Sam Weinig.
179
180         https://bugs.webkit.org/show_bug.cgi?id=32720
181         Replace UString addition/append with use of JSC::StringBuilder.
182
183         * ForwardingHeaders/runtime/StringBuilder.h: Added.
184         * bindings/js/ScriptString.h:
185         (WebCore::ScriptString::operator+=):
186         * bridge/jni/jni_runtime.cpp:
187         (appendClassName):
188         (JavaMethod::signature):
189         * inspector/InspectorController.cpp:
190         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
191         (WebCore::InspectorController::addStartProfilingMessageToConsole):
192         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
193
194 2009-12-18  Kenneth Russell  <kbr@google.com>
195
196         Reviewed by Darin Fisher.
197
198         Index validation for drawElements examines too many indices
199         https://bugs.webkit.org/show_bug.cgi?id=32692
200
201         Test: fast/canvas/webgl/bug-32692.html
202
203         * html/canvas/WebGLRenderingContext.cpp:
204         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
205
206 2009-12-18  Sam Weinig  <sam@webkit.org>
207
208         Reviewed by Anders Carlsson.
209
210         Update WebKitSystemInterface for <rdar://problem/7237059>.        
211
212         * platform/mac/WebCoreSystemInterface.h:
213         * platform/mac/WebCoreSystemInterface.mm:
214
215 2009-12-18  Adam Roben  <aroben@apple.com>
216
217         GTK build fix
218
219         * plugins/gtk/PluginViewGtk.cpp: Added #include.
220
221 2009-12-18  Adam Roben  <aroben@apple.com>
222
223         Chromium build fix
224
225         * platform/chromium/PopupMenuChromium.cpp: Added #include.
226
227 2009-12-18  Adam Roben  <aroben@apple.com>
228
229         Chromium build fix
230
231         * html/HTMLLinkElement.cpp: Added #include.
232
233 2009-12-18  Adam Roben  <aroben@apple.com>
234
235         Qt build fix
236
237         * platform/qt/RenderThemeQt.cpp:
238         * plugins/qt/PluginDataQt.cpp:
239         * plugins/qt/PluginViewQt.cpp:
240         Added #includes.
241
242 2009-12-18  Adam Roben  <aroben@apple.com>
243
244         V8 build fix
245
246         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
247
248 2009-12-18  Adam Roben  <aroben@apple.com>
249
250         GTK (and others?) build fix
251
252         * platform/text/StringImpl.h: Added #include.
253
254 2009-12-18  Adam Roben  <aroben@apple.com>
255
256         Reduce #includes in a few high-use headers
257
258         Removed unnecessary #includes in these headers:
259           - Frame.h
260           - FrameWin.h
261           - Node.h
262           - Page.h
263           - StringImpl.h
264
265         The rest of the patch is all adding #includes to source files that now
266         require them.
267
268         Fixes <http://webkit.org/b/32718>.
269
270         Rubber-stamped by Anders Carlsson.
271
272         * dom/Node.h:
273         * page/Frame.h:
274         * page/Page.h:
275         * page/win/FrameWin.h:
276         * platform/text/StringImpl.h:
277         Removed unnecessary #includes.
278
279         * accessibility/win/AXObjectCacheWin.cpp:
280         * bindings/js/JSDOMWindowBase.cpp:
281         * bindings/js/JSDOMWindowCustom.cpp:
282         * dom/Document.cpp:
283         * dom/InputElement.cpp:
284         * dom/Node.cpp:
285         * dom/SelectElement.cpp:
286         * editing/EditorCommand.cpp:
287         * html/HTMLFormControlElement.cpp:
288         * html/HTMLFormElement.cpp:
289         * html/HTMLMediaElement.cpp:
290         * html/HTMLParser.cpp:
291         * html/HTMLTextAreaElement.cpp:
292         * html/HTMLVideoElement.cpp:
293         * inspector/InspectorController.cpp:
294         * loader/FrameLoader.cpp:
295         * loader/HistoryController.cpp:
296         * loader/appcache/ApplicationCacheGroup.cpp:
297         * page/Console.cpp:
298         * page/EventHandler.cpp:
299         * page/Frame.cpp:
300         * page/FrameView.cpp:
301         * page/Navigator.cpp:
302         * page/PageGroup.cpp:
303         * page/Settings.cpp:
304         * page/mac/EventHandlerMac.mm:
305         * platform/KURL.h:
306         * platform/ScrollbarThemeComposite.cpp:
307         * platform/cf/BinaryPropertyList.cpp:
308         * platform/graphics/mac/GraphicsLayerCA.h:
309         * platform/graphics/win/WKCACFLayerRenderer.cpp:
310         * platform/mac/PopupMenuMac.mm:
311         * platform/mac/WidgetMac.mm:
312         * platform/network/cf/DNSCFNet.cpp:
313         * platform/text/StringImpl.cpp:
314         * platform/win/FileSystemWin.cpp:
315         * platform/win/PlatformScreenWin.cpp:
316         * platform/win/PopupMenuWin.cpp:
317         * platform/win/WidgetWin.cpp:
318         * plugins/PluginView.cpp:
319         * plugins/win/PluginViewWin.cpp:
320         * rendering/InlineTextBox.cpp:
321         * rendering/RenderBox.cpp:
322         * rendering/RenderFileUploadControl.cpp:
323         * rendering/RenderInline.cpp:
324         * rendering/RenderLayerCompositor.cpp:
325         * rendering/RenderObject.cpp:
326         * rendering/RootInlineBox.cpp:
327         * storage/DatabaseTracker.cpp:
328         * storage/DatabaseTracker.h:
329         * storage/SQLTransactionClient.cpp:
330         * svg/graphics/SVGImage.cpp:
331         Added now-needed #includes.
332
333 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
334
335         Reviewed by Darin Adler.
336
337         Implemented isId as specified by DOM Level 3. See detailed description below.
338         https://bugs.webkit.org/show_bug.cgi?id=5578
339
340         Added isId property and implementation:
341         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
342                fast/dom/Element/attrisid-extra01.html
343         * dom/Attr.cpp:
344         (WebCore::Attr::isId):
345         * dom/Attr.h:
346         * dom/Attr.idl:
347
348         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
349         for the reason that id attribute name could be customized to a different
350         string other than "id". A test case is associated to each code change.
351         * dom/Document.cpp:
352         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
353         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
354         (WebCore::Element::setAttribute):
355         (WebCore::Element::setAttributeMap):
356         (WebCore::Element::insertedIntoDocument):
357         (WebCore::Element::removedFromDocument):
358         (WebCore::Element::formatForDebugger):
359         (WebCore::Element::rareIDAttributeName):
360         * dom/Element.h: Added function idAttributeName().
361         (WebCore::Element::idAttributeName):
362         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
363         (WebCore::ElementRareData::ElementRareData):
364         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
365         (WebCore::NamedNodeMap::setNamedItem):
366         (WebCore::NamedNodeMap::removeNamedItem):
367         (WebCore::NamedNodeMap::setAttributes):
368         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
369         (WebCore::Node::querySelector):
370         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
371         (WebCore::createSelectorNodeList):
372         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
373         (WebCore::StyledElement::parseMappedAttribute):
374         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
375         (WebCore::DeleteButtonController::createDeletionUI):
376         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
377         (WebCore::executeInsertHorizontalRule):
378         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
379         (WebCore::HTMLAppletElement::parseMappedAttribute):
380         (WebCore::HTMLAppletElement::createRenderer):
381         * html/HTMLCollection.cpp:
382         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
383         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
384         * html/HTMLDataGridColElement.cpp:
385         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
386         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
387         * html/HTMLElement.cpp:
388         (WebCore::HTMLElement::parseMappedAttribute):
389         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
390         (WebCore::HTMLFormCollection::getNamedFormItem):
391         (WebCore::HTMLFormCollection::nextNamedItem):
392         (WebCore::HTMLFormCollection::updateNameCache):
393         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
394         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
395         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
396         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
397         (WebCore::HTMLImageElement::parseMappedAttribute):
398         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
399         (WebCore::HTMLMapElement::parseMappedAttribute):
400         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
401         (WebCore::HTMLNameCollection::itemAfter):
402         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
403         (WebCore::HTMLObjectElement::parseMappedAttribute):
404         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
405         (WebCore::HTMLParamElement::parseMappedAttribute):
406         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
407         (WebCore::CachedFont::getSVGFontById):
408         * rendering/RenderLayerBacking.cpp:
409         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
410         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
411         (WebCore::writeRenderResources):
412         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
413         (WebCore::SVGElement::insertedIntoDocument):
414         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
415         (WebCore::SVGStyledElement::isKnownAttribute):
416         * wml/WMLElement.cpp:
417         (WebCore::WMLElement::parseMappedAttribute):
418
419 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
420
421         Reviewed by Tor Arne Vestbø.
422
423         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
424
425         https://bugs.webkit.org/show_bug.cgi?id=32716
426
427         Introduce standalone_package as config that is set when QTDIR_build is set or when
428         the directory for the generated files is present.
429
430         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
431         Others remain as they are specific to building inside Qt.
432
433         * WebCore.pro:
434
435 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
436
437         Reviewed by Tor Arne Vestbø.
438
439         [Qt] Fix the build on Symbian.
440
441         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
442         which is a missing symbol in Qt 4.6.0 on Symbian.
443
444         Functionally they should be equivalent, according to the source.
445
446         * platform/graphics/qt/FontCacheQt.cpp:
447         (WebCore::FontCache::getLastResortFallbackFont):
448
449 2009-12-18  Philippe Normand  <pnormand@igalia.com>
450
451         Reviewed by Xan Lopez.
452
453         [GTK] segfault during controls initialization if not GTK theme is present.
454         https://bugs.webkit.org/show_bug.cgi?id=32705
455
456         Create empty images for the controls if no GTK theme is set.
457
458         * platform/graphics/gtk/ImageGtk.cpp:
459         (WebCore::getThemeIconFileName):
460         (WebCore::loadImageFromFile):
461
462 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
463
464         Reviewed by Darin Adler.
465
466         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
467         at the beginning.
468         https://bugs.webkit.org/show_bug.cgi?id=31920
469
470         Moving up from a position after the end of the previous lines
471         should use UPSTREAM affinity to render the caret in the previous
472         line.
473
474         Test: editing/selection/wrapped-line-caret-3.html
475
476         * rendering/RenderText.cpp:
477         (WebCore::RenderText::positionForPoint):
478
479 2009-12-17  Eric Seidel  <eric@webkit.org>
480
481         Reviewed by Darin Adler.
482
483         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
484         https://bugs.webkit.org/show_bug.cgi?id=32675
485
486         Use the double constant 2.0 instead of static_cast<double>(2).
487
488         * html/HTMLInputElement.cpp:
489         (WebCore::HTMLInputElement::stepMismatch):
490
491 2009-12-17  Justin Schuh  <jschuh@chromium.org>
492
493         Reviewed by Dan Bernstein.
494
495         Bug 32357: SVG test case crashes WebKit (invalid font URL)
496         https://bugs.webkit.org/show_bug.cgi?id=32357
497
498         Added check for NULL return value from DocLoader::requestFont()
499
500         * svg/SVGFontFaceUriElement.cpp:
501         (WebCore::SVGFontFaceUriElement::loadFont):
502
503 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
504
505         Reviewed by Dan Bernstein.
506
507         marquee with display:inline causes crash
508         https://bugs.webkit.org/show_bug.cgi?id=32374
509
510         Test: fast/inline/inline-marquee-crash.html
511
512         * html/HTMLMarqueeElement.cpp:
513         (WebCore::HTMLMarqueeElement::start):
514         (WebCore::HTMLMarqueeElement::stop):
515         (WebCore::HTMLMarqueeElement::suspend):
516         (WebCore::HTMLMarqueeElement::resume):
517         (WebCore::HTMLMarqueeElement::renderMarquee):
518         * html/HTMLMarqueeElement.h:
519         * rendering/RenderLayer.cpp:
520         (WebCore::RenderLayer::styleChanged):
521
522 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
523
524         Reviewed by Darin Adler.
525
526         Allow custom memory allocation control for inspector's classes
527         https://bugs.webkit.org/show_bug.cgi?id=32660                               
528
529         Inherits the following classes from Noncopyable because these are
530         instantiated by 'new' and no need to be copyable:                                           
531
532         class name                  - instantiated at:  WebCore/'location'
533
534         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
535         class ConsoleMessage        - inspector/InspectorController.cpp:329 
536         class InspectorController   - page/Page.cpp:119
537
538         * inspector/ConsoleMessage.h:
539         * inspector/InspectorController.h:
540         * inspector/JavaScriptDebugServer.h:
541
542 2009-12-17  Steve Block  <steveblock@google.com>
543
544         Reviewed by Eric Seidel.
545
546         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
547         https://bugs.webkit.org/show_bug.cgi?id=32675
548
549         Build fix only, no new tests.
550
551         * html/HTMLInputElement.cpp: Modified.
552         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
553
554 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
555
556         Reviewed by Eric Seidel.
557
558         Fix link failure on LTCG builds on Windows for chromium port.
559
560         Reenable SVGAllInOne.cpp. This required some fixups.
561
562         Namely, there was conflicts in constants between HTMLNames and
563         SVGNames, and conflicts between static functions names.
564
565         No new tests as functionality has not changed.
566
567         * WebCore.gyp/WebCore.gyp:
568         * svg/SVGAllInOne.cpp:
569         * svg/SVGFontFaceElement.cpp:
570         (WebCore::SVGFontFaceElement::rebuildFontFace):
571         * svg/SVGGlyphElement.cpp:
572         (WebCore::SVGGlyphElement::invalidateGlyphCache):
573         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
574         * svg/SVGHKernElement.cpp:
575         (WebCore::SVGHKernElement::insertedIntoDocument):
576         (WebCore::SVGHKernElement::removedFromDocument):
577         * svg/SVGStyleElement.cpp:
578         (WebCore::SVGStyleElement::type):
579         (WebCore::SVGStyleElement::setType):
580         (WebCore::SVGStyleElement::media):
581         (WebCore::SVGStyleElement::setMedia):
582         (WebCore::SVGStyleElement::title):
583         (WebCore::SVGStyleElement::setTitle):
584         (WebCore::SVGStyleElement::parseMappedAttribute):
585         * svg/SVGStyledElement.cpp:
586         (WebCore::mapAttributeToCSSProperty):
587         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
588         * svg/SVGStyledElement.h:
589
590 2009-12-17  Adam Roben  <aroben@apple.com>
591
592         Chromium build fix VI
593
594         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
595
596 2009-12-17  Adam Roben  <aroben@apple.com>
597
598         Chromium build fix V
599
600         * platform/KURLGoogle.cpp: Added now-needed #include.
601
602 2009-12-17  Adam Roben  <aroben@apple.com>
603
604         Chromium build fix IV
605
606         * loader/CrossOriginPreflightResultCache.h: Added now-needed
607         #includes.
608
609 2009-12-17  Adam Roben  <aroben@apple.com>
610
611         Chromium build fix III
612
613         * platform/graphics/Font.h: Added now-needed #include.
614
615 2009-12-17  Adam Roben  <aroben@apple.com>
616
617         Chromium build fix II
618
619         * dom/EventTarget.h: Added now-needed #include.
620
621 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
622
623         Reviewed by Eric Seidel.
624
625         Allow custom memory allocation control for js bindings
626         https://bugs.webkit.org/show_bug.cgi?id=32655
627
628         Inherits the following classes from Noncopyable because these are instantiated 
629         by 'new' and no need to be copyable:
630
631         class name                  - instantiated at:  WebCore/'location'
632
633         class ScriptCachedFrameData - history/CachedFrame.cpp:117
634         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
635         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
636
637         * bindings/js/JSDOMBinding.h:
638         * bindings/js/ScheduledAction.h:
639         * bindings/js/ScriptCachedFrameData.h:
640
641 2009-12-17  Adam Roben  <aroben@apple.com>
642
643         Chromium build fix
644
645         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
646         (which itself #includes HashFunctions.h).
647
648 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
649
650         Reviewed by Timothy Hatcher.
651
652         Web Inspector: Incorrect Doctype.
653
654         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
655         https://bugs.webkit.org/show_bug.cgi?id=32671
656
657         * inspector/InspectorDOMAgent.cpp:
658         (WebCore::InspectorDOMAgent::buildObjectForNode):
659         * inspector/front-end/DOMAgent.js:
660         (WebInspector.DOMNode):
661
662 2009-12-17  Benjamin Otte  <otte@gnome.org>
663
664         Reviewed by Adam Roben.
665
666         Don't include all JSC headers everywhere
667         https://bugs.webkit.org/show_bug.cgi?id=32663
668
669         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
670         Reduces code size of Gtk build by another 5%.
671
672         * platform/text/PlatformString.h:
673
674 2009-12-17  Adam Roben  <aroben@apple.com>
675
676         Mac/Qt build fixes
677
678         * platform/graphics/mac/Canvas3DLayer.mm:
679         * platform/graphics/mac/GraphicsContext3DMac.cpp:
680         * platform/qt/Localizations.cpp:
681         Added missing #includes.
682
683 2009-12-17  Benjamin Otte  <otte@gnome.org>
684
685         Reviewed by Adam Roben.
686
687         Don't include all JSC headers everywhere
688         https://bugs.webkit.org/show_bug.cgi?id=32663
689
690         PlatformString.h included almost all of JSC via runtime/Identifier.h.
691         This patch gets rid of this include by forward-declaring the required
692         classes instead.
693         This reduces the build size of the object files on a Gtk debug build
694         by 10%. The resulting libwebkit.so gets 5% smaller.
695
696         No new tests as it's just a build improvement.
697
698         * platform/gtk/LocalizedStringsGtk.cpp:
699         include math.h here (it used to be pulled by JSC)
700         * platform/text/PlatformString.h:
701         * platform/text/String.cpp:
702
703 2009-12-17  Evan Martin  <evan@chromium.org>
704
705         Reviewed by Xan Lopez.
706
707         Always use all WebCore include paths in GtkWebKit.
708
709         With this patch, I can disable all optional features and still build.
710
711         * GNUmakefile.am:
712
713 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
714
715         Reviewed by Darin Fisher.
716
717         Added WebPageSerializer to WebKit API.
718
719         https://bugs.webkit.org/show_bug.cgi?id=31737
720
721         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
722         (WebCore::StringBuilder::clear):
723         (WebCore::StringBuilder::length):
724         * platform/text/StringBuilder.h:
725
726 2009-12-10  Philippe Normand  <pnormand@igalia.com>
727
728         Reviewed by Xan Lopez.
729
730         [GTK] Add controls for playing html5 video.
731         https://bugs.webkit.org/show_bug.cgi?id=26304
732
733         Media controls UI, first step. This patch was written by Zan
734         Dobersek. In addition I fixed the compilation errors and
735         re-enabled some of the media tests involving the controls UI.
736
737         * GNUmakefile.am:
738         * css/mediaControlsGtk.css: Added.
739         * platform/graphics/Image.h:
740         * platform/graphics/gtk/ImageGtk.cpp:
741         (WebCore::getThemeIconFileName):
742         (WebCore::loadResourceSharedBuffer):
743         (WebCore::loadImageFromFile):
744         (WebCore::Image::loadPlatformResource):
745         (WebCore::Image::loadPlatformThemeIcon):
746         * platform/gtk/RenderThemeGtk.cpp:
747         (WebCore::getMediaElementFromRenderObject):
748         (WebCore::getIconNameForTextDirection):
749         (WebCore::RenderThemeGtk::initMediaStyling):
750         (WebCore::RenderThemeGtk::RenderThemeGtk):
751         (WebCore::RenderThemeGtk::~RenderThemeGtk):
752         (WebCore::supportsFocus):
753         (WebCore::RenderThemeGtk::baselinePosition):
754         (WebCore::paintMozWidget):
755         (WebCore::setToggleSize):
756         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
757         (WebCore::RenderThemeGtk::gtkContainer):
758         (WebCore::RenderThemeGtk::platformColorsDidChange):
759         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
760         (WebCore::paintMediaButton):
761         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
762         (WebCore::RenderThemeGtk::paintMediaMuteButton):
763         (WebCore::RenderThemeGtk::paintMediaPlayButton):
764         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
765         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
766         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
767         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
768         * platform/gtk/RenderThemeGtk.h:
769
770 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
771
772         Reviewed by Kenneth Rohde Christiansen.
773
774         [Qt] support navigator.onLine and ononline/onoffline events.
775         https://bugs.webkit.org/show_bug.cgi?id=32555
776
777         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
778         only if QtMobility's Bearer Management is installed.
779
780         * WebCore.pro:
781         * platform/network/NetworkStateNotifier.h:
782         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
783         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
784         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
785         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
786         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
787         (WebCore::NetworkStateNotifier::updateState):
788         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
789
790 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
791
792         Reviewed by Timothy Hatcher.
793
794         Web Inspector: Switch to 11px as default for source-code in WebKit.
795
796         https://bugs.webkit.org/show_bug.cgi?id=32646
797
798         * inspector/front-end/inspector.css:
799
800 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
801
802         Reviewed by Tor Arne Vestbø.
803
804         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
805         make sure we pick up the header file from QtCore. That is where the implementation
806         is compiled.
807
808         * dom/XMLTokenizer.h:
809
810 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
811
812         Reviewed by Gustavo Noronha Silva.
813
814         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
815         https://bugs.webkit.org/show_bug.cgi?id=21599
816
817         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
818         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
819
820         No new tests as functionality has not changed.
821
822         * GNUmakefile.am:
823         * platform/PopupMenu.h:
824         * platform/gtk/GRefPtrGtk.cpp: Added.
825         (WTF::refGPtr):
826         (WTF::derefGPtr):
827         * platform/gtk/GRefPtrGtk.h: Added.
828         * platform/gtk/PopupMenuGtk.cpp:
829         (WebCore::PopupMenu::PopupMenu):
830         (WebCore::PopupMenu::~PopupMenu):
831         (WebCore::PopupMenu::show):
832         (WebCore::PopupMenu::hide):
833         (WebCore::PopupMenu::menuRemoveItem):
834
835 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
836
837         Reviewed by Pavel Feldman.
838
839         Advice links to source code in CPU profiler to open in debugger,
840         not in resources tab.
841
842         Also work around the case when resources are disabled, but scripts are present.
843
844         https://bugs.webkit.org/show_bug.cgi?id=32610
845
846         * inspector/front-end/Panel.js:
847         (WebInspector.Panel.prototype.updateMainViewWidth):
848         (WebInspector.Panel.prototype.canShowSourceLineForURL):
849         (WebInspector.Panel.prototype.showSourceLineForURL):
850         * inspector/front-end/ProfileDataGridTree.js:
851         (WebInspector.ProfileDataGridNode.prototype.createCell):
852         * inspector/front-end/ResourcesPanel.js:
853         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
854         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
855         * inspector/front-end/ScriptsPanel.js:
856         (WebInspector.ScriptsPanel.prototype.scriptForURL):
857         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
858         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
859         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
860         * inspector/front-end/inspector.js:
861         (WebInspector.documentClick.followLink):
862         (WebInspector.documentClick):
863         (WebInspector._choosePanelToShowSourceLineForURL):
864         (WebInspector.canShowSourceLineForURL):
865         (WebInspector.showSourceLineForURL):
866
867 2009-12-15  Philippe Normand  <pnormand@igalia.com>
868
869         Reviewed by Xan Lopez.
870
871         [GTK] display FPS stats for video element
872         https://bugs.webkit.org/show_bug.cgi?id=32560
873
874         Display FPS statistics if WEBKIT_DEBUG environment variable
875         contains the Media log category. This feature requires a very
876         recent (>= 0.10.18) version of gst-plugins-bad.
877
878         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
879         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
880         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
881         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
882         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
883
884 2009-11-11  Philippe Normand  <pnormand@igalia.com>
885
886         Reviewed by Gustavo Noronha Silva.
887
888         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
889         https://bugs.webkit.org/show_bug.cgi?id=30377
890
891         Emit volumeChanged and durationChanged upon notification from
892         GStreamer.
893
894         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
895         (WebCore::mediaPlayerPrivateMessageCallback):
896         (WebCore::mediaPlayerPrivateVolumeCallback):
897         (WebCore::notify_volume_idle_cb):
898         (WebCore::MediaPlayerPrivate::didEnd):
899         (WebCore::MediaPlayerPrivate::durationChanged):
900         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
901         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
902
903 2009-12-16  Philippe Normand  <pnormand@igalia.com>
904
905         Reviewed by Gustavo Noronha Silva.
906
907         [GTK] segfault during volume notification
908         https://bugs.webkit.org/show_bug.cgi?id=32603
909
910         Emit volumeChanged and durationChanged upon notification from
911         GStreamer. Also don't reset the volume property on playbin, it is
912         not needed as it is 1.0 by default both on playbin and in the
913         MediaPlayer.
914
915         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
916         (WebCore::mediaPlayerPrivateMessageCallback):
917         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
918         (WebCore::notifyVolumeIdleCallback):
919         (WebCore::doGstInit):
920         (WebCore::MediaPlayerPrivate::isAvailable):
921         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
922         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
923         (WebCore::MediaPlayerPrivate::volumeChanged):
924         (WebCore::MediaPlayerPrivate::didEnd):
925         (WebCore::MediaPlayerPrivate::durationChanged):
926         (WebCore::mimeTypeCache):
927         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
928         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
929
930 2009-12-17  Evan Martin  <evan@chromium.org>
931
932         Reviewed by Xan Lopez.
933
934         gtk: always use standard include paths, regardless of settings.
935         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
936         so they're always safe to include whether the features are enabled or
937         not.
938
939         This fixes building with --disable-database and other flags.
940
941         * GNUmakefile.am:
942
943 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
944
945         Unreviewed. Build fixes for make distcheck.
946
947         * GNUmakefile.am:
948
949 2009-12-17  Philippe Normand  <pnormand@igalia.com>
950
951         Rubber-stamped by Gustavo Noronha Silva.
952
953         Trivial WebKit coding style fix.
954
955         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
956         (WebCore::MediaPlayerPrivate::paint):
957
958 2009-12-15 MORITA Hajime <morrita@gmail.com>
959
960         Reviewed by Eric Seidel.
961
962         Bug 28306: double-clicking a word inside <b> beside newline select two words
963         https://bugs.webkit.org/show_bug.cgi?id=28306
964         
965         SimplifiedBackwardsTextIterator missed trailing whitespaces just
966         before folding line-break, which is used to detect word
967         boundaries. This fix checks strings on RenderText and expand text
968         range on SimplifiedBackwardsTextIterator to include trailing
969         whitespaces if availble.
970
971         Test: editing/selection/doubleclick-beside-cr-span.html
972
973         * editing/TextIterator.cpp:
974         (WebCore::collapsedSpaceLength):
975         (WebCore::maxOffsetIncludingCollapsedSpaces):
976         (WebCore::SimplifiedBackwardsTextIterator::advance):
977
978 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
979
980         Reviewed by Alexey Proskuryakov.
981
982         Fix flakiness in WebSocket handshake console message.
983         https://bugs.webkit.org/show_bug.cgi?id=32598
984
985         In chromium, LayoutTests/websocket/tests/handshake-error.html is
986         flaky, because it outputs the following console message several times:
987           CONSOLE MESSAGE: line 0: Unexpected response code:101
988         Update m_mode in WebSocketHandshake correctly: Once it finds
989         error in handshake message, set m_mode to Failed and don't try
990         reading handshake message again.  If handshake message is not yet
991         fully received, set m_mode to Incomplete, so next didReceiveData()
992         will try to check handshake message again.
993
994         * websockets/WebSocketChannel.cpp:
995         (WebCore::WebSocketChannel::didReceiveData):
996         * websockets/WebSocketHandshake.cpp:
997         (WebCore::WebSocketHandshake::readServerHandshake):
998
999 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
1000
1001         MSAA: Accessibility role of text nodes is wrong
1002
1003         https://bugs.webkit.org/show_bug.cgi?id=32631
1004         <rdar://problem/7369084>
1005
1006         Reviewed by Alice Liu.
1007
1008         Test: platform/win/accessibility/text-role.html
1009
1010         * accessibility/AccessibilityObject.h:
1011         (WebCore::):
1012         Add a new role to the enum.
1013         (WebCore::AccessibilityObject::roleValueForMSAA):
1014         Declare a function to return the accessibility role for MSAA; the base
1015         implementation returns the old role value.
1016
1017         * accessibility/AccessibilityRenderObject.cpp:
1018         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1019         Initialize m_roleForMSAA.
1020         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
1021         If m_roleForMSAA has been set, return it. If the renderer is a
1022         RenderText, set the role to EditableTextRole to match IE and Firefox.
1023         Otherwise, set the role for MSAA to the old role value.
1024
1025         * accessibility/AccessibilityRenderObject.h:
1026         Add a member to hold the role for MSAA, and declare an override of
1027         roleValueForMSAA().
1028
1029 2009-12-16  Eric Seidel  <eric@webkit.org>
1030
1031         No review, rolling out r52206.
1032         http://trac.webkit.org/changeset/52206
1033         https://bugs.webkit.org/show_bug.cgi?id=31187
1034
1035         This broke pixel tests on Mac.  Presumably the code in
1036         ImageCG is wrong here.
1037
1038         * platform/graphics/BitmapImage.h:
1039         * platform/graphics/GeneratedImage.cpp:
1040         (WebCore::GeneratedImage::drawPattern):
1041         * platform/graphics/GeneratedImage.h:
1042         * platform/graphics/Image.cpp:
1043         (WebCore::Image::drawTiled):
1044         * platform/graphics/Image.h:
1045         * platform/graphics/cairo/ImageCairo.cpp:
1046         (WebCore::Image::drawPattern):
1047         * platform/graphics/cg/ImageCG.cpp:
1048         (WebCore::Image::drawPattern):
1049         * platform/graphics/haiku/ImageHaiku.cpp:
1050         (WebCore::Image::drawPattern):
1051         * platform/graphics/qt/ImageQt.cpp:
1052         (WebCore::Image::drawPattern):
1053         * platform/graphics/skia/ImageSkia.cpp:
1054         (WebCore::Image::drawPattern):
1055         * platform/graphics/wince/GraphicsContextWince.cpp:
1056         (WebCore::GraphicsContext::drawBitmapPattern):
1057         * platform/graphics/wince/ImageBufferWince.cpp:
1058         (WebCore::):
1059         (WebCore::BufferedImage::drawPattern):
1060         * platform/graphics/wx/ImageWx.cpp:
1061         (WebCore::BitmapImage::drawPattern):
1062         (WebCore::Image::drawPattern):
1063
1064 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1065
1066         Reviewed by David Levin.
1067
1068         https://bugs.webkit.org/show_bug.cgi?id=32637
1069         [V8] Generate most named property getters.
1070
1071         Covered by existing tests.
1072
1073         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
1074         * bindings/v8/V8DOMWrapper.cpp:
1075         (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
1076
1077 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1078
1079         Reviewed by Kenneth Rohde Christiansen.
1080
1081         [Qt] Implement combobox delegate for Qt
1082         https://bugs.webkit.org/show_bug.cgi?id=32550
1083
1084         Abstract popup menu factory.
1085
1086         A static method from QtAbstractPopupMenu is used to create its instances. If a factory
1087         has been suplied to class QtAbstractPopupMenu the factory will be used to create the
1088         objects. If not an instance of QtFallbackPopupMenu will be created.
1089
1090         The objective is to make it easy to replace the combobox popup at WebCore layer providing
1091         support to the combobox popup delegation API. Future patches will make it possible to
1092         replace the combobox popup at WebKit layer.
1093
1094         No behavior changes.
1095
1096         * platform/qt/PopupMenuQt.cpp:
1097         (WebCore::PopupMenu::PopupMenu):
1098         * platform/qt/QtAbstractWebPopup.cpp:
1099         (WebCore::QtAbstractWebPopup::setFactory):
1100         (WebCore::QtAbstractWebPopup::create):
1101         * platform/qt/QtAbstractWebPopup.h:
1102         * platform/qt/QtFallbackWebPopup.cpp:
1103
1104 2009-12-16  Mark Rowe  <mrowe@apple.com>
1105
1106         Build fix.  Disable debug variants of WebKit frameworks.
1107
1108         * WebCore.xcodeproj/project.pbxproj:
1109
1110 2009-12-16  Enrica Casucci  <enrica@apple.com>
1111
1112         Reviewed by Eric Seidel.
1113
1114         Right clicking in a table cell creates a selection that extends into the next cell.
1115         <rdar://problem/5565465>
1116         https://bugs.webkit.org/show_bug.cgi?id=32622
1117         
1118         Avoid extending the selection to the next cell if we start from an empty cell.
1119
1120         Test: editing/selection/empty-cell-right-click.html
1121
1122         * editing/TypingCommand.cpp:
1123         (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
1124         with a call to the new function.
1125         * editing/VisibleSelection.cpp:
1126         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
1127         selection only if we are not starting from an empty table cell.
1128         * editing/htmlediting.cpp:
1129         (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
1130         * editing/htmlediting.h: Added isEmptyTableCell declaration.
1131
1132 2009-12-16  Dirk Schulze  <krit@webkit.org>
1133
1134         Reviewed by Nikolas Zimmermann.
1135
1136         feMerge crahses if feMergeNodes attribute in is empty
1137         https://bugs.webkit.org/show_bug.cgi?id=32489
1138
1139         SVGFEMergeElement only stored pointers to all effects of it's nodes
1140         in a list. But it should store the RefPtr otherwise the effects get
1141         dereferenced and WebKit crashes.
1142         I also made a short clean-up in SVGFilterBuilder. No change in
1143         functionality.
1144
1145         Test: I updated svg/custom/empty-merge.svg to cover this problem.
1146
1147         * svg/SVGFEMergeElement.cpp:
1148         (WebCore::SVGFEMergeElement::build):
1149         * svg/graphics/filters/SVGFEMerge.cpp:
1150         (WebCore::FEMerge::FEMerge):
1151         (WebCore::FEMerge::create):
1152         (WebCore::FEMerge::mergeInputs):
1153         (WebCore::FEMerge::setMergeInputs):
1154         * svg/graphics/filters/SVGFEMerge.h:
1155         * svg/graphics/filters/SVGFilterBuilder.cpp:
1156         (WebCore::SVGFilterBuilder::add):
1157
1158 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
1159
1160         Reviewed by Timothy Hatcher.
1161
1162         Part of <http://webkit.org/b/32568>.
1163         Web Inspector: Context Menus should be used in more places.
1164         
1165         Add a context menu entry in the console to clear the console. This
1166         is only shown when there is no user selection of text, because if
1167         there is selection of the text, then we want to give the user the Copy +
1168         Spell Check context menu that they are used to.
1169
1170         * English.lproj/localizedStrings.js: Added "Clear Console".
1171         * inspector/front-end/ConsoleView.js:
1172         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1173
1174 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
1175
1176         Reviewed by Pavel Feldman.
1177
1178         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
1179         Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
1180         from / to resources panel.
1181
1182         Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
1183         to cover the scope bar.
1184
1185         * inspector/front-end/inspector.css:
1186
1187 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1188
1189         Reviewed by Adam Barth.
1190
1191         [V8] Switch all indexers to be generated.
1192         https://bugs.webkit.org/show_bug.cgi?id=32569
1193
1194         Covered by existing tests.
1195
1196         * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
1197             as they are now generated.
1198         * bindings/v8/V8DOMWrapper.cpp:
1199         (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
1200             FileList, and DataGridColumnList templates.
1201         * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
1202         * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
1203         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
1204         * bindings/v8/custom/V8FileListCustom.cpp: Removed.
1205
1206 2009-12-16  anton muhin  <antonm@chromium.org>
1207
1208         Reviewed by Darin Adler.
1209
1210         [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
1211         https://bugs.webkit.org/show_bug.cgi?id=32617
1212
1213         * dom/Node.cpp:
1214         (WebCore::Node::dumpStatistics):
1215
1216 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1217
1218         Reviewed by Darin Fisher.
1219
1220         [V8] There is no such thing as HTMLSelectElementCollection.
1221         https://bugs.webkit.org/show_bug.cgi?id=32616
1222
1223         Refactoring, covered by existing tests.
1224
1225         * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
1226         * bindings/v8/V8Collection.h: Removed one-off template.
1227         * bindings/v8/V8DOMWrapper.cpp:
1228         (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
1229             to HTMLSelectElement.
1230         * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
1231         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
1232         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
1233             V8HTMLSelectElementCollectionCustom.cpp
1234
1235 2009-12-16  Dan Winship  <danw@gnome.org>
1236
1237         Reviewed by Gustavo Noronha Silva.
1238
1239         [Gtk] Content-Encoding support
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=25855
1242
1243         * platform/network/soup/ResourceHandleSoup.cpp:
1244         (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
1245         more
1246
1247 2009-12-16  Benjamin Otte  <otte@gnome.org>
1248
1249         Reviewed by Darin Adler.
1250
1251         Get rid of the phase argument to Image::drawPattern.
1252         https://bugs.webkit.org/show_bug.cgi?id=31187
1253
1254         The argument can be expressed equally well as part of the
1255         patternTransform. All backends but the Qt one did exactly that
1256         manually anyway.
1257
1258         * platform/graphics/BitmapImage.h:
1259         * platform/graphics/GeneratedImage.cpp:
1260         (WebCore::GeneratedImage::drawPattern):
1261         * platform/graphics/GeneratedImage.h:
1262         * platform/graphics/Image.cpp:
1263         (WebCore::Image::drawTiled):
1264         * platform/graphics/Image.h:
1265         * platform/graphics/cairo/ImageCairo.cpp:
1266         (WebCore::Image::drawPattern):
1267         * platform/graphics/cg/ImageCG.cpp:
1268         (WebCore::Image::drawPattern):
1269         * platform/graphics/haiku/ImageHaiku.cpp:
1270         (WebCore::Image::drawPattern):
1271         * platform/graphics/qt/ImageQt.cpp:
1272         (WebCore::Image::drawPattern):
1273         * platform/graphics/skia/ImageSkia.cpp:
1274         (WebCore::Image::drawPattern):
1275         * platform/graphics/wince/GraphicsContextWince.cpp:
1276         (WebCore::GraphicsContext::drawBitmapPattern):
1277         * platform/graphics/wince/ImageBufferWince.cpp:
1278         (WebCore::):
1279         (WebCore::BufferedImage::drawPattern):
1280         * platform/graphics/wx/ImageWx.cpp:
1281         (WebCore::BitmapImage::drawPattern):
1282         (WebCore::Image::drawPattern):
1283
1284 2009-12-16  Kenneth Russell  <kbr@google.com>
1285
1286         Reviewed by Darin Fisher.
1287
1288         Performance problems with index validation code for drawElements
1289         https://bugs.webkit.org/show_bug.cgi?id=32466
1290
1291         Added a cache of the maximum index for each element type to
1292         WebGLBuffer, querying it before iterating through the indices in
1293         the client-side copy of the buffer's data. Hoisted checks of the
1294         size of the element array itself into validateElementArraySize to
1295         avoid duplicating code.
1296
1297         The performance improvement has been measured with manual tests.
1298         Existing layout tests cover the index validation functionality
1299         and continue to pass as before.
1300
1301         * html/canvas/WebGLBuffer.cpp:
1302         (WebCore::WebGLBuffer::WebGLBuffer):
1303         (WebCore::WebGLBuffer::associateBufferData):
1304         (WebCore::WebGLBuffer::associateBufferSubData):
1305         (WebCore::WebGLBuffer::getCachedMaxIndex):
1306         (WebCore::WebGLBuffer::setCachedMaxIndex):
1307         (WebCore::WebGLBuffer::clearCachedMaxIndices):
1308         * html/canvas/WebGLBuffer.h:
1309         * html/canvas/WebGLRenderingContext.cpp:
1310         (WebCore::WebGLRenderingContext::validateElementArraySize):
1311         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
1312         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1313         (WebCore::WebGLRenderingContext::validateRenderingState):
1314         (WebCore::WebGLRenderingContext::drawElements):
1315         * html/canvas/WebGLRenderingContext.h:
1316
1317 2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
1318
1319         Reviewed by Darin Adler.
1320
1321         https://bugs.webkit.org/show_bug.cgi?id=32261
1322         Added ability to separate the autocomplete suggestion previewing from
1323         the actual accepting of the suggested value in HTMLInputElement.
1324         This element (it's single line text incarnation) can now
1325         be put in suggestion mode where renderer might display the suggested
1326         value without making it automatically exposed to JavaScript.
1327
1328         No new tests. This new methods are not exposed yet. It's use will be
1329         platform specific. PopupMenu and Chromium specific changes will be
1330         separated based on Darin Adler's comments.
1331
1332         * dom/InputElement.h:
1333         (WebCore::InputElementData::suggestedValue):
1334         (WebCore::InputElementData::setSuggestedValue):
1335         * html/HTMLInputElement.cpp:
1336         (WebCore::HTMLInputElement::suggestedValue):
1337         (WebCore::HTMLInputElement::setSuggestedValue):
1338         (WebCore::HTMLInputElement::setValue):
1339         (WebCore::HTMLInputElement::setValueFromRenderer):
1340         * html/HTMLInputElement.h:
1341         * rendering/RenderTextControlSingleLine.cpp:
1342         (WebCore::RenderTextControlSingleLine::updateFromElement):
1343         * wml/WMLInputElement.cpp:
1344         (WebCore::WMLInputElement::suggestedValue):
1345         * wml/WMLInputElement.h:
1346
1347 2009-12-16  Pavel Feldman  <pfeldman@chromium.org>
1348
1349         Reviewed by Timothy Hatcher.
1350
1351         Web Inspector: Make Elements tree, properties section and resources
1352         view monospace.
1353
1354         https://bugs.webkit.org/show_bug.cgi?id=32609
1355
1356         * inspector/front-end/ElementsPanel.js:
1357         * inspector/front-end/PropertiesSection.js:
1358         (WebInspector.PropertiesSection):
1359         * inspector/front-end/ResourceView.js:
1360         (WebInspector.ResourceView):
1361         * inspector/front-end/inspector.css:
1362
1363 2009-12-16  Dirk Schulze  <krit@webkit.org>
1364
1365         Reviewed by Darin Adler.
1366
1367         sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
1368         https://bugs.webkit.org/show_bug.cgi?id=32575
1369
1370         On SVG Filters, the rest of the source graphic gets clipped to the filter
1371         rest. This helps us to minimize the size of intermediate ImageBuffers. If
1372         the position moves to the right or to the bottom, we have to adjust the
1373         GraphicContext of this intermediate ImageBuffer.
1374         This patch fixes the adjustment of the context, according to the clipping.
1375
1376         Test: svg/filters/filter-source-position.svg
1377
1378         * svg/graphics/SVGResourceFilter.cpp:
1379         (WebCore::SVGResourceFilter::prepareFilter):
1380
1381 2009-12-16  Enrica Casucci  <enrica@apple.com>
1382
1383         Reviewed by Adele Peterson.
1384
1385         CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
1386         <rdar://problem/7467108>
1387         https://bugs.webkit.org/show_bug.cgi?id=32590
1388
1389         If the element is a button there is no need to look at the children to calculate the caret position.
1390         
1391         Test: editing/selection/button-right-click.html
1392
1393         * dom/Position.cpp:
1394         (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
1395         when starting from a button element.
1396
1397 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1398
1399         Reviewed by Kenneth Rohde Christiansen.
1400
1401         [Qt] Implement combobox delegate for Qt
1402         https://bugs.webkit.org/show_bug.cgi?id=32550
1403
1404         Refactoring of class QWebPopup.
1405
1406         Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
1407         Both new classes are now in corresponding files and files QWebPopup.* have been removed.
1408
1409         Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
1410         in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
1411         public QtWebKit combobox popup delegation API.
1412
1413         Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
1414         It needs to be improved to provide standard features that are missing like style or indentation.
1415
1416         No behavior changes.
1417
1418         * WebCore.pro:
1419         * platform/PopupMenu.h:
1420         * platform/qt/PopupMenuQt.cpp:
1421         (WebCore::PopupMenu::PopupMenu):
1422         * platform/qt/QWebPopup.cpp: Removed.
1423         * platform/qt/QWebPopup.h: Removed.
1424         * platform/qt/QtAbstractWebPopup.cpp: Added.
1425         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
1426         (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
1427         (WebCore::QtAbstractWebPopup::client):
1428         * platform/qt/QtAbstractWebPopup.h: Added.
1429         * platform/qt/QtFallbackWebPopup.cpp: Added.
1430         (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
1431         (WebCore::QtFallbackWebPopup::show):
1432         (WebCore::QtFallbackWebPopup::populate):
1433         (WebCore::QtFallbackWebPopup::showPopup):
1434         (WebCore::QtFallbackWebPopup::hidePopup):
1435         (WebCore::QtFallbackWebPopup::activeChanged):
1436         * platform/qt/QtFallbackWebPopup.h: Added.
1437         (WebCore::QtFallbackWebPopup::hide):
1438
1439 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1440
1441         Reviewed by Timothy Hatcher.
1442
1443         Web Inspector: beautify HTTP info section.
1444
1445         https://bugs.webkit.org/show_bug.cgi?id=32583
1446
1447         * English.lproj/localizedStrings.js:
1448         * inspector/front-end/ResourceView.js:
1449         (WebInspector.ResourceView):
1450         (WebInspector.ResourceView.prototype._refreshURL):
1451         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
1452         * inspector/front-end/inspector.css:
1453
1454 2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
1455
1456         Reviewed by Adam Barth.
1457
1458         Fix crash when encountering illegal HTML within a continuation inside <ruby>.
1459         (https://bugs.webkit.org/show_bug.cgi?id=32316)
1460
1461         Avoid having the anonymous blocks utilized in the ruby renderers being
1462         re-used as continuation blocks.
1463         Avoid having ruby runs collected as "leftover blocks".
1464
1465         Test: fast/ruby/ruby-illegal.html
1466
1467         * rendering/RenderRuby.h:
1468         (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
1469         (WebCore::RenderRubyAsInline::isRuby): made private
1470         (WebCore::RenderRubyAsInline::renderName): made private
1471         (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
1472         (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
1473         (WebCore::RenderRubyAsBlock::isRuby): made private
1474         (WebCore::RenderRubyAsBlock::renderName): made private
1475         (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
1476         * rendering/RenderRubyRun.h:
1477         (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
1478         (WebCore::RenderRubyRun::isRubyRun): made private
1479         (WebCore::RenderRubyRun::renderName): made private
1480         (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
1481
1482 2009-12-15  Nate Chapin  <japhet@chromium.org>
1483
1484         Reviewed by Darin Adler.
1485
1486         Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
1487
1488         https://bugs.webkit.org/show_bug.cgi?id=32529
1489
1490         * loader/Cache.cpp:
1491         (WebCore::Cache::requestUserCSSStyleSheet):
1492         * loader/CachedImage.cpp:
1493         (WebCore::CachedImage::load):
1494         * loader/CachedResource.cpp:
1495         (WebCore::CachedResource::load):
1496         * loader/CachedResource.h:
1497         (WebCore::CachedResource::load):
1498         * loader/DocumentThreadableLoader.cpp:
1499         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1500         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1501         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1502         (WebCore::DocumentThreadableLoader::preflightSuccess):
1503         (WebCore::DocumentThreadableLoader::loadRequest):
1504         * loader/DocumentThreadableLoader.h:
1505         * loader/FrameLoaderTypes.h:
1506         (WebCore::):
1507         * loader/Request.cpp:
1508         (WebCore::Request::Request):
1509         * loader/Request.h:
1510         (WebCore::Request::shouldDoSecurityCheck):
1511         * loader/SubresourceLoader.cpp:
1512         (WebCore::SubresourceLoader::create):
1513         * loader/SubresourceLoader.h:
1514         * loader/loader.cpp:
1515         (WebCore::Loader::load):
1516         (WebCore::Loader::Host::servePendingRequests):
1517         * loader/loader.h:
1518
1519 2009-12-15  Dan Bernstein  <mitz@apple.com>
1520
1521         Reviewed by Darin Adler.
1522
1523         <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
1524         https://bugs.webkit.org/show_bug.cgi?id=32257
1525
1526         Test: fast/css/font-face-unused-source-loaded.html
1527
1528         The loading of a font resource caused a CSSFontFace that had the resource in one of its
1529         sources, but wasn’t using it (due to using an earlier source) to invalidate its
1530         CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
1531         finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
1532         corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
1533         ignore loads from unused sources.
1534
1535         * css/CSSFontFace.cpp:
1536         (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
1537         (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
1538             FontData.
1539         * css/CSSFontFace.h:
1540         (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
1541
1542 2009-12-15  Yael Aharon  <yael.aharon@nokia.com>
1543
1544         Reviewed by Kenneth Rohde Christiansen.
1545
1546         [Qt] Cannot load flash files from a local file.
1547         https://bugs.webkit.org/show_bug.cgi?id=32572
1548
1549         When loading the main resource and its mime type is application/octet-stream,
1550         use the file extenstion to check if it is a supported plugin.
1551
1552         No new tests were added since any existing swf file can be used as a manual test.
1553
1554         * loader/MainResourceLoader.cpp:
1555         (WebCore::MainResourceLoader::didReceiveResponse):
1556         * loader/MainResourceLoader.h:
1557         * plugins/PluginDatabase.h:
1558
1559 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1560
1561         Reviewed by Timothy Hatcher.
1562
1563         Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
1564         REGRESSION: Tips are not shown for resources anymore.
1565         
1566         As discussed in the bug, Tips are not coming back, and the feature
1567         will be moved to the audits panel. This patch is to remove the Tips
1568         code and the resources that it needed.
1569
1570         * WebCore.gypi: Removed tips files.
1571         * inspector/front-end/Images/tipBalloon.png: Removed.
1572         * inspector/front-end/Images/tipBalloonBottom.png: Removed.
1573         * inspector/front-end/Images/tipIcon.png: Removed.
1574         * inspector/front-end/Images/tipIconPressed.png: Removed.
1575         * inspector/front-end/Resource.js: Removed tips code.
1576         (WebInspector.Resource.prototype.set finished): 
1577         * inspector/front-end/WebKit.qrc: Removed tips files.
1578         * inspector/front-end/inspector.css: Removes tips style rules.
1579         
1580 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1581
1582         Reviewed by Timothy Hatcher.
1583
1584         Web Inspector: Display request headers for main resource
1585         having redirects.
1586
1587         https://bugs.webkit.org/show_bug.cgi?id=32577
1588
1589         * inspector/InspectorController.cpp:
1590         (WebCore::InspectorController::identifierForInitialRequest):
1591         (WebCore::InspectorController::willSendRequest):
1592         * inspector/InspectorResource.cpp:
1593         (WebCore::InspectorResource::InspectorResource):
1594         (WebCore::InspectorResource::appendRedirect):
1595         (WebCore::InspectorResource::createCached):
1596         (WebCore::InspectorResource::updateRequest):
1597         * inspector/InspectorResource.h:
1598         (WebCore::InspectorResource::create):
1599
1600 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1601
1602         Reviewed by Timothy Hatcher.
1603
1604         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
1605         Web Inspector: No Need for ?="" now that we have context menus.
1606         
1607         Remove the toggleNewAttributeButton function and callers to it, as
1608         we don't need this behavior anymore, now that we have context menus.
1609
1610         * inspector/front-end/ElementsTreeOutline.js:
1611         (WebInspector.ElementsTreeElement.prototype.set hovered):
1612         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
1613         (WebInspector.ElementsTreeElement.prototype._startEditing):
1614
1615 2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
1616
1617         Reviewed by Eric Seidel.
1618
1619         [V8] Generate trivial named property getters.
1620         https://bugs.webkit.org/show_bug.cgi?id=32562
1621
1622         Covered by existing tests.
1623
1624         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
1625         * bindings/v8/V8Collection.h:
1626         (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
1627         * bindings/v8/V8DOMWrapper.cpp:
1628         (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
1629
1630 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1631
1632         Reviewed by Timothy Hatcher.
1633
1634         Part of <http://webkit.org/b/32568>.
1635         New Web Inspector: The Context Menu should be used in more places.
1636         
1637         Add support for context menu entries for editing and deleting elements
1638         in the datagrid. This gives support to deleting cookies, and editing and
1639         deleting session storage and local storage.
1640
1641         * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
1642         * inspector/front-end/DataGrid.js:
1643         (WebInspector.DataGrid): Added context menu listener.
1644         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
1645
1646 2009-12-15  Kenneth Russell  <kbr@google.com>
1647
1648         Reviewed by Darin Fisher.
1649
1650         Don't allow default framebuffer to be mutated
1651         https://bugs.webkit.org/show_bug.cgi?id=32391
1652
1653         * html/canvas/WebGLRenderingContext.cpp:
1654         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1655         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1656         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1657         (WebCore::GraphicsContext3D::bindFramebuffer):
1658
1659 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1660
1661         Reviewed by Darin Adler.
1662
1663         Allow custom memory allocation control for FontPlatformDataCacheKey class
1664         https://bugs.webkit.org/show_bug.cgi?id=32552
1665
1666         Inherits the following struct from FastAllocBase because it is instantiated by 'new':
1667
1668         struct name                     - instantiated at: WebCore/'location'
1669         struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
1670
1671         * platform/graphics/FontCache.cpp:
1672
1673 2009-12-15  Jian Li  <jianli@chromium.org>
1674
1675         Reviewed by Dmitry Titov.
1676
1677         Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
1678         https://bugs.webkit.org/show_bug.cgi?id=31090
1679
1680         The proposal to whatwg can be found here:
1681         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
1682
1683         * platform/chromium/ChromiumDataObject.cpp:
1684         (WebCore::ChromiumDataObject::clear):
1685         (WebCore::ChromiumDataObject::hasData):
1686         (WebCore::ChromiumDataObject::ChromiumDataObject):
1687         * platform/chromium/ChromiumDataObject.h:
1688         * platform/chromium/ClipboardChromium.cpp:
1689         (WebCore::):
1690         (WebCore::clipboardTypeFromMIMEType):
1691         (WebCore::ClipboardChromium::setData):
1692
1693 2009-12-15  Chris Fleizach  <cfleizach@apple.com>
1694
1695         Reviewed by Darin Adler.
1696
1697         WAI-ARIA: implement treegrid
1698         https://bugs.webkit.org/show_bug.cgi?id=31299
1699
1700         Test: platform/mac/accessibility/aria-treegrid.html
1701
1702         * accessibility/AXObjectCache.cpp:
1703         (WebCore::AXObjectCache::getOrCreate):
1704         * accessibility/AccessibilityARIAGrid.h:
1705         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
1706         * accessibility/AccessibilityARIAGridRow.cpp:
1707         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
1708         (WebCore::AccessibilityARIAGridRow::disclosedRows):
1709         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
1710         * accessibility/AccessibilityARIAGridRow.h:
1711         * accessibility/AccessibilityObject.cpp:
1712         (WebCore::createARIARoleMap):
1713         * accessibility/AccessibilityObject.h:
1714         (WebCore::):
1715         (WebCore::AccessibilityObject::isARIATreeGridRow):
1716         * accessibility/AccessibilityRenderObject.cpp:
1717         (WebCore::AccessibilityRenderObject::isMultiSelectable):
1718         (WebCore::AccessibilityRenderObject::setIsExpanded):
1719         (WebCore::AccessibilityRenderObject::setSelectedRows):
1720         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
1721         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1722         (WebCore::AccessibilityRenderObject::selectedChildren):
1723         * accessibility/AccessibilityRenderObject.h:
1724         * accessibility/AccessibilityTable.h:
1725         (WebCore::AccessibilityTable::supportsSelectedRows):
1726         * accessibility/mac/AccessibilityObjectWrapper.mm:
1727         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1728         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1729         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1730         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1731
1732 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1733
1734         Reviewed by Darin Adler.
1735
1736         Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
1737         https://bugs.webkit.org/show_bug.cgi?id=32557
1738
1739         Inherits the following classes from Noncopyable because these are instantiated
1740         by 'new' and no need to be copyable:
1741
1742         class name                 - instantiated at: WebCore/'location'
1743         class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
1744         class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
1745
1746         * loader/EmptyClients.h:
1747
1748 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1749
1750         Reviewed by Darin Adler.
1751
1752         Allow custom memory allocation control for WebCore/inspector directory's classes
1753         https://bugs.webkit.org/show_bug.cgi?id=32556
1754
1755         Inherits the following class from Noncopyable because these are instantiated
1756         by 'new' and no need to be copyable:
1757
1758         class name                   - instantiated at: WebCore/'location'
1759         class InspectorFrontend      - inspector/InspectorController.cpp:538
1760         class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
1761
1762         * inspector/InspectorFrontend.h:
1763         * inspector/InspectorTimelineAgent.h:
1764
1765 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1766
1767         Reviewed by Darin Adler.
1768
1769         Allow custom memory allocation control for WebCore/platform/network directory's classes
1770         https://bugs.webkit.org/show_bug.cgi?id=32553
1771
1772         Inherits the following class from Noncopyable because it is instantiated
1773         by 'new' and no need to be copyable:
1774
1775         class/struct name                      - instantiated at: WebCore/'location'
1776
1777         struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
1778
1779         Inherits the following classes from FastAllocBase because these are
1780         instantiated by 'new':
1781
1782         class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
1783         class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
1784
1785         * platform/network/ResourceRequestBase.h:
1786         * platform/network/ResourceResponseBase.h:
1787
1788 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1789
1790         Reviewed by Darin Adler.
1791
1792         Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
1793         https://bugs.webkit.org/show_bug.cgi?id=32549
1794
1795         Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
1796         classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
1797
1798         class/struct name              - instantiated at: WebCore/'location'
1799
1800         AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
1801         FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
1802
1803         * page/animation/AnimationBase.cpp:
1804         * page/animation/AnimationControllerPrivate.h:
1805
1806 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1807
1808         Reviewed by Timothy Hatcher.
1809
1810         Web Inspector: Do not lose HTTP redirect information, display it
1811         in the Resources Panel.
1812
1813         https://bugs.webkit.org/show_bug.cgi?id=32551
1814
1815         * inspector/InspectorController.cpp:
1816         (WebCore::InspectorController::populateScriptObjects):
1817         (WebCore::InspectorController::didCommitLoad):
1818         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1819         (WebCore::InspectorController::identifierForInitialRequest):
1820         (WebCore::InspectorController::willSendRequest):
1821         (WebCore::InspectorController::didReceiveResponse):
1822         (WebCore::InspectorController::didReceiveContentLength):
1823         (WebCore::InspectorController::didFinishLoading):
1824         (WebCore::InspectorController::didFailLoading):
1825         * inspector/InspectorFrontend.cpp:
1826         * inspector/InspectorFrontend.h:
1827         * inspector/InspectorResource.cpp:
1828         (WebCore::InspectorResource::InspectorResource):
1829         (WebCore::InspectorResource::appendRedirect):
1830         (WebCore::InspectorResource::updateScriptObject):
1831         (WebCore::InspectorResource::releaseScriptObject):
1832         (WebCore::InspectorResource::type):
1833         * inspector/InspectorResource.h:
1834         (WebCore::InspectorResource::):
1835         (WebCore::InspectorResource::Changes::setAll):
1836         * inspector/front-end/inspector.js:
1837         (WebInspector._addResource):
1838         (WebInspector.updateResource):
1839
1840 2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1841
1842         Reviewed by Simon Hausmann.
1843
1844         [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
1845         https://bugs.webkit.org/show_bug.cgi?id=32113
1846
1847         For Qt versions prior to 4.6.1 we will need to use QueuedConnection
1848         for the signal and slot connection to avoid running into a bug in.
1849
1850         Add a comment that we want to remove one signal to forward
1851         queued items when moving our minimum requirements.
1852
1853         * platform/network/qt/QNetworkReplyHandler.cpp:
1854         (WebCore::QNetworkReplyHandler::start):
1855
1856 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
1857
1858         Reviewed by Kenneth Rohde Christiansen.
1859
1860         [Qt] Add manual test for JavaScript prompt corner case
1861         https://bugs.webkit.org/show_bug.cgi?id=30914
1862
1863         The patch is based on the work done by Gupta Manish.
1864
1865         Verify behavior of the JavaScript prompt function. Currently
1866         Qt is not behaving like other WebKit ports and Firefox in
1867         regards to accepting the prompt but not entering a text.
1868
1869         * manual-tests/qt/java-script-prompt.html: Added.
1870
1871 2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
1872
1873         Reviewed by Kenneth Rohde Christiansen.
1874
1875         Moving list populate methods from PopupMenuQt to QWebPopup.
1876         
1877         In preparation to future implementation of a delegation API for the combobox.
1878
1879         * platform/PopupMenu.h:
1880         * platform/qt/PopupMenuQt.cpp:
1881         (WebCore::PopupMenu::show):
1882         (WebCore::PopupMenu::hide):
1883         * platform/qt/QWebPopup.cpp:
1884         (WebCore::QWebPopup::show):
1885         (WebCore::QWebPopup::populate):
1886         * platform/qt/QWebPopup.h:
1887         (WebCore::QWebPopup::hide):
1888
1889 2009-12-15  Alexander Pavlov  <apavlov@chromium.org>
1890
1891         Reviewed by Pavel Feldman.
1892
1893         Extract WebInspector.Section from WebInspector.PropertiesSection.
1894         https://bugs.webkit.org/show_bug.cgi?id=32523
1895
1896         * WebCore.gypi:
1897         * WebCore.vcproj/WebCore.vcproj:
1898         * inspector/front-end/PropertiesSection.js:
1899         (WebInspector.PropertiesSection):
1900         * inspector/front-end/Section.js: Added.
1901         (WebInspector.Section):
1902         (WebInspector.Section.prototype.get title):
1903         (WebInspector.Section.prototype.set title):
1904         (WebInspector.Section.prototype.get subtitle):
1905         (WebInspector.Section.prototype.set subtitle):
1906         (WebInspector.Section.prototype.get expanded):
1907         (WebInspector.Section.prototype.set expanded):
1908         (WebInspector.Section.prototype.get populated):
1909         (WebInspector.Section.prototype.set populated):
1910         (WebInspector.Section.prototype.expand):
1911         (WebInspector.Section.prototype.collapse):
1912         (WebInspector.Section.prototype.toggleExpanded):
1913         * inspector/front-end/WebKit.qrc:
1914         * inspector/front-end/inspector.html:
1915
1916 2009-12-15  Eric Seidel  <eric@webkit.org>
1917
1918         No review, rolling out r52140.
1919         http://trac.webkit.org/changeset/52140
1920         https://bugs.webkit.org/show_bug.cgi?id=31299
1921
1922         The commit broke the Leopard bots and unfortunately
1923         Chris wasn't around to fix them, so I'm rolling the change
1924         out after 3 hours so that the bots can roll green again. :)
1925
1926         * accessibility/AXObjectCache.cpp:
1927         (WebCore::AXObjectCache::getOrCreate):
1928         * accessibility/AccessibilityARIAGrid.h:
1929         * accessibility/AccessibilityARIAGridRow.cpp:
1930         * accessibility/AccessibilityARIAGridRow.h:
1931         * accessibility/AccessibilityObject.cpp:
1932         (WebCore::createARIARoleMap):
1933         * accessibility/AccessibilityObject.h:
1934         (WebCore::):
1935         * accessibility/AccessibilityRenderObject.cpp:
1936         (WebCore::AccessibilityRenderObject::isMultiSelect):
1937         (WebCore::AccessibilityRenderObject::setIsExpanded):
1938         (WebCore::AccessibilityRenderObject::setSelectedRows):
1939         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
1940         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1941         (WebCore::AccessibilityRenderObject::selectedChildren):
1942         * accessibility/AccessibilityRenderObject.h:
1943         * accessibility/AccessibilityTable.h:
1944         * accessibility/mac/AccessibilityObjectWrapper.mm:
1945         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1946         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1947         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1948         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1949
1950 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
1951
1952         Reviewed by Eric Seidel.
1953
1954         [Qt] Remove dead code from FontPlatformDataQt.cpp
1955         https://bugs.webkit.org/show_bug.cgi?id=32540
1956
1957         In r51758 the code that used familyNames was removed
1958         and we should remove the creation of the familyNames
1959         as well.
1960
1961         * platform/graphics/qt/FontPlatformDataQt.cpp:
1962         (WebCore::FontPlatformData::FontPlatformData):
1963
1964 2009-12-15  Dan Bernstein  <mitz@apple.com>
1965
1966         Reviewed by Adam Roben.
1967
1968         WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
1969         Graphics when available
1970
1971         When using a version of Core Graphics with LOGFONT support, this fixes
1972         <rdar://problem/5764844> First-time launch is painfully slow due to font
1973         plist creation
1974         and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
1975         readable in Safari than in Firefox/IE due to poorly-spaced letters
1976
1977         * platform/graphics/win/FontCGWin.cpp:
1978         (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
1979         text.
1980         * platform/graphics/win/FontCacheWin.cpp:
1981         (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
1982         to true, if italics are desired but the best match lacks italics,
1983         creates and returns a synthetic italics font.
1984         (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
1985         if needed.
1986         * platform/graphics/win/FontCustomPlatformData.cpp:
1987         (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
1988         assertion, and changed to create the CGFont from the LOGFONT.
1989         (WebCore::createFontCustomPlatformData): Changed cgFont to be a
1990         RetainPtr. Do not create a CGFont from the font data if it can be
1991         created from the LOGFONT in fontPlatformData().
1992         * platform/graphics/win/FontDatabase.cpp:
1993         (WebCore::populateFontDatabase): Avoid font database work if fonts are
1994         not going to be looked up by name.
1995         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1996         (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
1997         a LOGFONT based on the HFONT.
1998
1999 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2000
2001         Reviewed by Darin Adler.
2002
2003         WAI-ARIA: implement treegrid
2004         https://bugs.webkit.org/show_bug.cgi?id=31299
2005
2006         Test: platform/mac/accessibility/aria-treegrid.html
2007
2008         * accessibility/AXObjectCache.cpp:
2009         (WebCore::AXObjectCache::getOrCreate):
2010         * accessibility/AccessibilityARIAGrid.h:
2011         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
2012         * accessibility/AccessibilityARIAGridRow.cpp:
2013         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
2014         (WebCore::AccessibilityARIAGridRow::disclosedRows):
2015         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2016         * accessibility/AccessibilityARIAGridRow.h:
2017         * accessibility/AccessibilityObject.cpp:
2018         (WebCore::createARIARoleMap):
2019         * accessibility/AccessibilityObject.h:
2020         (WebCore::AccessibilityObject::isARIATreeGridRow):
2021         * accessibility/AccessibilityRenderObject.cpp:
2022         (WebCore::AccessibilityRenderObject::isMultiSelectable):
2023         (WebCore::AccessibilityRenderObject::setIsExpanded):
2024         (WebCore::AccessibilityRenderObject::setSelectedRows):
2025         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2026         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2027         (WebCore::AccessibilityRenderObject::selectedChildren):
2028         * accessibility/AccessibilityRenderObject.h:
2029         * accessibility/AccessibilityTable.h:
2030         (WebCore::AccessibilityTable::supportsSelectedRows):
2031         * accessibility/mac/AccessibilityObjectWrapper.mm:
2032         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2033         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2034         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2035         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2036
2037 2009-12-14  Dan Bernstein  <mitz@apple.com>
2038
2039         Reviewed by Darin Adler.
2040
2041         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
2042         https://bugs.webkit.org/show_bug.cgi?id=32382
2043
2044         Test: fast/block/float/in-margin.html
2045
2046         * rendering/RenderBlock.cpp:
2047         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
2048         they are in the margin) do not need to be cleared.
2049
2050 2009-12-14  Enrica Casucci  <enrica@apple.com>
2051
2052         Reviewed by John Sullivan.
2053
2054         Pressing backspace inside a table cell erases all empty rows below it.
2055         <rdar://problem/5565461>
2056         https://bugs.webkit.org/show_bug.cgi?id=32526
2057
2058         No deletion is performed when the caret selection is on an empty table cell.
2059         
2060         Test: editing/deleting/delete-empty-table.html
2061
2062         * editing/TypingCommand.cpp:
2063         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
2064         case of caret selection.
2065
2066 2009-12-14  Andrei Popescu  <andreip@google.com>
2067
2068         Reviewed by Darin Adler.
2069
2070         [Android] Android needs ResourceHandle implementation
2071         https://bugs.webkit.org/show_bug.cgi?id=32515
2072
2073         Adds implementation of ResourceHandle on Android.
2074
2075         No new tests needed, this is platform-specific code, so existing
2076         tests are sufficient.
2077
2078         * platform/network/android/ResourceHandleAndroid.cpp: Added.
2079         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2080         (WebCore::ResourceHandle::~ResourceHandle):
2081         (WebCore::ResourceHandle::start):
2082         (WebCore::ResourceHandle::cancel):
2083         (WebCore::ResourceHandle::bufferedData):
2084         (WebCore::ResourceHandle::supportsBufferedData):
2085         (WebCore::ResourceHandle::setDefersLoading):
2086         (WebCore::ResourceHandle::willLoadFromCache):
2087         (WebCore::ResourceHandle::loadsBlocked):
2088         (WebCore::SyncLoader::SyncLoader):
2089         (WebCore::SyncLoader::~SyncLoader):
2090         (WebCore::SyncLoader::didReceiveResponse):
2091         (WebCore::SyncLoader::didReceiveData):
2092         (WebCore::SyncLoader::didFail):
2093         (WebCore::ResourceHandle::loadResourceSynchronously):
2094         * platform/network/android/ResourceLoaderAndroid.h: Added.
2095         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
2096         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
2097
2098 2009-12-14  Marco Martin  <notmart@gmail.com>
2099
2100         Reviewed by Kenneth Rohde Christiansen.
2101
2102         In the Scrollbar painting of the Qt theme integration,
2103         intersects any previous clip rects with the one needed to paint the scrollbar.
2104         This fixes the painting in QGraphicsview, when the parent of the widget that 
2105         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
2106         a piece of the scrollbar should be cipped away
2107         https://bugs.webkit.org/show_bug.cgi?id=30366
2108
2109         No new tests.
2110
2111         * platform/qt/ScrollbarThemeQt.cpp:
2112         (WebCore::ScrollbarThemeQt::paint):
2113
2114 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2115
2116         Reviewed by Eric Seidel.
2117
2118         [V8] Generate bindings for trivial indexers.
2119         https://bugs.webkit.org/show_bug.cgi?id=32455
2120
2121         Covered by existing tests.
2122
2123         * bindings/scripts/CodeGeneratorV8.pm:
2124             Added detecting indexers and generating code for them.
2125         * bindings/v8/V8Collection.h: Removed code that's now generated.
2126         * bindings/v8/V8DOMWrapper.cpp:
2127         (WebCore::V8DOMWrapper::getTemplate): Ditto.
2128
2129 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
2130
2131         Reviewed by Dave Hyatt.
2132
2133         https://bugs.webkit.org/show_bug.cgi?id=31660
2134         REGRESSION (r49394): Image load event fires before the document fragment is attached.
2135
2136         Test: fast/images/image-load-event-in-fragment.html
2137
2138         We cannot fire load events immediately after parsing a fragment - an element inserted via
2139         innerHTML or equivalent should be reachable via getElementById() by the time its load event
2140         fires.
2141
2142         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
2143         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
2144         preserving existing behavior.
2145
2146         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
2147         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
2148         Load events for elements that have just been parsed cannot be dispatched yet, we should give
2149         the elements a chance to be inserted into a document first. There is no compatibility baggage
2150         for beforeload, so it seems OK to dispatch it right away.
2151
2152         * loader/ImageLoader.cpp:
2153         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
2154         (WebCore::ImageLoader::dispatchPendingLoadEvents):
2155         * loader/ImageLoader.h:
2156         Separated dispatchPendingEvents() into individual functions for each event kind.
2157
2158 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
2159
2160         Reviewed by Simon Fraser.
2161
2162         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
2163         https://bugs.webkit.org/show_bug.cgi?id=30442
2164
2165         This enables optimizations for distinguishing between
2166         arbitrary FloatQuads and rectilinear ones.
2167
2168         * platform/graphics/FloatQuad.cpp:
2169         (WebCore::FloatQuad::isRectilinear):
2170         * platform/graphics/FloatQuad.h:
2171
2172 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
2173
2174         Reviewed by Holger Freyther.
2175
2176         [Qt] Add support for keyboard modifiers to TouchEvent
2177
2178         https://bugs.webkit.org/show_bug.cgi?id=32482
2179
2180         Similar to other ui events with keyboard state, get the alt, shift,
2181         meta and ctrl modifiers straight from the platform event.
2182
2183         * dom/TouchEvent.cpp:
2184         (WebCore::TouchEvent::TouchEvent):
2185         (WebCore::TouchEvent::initTouchEvent):
2186         * dom/TouchEvent.h:
2187         (WebCore::TouchEvent::create):
2188         * dom/TouchEvent.idl:
2189         * page/EventHandler.cpp:
2190         (WebCore::EventHandler::handleTouchEvent):
2191         * platform/PlatformTouchEvent.h:
2192         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2193         (WebCore::PlatformTouchEvent::shiftKey):
2194         (WebCore::PlatformTouchEvent::ctrlKey):
2195         (WebCore::PlatformTouchEvent::altKey):
2196         (WebCore::PlatformTouchEvent::metaKey):
2197         * platform/qt/PlatformTouchEventQt.cpp:
2198         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2199
2200 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
2201
2202         Reviewed by Kenneth Rohde Christiansen.
2203
2204         [Qt] crash when clicking "Sign out" in GMail
2205         https://bugs.webkit.org/show_bug.cgi?id=32300
2206
2207         When the ResourceLoader cancels the handle we have to make sure not to access
2208         the resource handle afterwards again.
2209         This complete r29515
2210
2211         * platform/network/qt/QNetworkReplyHandler.cpp:
2212         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2213
2214 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
2215
2216         Reviewed by Pavel Feldman.
2217
2218         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
2219         https://bugs.webkit.org/show_bug.cgi?id=32517
2220
2221         * inspector/front-end/InjectedScript.js:
2222         (InjectedScript.evaluateOnSelf):
2223         * inspector/front-end/InjectedScriptAccess.js:
2224
2225 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
2226
2227         Reviewed by Darin Adler.
2228
2229         Fix for compilation errors in WML enabled builds.
2230
2231         https://bugs.webkit.org/show_bug.cgi?id=32481
2232
2233         * wml/WMLInputElement.cpp:
2234         (WebCore::WMLInputElement::setValue):
2235         (WebCore::WMLInputElement::setValueForUser):
2236         * wml/WMLInputElement.h:
2237
2238 2009-12-14  Andrei Popescu  <andreip@google.com>
2239
2240         Reviewed by Darin Adler.
2241
2242         [Android] Android needs ResourceError, ResourceResponse and
2243         ResourceRequest implementation.
2244         https://bugs.webkit.org/show_bug.cgi?id=32522
2245
2246         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
2247         No new tests needed, the existing tests should be sufficient.
2248
2249         * platform/network/android/ResourceError.h: Added.
2250         (WebCore::ResourceError::ResourceError):
2251         * platform/network/android/ResourceRequest.h: Added.
2252         (WebCore::ResourceRequest::ResourceRequest):
2253         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2254         (WebCore::ResourceRequest::doUpdateResourceRequest):
2255         (WebCore::ResourceRequest::setUserGesture):
2256         (WebCore::ResourceRequest::getUserGesture):
2257         * platform/network/android/ResourceResponse.h: Added.
2258         (WebCore::ResourceResponse::ResourceResponse):
2259         (WebCore::ResourceResponse::doUpdateResourceResponse):
2260
2261 2009-12-14  Sam Weinig  <sam@webkit.org>
2262
2263         Fix the build.
2264
2265         * page/Geolocation.cpp:
2266         * page/Geolocation.h:
2267
2268 2009-12-13  Sam Weinig  <sam@webkit.org>
2269
2270         Reviewed by Dan Bernstein.
2271
2272         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
2273         Add client based Geolocation provider
2274
2275         Add first cut of a client based Geolocation provider. This is guarded by
2276         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
2277         GeolocationControllerClient interface that no-one currently implements,
2278         but will in a subsequent patch.
2279
2280         * GNUmakefile.am:
2281         * WebCore.base.exp:
2282         * WebCore.gypi:
2283         * WebCore.pro:
2284         * WebCore.vcproj/WebCore.vcproj:
2285         * WebCore.xcodeproj/project.pbxproj:
2286         * WebCoreSources.bkl:
2287         * page/Geolocation.cpp:
2288         (WebCore::createGeopositionFromGeolocationPosition):
2289         (WebCore::createPositionErrorFromGeolocationError):
2290         (WebCore::Geolocation::Geolocation):
2291         (WebCore::Geolocation::~Geolocation):
2292         (WebCore::Geolocation::disconnectFrame):
2293         (WebCore::Geolocation::lastPosition):
2294         (WebCore::Geolocation::startRequest):
2295         (WebCore::Geolocation::fatalErrorOccurred):
2296         (WebCore::Geolocation::requestTimedOut):
2297         (WebCore::Geolocation::clearWatch):
2298         (WebCore::Geolocation::handleError):
2299         (WebCore::Geolocation::positionChanged):
2300         (WebCore::Geolocation::makeSuccessCallbacks):
2301         (WebCore::Geolocation::errorOccurred):
2302         (WebCore::Geolocation::geolocationServicePositionChanged):
2303         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2304         (WebCore::Geolocation::startUpdating):
2305         (WebCore::Geolocation::stopUpdating):
2306         * page/Geolocation.h:
2307         * page/GeolocationController.cpp: Added.
2308         (WebCore::GeolocationController::GeolocationController):
2309         (WebCore::GeolocationController::~GeolocationController):
2310         (WebCore::GeolocationController::addObserver):
2311         (WebCore::GeolocationController::removeObserver):
2312         (WebCore::GeolocationController::positionChanged):
2313         (WebCore::GeolocationController::errorOccurred):
2314         (WebCore::GeolocationController::lastPosition):
2315         * page/GeolocationController.h: Added.
2316         * page/GeolocationControllerClient.h: Added.
2317         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
2318         * page/GeolocationError.h: Added.
2319         (WebCore::GeolocationError::):
2320         (WebCore::GeolocationError::create):
2321         (WebCore::GeolocationError::code):
2322         (WebCore::GeolocationError::message):
2323         * page/GeolocationPosition.h: Added.
2324         (WebCore::GeolocationPosition::create):
2325         (WebCore::GeolocationPosition::timestamp):
2326         (WebCore::GeolocationPosition::latitude):
2327         (WebCore::GeolocationPosition::longitude):
2328         (WebCore::GeolocationPosition::accuracy):
2329         (WebCore::GeolocationPosition::altitude):
2330         (WebCore::GeolocationPosition::altitudeAccuracy):
2331         (WebCore::GeolocationPosition::heading):
2332         (WebCore::GeolocationPosition::speed):
2333         (WebCore::GeolocationPosition::canProvideAltitude):
2334         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
2335         (WebCore::GeolocationPosition::canProvideHeading):
2336         (WebCore::GeolocationPosition::canProvideSpeed):
2337         (WebCore::GeolocationPosition::GeolocationPosition):
2338         * page/Geoposition.h:
2339         (WebCore::Geoposition::create):
2340         * page/Page.cpp:
2341         (WebCore::Page::Page):
2342         * page/Page.h:
2343         (WebCore::Page::geolocationController):
2344         * svg/graphics/SVGImage.cpp:
2345         (WebCore::SVGImage::dataChanged):
2346
2347 2009-12-14  Adam Langley  <agl@google.com>
2348
2349         Reviewed by Darin Adler.
2350
2351         Test that an image's size is valid before reading it.
2352
2353         Previously, an image that failed to load (m_failed == true) would
2354         trigger an assertion failure when WebKit tried to get its size.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=32176
2357         http://code.google.com/p/chromium/issues/detail?id=28566
2358
2359         Test: fast/images/size-failure.html
2360
2361         * platform/graphics/ImageSource.cpp:
2362         (WebCore::ImageSource::createFrameAtIndex):
2363
2364 2009-12-14  Dan Bernstein  <mitz@apple.com>
2365
2366         Reviewed by Darin Adler.
2367
2368         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
2369         RenderWidget::setWidgetGeometry()
2370
2371         Test: fast/forms/defer-updateFromElement.html
2372
2373         * html/HTMLFormControlElement.cpp:
2374         (WebCore::updateFromElementCallback): Added this post-attach callback
2375         that invokes updateFromElement().
2376         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
2377         updateFromElement(), enqueue a post-attach (in this case, post-style
2378         recalc) callback to do it. updateFromElement() can cause the selection
2379         to change, and in turn trigger synchronous layout, so it must not be
2380         called during style recalc.
2381
2382 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
2383
2384         Reviewed by Timothy Hatcher.
2385
2386         Web Inspector: [regression] inspector deletes nodes when editing css.
2387
2388         Now all the treeoutlines are focusable, sections and their titles
2389         are also focusable. Change contains couple of drive-by fixes such as
2390         canceling of the attribute edit nuking attr info and maintaining proper
2391         selection while deleting nodes.
2392
2393         https://bugs.webkit.org/show_bug.cgi?id=32460
2394
2395         * inspector/front-end/CallStackSidebarPane.js:
2396         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
2397         * inspector/front-end/ConsoleView.js:
2398         (WebInspector.ConsoleView.prototype._promptKeyDown):
2399         * inspector/front-end/DataGrid.js:
2400         (WebInspector.DataGrid.prototype._keyDown):
2401         * inspector/front-end/DatabaseQueryView.js:
2402         (WebInspector.DatabaseQueryView):
2403         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
2404         * inspector/front-end/ElementsPanel.js:
2405         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2406         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
2407         (WebInspector.ElementsPanel.prototype.handleShortcut):
2408         * inspector/front-end/ElementsTreeOutline.js:
2409         (WebInspector.ElementsTreeOutline):
2410         (WebInspector.ElementsTreeOutline.prototype._keyDown):
2411         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
2412         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
2413         * inspector/front-end/Panel.js:
2414         (WebInspector.Panel.prototype.show):
2415         (WebInspector.Panel.prototype.get defaultFocusedElement):
2416         * inspector/front-end/PropertiesSection.js:
2417         (WebInspector.PropertiesSection):
2418         * inspector/front-end/ScriptsPanel.js:
2419         (WebInspector.ScriptsPanel):
2420         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
2421         (WebInspector.ScriptsPanel.prototype.handleShortcut):
2422         * inspector/front-end/SidebarPane.js:
2423         (WebInspector.SidebarPane):
2424         (WebInspector.SidebarPane.prototype.toggleExpanded):
2425         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
2426         * inspector/front-end/SourceFrame.js:
2427         (WebInspector.SourceFrame.prototype._loaded):
2428         * inspector/front-end/TextPrompt.js:
2429         (WebInspector.TextPrompt):
2430         * inspector/front-end/inspector.css:
2431         * inspector/front-end/inspector.html:
2432         * inspector/front-end/inspector.js:
2433         (WebInspector.loaded):
2434         (WebInspector.documentKeyDown):
2435         (WebInspector.documentCanCopy):
2436         (WebInspector.documentCopy):
2437         (WebInspector._searchFieldManualFocus):
2438         (WebInspector._searchKeyDown):
2439         (WebInspector.startEditing.cleanUpAfterEditing):
2440         (WebInspector.startEditing.keyDownEventListener):
2441         (WebInspector.startEditing):
2442         * inspector/front-end/treeoutline.js:
2443         (TreeOutline):
2444         (TreeOutline._removeChildAtIndex):
2445         (TreeOutline.prototype._treeKeyDown):
2446         (TreeElement.prototype.deselect):
2447         * inspector/front-end/utilities.js:
2448         ():
2449
2450 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2451
2452         Unreviewed, build fix.
2453
2454         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
2455
2456         * dom/Document.cpp:
2457         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
2458         * dom/Document.h: Added JSC guards to wrapper cache-related members.
2459
2460 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2461
2462         Reviewed by Adele Peterson.
2463
2464         AX: there's an infinite loop going on for some webpages - facebook.com
2465         https://bugs.webkit.org/show_bug.cgi?id=32501
2466
2467         The problem is that parentObjectUnignored() cannot be called
2468         while in accessibilityIsIgnored, because it leads to
2469         recursiveness. Specifically, there were checks to determine
2470         if an object was within a ARIA tree. That check should
2471         1) be moved to all platforms, and 2) not call parentObjectUnignored().
2472
2473         Test: accessibility/hang-in-isignored.html
2474
2475         * accessibility/AccessibilityRenderObject.cpp:
2476         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
2477         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2478         * accessibility/AccessibilityRenderObject.h:
2479         * accessibility/mac/AccessibilityObjectMac.mm:
2480         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2481
2482 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
2483
2484         Reviewed by Dan Bernstein.
2485
2486         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
2487
2488         Use MediaControllerThemeQuickTime on Leopard.
2489
2490         * rendering/RenderThemeMac.mm:
2491         (WebCore::mediaControllerTheme):
2492
2493 2009-12-14  Adam Roben  <aroben@apple.com>
2494
2495         Move QuartzCore-related build settings into a vsprops file
2496
2497         Fixes <http://webkit.org/b/32518>
2498
2499         Reviewed by Dan Bernstein.
2500
2501         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
2502         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
2503         other QuartzCore-related build settings from here...
2504         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
2505
2506 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
2507
2508         Reviewed by Antti Koivisto.
2509
2510         handling scripts can block UI
2511         https://bugs.webkit.org/show_bug.cgi?id=27612
2512
2513         Break execution of external scrips to smaller chunks. 
2514         No new tests since no new functionality was introduced.
2515
2516         * html/HTMLTokenizer.cpp:
2517         (WebCore::HTMLTokenizer::HTMLTokenizer):
2518         (WebCore::HTMLTokenizer::reset):
2519         (WebCore::HTMLTokenizer::notifyFinished):
2520         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2521         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
2522         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
2523         * html/HTMLTokenizer.h:
2524
2525 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2526
2527         Reviewed by Simon Hausmann.
2528
2529         [Qt] Connect QNetworkReply via direct connections.
2530         https://bugs.webkit.org/show_bug.cgi?id=32113
2531
2532         In the past we have switched from auto connections to queued
2533         connections to get some more stability. The problem with the
2534         Queued connections is latency. Even when running simple loading
2535         tests the time it takes to runs highly varies and by using
2536         direct connections these tests produce a stable result.
2537
2538         We will have to look out for crashes coming from within the
2539         QNetworkAccessManager due this patch and address them then.
2540
2541         * platform/network/qt/QNetworkReplyHandler.cpp:
2542         (WebCore::QNetworkReplyHandler::start):
2543
2544 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2545
2546         Rubber-stamped by Simon Hausmann.
2547
2548         [Qt] QtWebKit should use QImageReader::setQuality(49)
2549         https://bugs.webkit.org/show_bug.cgi?id=30740
2550
2551         Using QImageReader::setQuality(49) will influence the JPEG
2552         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
2553         is showing a 5% improvement in a reduction that decodes all images
2554         used during the page loading test. The libjpeg documentation mentions
2555         that the IFAST routine is not as accurate as other routines but in
2556         our tests we couldn't see a difference.
2557
2558         * platform/graphics/qt/ImageDecoderQt.cpp:
2559         (WebCore::ImageDecoderQt::setData):
2560
2561 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2562
2563         Reviewed by Sam Weinig.
2564         
2565         Changed GC from mark-sweep to mark-allocate.
2566
2567         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
2568         * bindings/js/GCController.cpp:
2569         (WebCore::collect):
2570         (WebCore::GCController::gcTimerFired):
2571         (WebCore::GCController::garbageCollectNow): Updated for rename.
2572
2573         * bindings/js/JSDOMBinding.cpp:
2574         (WebCore::removeWrappers):
2575         (WebCore::hasCachedDOMObjectWrapperUnchecked):
2576         (WebCore::hasCachedDOMObjectWrapper):
2577         (WebCore::hasCachedDOMNodeWrapperUnchecked):
2578         (WebCore::forgetDOMObject):
2579         (WebCore::forgetDOMNode):
2580         (WebCore::isObservableThroughDOM):
2581         (WebCore::markDOMNodesForDocument):
2582         (WebCore::markDOMObjectWrapper):
2583         (WebCore::markDOMNodeWrapper):
2584         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
2585         Don't ASSERT that an item must be in the WeakGCMap when its destructor
2586         runs, since it might have been overwritten in the map first.
2587
2588         * bindings/js/JSDocumentCustom.cpp:
2589         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
2590         wrapper, to simplify some code.
2591
2592         * bindings/js/JSInspectedObjectWrapper.cpp:
2593         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
2594         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
2595         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
2596         wrappers.
2597
2598         * bindings/js/JSNodeCustom.cpp:
2599         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
2600         a DOM node wrapper instead of a DOM object wrapper.
2601
2602         * bindings/js/JSSVGPODTypeWrapper.h:
2603         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
2604         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2605         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
2606         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
2607         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
2608         of linear lookup through iteration, since that's what hashtables were
2609         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
2610         from the table, instead of its JS wrapper, to decouple these objects from
2611         GC, and because these objects are refCounted, not solely owned by their
2612         JS wrappers.
2613
2614         * bindings/scripts/CodeGeneratorJS.pm:
2615         * dom/Document.h: Adopted changes above.
2616
2617 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2618
2619         Windows build fix: Removed an incorrect #ifdef.
2620
2621         * bindings/js/GCController.cpp:
2622
2623 2009-12-13  Charles Reis  <creis@chromium.org>
2624
2625         Reviewed by Adam Barth.
2626
2627         Refactor some security code out of V8 bindings
2628         https://bugs.webkit.org/show_bug.cgi?id=32326
2629
2630         No new tests. There should be no functionality changes in this patch,
2631         since it is only refactoring code.
2632
2633         * WebCore.gyp/WebCore.gyp:
2634         * WebCore.gypi:
2635         * bindings/BindingSecurity.h: Added.
2636         (WebCore::BindingSecurity::BindingSecurity):
2637         (WebCore::::canAccessWindow):
2638         (WebCore::::canAccessFrame):
2639         (WebCore::::checkNodeSecurity):
2640         * bindings/BindingSecurityBase.cpp: Added.
2641         (WebCore::BindingSecurityBase::getDOMWindow):
2642         (WebCore::BindingSecurityBase::getFrame):
2643         (WebCore::BindingSecurityBase::canAccessWindow):
2644         * bindings/BindingSecurityBase.h: Added.
2645         * bindings/GenericBinding.h: Added.
2646         (WebCore::):
2647         * bindings/scripts/CodeGeneratorV8.pm:
2648         * bindings/v8/ScriptController.cpp:
2649         (WebCore::ScriptController::isSafeScript):
2650         * bindings/v8/V8Binding.h:
2651         * bindings/v8/V8BindingState.cpp: Added.
2652         (WebCore::::Only):
2653         (WebCore::::getActiveWindow):
2654         (WebCore::::immediatelyReportUnsafeAccessTo):
2655         * bindings/v8/V8BindingState.h: Added.
2656         (WebCore::):
2657         * bindings/v8/V8Proxy.cpp:
2658         (WebCore::V8Proxy::reportUnsafeAccessTo):
2659         (WebCore::reportUnsafeJavaScriptAccess):
2660         * bindings/v8/V8Proxy.h:
2661         (WebCore::V8Proxy::):
2662         * bindings/v8/custom/V8CustomBinding.cpp:
2663         (WebCore::allowSettingFrameSrcToJavascriptUrl):
2664         (WebCore::INDEXED_ACCESS_CHECK):
2665         (WebCore::NAMED_ACCESS_CHECK):
2666         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2667         (WebCore::V8Custom::WindowSetTimeoutImpl):
2668         (WebCore::ACCESSOR_GETTER):
2669         (WebCore::ACCESSOR_SETTER):
2670         (WebCore::CALLBACK_FUNC_DECL):
2671         (WebCore::V8Custom::ClearTimeoutImpl):
2672         (WebCore::NAMED_ACCESS_CHECK):
2673         (WebCore::INDEXED_ACCESS_CHECK):
2674         * bindings/v8/custom/V8LocationCustom.cpp:
2675         (WebCore::ACCESSOR_GETTER):
2676         (WebCore::CALLBACK_FUNC_DECL):
2677         (WebCore::INDEXED_ACCESS_CHECK):
2678         (WebCore::NAMED_ACCESS_CHECK):
2679
2680 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2681
2682         Reviewed by Simon Hausmann.
2683
2684         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
2685         https://bugs.webkit.org/show_bug.cgi?id=31849
2686
2687         Qt allows to have three connections per host on Symbian, for
2688         every other platform the limit is set to six connections per
2689         host but the default implementation will only schedule four
2690         connections per host.
2691         In a manual test we seem to get the best loading speed by
2692         going with Qt's limit and schedule two more jobs to allow Qt
2693         to prepare them.
2694
2695         * platform/network/ResourceRequestBase.cpp:
2696         * platform/network/qt/ResourceRequestQt.cpp:
2697         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2698
2699 2009-12-13  Dan Bernstein  <mitz@apple.com>
2700
2701         Reviewed by Simon Fraser.
2702
2703         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
2704         handling misnested residual style tags
2705
2706         Test: fast/parser/residual-style-close-ref-clone.html
2707
2708         * html/HTMLParser.cpp:
2709         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
2710         block stack a strong reference to the cloned residual style element. 
2711
2712 2009-12-13  Adele Peterson  <adele@apple.com>
2713
2714         Reviewed by Sam Weinig.
2715
2716         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
2717         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
2718         https://bugs.webkit.org/show_bug.cgi?id=32078
2719
2720         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
2721
2722 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
2723
2724         Reviewed by Eric Seidel.
2725
2726         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
2727         https://bugs.webkit.org/show_bug.cgi?id=31802
2728
2729         The goal here is to allow for a zero runtime hit for ports that decide to select
2730         the API at compile time.
2731         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
2732         at runtime.  Core Text is used for OS Versions >= 10.6.
2733
2734         No test since this is already covered by existing pixel tests.
2735
2736         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
2737         * platform/graphics/mac/ComplexTextController.cpp:
2738         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
2739         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
2740         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
2741         to ATSUI/Core text variants.
2742         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
2743         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
2744         * platform/graphics/mac/ComplexTextController.h:
2745         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2746         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
2747         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
2748         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2749         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2750         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2751         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
2752         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2753
2754 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
2755
2756         No review, rolling out r52059 until I can generate new Tiger
2757         test results.
2758
2759         * rendering/RenderThemeMac.mm:
2760         (WebCore::mediaControllerTheme):
2761
2762 2009-12-12  Sam Weinig  <sam@webkit.org>
2763
2764         Rubber-stamped by Dan Bernstein.
2765
2766         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
2767
2768         * Configurations/WebCore.xcconfig:
2769         * page/EventHandler.cpp:
2770         (WebCore::EventHandler::EventHandler):
2771         (WebCore::EventHandler::clearDragState):
2772         * page/mac/DragControllerMac.mm:
2773         (WebCore::DragController::isCopyKeyDown):
2774         * page/mac/EventHandlerMac.mm:
2775         (WebCore::EventHandler::eventActivatedView):
2776         * platform/PlatformKeyboardEvent.h:
2777         * platform/PlatformMouseEvent.h:
2778         * platform/PlatformWheelEvent.h:
2779         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2780         * platform/ScrollView.cpp:
2781         (WebCore::ScrollView::wheelEvent):
2782         * platform/mac/KeyEventMac.mm:
2783         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2784         * platform/mac/PlatformMouseEventMac.mm:
2785         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2786         * platform/mac/PopupMenuMac.mm:
2787         (WebCore::PopupMenu::show):
2788         * platform/mac/WidgetMac.mm:
2789
2790 2009-12-12  Sam Weinig  <sam@webkit.org>
2791
2792         Rubber-stamped by Dan Bernstein.
2793
2794         Fix the !ENABLE(VIDEO) build.
2795
2796         * rendering/RenderLayerCompositor.cpp:
2797         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2798
2799 2009-12-12  Sam Weinig  <sam@webkit.org>
2800
2801         Rubber-stamped by Dan Bernstein.
2802
2803         Fix the !ENABLE(DATABASE) build.
2804
2805         * storage/SQLTransactionClient.cpp:
2806         * storage/SQLTransactionClient.h:
2807         * storage/SQLTransactionCoordinator.cpp:
2808         * storage/SQLTransactionCoordinator.h:
2809         * loader/FrameLoader.cpp:
2810         (WebCore::FrameLoader::stopLoading):
2811
2812 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
2813
2814         Reviewed by Dan Bernstein.
2815
2816         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
2817
2818         Use MediaControllerThemeQuickTime on Leopard.
2819
2820         * rendering/RenderThemeMac.mm:
2821         (WebCore::mediaControllerTheme):
2822
2823 2009-12-12  Kenneth Russell  <kbr@google.com>
2824
2825         Reviewed by Oliver Hunt.
2826
2827         Errors in WebGL[T]Array set() and get() methods
2828         https://bugs.webkit.org/show_bug.cgi?id=32456
2829
2830         Test: fast/canvas/webgl/bug-32456.html
2831
2832         * bindings/js/JSWebGLFloatArrayCustom.cpp:
2833         (WebCore::JSWebGLFloatArray::set):
2834         * bindings/js/JSWebGLIntArrayCustom.cpp:
2835         (WebCore::JSWebGLIntArray::set):
2836         * bindings/js/JSWebGLShortArrayCustom.cpp:
2837         (WebCore::JSWebGLShortArray::set):
2838         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2839         (WebCore::JSWebGLUnsignedByteArray::set):
2840         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2841         (WebCore::JSWebGLUnsignedIntArray::set):
2842         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2843         (WebCore::JSWebGLUnsignedShortArray::set):
2844         * bindings/v8/custom/V8WebGLArrayCustom.h:
2845         (WebCore::setWebGLArray):
2846         * html/canvas/WebGLFloatArray.idl:
2847         * html/canvas/WebGLUnsignedIntArray.idl:
2848
2849 2009-12-12  Kenneth Russell  <kbr@google.com>
2850
2851         Reviewed by Oliver Hunt.
2852
2853         Update WebGL tests to released versions
2854         https://bugs.webkit.org/show_bug.cgi?id=32457
2855
2856         * manual-tests/webgl/Earth.html:
2857         * manual-tests/webgl/ManyPlanetsDeep.html:
2858         * manual-tests/webgl/SpinningBox.html:
2859         * manual-tests/webgl/TeapotPerPixel.html:
2860         * manual-tests/webgl/TeapotPerVertex.html:
2861         * manual-tests/webgl/resources/CanvasMatrix.js:
2862         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
2863         * manual-tests/webgl/resources/utils3d.js:
2864         (initWebGL.gl.console.window.console.log):
2865         (initWebGL):
2866         (loadShader):
2867         (makeBox):
2868         (makeSphere):
2869         (processLoadObj):
2870         (doLoadObj):
2871         (doLoadImageTexture):
2872
2873 2009-12-12  Christian Dywan  <christian@twotoasts.de>
2874
2875         Reviewed by Dirk Schulze.
2876
2877         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
2878
2879         * platform/graphics/filters/FEComponentTransfer.h:
2880
2881 2009-12-12  Christian Dywan  <christian@twotoasts.de>
2882
2883         Rubber-stamped by Maciej Stachowiak.
2884
2885         Only include SVGFEDisplacementMap.h if SVG is enabled.
2886
2887         * platform/graphics/filters/FEComponentTransfer.h:
2888
2889 2009-12-12  Dirk Schulze  <krit@webkit.org>
2890
2891         Reviewed by Eric Seidel.
2892
2893         [Cairo][Qt] Alpha blending in SVG filters is wrong
2894         https://bugs.webkit.org/show_bug.cgi?id=32427
2895
2896         This patch is a follow-up to:
2897         http://trac.webkit.org/changeset/51950
2898         It fixes the alpha blending for Cairo and Qt on SVG Filters.
2899
2900         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
2901                     * LayoutTests/svg/filters/feComposite.svg
2902                      and others.
2903
2904         * platform/graphics/cairo/ImageBufferCairo.cpp:
2905         (WebCore::ImageBuffer::platformTransformColorSpace):
2906         * platform/graphics/qt/ImageBufferQt.cpp:
2907         (WebCore::ImageBuffer::platformTransformColorSpace):
2908
2909 2009-12-11  Eric Roman  <eroman@chromium.org>
2910
2911         Unreviewed build fix.
2912
2913         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
2914
2915         * bindings/v8/ScriptController.cpp:
2916         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
2917         * bindings/v8/ScriptController.h:
2918
2919 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
2920
2921         Unreviewed, build fix.
2922
2923         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
2924
2925         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2926         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
2927           to the submit method.
2928
2929 2009-12-11  Sam Weinig  <sam@webkit.org>
2930
2931         Reviewed by Mark Rowe.
2932
2933         Put -umbrella linker flag into a variable so that it can be overridden.
2934
2935         * Configurations/WebCore.xcconfig:
2936
2937 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
2938
2939         Reviewed by Darin Adler.
2940
2941         body with display:inline causes crash
2942         https://bugs.webkit.org/show_bug.cgi?id=32371
2943
2944         Tests: fast/inline/inline-body-crash.html
2945                fast/inline/inline-body-with-scrollbar-crash.html
2946
2947         * page/FrameView.cpp:
2948         (WebCore::FrameView::createScrollbar):
2949         (WebCore::FrameView::layout):
2950
2951 2009-12-11  Brady Eidson  <beidson@apple.com>
2952
2953         Rubberstamped by Sam Weinig.
2954
2955         https://webkit.org/b/22851 - Remove defunct FIXME.
2956
2957         * html/HTMLPlugInElement.cpp:
2958         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
2959           from the HTMLFrameOwnerElement chain of classes.
2960
2961 2009-12-11  Darin Adler  <darin@apple.com>
2962
2963         Reviewed by Dan Bernstein.
2964
2965         Small refactoring to get rid of some extra unneeded selection-related work
2966         in RenderLayer::scrollToOffset and separate caret and range selection
2967         logic in FrameView::layout. This may be useful later when changing how
2968         the range selection logic works to fix layout reentrancy problems.
2969
2970         * page/Frame.cpp: Removed invalidateSelection.
2971         * page/Frame.h: Ditto.
2972
2973         * page/FrameView.cpp:
2974         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
2975         and Frame::selectionLayoutChanged instead of calling
2976         Frame::invalidateSelection, which was just a function that called
2977         both of those others.
2978
2979         * rendering/RenderLayer.cpp:
2980         (WebCore::RenderLayer::scrollToOffset): Call
2981         SelectionController::setNeedsLayout instead of calling
2982         Frame::invalidateSelection. This call site only needs the caret-related
2983         work in that first function, not the other work formerly done by
2984         Frame::invalidateSelection. The caret works outside the normal
2985         painting and rendering system, and the range selection highlight is
2986         more or less inside it and doesn't need special handling when scrolling.
2987
2988 2009-12-11  Brady Eidson  <beidson@apple.com>
2989
2990         Reviewed by Darin Adler.
2991
2992         <rdar://problem/7342725> and https://webkit.org/b/32383
2993         Selecting article text at sfgate.com results in spurious back/forward entries
2994
2995         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
2996         
2997         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
2998         but has a bug that prevents this.
2999
3000         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
3001
3002         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
3003
3004         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
3005                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
3006
3007         Capture whether the form was submitted by javascript:
3008         * loader/FormState.cpp:
3009         (WebCore::FormState::FormState):
3010         (WebCore::FormState::create):
3011         * loader/FormState.h:
3012         (WebCore::FormState::formSubmissionTrigger):
3013
3014         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
3015         * loader/RedirectScheduler.cpp:
3016         (WebCore::RedirectScheduler::scheduleFormSubmission):
3017
3018         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
3019         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
3020         * bindings/js/JSHTMLFormElementCustom.cpp:
3021         (WebCore::JSHTMLFormElement::submit):
3022         * html/HTMLFormElement.cpp:
3023         (WebCore::HTMLFormElement::prepareSubmit):
3024         (WebCore::HTMLFormElement::submit):
3025         * html/HTMLFormElement.h:
3026
3027 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
3028
3029         Reviewed by Darin Adler.
3030
3031         https://bugs.webkit.org/show_bug.cgi?id=32445
3032         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
3033
3034         * css/CSSImportRule.cpp:
3035         (WebCore::CSSImportRule::setCSSStyleSheet):
3036         * html/HTMLLinkElement.cpp:
3037         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3038         Add a quirk for mcafee.com/japan (http or https, with or without www).
3039
3040 2009-12-11  Sam Weinig  <sam@webkit.org>
3041
3042         Reviewed by Dan Bernstein.
3043
3044         Make PlatformWheelEvent.h private instead of project.
3045
3046         * WebCore.xcodeproj/project.pbxproj:
3047
3048 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3049
3050         Reviewed by Darin Adler.
3051
3052         Support reflections on composited layers
3053         https://bugs.webkit.org/show_bug.cgi?id=31885
3054         
3055         First part of supporting composited reflections on compositing layers.
3056         
3057         Rename the m_transformLayer member variable to m_structuralLayer, since it
3058         will get used both for transform layers (for preserve-3d) and to hold a flattening
3059         layer related to reflections, both of which have similar requirements, and are
3060         mutually exclusive.
3061
3062         * platform/graphics/mac/GraphicsLayerCA.h:
3063         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
3064         a CALayer, since m_structuralLayer isn't always a WebLayer.
3065         
3066         * platform/graphics/mac/GraphicsLayerCA.mm:
3067         (WebCore::GraphicsLayerCA::commitLayerChanges):
3068         updateLayerPreserves3D() renamed to updateStructuralLayer()
3069         
3070         (WebCore::GraphicsLayerCA::updateLayerNames):
3071         New "update" method for updating layer names.
3072         
3073         (WebCore::GraphicsLayerCA::updateSublayerList):
3074         m_transformLayer -> m_structuralLayer. Also minor refactor to only
3075         allocate newSublayers in one place.
3076         
3077         (WebCore::GraphicsLayerCA::updateLayerSize):
3078         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
3079         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
3080         (WebCore::GraphicsLayerCA::layerForSuperlayer):
3081         m_transformLayer -> m_structuralLayer
3082         
3083         (WebCore::GraphicsLayerCA::updateStructuralLayer):
3084         Call ensureStructuralLayer() which handles any deltas to the
3085         structural layer type.
3086         
3087         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3088         Handle changes to the structural layer requirements
3089         
3090         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
3091         Return an enum describing the purpose of the structural layer; for now
3092         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
3093         will in future also have a value related to reflections.
3094
3095 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3096
3097         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3098
3099         * page/animation/KeyframeAnimation.cpp:
3100         (WebCore::KeyframeAnimation::pauseAnimation):
3101
3102 2009-12-11  Adam Roben  <aroben@apple.com>
3103
3104         Windows build fix
3105
3106         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
3107         non-existent header.
3108
3109 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3110
3111         Build fix, no review.
3112
3113         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3114
3115         * page/animation/KeyframeAnimation.cpp:
3116         (WebCore::KeyframeAnimation::startAnimation):
3117
3118 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3119
3120         Build fix, no review.
3121
3122         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3123
3124         * page/animation/ImplicitAnimation.cpp:
3125         (WebCore::ImplicitAnimation::startAnimation):
3126
3127 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3128
3129         Reviewed by Darin Adler.
3130
3131         Negative values for animation-delay are ignored (treated as zero)
3132         https://bugs.webkit.org/show_bug.cgi?id=26150
3133         
3134         When we get the m_startTime for an animation or transition, subtract any negative
3135         delay so the animation/transition behaves like it started in the past, per spec.
3136
3137         Tests: animations/negative-delay.html
3138                transitions/negative-delay.html
3139
3140         * page/animation/AnimationBase.cpp:
3141         (WebCore::AnimationBase::updateStateMachine):
3142
3143 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3144
3145         Reviewed by Dan Bernstein.
3146
3147         Accelerated transitions broken when mixed with paused animations
3148         https://bugs.webkit.org/show_bug.cgi?id=32387
3149
3150         Synchronization of a mixture of accelerated and software animations occurs via
3151         a callback from GraphicsLayerCA, which ends up in
3152         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
3153         the exact time at which the accelerated animations started, so is used as the
3154         start time for all animations and transitions which are marked as waiting.
3155
3156         The bug was that the callback called when re-starting animations that were
3157         paused sent back an old time value, but this was used to start normal
3158         transitions. Therefore the transition would start with a stale start time, and
3159         thus end prematurely.
3160
3161         The fix is to change the way that GraphicsLayerCA handles paused animations.
3162         Rather than setting the beginTime of the animation, it uses a beginTime of 0
3163         and a timeOffset that gets passed down. Thus the callbacks always come with
3164         beginTime for 'now'.
3165
3166         Also clarify the role of AnimationBase::endAnimation() by splitting it into
3167         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
3168         beginTimes when starting and pausing.
3169
3170         Manual test only, because the bug requires a non-trivial combination of
3171         animation pausing and transitions which take time, and the bug only shows in
3172         pixel results.
3173         
3174         * manual-tests/animation/transitions-and-paused-animations.html
3175
3176         * page/animation/AnimationBase.cpp:
3177         (WebCore::AnimationBase::updateStateMachine):
3178         * page/animation/AnimationBase.h:
3179         (WebCore::AnimationBase::startAnimation):
3180         (WebCore::AnimationBase::pauseAnimation):
3181         (WebCore::AnimationBase::endAnimation):
3182         * page/animation/ImplicitAnimation.cpp:
3183         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3184         (WebCore::ImplicitAnimation::startAnimation):
3185         (WebCore::ImplicitAnimation::endAnimation):
3186         (WebCore::ImplicitAnimation::onAnimationEnd):
3187         * page/animation/ImplicitAnimation.h:
3188         (WebCore::ImplicitAnimation::pauseAnimation):
3189         * page/animation/KeyframeAnimation.cpp:
3190         (WebCore::KeyframeAnimation::~KeyframeAnimation):
3191         (WebCore::KeyframeAnimation::startAnimation):
3192         (WebCore::KeyframeAnimation::pauseAnimation):
3193         (WebCore::KeyframeAnimation::endAnimation):
3194         (WebCore::KeyframeAnimation::onAnimationEnd):
3195         * page/animation/KeyframeAnimation.h:
3196         * platform/graphics/GraphicsLayer.h:
3197         (WebCore::GraphicsLayer::addAnimation):
3198         (WebCore::GraphicsLayer::pauseAnimation):
3199         * platform/graphics/mac/GraphicsLayerCA.h:
3200         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
3201         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
3202         * platform/graphics/mac/GraphicsLayerCA.mm:
3203         (WebCore::GraphicsLayerCA::addAnimation):
3204         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
3205         (WebCore::GraphicsLayerCA::pauseAnimation):
3206         (WebCore::GraphicsLayerCA::updateLayerAnimations):
3207         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
3208         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
3209         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
3210         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
3211         * rendering/RenderLayerBacking.cpp:
3212         (WebCore::RenderLayerBacking::startAnimation):
3213         (WebCore::RenderLayerBacking::startTransition):
3214         (WebCore::RenderLayerBacking::animationPaused):
3215         * rendering/RenderLayerBacking.h:
3216
3217 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
3218
3219         Reviewed by Darin Adler.
3220
3221         Fixes <http://webkit.org/b/32399>.
3222         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
3223         
3224         When we initially figure out the layer that we should begin scrolling, don't try to jump out
3225         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
3226         don't need that logic anymore.
3227         
3228         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
3229         iFrame that has a scrollable owner document.
3230
3231         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
3232
3233         * dom/Node.cpp:
3234         (WebCore::Node::defaultEventHandler):
3235
3236 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
3237
3238         Reviewed by Adam Roben.
3239
3240         Fixes <http://webkit.org/b/32303>.
3241         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
3242         
3243         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
3244         We get two wins out of this:
3245             1) Mousedown DOM events are now fired before pan scrolling.
3246             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
3247         
3248         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
3249         that when event.preventDefault is called, pan scrolling doesn't happen.
3250
3251         Tests: platform/win/fast/events/panScroll-event-fired.html
3252                platform/win/fast/events/panScroll-preventDefault.html
3253
3254         * dom/Node.cpp:
3255         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
3256         * page/EventHandler.cpp:
3257         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
3258         (WebCore::EventHandler::handleMousePressEvent): From here.
3259         * page/EventHandler.h:
3260
3261 2009-12-11  Chris Marrin  <cmarrin@apple.com>
3262
3263         Reviewed by Adam Roben.
3264
3265         Delay load DLLs for accelerated compositing
3266         https://bugs.webkit.org/show_bug.cgi?id=31856
3267         
3268         Change calls that use the data export symbols from
3269         QuartzCore to use the functions in QuartzCoreInterface.
3270         This allows QuartzCore to be delay loaded.
3271
3272         * platform/graphics/win/GraphicsLayerCACF.cpp:
3273         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
3274         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
3275         (WebCore::GraphicsLayerCACF::updateContentsImage):
3276         * platform/graphics/win/WKCACFLayer.cpp:
3277         (WebCore::toCACFLayerType):
3278         (WebCore::toCACFContentsGravityType):
3279         (WebCore::fromCACFContentsGravityType):
3280         (WebCore::toCACFFilterType):
3281         (WebCore::fromCACFFilterType):
3282         (WebCore::WKCACFLayer::create):
3283         (WebCore::WKCACFLayer::WKCACFLayer):
3284         (WebCore::WKCACFLayer::setContentsGravity):
3285         (WebCore::WKCACFLayer::contentsGravity):
3286         (WebCore::WKCACFLayer::setMagnificationFilter):
3287         (WebCore::WKCACFLayer::magnificationFilter):
3288         (WebCore::WKCACFLayer::setMinificationFilter):
3289         (WebCore::WKCACFLayer::minificationFilter):
3290         * platform/graphics/win/WKCACFLayer.h:
3291         (WebCore::WKCACFLayer::):
3292         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3293         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
3294         (WebCore::WKCACFLayerRenderer::createRenderer):
3295
3296 2009-12-11  Steve Block  <steveblock@google.com>
3297
3298         Reviewed by Darin Fisher.
3299
3300         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
3301         https://bugs.webkit.org/show_bug.cgi?id=31810
3302
3303         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
3304             of initializeMaximumHTTPConnectionCountPerHost for Android.
3305         * platform/network/android: Added.
3306         * platform/network/android/ResourceRequestAndroid.cpp: Added.
3307         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
3308
3309 2009-12-11  Kent Tamura  <tkent@chromium.org>
3310
3311         Reviewed by Darin Fisher.
3312
3313         Add acceptTypes() method to FileChooser.
3314         https://bugs.webkit.org/show_bug.cgi?id=32429
3315
3316         This method returns an 'accept' attribute value of the
3317         corresponding INPUT element. A ChromeClient::runOpenPanel()
3318         implementation can refer it through a FileChooser instance to
3319         support type-restricted file selecting.
3320
3321         This makes no user-visible changes for now.
3322
3323         * platform/FileChooser.h:
3324         (WebCore::FileChooser::acceptTypes):
3325         * rendering/RenderFileUploadControl.cpp:
3326         (WebCore::RenderFileUploadControl::acceptTypes):
3327         * rendering/RenderFileUploadControl.h:
3328
3329 2009-12-11  Victor Wang  <victorw@chromium.org>
3330
3331         Reviewed by Darin Fisher.
3332
3333         Changed PopupMenuChromium to keep the value selected from
3334         keyboard when popup is closed.
3335
3336         The problem is Chromium does not fire the onchange event
3337         when the popup is closed if an item is selected via
3338         keyboard by typing the first char of the item. This makes
3339         chromium popup not having consistent behaviours and also
3340         behaves differently from other major browsers.
3341         Calling popup->hide() instead of popup->hidePopup() in
3342         PopupMenu fixes the issues as it does extra step to check
3343         whethere there is a keyboard selection changed when closing
3344         the popup.
3345
3346         https://bugs.webkit.org/show_bug.cgi?id=32403
3347     
3348         TEST: add a manual test as the current layout test shell
3349         does not support sending keyboard events to popup list.
3350
3351         * manual-tests/chromium/select-close-popup-value-change.html: Added.
3352         * platform/chromium/PopupMenuChromium.cpp:
3353         (WebCore::PopupMenu::hide):
3354
3355 2009-12-11  anton muhin  <antonm@chromium.org>
3356
3357         Reviewed by Adam Barth.
3358
3359         [v8] refactor WeakReferenceMap.
3360         Move common bits of functionality to reduce duplication.
3361
3362         https://bugs.webkit.org/show_bug.cgi?id=32389
3363
3364         Should be covered by buildbots.
3365
3366         * bindings/v8/DOMData.h:
3367         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
3368         (WebCore::DOMData::handleWeakObject):
3369         (WebCore::DOMData::removeObjectsFromWrapperMap):
3370         * bindings/v8/DOMDataStore.cpp:
3371         (WebCore::DOMDataStore::weakDOMObjectCallback):
3372         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
3373         (WebCore::DOMDataStore::weakNodeCallback):
3374         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
3375         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
3376         * bindings/v8/DOMDataStore.h:
3377         * bindings/v8/V8DOMMap.cpp:
3378         (WebCore::visitDOMNodesInCurrentThread):
3379         (WebCore::visitDOMObjectsInCurrentThread):
3380         (WebCore::visitActiveDOMObjectsInCurrentThread):
3381         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
3382         (WebCore::visitSVGObjectsInCurrentThread):
3383         * bindings/v8/V8DOMMap.h:
3384         (WebCore::WeakReferenceMap::removeIfPresent):
3385         (WebCore::WeakReferenceMap::clear):
3386         (WebCore::WeakReferenceMap::visit):
3387
3388 2009-12-11  anton muhin  <antonm@chromium.org>
3389         Reviewed by Adam Barth.
3390
3391         [v8] in Debug builds create an additional handle scope
3392         when doing debug build checks.
3393         https://bugs.webkit.org/show_bug.cgi?id=32335
3394
3395         Should be covered by buildbots.
3396
3397         * bindings/v8/V8DOMWrapper.h:
3398         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3399         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3400
3401 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
3402
3403         Reviewed by Timothy Hatcher.
3404
3405         Web Inspector: Do not use ContextMenuItem as value type in custom
3406         context menu implementation.
3407
3408         https://bugs.webkit.org/show_bug.cgi?id=32411
3409
3410         * GNUmakefile.am:
3411         * WebCore.gypi:
3412         * WebCore.pro:
3413         * WebCore.vcproj/WebCore.vcproj:
3414         * WebCore.xcodeproj/project.pbxproj:
3415         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3416         (WebCore::JSInspectorFrontendHost::showContextMenu):
3417         * inspector/InspectorFrontendHost.cpp:
3418         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3419         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
3420         (WebCore::InspectorFrontendHost::showContextMenu):
3421         (WebCore::InspectorFrontendHost::contextMenuCleared):
3422         * inspector/InspectorFrontendHost.h:
3423         (WebCore::InspectorFrontendHost::MenuProvider::create):
3424         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
3425         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
3426         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
3427         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
3428         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
3429         * page/ContextMenuController.cpp:
3430         (WebCore::ContextMenuController::ContextMenuController):
3431         (WebCore::ContextMenuController::clearContextMenu):
3432         (WebCore::ContextMenuController::showContextMenu):
3433         (WebCore::ContextMenuController::contextMenuItemSelected):
3434         * page/ContextMenuController.h:
3435         * page/ContextMenuProvider.h: Added.
3436         (WebCore::ContextMenuProvider::~ContextMenuProvider):
3437         * page/ContextMenuSelectionHandler.h: Removed.
3438
3439 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
3440
3441         Reviewed by Antti Koivisto.
3442
3443         Basic cross-platform implementation of mapping platform touch events
3444         to JavaScript touch events.
3445
3446         https://bugs.webkit.org/show_bug.cgi?id=32114
3447
3448         Test: fast/events/basic-touch-events.html
3449
3450         * page/EventHandler.cpp:
3451         (WebCore::EventHandler::handleTouchEvent):
3452         * page/EventHandler.h:
3453
3454 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
3455
3456         Reviewed by Darin Adler.
3457
3458         Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
3459         https://bugs.webkit.org/show_bug.cgi?id=32110
3460
3461         Inherits the following class from Noncopyable because it is
3462         instantiated by 'new' and no need to be copyable:
3463
3464         class name              - instantiated at: WebCore/'location'
3465
3466         class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
3467
3468         * loader/FrameLoaderClient.h:
3469
3470 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
3471
3472         Reviewed by Darin Adler.
3473
3474         Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
3475         https://bugs.webkit.org/show_bug.cgi?id=32106
3476
3477         Inherits the following classes from Noncopyable because these are instantiated 
3478         by 'new' and no need to be copyable:
3479
3480         class/struct name            - instantiated at: WebCore/'location'
3481
3482         class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
3483         class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
3484         class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
3485
3486         * svg/graphics/SVGImage.cpp:
3487         * loader/EmptyClients.h:
3488
3489 2009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
3490
3491         Reviewed by Darin Adler.
3492
3493         The values of RuntimeArray are not enumerable
3494         https://bugs.webkit.org/show_bug.cgi?id=29005
3495
3496         The indices of RuntimeArray should be enumerated like for a regular array.
3497
3498         * bridge/runtime_array.cpp:
3499         (JSC::RuntimeArray::getOwnPropertyNames):
3500         * bridge/runtime_array.h:
3501
3502 2009-12-11  Andreas Kling  <andreas.kling@nokia.com>
3503
3504         Reviewed by Simon Hausmann.
3505
3506         [Qt] ImageDecoderQt: Fix retrieval of image file extensions
3507
3508         QImageReader only allows retrieving the format() before actually reading the image.
3509
3510         https://bugs.webkit.org/show_bug.cgi?id=32428
3511
3512         * platform/graphics/qt/ImageDecoderQt.cpp:
3513         (WebCore::ImageDecoderQt::setData):
3514         (WebCore::ImageDecoderQt::internalDecodeSize):
3515
3516 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
3517
3518         Reviewed by Antti Koivisto.
3519
3520         Added interfaces for touch event support in JavaScript.
3521
3522         https://bugs.webkit.org/show_bug.cgi?id=32114
3523
3524         The Touch, TouchEvent and TouchList interfaces come straight from
3525         Android's copy of WebKit (eclaire branch).
3526
3527         The PlatformTouchEvent and PlatformTouchPoint code was written by
3528         us.
3529
3530         No new tests added, we are just adding interfaces
3531         with this patch.
3532
3533         * WebCore.pro:
3534         * bindings/js/JSEventCustom.cpp:
3535         (WebCore::toJS):
3536         * dom/Document.cpp:
3537         (WebCore::Document::addListenerTypeIfNeeded):
3538         * dom/Document.h:
3539         (WebCore::Document::):
3540         * dom/Document.idl:
3541         * dom/Element.h:
3542         * dom/Element.idl:
3543         * dom/Event.cpp:
3544         (WebCore::Event::isTouchEvent):
3545         * dom/Event.h:
3546         * dom/EventNames.h:
3547         * dom/Touch.cpp: Added.
3548         (WebCore::contentsX):
3549         (WebCore::contentsY):
3550         (WebCore::Touch::Touch):
3551         (WebCore::Touch::updateLocation):
3552         * dom/Touch.h: Added.
3553         (WebCore::Touch::create):
3554         (WebCore::Touch::frame):
3555         (WebCore::Touch::target):
3556         (WebCore::Touch::identifier):
3557         (WebCore::Touch::clientX):
3558         (WebCore::Touch::clientY):
3559         (WebCore::Touch::screenX):
3560         (WebCore::Touch::screenY):
3561         (WebCore::Touch::pageX):
3562         (WebCore::Touch::pageY):
3563         * dom/Touch.idl: Added.
3564         * dom/TouchEvent.cpp: Added.
3565         (WebCore::TouchEvent::TouchEvent):
3566         (WebCore::TouchEvent::initTouchEvent):
3567         * dom/TouchEvent.h: Added.
3568         (WebCore::TouchEvent::create):
3569         (WebCore::TouchEvent::touches):
3570         (WebCore::TouchEvent::targetTouches):
3571         (WebCore::TouchEvent::changedTouches):
3572         (WebCore::TouchEvent::TouchEvent):
3573         (WebCore::TouchEvent::isTouchEvent):
3574         * dom/TouchEvent.idl: Added.
3575         * dom/TouchList.cpp: Added.
3576         (WebCore::TouchList::item):
3577         * dom/TouchList.h: Added.
3578         (WebCore::TouchList::create):
3579         (WebCore::TouchList::length):
3580         (WebCore::TouchList::append):
3581         (WebCore::TouchList::TouchList):
3582         * dom/TouchList.idl: Added.
3583         * html/HTMLAttributeNames.in:
3584         * html/HTMLElement.cpp:
3585         (WebCore::HTMLElement::parseMappedAttribute):
3586         * page/DOMWindow.h:
3587         * page/DOMWindow.idl:
3588         * platform/PlatformTouchEvent.h: Added.
3589         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3590         (WebCore::PlatformTouchEvent::touchPoints):
3591         * platform/PlatformTouchPoint.h: Added.
3592         (WebCore::PlatformTouchPoint::):
3593         (WebCore::PlatformTouchPoint::id):
3594         (WebCore::PlatformTouchPoint::state):
3595         (WebCore::PlatformTouchPoint::screenPos):
3596         (WebCore::PlatformTouchPoint::pos):
3597         * platform/qt/PlatformTouchEventQt.cpp: Added.
3598         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3599         * platform/qt/PlatformTouchPointQt.cpp: Added.
3600         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3601
3602 2009-12-11  Grace Kloba  <klobag@gmail.com>
3603
3604         Reviewed by Darin Adler.
3605
3606         [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
3607         HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
3608         HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
3609         when HistoryItem is deleted to avoid potential crash.
3610         https://bugs.webkit.org/show_bug.cgi?id=32251
3611
3612         * history/HistoryItem.cpp:
3613         (WebCore::HistoryItem::~HistoryItem):
3614         * history/android/AndroidWebHistoryBridge.h:
3615         (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
3616         (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
3617
3618
3619 2009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
3620
3621         Reviewed by Pavel Feldman.
3622
3623         Log WebSocket error to Web Inspector console.
3624         https://bugs.webkit.org/show_bug.cgi?id=32165
3625