<rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensu...
[WebKit.git] / WebCore / ChangeLog
1 2009-12-14  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Darin Adler.
4
5         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
6         https://bugs.webkit.org/show_bug.cgi?id=32382
7
8         Test: fast/block/float/in-margin.html
9
10         * rendering/RenderBlock.cpp:
11         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
12         they are in the margin) do not need to be cleared.
13
14 2009-12-14  Enrica Casucci  <enrica@apple.com>
15
16         Reviewed by John Sullivan.
17
18         Pressing backspace inside a table cell erases all empty rows below it.
19         <rdar://problem/5565461>
20         https://bugs.webkit.org/show_bug.cgi?id=32526
21
22         No deletion is performed when the caret selection is on an empty table cell.
23         
24         Test: editing/deleting/delete-empty-table.html
25
26         * editing/TypingCommand.cpp:
27         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
28         case of caret selection.
29
30 2009-12-14  Andrei Popescu  <andreip@google.com>
31
32         Reviewed by Darin Adler.
33
34         [Android] Android needs ResourceHandle implementation
35         https://bugs.webkit.org/show_bug.cgi?id=32515
36
37         Adds implementation of ResourceHandle on Android.
38
39         No new tests needed, this is platform-specific code, so existing
40         tests are sufficient.
41
42         * platform/network/android/ResourceHandleAndroid.cpp: Added.
43         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
44         (WebCore::ResourceHandle::~ResourceHandle):
45         (WebCore::ResourceHandle::start):
46         (WebCore::ResourceHandle::cancel):
47         (WebCore::ResourceHandle::bufferedData):
48         (WebCore::ResourceHandle::supportsBufferedData):
49         (WebCore::ResourceHandle::setDefersLoading):
50         (WebCore::ResourceHandle::willLoadFromCache):
51         (WebCore::ResourceHandle::loadsBlocked):
52         (WebCore::SyncLoader::SyncLoader):
53         (WebCore::SyncLoader::~SyncLoader):
54         (WebCore::SyncLoader::didReceiveResponse):
55         (WebCore::SyncLoader::didReceiveData):
56         (WebCore::SyncLoader::didFail):
57         (WebCore::ResourceHandle::loadResourceSynchronously):
58         * platform/network/android/ResourceLoaderAndroid.h: Added.
59         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
60         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
61
62 2009-12-14  Marco Martin  <notmart@gmail.com>
63
64         Reviewed by Kenneth Rohde Christiansen.
65
66         In the Scrollbar painting of the Qt theme integration,
67         intersects any previous clip rects with the one needed to paint the scrollbar.
68         This fixes the painting in QGraphicsview, when the parent of the widget that 
69         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
70         a piece of the scrollbar should be cipped away
71         https://bugs.webkit.org/show_bug.cgi?id=30366
72
73         No new tests.
74
75         * platform/qt/ScrollbarThemeQt.cpp:
76         (WebCore::ScrollbarThemeQt::paint):
77
78 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
79
80         Reviewed by Eric Seidel.
81
82         [V8] Generate bindings for trivial indexers.
83         https://bugs.webkit.org/show_bug.cgi?id=32455
84
85         Covered by existing tests.
86
87         * bindings/scripts/CodeGeneratorV8.pm:
88             Added detecting indexers and generating code for them.
89         * bindings/v8/V8Collection.h: Removed code that's now generated.
90         * bindings/v8/V8DOMWrapper.cpp:
91         (WebCore::V8DOMWrapper::getTemplate): Ditto.
92
93 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
94
95         Reviewed by Dave Hyatt.
96
97         https://bugs.webkit.org/show_bug.cgi?id=31660
98         REGRESSION (r49394): Image load event fires before the document fragment is attached.
99
100         Test: fast/images/image-load-event-in-fragment.html
101
102         We cannot fire load events immediately after parsing a fragment - an element inserted via
103         innerHTML or equivalent should be reachable via getElementById() by the time its load event
104         fires.
105
106         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
107         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
108         preserving existing behavior.
109
110         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
111         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
112         Load events for elements that have just been parsed cannot be dispatched yet, we should give
113         the elements a chance to be inserted into a document first. There is no compatibility baggage
114         for beforeload, so it seems OK to dispatch it right away.
115
116         * loader/ImageLoader.cpp:
117         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
118         (WebCore::ImageLoader::dispatchPendingLoadEvents):
119         * loader/ImageLoader.h:
120         Separated dispatchPendingEvents() into individual functions for each event kind.
121
122 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
123
124         Reviewed by Simon Fraser.
125
126         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
127         https://bugs.webkit.org/show_bug.cgi?id=30442
128
129         This enables optimizations for distinguishing between
130         arbitrary FloatQuads and rectilinear ones.
131
132         * platform/graphics/FloatQuad.cpp:
133         (WebCore::FloatQuad::isRectilinear):
134         * platform/graphics/FloatQuad.h:
135
136 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
137
138         Reviewed by Holger Freyther.
139
140         [Qt] Add support for keyboard modifiers to TouchEvent
141
142         https://bugs.webkit.org/show_bug.cgi?id=32482
143
144         Similar to other ui events with keyboard state, get the alt, shift,
145         meta and ctrl modifiers straight from the platform event.
146
147         * dom/TouchEvent.cpp:
148         (WebCore::TouchEvent::TouchEvent):
149         (WebCore::TouchEvent::initTouchEvent):
150         * dom/TouchEvent.h:
151         (WebCore::TouchEvent::create):
152         * dom/TouchEvent.idl:
153         * page/EventHandler.cpp:
154         (WebCore::EventHandler::handleTouchEvent):
155         * platform/PlatformTouchEvent.h:
156         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
157         (WebCore::PlatformTouchEvent::shiftKey):
158         (WebCore::PlatformTouchEvent::ctrlKey):
159         (WebCore::PlatformTouchEvent::altKey):
160         (WebCore::PlatformTouchEvent::metaKey):
161         * platform/qt/PlatformTouchEventQt.cpp:
162         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
163
164 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
165
166         Reviewed by Kenneth Rohde Christiansen.
167
168         [Qt] crash when clicking "Sign out" in GMail
169         https://bugs.webkit.org/show_bug.cgi?id=32300
170
171         When the ResourceLoader cancels the handle we have to make sure not to access
172         the resource handle afterwards again.
173         This complete r29515
174
175         * platform/network/qt/QNetworkReplyHandler.cpp:
176         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
177
178 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
179
180         Reviewed by Pavel Feldman.
181
182         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
183         https://bugs.webkit.org/show_bug.cgi?id=32517
184
185         * inspector/front-end/InjectedScript.js:
186         (InjectedScript.evaluateOnSelf):
187         * inspector/front-end/InjectedScriptAccess.js:
188
189 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
190
191         Reviewed by Darin Adler.
192
193         Fix for compilation errors in WML enabled builds.
194
195         https://bugs.webkit.org/show_bug.cgi?id=32481
196
197         * wml/WMLInputElement.cpp:
198         (WebCore::WMLInputElement::setValue):
199         (WebCore::WMLInputElement::setValueForUser):
200         * wml/WMLInputElement.h:
201
202 2009-12-14  Andrei Popescu  <andreip@google.com>
203
204         Reviewed by Darin Adler.
205
206         [Android] Android needs ResourceError, ResourceResponse and
207         ResourceRequest implementation.
208         https://bugs.webkit.org/show_bug.cgi?id=32522
209
210         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
211         No new tests needed, the existing tests should be sufficient.
212
213         * platform/network/android/ResourceError.h: Added.
214         (WebCore::ResourceError::ResourceError):
215         * platform/network/android/ResourceRequest.h: Added.
216         (WebCore::ResourceRequest::ResourceRequest):
217         (WebCore::ResourceRequest::doUpdatePlatformRequest):
218         (WebCore::ResourceRequest::doUpdateResourceRequest):
219         (WebCore::ResourceRequest::setUserGesture):
220         (WebCore::ResourceRequest::getUserGesture):
221         * platform/network/android/ResourceResponse.h: Added.
222         (WebCore::ResourceResponse::ResourceResponse):
223         (WebCore::ResourceResponse::doUpdateResourceResponse):
224
225 2009-12-14  Sam Weinig  <sam@webkit.org>
226
227         Fix the build.
228
229         * page/Geolocation.cpp:
230         * page/Geolocation.h:
231
232 2009-12-13  Sam Weinig  <sam@webkit.org>
233
234         Reviewed by Dan Bernstein.
235
236         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
237         Add client based Geolocation provider
238
239         Add first cut of a client based Geolocation provider. This is guarded by
240         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
241         GeolocationControllerClient interface that no-one currently implements,
242         but will in a subsequent patch.
243
244         * GNUmakefile.am:
245         * WebCore.base.exp:
246         * WebCore.gypi:
247         * WebCore.pro:
248         * WebCore.vcproj/WebCore.vcproj:
249         * WebCore.xcodeproj/project.pbxproj:
250         * WebCoreSources.bkl:
251         * page/Geolocation.cpp:
252         (WebCore::createGeopositionFromGeolocationPosition):
253         (WebCore::createPositionErrorFromGeolocationError):
254         (WebCore::Geolocation::Geolocation):
255         (WebCore::Geolocation::~Geolocation):
256         (WebCore::Geolocation::disconnectFrame):
257         (WebCore::Geolocation::lastPosition):
258         (WebCore::Geolocation::startRequest):
259         (WebCore::Geolocation::fatalErrorOccurred):
260         (WebCore::Geolocation::requestTimedOut):
261         (WebCore::Geolocation::clearWatch):
262         (WebCore::Geolocation::handleError):
263         (WebCore::Geolocation::positionChanged):
264         (WebCore::Geolocation::makeSuccessCallbacks):
265         (WebCore::Geolocation::errorOccurred):
266         (WebCore::Geolocation::geolocationServicePositionChanged):
267         (WebCore::Geolocation::geolocationServiceErrorOccurred):
268         (WebCore::Geolocation::startUpdating):
269         (WebCore::Geolocation::stopUpdating):
270         * page/Geolocation.h:
271         * page/GeolocationController.cpp: Added.
272         (WebCore::GeolocationController::GeolocationController):
273         (WebCore::GeolocationController::~GeolocationController):
274         (WebCore::GeolocationController::addObserver):
275         (WebCore::GeolocationController::removeObserver):
276         (WebCore::GeolocationController::positionChanged):
277         (WebCore::GeolocationController::errorOccurred):
278         (WebCore::GeolocationController::lastPosition):
279         * page/GeolocationController.h: Added.
280         * page/GeolocationControllerClient.h: Added.
281         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
282         * page/GeolocationError.h: Added.
283         (WebCore::GeolocationError::):
284         (WebCore::GeolocationError::create):
285         (WebCore::GeolocationError::code):
286         (WebCore::GeolocationError::message):
287         * page/GeolocationPosition.h: Added.
288         (WebCore::GeolocationPosition::create):
289         (WebCore::GeolocationPosition::timestamp):
290         (WebCore::GeolocationPosition::latitude):
291         (WebCore::GeolocationPosition::longitude):
292         (WebCore::GeolocationPosition::accuracy):
293         (WebCore::GeolocationPosition::altitude):
294         (WebCore::GeolocationPosition::altitudeAccuracy):
295         (WebCore::GeolocationPosition::heading):
296         (WebCore::GeolocationPosition::speed):
297         (WebCore::GeolocationPosition::canProvideAltitude):
298         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
299         (WebCore::GeolocationPosition::canProvideHeading):
300         (WebCore::GeolocationPosition::canProvideSpeed):
301         (WebCore::GeolocationPosition::GeolocationPosition):
302         * page/Geoposition.h:
303         (WebCore::Geoposition::create):
304         * page/Page.cpp:
305         (WebCore::Page::Page):
306         * page/Page.h:
307         (WebCore::Page::geolocationController):
308         * svg/graphics/SVGImage.cpp:
309         (WebCore::SVGImage::dataChanged):
310
311 2009-12-14  Adam Langley  <agl@google.com>
312
313         Reviewed by Darin Adler.
314
315         Test that an image's size is valid before reading it.
316
317         Previously, an image that failed to load (m_failed == true) would
318         trigger an assertion failure when WebKit tried to get its size.
319
320         https://bugs.webkit.org/show_bug.cgi?id=32176
321         http://code.google.com/p/chromium/issues/detail?id=28566
322
323         Test: fast/images/size-failure.html
324
325         * platform/graphics/ImageSource.cpp:
326         (WebCore::ImageSource::createFrameAtIndex):
327
328 2009-12-14  Dan Bernstein  <mitz@apple.com>
329
330         Reviewed by Darin Adler.
331
332         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
333         RenderWidget::setWidgetGeometry()
334
335         Test: fast/forms/defer-updateFromElement.html
336
337         * html/HTMLFormControlElement.cpp:
338         (WebCore::updateFromElementCallback): Added this post-attach callback
339         that invokes updateFromElement().
340         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
341         updateFromElement(), enqueue a post-attach (in this case, post-style
342         recalc) callback to do it. updateFromElement() can cause the selection
343         to change, and in turn trigger synchronous layout, so it must not be
344         called during style recalc.
345
346 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
347
348         Reviewed by Timothy Hatcher.
349
350         Web Inspector: [regression] inspector deletes nodes when editing css.
351
352         Now all the treeoutlines are focusable, sections and their titles
353         are also focusable. Change contains couple of drive-by fixes such as
354         canceling of the attribute edit nuking attr info and maintaining proper
355         selection while deleting nodes.
356
357         https://bugs.webkit.org/show_bug.cgi?id=32460
358
359         * inspector/front-end/CallStackSidebarPane.js:
360         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
361         * inspector/front-end/ConsoleView.js:
362         (WebInspector.ConsoleView.prototype._promptKeyDown):
363         * inspector/front-end/DataGrid.js:
364         (WebInspector.DataGrid.prototype._keyDown):
365         * inspector/front-end/DatabaseQueryView.js:
366         (WebInspector.DatabaseQueryView):
367         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
368         * inspector/front-end/ElementsPanel.js:
369         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
370         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
371         (WebInspector.ElementsPanel.prototype.handleShortcut):
372         * inspector/front-end/ElementsTreeOutline.js:
373         (WebInspector.ElementsTreeOutline):
374         (WebInspector.ElementsTreeOutline.prototype._keyDown):
375         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
376         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
377         * inspector/front-end/Panel.js:
378         (WebInspector.Panel.prototype.show):
379         (WebInspector.Panel.prototype.get defaultFocusedElement):
380         * inspector/front-end/PropertiesSection.js:
381         (WebInspector.PropertiesSection):
382         * inspector/front-end/ScriptsPanel.js:
383         (WebInspector.ScriptsPanel):
384         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
385         (WebInspector.ScriptsPanel.prototype.handleShortcut):
386         * inspector/front-end/SidebarPane.js:
387         (WebInspector.SidebarPane):
388         (WebInspector.SidebarPane.prototype.toggleExpanded):
389         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
390         * inspector/front-end/SourceFrame.js:
391         (WebInspector.SourceFrame.prototype._loaded):
392         * inspector/front-end/TextPrompt.js:
393         (WebInspector.TextPrompt):
394         * inspector/front-end/inspector.css:
395         * inspector/front-end/inspector.html:
396         * inspector/front-end/inspector.js:
397         (WebInspector.loaded):
398         (WebInspector.documentKeyDown):
399         (WebInspector.documentCanCopy):
400         (WebInspector.documentCopy):
401         (WebInspector._searchFieldManualFocus):
402         (WebInspector._searchKeyDown):
403         (WebInspector.startEditing.cleanUpAfterEditing):
404         (WebInspector.startEditing.keyDownEventListener):
405         (WebInspector.startEditing):
406         * inspector/front-end/treeoutline.js:
407         (TreeOutline):
408         (TreeOutline._removeChildAtIndex):
409         (TreeOutline.prototype._treeKeyDown):
410         (TreeElement.prototype.deselect):
411         * inspector/front-end/utilities.js:
412         ():
413
414 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
415
416         Unreviewed, build fix.
417
418         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
419
420         * dom/Document.cpp:
421         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
422         * dom/Document.h: Added JSC guards to wrapper cache-related members.
423
424 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
425
426         Reviewed by Adele Peterson.
427
428         AX: there's an infinite loop going on for some webpages - facebook.com
429         https://bugs.webkit.org/show_bug.cgi?id=32501
430
431         The problem is that parentObjectUnignored() cannot be called
432         while in accessibilityIsIgnored, because it leads to
433         recursiveness. Specifically, there were checks to determine
434         if an object was within a ARIA tree. That check should
435         1) be moved to all platforms, and 2) not call parentObjectUnignored().
436
437         Test: accessibility/hang-in-isignored.html
438
439         * accessibility/AccessibilityRenderObject.cpp:
440         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
441         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
442         * accessibility/AccessibilityRenderObject.h:
443         * accessibility/mac/AccessibilityObjectMac.mm:
444         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
445
446 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
447
448         Reviewed by Dan Bernstein.
449
450         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
451
452         Use MediaControllerThemeQuickTime on Leopard.
453
454         * rendering/RenderThemeMac.mm:
455         (WebCore::mediaControllerTheme):
456
457 2009-12-14  Adam Roben  <aroben@apple.com>
458
459         Move QuartzCore-related build settings into a vsprops file
460
461         Fixes <http://webkit.org/b/32518>
462
463         Reviewed by Dan Bernstein.
464
465         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
466         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
467         other QuartzCore-related build settings from here...
468         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
469
470 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
471
472         Reviewed by Antti Koivisto.
473
474         handling scripts can block UI
475         https://bugs.webkit.org/show_bug.cgi?id=27612
476
477         Break execution of external scrips to smaller chunks. 
478         No new tests since no new functionality was introduced.
479
480         * html/HTMLTokenizer.cpp:
481         (WebCore::HTMLTokenizer::HTMLTokenizer):
482         (WebCore::HTMLTokenizer::reset):
483         (WebCore::HTMLTokenizer::notifyFinished):
484         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
485         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
486         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
487         * html/HTMLTokenizer.h:
488
489 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
490
491         Reviewed by Simon Hausmann.
492
493         [Qt] Connect QNetworkReply via direct connections.
494         https://bugs.webkit.org/show_bug.cgi?id=32113
495
496         In the past we have switched from auto connections to queued
497         connections to get some more stability. The problem with the
498         Queued connections is latency. Even when running simple loading
499         tests the time it takes to runs highly varies and by using
500         direct connections these tests produce a stable result.
501
502         We will have to look out for crashes coming from within the
503         QNetworkAccessManager due this patch and address them then.
504
505         * platform/network/qt/QNetworkReplyHandler.cpp:
506         (WebCore::QNetworkReplyHandler::start):
507
508 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
509
510         Rubber-stamped by Simon Hausmann.
511
512         [Qt] QtWebKit should use QImageReader::setQuality(49)
513         https://bugs.webkit.org/show_bug.cgi?id=30740
514
515         Using QImageReader::setQuality(49) will influence the JPEG
516         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
517         is showing a 5% improvement in a reduction that decodes all images
518         used during the page loading test. The libjpeg documentation mentions
519         that the IFAST routine is not as accurate as other routines but in
520         our tests we couldn't see a difference.
521
522         * platform/graphics/qt/ImageDecoderQt.cpp:
523         (WebCore::ImageDecoderQt::setData):
524
525 2009-11-11  Philippe Normand  <pnormand@igalia.com>
526
527         Reviewed by Oliver Hunt.
528
529         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
530         https://bugs.webkit.org/show_bug.cgi?id=30377
531
532         Emit volumeChanged and durationChanged upon notification from
533         GStreamer.
534
535         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
536         (WebCore::mediaPlayerPrivateMessageCallback):
537         (WebCore::mediaPlayerPrivateVolumeCallback):
538         (WebCore::notify_volume_idle_cb):
539         (WebCore::MediaPlayerPrivate::didEnd):
540         (WebCore::MediaPlayerPrivate::durationChanged):
541         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
542         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
543
544 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
545
546         Reviewed by Sam Weinig.
547         
548         Changed GC from mark-sweep to mark-allocate.
549
550         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
551         * bindings/js/GCController.cpp:
552         (WebCore::collect):
553         (WebCore::GCController::gcTimerFired):
554         (WebCore::GCController::garbageCollectNow): Updated for rename.
555
556         * bindings/js/JSDOMBinding.cpp:
557         (WebCore::removeWrappers):
558         (WebCore::hasCachedDOMObjectWrapperUnchecked):
559         (WebCore::hasCachedDOMObjectWrapper):
560         (WebCore::hasCachedDOMNodeWrapperUnchecked):
561         (WebCore::forgetDOMObject):
562         (WebCore::forgetDOMNode):
563         (WebCore::isObservableThroughDOM):
564         (WebCore::markDOMNodesForDocument):
565         (WebCore::markDOMObjectWrapper):
566         (WebCore::markDOMNodeWrapper):
567         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
568         Don't ASSERT that an item must be in the WeakGCMap when its destructor
569         runs, since it might have been overwritten in the map first.
570
571         * bindings/js/JSDocumentCustom.cpp:
572         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
573         wrapper, to simplify some code.
574
575         * bindings/js/JSInspectedObjectWrapper.cpp:
576         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
577         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
578         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
579         wrappers.
580
581         * bindings/js/JSNodeCustom.cpp:
582         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
583         a DOM node wrapper instead of a DOM object wrapper.
584
585         * bindings/js/JSSVGPODTypeWrapper.h:
586         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
587         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
588         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
589         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
590         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
591         of linear lookup through iteration, since that's what hashtables were
592         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
593         from the table, instead of its JS wrapper, to decouple these objects from
594         GC, and because these objects are refCounted, not solely owned by their
595         JS wrappers.
596
597         * bindings/scripts/CodeGeneratorJS.pm:
598         * dom/Document.h: Adopted changes above.
599
600 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
601
602         Windows build fix: Removed an incorrect #ifdef.
603
604         * bindings/js/GCController.cpp:
605
606 2009-12-13  Charles Reis  <creis@chromium.org>
607
608         Reviewed by Adam Barth.
609
610         Refactor some security code out of V8 bindings
611         https://bugs.webkit.org/show_bug.cgi?id=32326
612
613         No new tests. There should be no functionality changes in this patch,
614         since it is only refactoring code.
615
616         * WebCore.gyp/WebCore.gyp:
617         * WebCore.gypi:
618         * bindings/BindingSecurity.h: Added.
619         (WebCore::BindingSecurity::BindingSecurity):
620         (WebCore::::canAccessWindow):
621         (WebCore::::canAccessFrame):
622         (WebCore::::checkNodeSecurity):
623         * bindings/BindingSecurityBase.cpp: Added.
624         (WebCore::BindingSecurityBase::getDOMWindow):
625         (WebCore::BindingSecurityBase::getFrame):
626         (WebCore::BindingSecurityBase::canAccessWindow):
627         * bindings/BindingSecurityBase.h: Added.
628         * bindings/GenericBinding.h: Added.
629         (WebCore::):
630         * bindings/scripts/CodeGeneratorV8.pm:
631         * bindings/v8/ScriptController.cpp:
632         (WebCore::ScriptController::isSafeScript):
633         * bindings/v8/V8Binding.h:
634         * bindings/v8/V8BindingState.cpp: Added.
635         (WebCore::::Only):
636         (WebCore::::getActiveWindow):
637         (WebCore::::immediatelyReportUnsafeAccessTo):
638         * bindings/v8/V8BindingState.h: Added.
639         (WebCore::):
640         * bindings/v8/V8Proxy.cpp:
641         (WebCore::V8Proxy::reportUnsafeAccessTo):
642         (WebCore::reportUnsafeJavaScriptAccess):
643         * bindings/v8/V8Proxy.h:
644         (WebCore::V8Proxy::):
645         * bindings/v8/custom/V8CustomBinding.cpp:
646         (WebCore::allowSettingFrameSrcToJavascriptUrl):
647         (WebCore::INDEXED_ACCESS_CHECK):
648         (WebCore::NAMED_ACCESS_CHECK):
649         * bindings/v8/custom/V8DOMWindowCustom.cpp:
650         (WebCore::V8Custom::WindowSetTimeoutImpl):
651         (WebCore::ACCESSOR_GETTER):
652         (WebCore::ACCESSOR_SETTER):
653         (WebCore::CALLBACK_FUNC_DECL):
654         (WebCore::V8Custom::ClearTimeoutImpl):
655         (WebCore::NAMED_ACCESS_CHECK):
656         (WebCore::INDEXED_ACCESS_CHECK):
657         * bindings/v8/custom/V8LocationCustom.cpp:
658         (WebCore::ACCESSOR_GETTER):
659         (WebCore::CALLBACK_FUNC_DECL):
660         (WebCore::INDEXED_ACCESS_CHECK):
661         (WebCore::NAMED_ACCESS_CHECK):
662
663 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
664
665         Reviewed by Simon Hausmann.
666
667         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
668         https://bugs.webkit.org/show_bug.cgi?id=31849
669
670         Qt allows to have three connections per host on Symbian, for
671         every other platform the limit is set to six connections per
672         host but the default implementation will only schedule four
673         connections per host.
674         In a manual test we seem to get the best loading speed by
675         going with Qt's limit and schedule two more jobs to allow Qt
676         to prepare them.
677
678         * platform/network/ResourceRequestBase.cpp:
679         * platform/network/qt/ResourceRequestQt.cpp:
680         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
681
682 2009-12-13  Dan Bernstein  <mitz@apple.com>
683
684         Reviewed by Simon Fraser.
685
686         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
687         handling misnested residual style tags
688
689         Test: fast/parser/residual-style-close-ref-clone.html
690
691         * html/HTMLParser.cpp:
692         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
693         block stack a strong reference to the cloned residual style element. 
694
695 2009-12-13  Adele Peterson  <adele@apple.com>
696
697         Reviewed by Sam Weinig.
698
699         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
700         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
701         https://bugs.webkit.org/show_bug.cgi?id=32078
702
703         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
704
705 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
706
707         Reviewed by Eric Seidel.
708
709         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
710         https://bugs.webkit.org/show_bug.cgi?id=31802
711
712         The goal here is to allow for a zero runtime hit for ports that decide to select
713         the API at compile time.
714         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
715         at runtime.  Core Text is used for OS Versions >= 10.6.
716
717         No test since this is already covered by existing pixel tests.
718
719         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
720         * platform/graphics/mac/ComplexTextController.cpp:
721         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
722         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
723         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
724         to ATSUI/Core text variants.
725         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
726         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
727         * platform/graphics/mac/ComplexTextController.h:
728         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
729         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
730         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
731         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
732         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
733         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
734         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
735         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
736
737 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
738
739         No review, rolling out r52059 until I can generate new Tiger
740         test results.
741
742         * rendering/RenderThemeMac.mm:
743         (WebCore::mediaControllerTheme):
744
745 2009-12-12  Sam Weinig  <sam@webkit.org>
746
747         Rubber-stamped by Dan Bernstein.
748
749         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
750
751         * Configurations/WebCore.xcconfig:
752         * page/EventHandler.cpp:
753         (WebCore::EventHandler::EventHandler):
754         (WebCore::EventHandler::clearDragState):
755         * page/mac/DragControllerMac.mm:
756         (WebCore::DragController::isCopyKeyDown):
757         * page/mac/EventHandlerMac.mm:
758         (WebCore::EventHandler::eventActivatedView):
759         * platform/PlatformKeyboardEvent.h:
760         * platform/PlatformMouseEvent.h:
761         * platform/PlatformWheelEvent.h:
762         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
763         * platform/ScrollView.cpp:
764         (WebCore::ScrollView::wheelEvent):
765         * platform/mac/KeyEventMac.mm:
766         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
767         * platform/mac/PlatformMouseEventMac.mm:
768         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
769         * platform/mac/PopupMenuMac.mm:
770         (WebCore::PopupMenu::show):
771         * platform/mac/WidgetMac.mm:
772
773 2009-12-12  Sam Weinig  <sam@webkit.org>
774
775         Rubber-stamped by Dan Bernstein.
776
777         Fix the !ENABLE(VIDEO) build.
778
779         * rendering/RenderLayerCompositor.cpp:
780         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
781
782 2009-12-12  Sam Weinig  <sam@webkit.org>
783
784         Rubber-stamped by Dan Bernstein.
785
786         Fix the !ENABLE(DATABASE) build.
787
788         * storage/SQLTransactionClient.cpp:
789         * storage/SQLTransactionClient.h:
790         * storage/SQLTransactionCoordinator.cpp:
791         * storage/SQLTransactionCoordinator.h:
792         * loader/FrameLoader.cpp:
793         (WebCore::FrameLoader::stopLoading):
794
795 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
796
797         Reviewed by Dan Bernstein.
798
799         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
800
801         Use MediaControllerThemeQuickTime on Leopard.
802
803         * rendering/RenderThemeMac.mm:
804         (WebCore::mediaControllerTheme):
805
806 2009-12-12  Kenneth Russell  <kbr@google.com>
807
808         Reviewed by Oliver Hunt.
809
810         Errors in WebGL[T]Array set() and get() methods
811         https://bugs.webkit.org/show_bug.cgi?id=32456
812
813         Test: fast/canvas/webgl/bug-32456.html
814
815         * bindings/js/JSWebGLFloatArrayCustom.cpp:
816         (WebCore::JSWebGLFloatArray::set):
817         * bindings/js/JSWebGLIntArrayCustom.cpp:
818         (WebCore::JSWebGLIntArray::set):
819         * bindings/js/JSWebGLShortArrayCustom.cpp:
820         (WebCore::JSWebGLShortArray::set):
821         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
822         (WebCore::JSWebGLUnsignedByteArray::set):
823         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
824         (WebCore::JSWebGLUnsignedIntArray::set):
825         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
826         (WebCore::JSWebGLUnsignedShortArray::set):
827         * bindings/v8/custom/V8WebGLArrayCustom.h:
828         (WebCore::setWebGLArray):
829         * html/canvas/WebGLFloatArray.idl:
830         * html/canvas/WebGLUnsignedIntArray.idl:
831
832 2009-12-12  Kenneth Russell  <kbr@google.com>
833
834         Reviewed by Oliver Hunt.
835
836         Update WebGL tests to released versions
837         https://bugs.webkit.org/show_bug.cgi?id=32457
838
839         * manual-tests/webgl/Earth.html:
840         * manual-tests/webgl/ManyPlanetsDeep.html:
841         * manual-tests/webgl/SpinningBox.html:
842         * manual-tests/webgl/TeapotPerPixel.html:
843         * manual-tests/webgl/TeapotPerVertex.html:
844         * manual-tests/webgl/resources/CanvasMatrix.js:
845         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
846         * manual-tests/webgl/resources/utils3d.js:
847         (initWebGL.gl.console.window.console.log):
848         (initWebGL):
849         (loadShader):
850         (makeBox):
851         (makeSphere):
852         (processLoadObj):
853         (doLoadObj):
854         (doLoadImageTexture):
855
856 2009-12-12  Christian Dywan  <christian@twotoasts.de>
857
858         Reviewed by Dirk Schulze.
859
860         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
861
862         * platform/graphics/filters/FEComponentTransfer.h:
863
864 2009-12-12  Christian Dywan  <christian@twotoasts.de>
865
866         Rubber-stamped by Maciej Stachowiak.
867
868         Only include SVGFEDisplacementMap.h if SVG is enabled.
869
870         * platform/graphics/filters/FEComponentTransfer.h:
871
872 2009-12-12  Dirk Schulze  <krit@webkit.org>
873
874         Reviewed by Eric Seidel.
875
876         [Cairo][Qt] Alpha blending in SVG filters is wrong
877         https://bugs.webkit.org/show_bug.cgi?id=32427
878
879         This patch is a follow-up to:
880         http://trac.webkit.org/changeset/51950
881         It fixes the alpha blending for Cairo and Qt on SVG Filters.
882
883         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
884                     * LayoutTests/svg/filters/feComposite.svg
885                      and others.
886
887         * platform/graphics/cairo/ImageBufferCairo.cpp:
888         (WebCore::ImageBuffer::platformTransformColorSpace):
889         * platform/graphics/qt/ImageBufferQt.cpp:
890         (WebCore::ImageBuffer::platformTransformColorSpace):
891
892 2009-12-11  Eric Roman  <eroman@chromium.org>
893
894         Unreviewed build fix.
895
896         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
897
898         * bindings/v8/ScriptController.cpp:
899         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
900         * bindings/v8/ScriptController.h:
901
902 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
903
904         Unreviewed, build fix.
905
906         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
907
908         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
909         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
910           to the submit method.
911
912 2009-12-11  Sam Weinig  <sam@webkit.org>
913
914         Reviewed by Mark Rowe.
915
916         Put -umbrella linker flag into a variable so that it can be overridden.
917
918         * Configurations/WebCore.xcconfig:
919
920 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
921
922         Reviewed by Darin Adler.
923
924         body with display:inline causes crash
925         https://bugs.webkit.org/show_bug.cgi?id=32371
926
927         Tests: fast/inline/inline-body-crash.html
928                fast/inline/inline-body-with-scrollbar-crash.html
929
930         * page/FrameView.cpp:
931         (WebCore::FrameView::createScrollbar):
932         (WebCore::FrameView::layout):
933
934 2009-12-11  Brady Eidson  <beidson@apple.com>
935
936         Rubberstamped by Sam Weinig.
937
938         https://webkit.org/b/22851 - Remove defunct FIXME.
939
940         * html/HTMLPlugInElement.cpp:
941         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
942           from the HTMLFrameOwnerElement chain of classes.
943
944 2009-12-11  Darin Adler  <darin@apple.com>
945
946         Reviewed by Dan Bernstein.
947
948         Small refactoring to get rid of some extra unneeded selection-related work
949         in RenderLayer::scrollToOffset and separate caret and range selection
950         logic in FrameView::layout. This may be useful later when changing how
951         the range selection logic works to fix layout reentrancy problems.
952
953         * page/Frame.cpp: Removed invalidateSelection.
954         * page/Frame.h: Ditto.
955
956         * page/FrameView.cpp:
957         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
958         and Frame::selectionLayoutChanged instead of calling
959         Frame::invalidateSelection, which was just a function that called
960         both of those others.
961
962         * rendering/RenderLayer.cpp:
963         (WebCore::RenderLayer::scrollToOffset): Call
964         SelectionController::setNeedsLayout instead of calling
965         Frame::invalidateSelection. This call site only needs the caret-related
966         work in that first function, not the other work formerly done by
967         Frame::invalidateSelection. The caret works outside the normal
968         painting and rendering system, and the range selection highlight is
969         more or less inside it and doesn't need special handling when scrolling.
970
971 2009-12-11  Brady Eidson  <beidson@apple.com>
972
973         Reviewed by Darin Adler.
974
975         <rdar://problem/7342725> and https://webkit.org/b/32383
976         Selecting article text at sfgate.com results in spurious back/forward entries
977
978         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
979         
980         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
981         but has a bug that prevents this.
982
983         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
984
985         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
986
987         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
988                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
989
990         Capture whether the form was submitted by javascript:
991         * loader/FormState.cpp:
992         (WebCore::FormState::FormState):
993         (WebCore::FormState::create):
994         * loader/FormState.h:
995         (WebCore::FormState::formSubmissionTrigger):
996
997         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
998         * loader/RedirectScheduler.cpp:
999         (WebCore::RedirectScheduler::scheduleFormSubmission):
1000
1001         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
1002         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
1003         * bindings/js/JSHTMLFormElementCustom.cpp:
1004         (WebCore::JSHTMLFormElement::submit):
1005         * html/HTMLFormElement.cpp:
1006         (WebCore::HTMLFormElement::prepareSubmit):
1007         (WebCore::HTMLFormElement::submit):
1008         * html/HTMLFormElement.h:
1009
1010 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
1011
1012         Reviewed by Darin Adler.
1013
1014         https://bugs.webkit.org/show_bug.cgi?id=32445
1015         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
1016
1017         * css/CSSImportRule.cpp:
1018         (WebCore::CSSImportRule::setCSSStyleSheet):
1019         * html/HTMLLinkElement.cpp:
1020         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1021         Add a quirk for mcafee.com/japan (http or https, with or without www).
1022
1023 2009-12-11  Sam Weinig  <sam@webkit.org>
1024
1025         Reviewed by Dan Bernstein.
1026
1027         Make PlatformWheelEvent.h private instead of project.
1028
1029         * WebCore.xcodeproj/project.pbxproj:
1030
1031 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1032
1033         Reviewed by Darin Adler.
1034
1035         Support reflections on composited layers
1036         https://bugs.webkit.org/show_bug.cgi?id=31885
1037         
1038         First part of supporting composited reflections on compositing layers.
1039         
1040         Rename the m_transformLayer member variable to m_structuralLayer, since it
1041         will get used both for transform layers (for preserve-3d) and to hold a flattening
1042         layer related to reflections, both of which have similar requirements, and are
1043         mutually exclusive.
1044
1045         * platform/graphics/mac/GraphicsLayerCA.h:
1046         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
1047         a CALayer, since m_structuralLayer isn't always a WebLayer.
1048         
1049         * platform/graphics/mac/GraphicsLayerCA.mm:
1050         (WebCore::GraphicsLayerCA::commitLayerChanges):
1051         updateLayerPreserves3D() renamed to updateStructuralLayer()
1052         
1053         (WebCore::GraphicsLayerCA::updateLayerNames):
1054         New "update" method for updating layer names.
1055         
1056         (WebCore::GraphicsLayerCA::updateSublayerList):
1057         m_transformLayer -> m_structuralLayer. Also minor refactor to only
1058         allocate newSublayers in one place.
1059         
1060         (WebCore::GraphicsLayerCA::updateLayerSize):
1061         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
1062         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
1063         (WebCore::GraphicsLayerCA::layerForSuperlayer):
1064         m_transformLayer -> m_structuralLayer
1065         
1066         (WebCore::GraphicsLayerCA::updateStructuralLayer):
1067         Call ensureStructuralLayer() which handles any deltas to the
1068         structural layer type.
1069         
1070         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1071         Handle changes to the structural layer requirements
1072         
1073         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
1074         Return an enum describing the purpose of the structural layer; for now
1075         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
1076         will in future also have a value related to reflections.
1077
1078 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1079
1080         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1081
1082         * page/animation/KeyframeAnimation.cpp:
1083         (WebCore::KeyframeAnimation::pauseAnimation):
1084
1085 2009-12-11  Adam Roben  <aroben@apple.com>
1086
1087         Windows build fix
1088
1089         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
1090         non-existent header.
1091
1092 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1093
1094         Build fix, no review.
1095
1096         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1097
1098         * page/animation/KeyframeAnimation.cpp:
1099         (WebCore::KeyframeAnimation::startAnimation):
1100
1101 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1102
1103         Build fix, no review.
1104
1105         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1106
1107         * page/animation/ImplicitAnimation.cpp:
1108         (WebCore::ImplicitAnimation::startAnimation):
1109
1110 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1111
1112         Reviewed by Darin Adler.
1113
1114         Negative values for animation-delay are ignored (treated as zero)
1115         https://bugs.webkit.org/show_bug.cgi?id=26150
1116         
1117         When we get the m_startTime for an animation or transition, subtract any negative
1118         delay so the animation/transition behaves like it started in the past, per spec.
1119
1120         Tests: animations/negative-delay.html
1121                transitions/negative-delay.html
1122
1123         * page/animation/AnimationBase.cpp:
1124         (WebCore::AnimationBase::updateStateMachine):
1125
1126 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1127
1128         Reviewed by Dan Bernstein.
1129
1130         Accelerated transitions broken when mixed with paused animations
1131         https://bugs.webkit.org/show_bug.cgi?id=32387
1132
1133         Synchronization of a mixture of accelerated and software animations occurs via
1134         a callback from GraphicsLayerCA, which ends up in
1135         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
1136         the exact time at which the accelerated animations started, so is used as the
1137         start time for all animations and transitions which are marked as waiting.
1138
1139         The bug was that the callback called when re-starting animations that were
1140         paused sent back an old time value, but this was used to start normal
1141         transitions. Therefore the transition would start with a stale start time, and
1142         thus end prematurely.
1143
1144         The fix is to change the way that GraphicsLayerCA handles paused animations.
1145         Rather than setting the beginTime of the animation, it uses a beginTime of 0
1146         and a timeOffset that gets passed down. Thus the callbacks always come with
1147         beginTime for 'now'.
1148
1149         Also clarify the role of AnimationBase::endAnimation() by splitting it into
1150         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
1151         beginTimes when starting and pausing.
1152
1153         Manual test only, because the bug requires a non-trivial combination of
1154         animation pausing and transitions which take time, and the bug only shows in
1155         pixel results.
1156         
1157         * manual-tests/animation/transitions-and-paused-animations.html
1158
1159         * page/animation/AnimationBase.cpp:
1160         (WebCore::AnimationBase::updateStateMachine):
1161         * page/animation/AnimationBase.h:
1162         (WebCore::AnimationBase::startAnimation):
1163         (WebCore::AnimationBase::pauseAnimation):
1164         (WebCore::AnimationBase::endAnimation):
1165         * page/animation/ImplicitAnimation.cpp:
1166         (WebCore::ImplicitAnimation::~ImplicitAnimation):
1167         (WebCore::ImplicitAnimation::startAnimation):
1168         (WebCore::ImplicitAnimation::endAnimation):
1169         (WebCore::ImplicitAnimation::onAnimationEnd):
1170         * page/animation/ImplicitAnimation.h:
1171         (WebCore::ImplicitAnimation::pauseAnimation):
1172         * page/animation/KeyframeAnimation.cpp:
1173         (WebCore::KeyframeAnimation::~KeyframeAnimation):
1174         (WebCore::KeyframeAnimation::startAnimation):
1175         (WebCore::KeyframeAnimation::pauseAnimation):
1176         (WebCore::KeyframeAnimation::endAnimation):
1177         (WebCore::KeyframeAnimation::onAnimationEnd):
1178         * page/animation/KeyframeAnimation.h:
1179         * platform/graphics/GraphicsLayer.h:
1180         (WebCore::GraphicsLayer::addAnimation):
1181         (WebCore::GraphicsLayer::pauseAnimation):
1182         * platform/graphics/mac/GraphicsLayerCA.h:
1183         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
1184         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
1185         * platform/graphics/mac/GraphicsLayerCA.mm:
1186         (WebCore::GraphicsLayerCA::addAnimation):
1187         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
1188         (WebCore::GraphicsLayerCA::pauseAnimation):
1189         (WebCore::GraphicsLayerCA::updateLayerAnimations):
1190         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1191         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
1192         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
1193         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1194         * rendering/RenderLayerBacking.cpp:
1195         (WebCore::RenderLayerBacking::startAnimation):
1196         (WebCore::RenderLayerBacking::startTransition):
1197         (WebCore::RenderLayerBacking::animationPaused):
1198         * rendering/RenderLayerBacking.h:
1199
1200 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
1201
1202         Reviewed by Darin Adler.
1203
1204         Fixes <http://webkit.org/b/32399>.
1205         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
1206         
1207         When we initially figure out the layer that we should begin scrolling, don't try to jump out
1208         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
1209         don't need that logic anymore.
1210         
1211         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
1212         iFrame that has a scrollable owner document.
1213
1214         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
1215
1216         * dom/Node.cpp:
1217         (WebCore::Node::defaultEventHandler):
1218
1219 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
1220
1221         Reviewed by Adam Roben.
1222
1223         Fixes <http://webkit.org/b/32303>.
1224         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
1225         
1226         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
1227         We get two wins out of this:
1228             1) Mousedown DOM events are now fired before pan scrolling.
1229             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
1230         
1231         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
1232         that when event.preventDefault is called, pan scrolling doesn't happen.
1233
1234         Tests: platform/win/fast/events/panScroll-event-fired.html
1235                platform/win/fast/events/panScroll-preventDefault.html
1236
1237         * dom/Node.cpp:
1238         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
1239         * page/EventHandler.cpp:
1240         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
1241         (WebCore::EventHandler::handleMousePressEvent): From here.
1242         * page/EventHandler.h:
1243
1244 2009-12-11  Chris Marrin  <cmarrin@apple.com>
1245
1246         Reviewed by Adam Roben.
1247
1248         Delay load DLLs for accelerated compositing
1249         https://bugs.webkit.org/show_bug.cgi?id=31856
1250         
1251         Change calls that use the data export symbols from
1252         QuartzCore to use the functions in QuartzCoreInterface.
1253         This allows QuartzCore to be delay loaded.
1254
1255         * platform/graphics/win/GraphicsLayerCACF.cpp:
1256         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
1257         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
1258         (WebCore::GraphicsLayerCACF::updateContentsImage):
1259         * platform/graphics/win/WKCACFLayer.cpp:
1260         (WebCore::toCACFLayerType):
1261         (WebCore::toCACFContentsGravityType):
1262         (WebCore::fromCACFContentsGravityType):
1263         (WebCore::toCACFFilterType):
1264         (WebCore::fromCACFFilterType):
1265         (WebCore::WKCACFLayer::create):
1266         (WebCore::WKCACFLayer::WKCACFLayer):
1267         (WebCore::WKCACFLayer::setContentsGravity):
1268         (WebCore::WKCACFLayer::contentsGravity):
1269         (WebCore::WKCACFLayer::setMagnificationFilter):
1270         (WebCore::WKCACFLayer::magnificationFilter):
1271         (WebCore::WKCACFLayer::setMinificationFilter):
1272         (WebCore::WKCACFLayer::minificationFilter):
1273         * platform/graphics/win/WKCACFLayer.h:
1274         (WebCore::WKCACFLayer::):
1275         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1276         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
1277         (WebCore::WKCACFLayerRenderer::createRenderer):
1278
1279 2009-12-11  Steve Block  <steveblock@google.com>
1280
1281         Reviewed by Darin Fisher.
1282
1283         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
1284         https://bugs.webkit.org/show_bug.cgi?id=31810
1285
1286         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
1287             of initializeMaximumHTTPConnectionCountPerHost for Android.
1288         * platform/network/android: Added.
1289         * platform/network/android/ResourceRequestAndroid.cpp: Added.
1290         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
1291
1292 2009-12-11  Kent Tamura  <tkent@chromium.org>
1293
1294         Reviewed by Darin Fisher.
1295
1296         Add acceptTypes() method to FileChooser.
1297         https://bugs.webkit.org/show_bug.cgi?id=32429
1298
1299         This method returns an 'accept' attribute value of the
1300         corresponding INPUT element. A ChromeClient::runOpenPanel()
1301         implementation can refer it through a FileChooser instance to
1302         support type-restricted file selecting.
1303
1304         This makes no user-visible changes for now.
1305
1306         * platform/FileChooser.h:
1307         (WebCore::FileChooser::acceptTypes):
1308         * rendering/RenderFileUploadControl.cpp:
1309         (WebCore::RenderFileUploadControl::acceptTypes):
1310         * rendering/RenderFileUploadControl.h:
1311
1312 2009-12-11  Victor Wang  <victorw@chromium.org>
1313
1314         Reviewed by Darin Fisher.
1315
1316         Changed PopupMenuChromium to keep the value selected from
1317         keyboard when popup is closed.
1318
1319         The problem is Chromium does not fire the onchange event
1320         when the popup is closed if an item is selected via
1321         keyboard by typing the first char of the item. This makes
1322         chromium popup not having consistent behaviours and also
1323         behaves differently from other major browsers.
1324         Calling popup->hide() instead of popup->hidePopup() in
1325         PopupMenu fixes the issues as it does extra step to check
1326         whethere there is a keyboard selection changed when closing
1327         the popup.
1328
1329         https://bugs.webkit.org/show_bug.cgi?id=32403
1330     
1331         TEST: add a manual test as the current layout test shell
1332         does not support sending keyboard events to popup list.
1333
1334         * manual-tests/chromium/select-close-popup-value-change.html: Added.
1335         * platform/chromium/PopupMenuChromium.cpp:
1336         (WebCore::PopupMenu::hide):
1337
1338 2009-12-11  anton muhin  <antonm@chromium.org>
1339
1340         Reviewed by Adam Barth.
1341
1342         [v8] refactor WeakReferenceMap.
1343         Move common bits of functionality to reduce duplication.
1344
1345         https://bugs.webkit.org/show_bug.cgi?id=32389
1346
1347         Should be covered by buildbots.
1348
1349         * bindings/v8/DOMData.h:
1350         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
1351         (WebCore::DOMData::handleWeakObject):
1352         (WebCore::DOMData::removeObjectsFromWrapperMap):
1353         * bindings/v8/DOMDataStore.cpp:
1354         (WebCore::DOMDataStore::weakDOMObjectCallback):
1355         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
1356         (WebCore::DOMDataStore::weakNodeCallback):
1357         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
1358         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
1359         * bindings/v8/DOMDataStore.h:
1360         * bindings/v8/V8DOMMap.cpp:
1361         (WebCore::visitDOMNodesInCurrentThread):
1362         (WebCore::visitDOMObjectsInCurrentThread):
1363         (WebCore::visitActiveDOMObjectsInCurrentThread):
1364         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
1365         (WebCore::visitSVGObjectsInCurrentThread):
1366         * bindings/v8/V8DOMMap.h:
1367         (WebCore::WeakReferenceMap::removeIfPresent):
1368         (WebCore::WeakReferenceMap::clear):
1369         (WebCore::WeakReferenceMap::visit):
1370
1371 2009-12-11  anton muhin  <antonm@chromium.org>
1372         Reviewed by Adam Barth.
1373
1374         [v8] in Debug builds create an additional handle scope
1375         when doing debug build checks.
1376         https://bugs.webkit.org/show_bug.cgi?id=32335
1377
1378         Should be covered by buildbots.
1379
1380         * bindings/v8/V8DOMWrapper.h:
1381         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
1382         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
1383
1384 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
1385
1386         Reviewed by Timothy Hatcher.
1387
1388         Web Inspector: Do not use ContextMenuItem as value type in custom
1389         context menu implementation.
1390
1391         https://bugs.webkit.org/show_bug.cgi?id=32411
1392
1393         * GNUmakefile.am:
1394         * WebCore.gypi:
1395         * WebCore.pro:
1396         * WebCore.vcproj/WebCore.vcproj:
1397         * WebCore.xcodeproj/project.pbxproj:
1398         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1399         (WebCore::JSInspectorFrontendHost::showContextMenu):
1400         * inspector/InspectorFrontendHost.cpp:
1401         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1402         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
1403         (WebCore::InspectorFrontendHost::showContextMenu):
1404         (WebCore::InspectorFrontendHost::contextMenuCleared):
1405         * inspector/InspectorFrontendHost.h:
1406         (WebCore::InspectorFrontendHost::MenuProvider::create):
1407         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
1408         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
1409         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
1410         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
1411         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
1412         * page/ContextMenuController.cpp:
1413         (WebCore::ContextMenuController::ContextMenuController):
1414         (WebCore::ContextMenuController::clearContextMenu):
1415         (WebCore::ContextMenuController::showContextMenu):
1416         (WebCore::ContextMenuController::contextMenuItemSelected):
1417         * page/ContextMenuController.h:
1418         * page/ContextMenuProvider.h: Added.
1419         (WebCore::ContextMenuProvider::~ContextMenuProvider):
1420         * page/ContextMenuSelectionHandler.h: Removed.
1421
1422 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
1423
1424         Reviewed by Antti Koivisto.
1425
1426         Basic cross-platform implementation of mapping platform touch events
1427         to JavaScript touch events.
1428
1429         https://bugs.webkit.org/show_bug.cgi?id=32114
1430
1431         Test: fast/events/basic-touch-events.html
1432
1433         * page/EventHandler.cpp:
1434         (WebCore::EventHandler::handleTouchEvent):
1435         * page/EventHandler.h:
1436
1437 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
1438
1439         Reviewed by Darin Adler.
1440
1441         Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
1442         https://bugs.webkit.org/show_bug.cgi?id=32110
1443
1444         Inherits the following class from Noncopyable because it is
1445         instantiated by 'new' and no need to be copyable:
1446
1447         class name              - instantiated at: WebCore/'location'
1448
1449         class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
1450
1451         * loader/FrameLoaderClient.h:
1452
1453 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
1454
1455         Reviewed by Darin Adler.
1456
1457         Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
1458         https://bugs.webkit.org/show_bug.cgi?id=32106
1459
1460         Inherits the following classes from Noncopyable because these are instantiated 
1461         by 'new' and no need to be copyable:
1462
1463         class/struct name            - instantiated at: WebCore/'location'
1464
1465         class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
1466         class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
1467         class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
1468
1469         * svg/graphics/SVGImage.cpp:
1470         * loader/EmptyClients.h:
1471
1472 2009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
1473
1474         Reviewed by Darin Adler.
1475
1476         The values of RuntimeArray are not enumerable
1477         https://bugs.webkit.org/show_bug.cgi?id=29005
1478
1479         The indices of RuntimeArray should be enumerated like for a regular array.
1480
1481         * bridge/runtime_array.cpp:
1482         (JSC::RuntimeArray::getOwnPropertyNames):
1483         * bridge/runtime_array.h:
1484
1485 2009-12-11  Andreas Kling  <andreas.kling@nokia.com>
1486
1487         Reviewed by Simon Hausmann.
1488
1489         [Qt] ImageDecoderQt: Fix retrieval of image file extensions
1490
1491         QImageReader only allows retrieving the format() before actually reading the image.
1492
1493         https://bugs.webkit.org/show_bug.cgi?id=32428
1494
1495         * platform/graphics/qt/ImageDecoderQt.cpp:
1496         (WebCore::ImageDecoderQt::setData):
1497         (WebCore::ImageDecoderQt::internalDecodeSize):
1498
1499 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
1500
1501         Reviewed by Antti Koivisto.
1502
1503         Added interfaces for touch event support in JavaScript.
1504
1505         https://bugs.webkit.org/show_bug.cgi?id=32114
1506
1507         The Touch, TouchEvent and TouchList interfaces come straight from
1508         Android's copy of WebKit (eclaire branch).
1509
1510         The PlatformTouchEvent and PlatformTouchPoint code was written by
1511         us.
1512
1513         No new tests added, we are just adding interfaces
1514         with this patch.
1515
1516         * WebCore.pro:
1517         * bindings/js/JSEventCustom.cpp:
1518         (WebCore::toJS):
1519         * dom/Document.cpp:
1520         (WebCore::Document::addListenerTypeIfNeeded):
1521         * dom/Document.h:
1522         (WebCore::Document::):
1523         * dom/Document.idl:
1524         * dom/Element.h:
1525         * dom/Element.idl:
1526         * dom/Event.cpp:
1527         (WebCore::Event::isTouchEvent):
1528         * dom/Event.h:
1529         * dom/EventNames.h:
1530         * dom/Touch.cpp: Added.
1531         (WebCore::contentsX):
1532         (WebCore::contentsY):
1533         (WebCore::Touch::Touch):
1534         (WebCore::Touch::updateLocation):
1535         * dom/Touch.h: Added.
1536         (WebCore::Touch::create):
1537         (WebCore::Touch::frame):
1538         (WebCore::Touch::target):
1539         (WebCore::Touch::identifier):
1540         (WebCore::Touch::clientX):
1541         (WebCore::Touch::clientY):
1542         (WebCore::Touch::screenX):
1543         (WebCore::Touch::screenY):
1544         (WebCore::Touch::pageX):
1545         (WebCore::Touch::pageY):
1546         * dom/Touch.idl: Added.
1547         * dom/TouchEvent.cpp: Added.
1548         (WebCore::TouchEvent::TouchEvent):
1549         (WebCore::TouchEvent::initTouchEvent):
1550         * dom/TouchEvent.h: Added.
1551         (WebCore::TouchEvent::create):
1552         (WebCore::TouchEvent::touches):
1553         (WebCore::TouchEvent::targetTouches):
1554         (WebCore::TouchEvent::changedTouches):
1555         (WebCore::TouchEvent::TouchEvent):
1556         (WebCore::TouchEvent::isTouchEvent):
1557         * dom/TouchEvent.idl: Added.
1558         * dom/TouchList.cpp: Added.
1559         (WebCore::TouchList::item):
1560         * dom/TouchList.h: Added.
1561         (WebCore::TouchList::create):
1562         (WebCore::TouchList::length):
1563         (WebCore::TouchList::append):
1564         (WebCore::TouchList::TouchList):
1565         * dom/TouchList.idl: Added.
1566         * html/HTMLAttributeNames.in:
1567         * html/HTMLElement.cpp:
1568         (WebCore::HTMLElement::parseMappedAttribute):
1569         * page/DOMWindow.h:
1570         * page/DOMWindow.idl:
1571         * platform/PlatformTouchEvent.h: Added.
1572         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1573         (WebCore::PlatformTouchEvent::touchPoints):
1574         * platform/PlatformTouchPoint.h: Added.
1575         (WebCore::PlatformTouchPoint::):
1576         (WebCore::PlatformTouchPoint::id):
1577         (WebCore::PlatformTouchPoint::state):
1578         (WebCore::PlatformTouchPoint::screenPos):
1579         (WebCore::PlatformTouchPoint::pos):
1580         * platform/qt/PlatformTouchEventQt.cpp: Added.
1581         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1582         * platform/qt/PlatformTouchPointQt.cpp: Added.
1583         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
1584
1585 2009-12-11  Grace Kloba  <klobag@gmail.com>
1586
1587         Reviewed by Darin Adler.
1588
1589         [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
1590         HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
1591         HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
1592         when HistoryItem is deleted to avoid potential crash.
1593         https://bugs.webkit.org/show_bug.cgi?id=32251
1594
1595         * history/HistoryItem.cpp:
1596         (WebCore::HistoryItem::~HistoryItem):
1597         * history/android/AndroidWebHistoryBridge.h:
1598         (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
1599         (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
1600
1601
1602 2009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
1603
1604         Reviewed by Pavel Feldman.
1605
1606         Log WebSocket error to Web Inspector console.
1607         https://bugs.webkit.org/show_bug.cgi?id=32165
1608
1609         * websockets/WebSocketChannel.cpp:
1610         (WebCore::WebSocketChannel::didOpen):
1611         (WebCore::WebSocketChannel::appendToBuffer):
1612         * websockets/WebSocketHandshake.cpp:
1613         (WebCore::WebSocketHandshake::readServerHandshake):
1614         (WebCore::WebSocketHandshake::readHTTPHeaders):
1615         (WebCore::WebSocketHandshake::checkResponseHeaders):
1616
1617 2009-12-10  Adam Barth  <abarth@webkit.org>
1618
1619         Reviewed by Darin Adler.
1620
1621         Mixed content shouldn't trigger for plug-ins without URLs
1622         https://bugs.webkit.org/show_bug.cgi?id=32384
1623
1624         These plug-ins cannot be controlled by active network attackers, so
1625         there's no reason to trigger a mixed content warning.
1626
1627         Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
1628
1629         * loader/FrameLoader.cpp:
1630         (WebCore::FrameLoader::isMixedContent):
1631
1632 2009-12-10  Alexey Proskuryakov  <ap@apple.com>
1633
1634         Reviewed by Darin Adler.
1635
1636         https://bugs.webkit.org/show_bug.cgi?id=32140
1637         REGRESSION(r50072): Mailman administrative functionality is broken
1638
1639         Test: http/tests/misc/percent-sign-in-form-field-name.html
1640
1641         * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent
1642         sign, we never had a good reason to do that.
1643
1644 2009-12-10  Kent Hansen  <kent.hansen@nokia.com>
1645
1646         Reviewed by Geoffrey Garen.
1647
1648         Remove getPropertyAttributes() from JavaScript bindings.
1649         https://bugs.webkit.org/show_bug.cgi?id=31933
1650
1651         The functionality is provided by getOwnPropertyDescriptor().
1652
1653         * WebCore.order:
1654         * bindings/js/JSDOMWindowCustom.cpp:
1655         * bindings/js/JSDOMWindowShell.cpp:
1656         * bindings/js/JSDOMWindowShell.h:
1657         * bindings/scripts/CodeGeneratorJS.pm:
1658         * page/DOMWindow.idl:
1659
1660 2009-12-10  Kenneth Russell  <kbr@google.com>
1661
1662         Reviewed by Oliver Hunt.
1663
1664         Changed WebGLRenderingContext to synthesize GL errors rather than
1665         raising JavaScript exceptions. Removed internal getError() calls
1666         after each graphics call. The GraphicsContext3D maintains the
1667         synthetic exceptions because only it has complete information
1668         about certain conditions requiring them to be raised.
1669
1670         Based on idea from Ilmari Heikkinen, added create3DDebugContext()
1671         to webgl-test.js and changed the WebGL layout tests expecting
1672         error conditions to use it. Updated expected.txt files, which now
1673         implicitly test the OpenGL error as it is part of the exception's
1674         message.
1675
1676         Added new targeted test covering aspects of synthetic errors as
1677         well as regression tests for bugs uncovered during its development.
1678
1679         Test: fast/canvas/webgl/error-reporting.html
1680
1681         * html/canvas/WebGLRenderingContext.cpp:
1682         (WebCore::WebGLRenderingContext::sizeInBytes):
1683         (WebCore::WebGLRenderingContext::activeTexture):
1684         (WebCore::WebGLRenderingContext::attachShader):
1685         (WebCore::WebGLRenderingContext::bindAttribLocation):
1686         (WebCore::WebGLRenderingContext::bindBuffer):
1687         (WebCore::WebGLRenderingContext::bindFramebuffer):
1688         (WebCore::WebGLRenderingContext::bindRenderbuffer):
1689         (WebCore::WebGLRenderingContext::bindTexture):
1690         (WebCore::WebGLRenderingContext::bufferData):
1691         (WebCore::WebGLRenderingContext::bufferSubData):
1692         (WebCore::WebGLRenderingContext::compileShader):
1693         (WebCore::WebGLRenderingContext::createShader):
1694         (WebCore::WebGLRenderingContext::detachShader):
1695         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1696         (WebCore::WebGLRenderingContext::drawArrays):
1697         (WebCore::WebGLRenderingContext::drawElements):
1698         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1699         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1700         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1701         (WebCore::WebGLRenderingContext::getActiveAttrib):
1702         (WebCore::WebGLRenderingContext::getActiveUniform):
1703         (WebCore::WebGLRenderingContext::getBufferParameter):
1704         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1705         (WebCore::WebGLRenderingContext::getParameter):
1706         (WebCore::WebGLRenderingContext::getProgramParameter):
1707         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1708         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
1709         (WebCore::WebGLRenderingContext::getShaderParameter):
1710         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1711         (WebCore::WebGLRenderingContext::getShaderSource):
1712         (WebCore::WebGLRenderingContext::getTexParameter):
1713         (WebCore::WebGLRenderingContext::getUniform):
1714         (WebCore::WebGLRenderingContext::getUniformLocation):
1715         (WebCore::WebGLRenderingContext::getVertexAttrib):
1716         (WebCore::WebGLRenderingContext::linkProgram):
1717         (WebCore::WebGLRenderingContext::shaderSource):
1718         (WebCore::WebGLRenderingContext::texImage2D):
1719         (WebCore::WebGLRenderingContext::texSubImage2D):
1720         (WebCore::WebGLRenderingContext::uniform1f):
1721         (WebCore::WebGLRenderingContext::uniform1fv):
1722         (WebCore::WebGLRenderingContext::uniform1i):
1723         (WebCore::WebGLRenderingContext::uniform1iv):
1724         (WebCore::WebGLRenderingContext::uniform2f):
1725         (WebCore::WebGLRenderingContext::uniform2fv):
1726         (WebCore::WebGLRenderingContext::uniform2i):
1727         (WebCore::WebGLRenderingContext::uniform2iv):
1728         (WebCore::WebGLRenderingContext::uniform3f):
1729         (WebCore::WebGLRenderingContext::uniform3fv):
1730         (WebCore::WebGLRenderingContext::uniform3i):
1731         (WebCore::WebGLRenderingContext::uniform3iv):
1732         (WebCore::WebGLRenderingContext::uniform4f):
1733         (WebCore::WebGLRenderingContext::uniform4fv):
1734         (WebCore::WebGLRenderingContext::uniform4i):
1735         (WebCore::WebGLRenderingContext::uniform4iv):
1736         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1737         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1738         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1739         (WebCore::WebGLRenderingContext::useProgram):
1740         (WebCore::WebGLRenderingContext::validateProgram):
1741         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1742         * html/canvas/WebGLRenderingContext.h:
1743         (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
1744         * platform/graphics/GraphicsContext3D.h:
1745         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1746         (WebCore::GraphicsContext3D::getActiveAttrib):
1747         (WebCore::GraphicsContext3D::getActiveUniform):
1748         (WebCore::GraphicsContext3D::getError):
1749         (WebCore::GraphicsContext3D::synthesizeGLError):
1750
1751 2009-12-10  Stephen White  <senorblanco@chromium.org>
1752
1753         Reviewed by Dimitri Glazkov.
1754
1755         Fix for assert on Chrome/skia with SVG Filters enabled.
1756         https://bugs.webkit.org/show_bug.cgi?id=32394
1757
1758         Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others.
1759
1760         * platform/graphics/skia/ImageBufferSkia.cpp:
1761         (WebCore::ImageBuffer::platformTransformColorSpace):
1762
1763 2009-12-10  Enrica Casucci  <enrica@apple.com>
1764
1765         Reviewed by Darin Adler.
1766
1767         REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically.
1768         <rdar://problem/7442065>
1769         https://bugs.webkit.org/show_bug.cgi?id=32285
1770
1771         When examining the styles of the nodes after the first in a range selection, we take into
1772         cosideration differences in style of txt nodes only.
1773         
1774         Test: editing/execCommand/queryCommandState-02.html
1775
1776         * editing/Editor.cpp:
1777         (WebCore::Editor::selectionHasStyle):
1778
1779 2009-12-10  Oliver Hunt  <oliver@apple.com>
1780
1781         Reviewed by Alexey Proskuryakov.
1782
1783         Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing
1784         https://bugs.webkit.org/show_bug.cgi?id=31576
1785
1786         Add a RefCounted wrapper object around xmlParserCtxtPtr so we can
1787         maintain it's lifetime more effectively.
1788
1789         Test: fast/parser/xhtml-close-while-parsing.xhtml
1790
1791         * dom/XMLTokenizer.cpp:
1792         (WebCore::XMLTokenizer::popCurrentNode):
1793         * dom/XMLTokenizer.h:
1794         (WebCore::XMLParserContext::context):
1795         (WebCore::XMLParserContext::XMLParserContext):
1796         (WebCore::XMLTokenizer::context):
1797         * dom/XMLTokenizerLibxml2.cpp:
1798         (WebCore::XMLParserContext::createStringParser):
1799         (WebCore::XMLParserContext::createMemoryParser):
1800         (WebCore::XMLParserContext::~XMLParserContext):
1801         (WebCore::XMLTokenizer::~XMLTokenizer):
1802         (WebCore::XMLTokenizer::doWrite):
1803         (WebCore::XMLTokenizer::initializeParserContext):
1804         (WebCore::XMLTokenizer::doEnd):
1805         (WebCore::XMLTokenizer::lineNumber):
1806         (WebCore::XMLTokenizer::columnNumber):
1807         (WebCore::XMLTokenizer::stopParsing):
1808         (WebCore::parseXMLDocumentFragment):
1809         (WebCore::parseAttributes):
1810
1811 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
1812
1813         Reviewed by Timothy Hatcher.
1814
1815         Web Inspector: debugger shortcuts don't work when
1816         Search field or Console drawer has focus.
1817
1818         https://bugs.webkit.org/show_bug.cgi?id=32392
1819
1820         * inspector/front-end/inspector.js:
1821         (WebInspector.loaded):
1822         (WebInspector.documentKeyDown):
1823         (WebInspector.documentKeyUp):
1824         (WebInspector.searchKeyDown):
1825
1826 2009-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
1827
1828         Reviewed by Adam Barth.
1829
1830         [V8] Events created in isolated worlds may fire in main world.
1831         https://bugs.webkit.org/show_bug.cgi?id=32386
1832
1833         Test: http/tests/security/isolatedWorld/events.html
1834
1835         * WebCore.gypi: Added WorldContextHandle.
1836         * bindings/v8/ScriptEventListener.cpp:
1837         (WebCore::createAttributeEventListener): Added WorldContextHandle params.
1838         * bindings/v8/SharedPersistent.h: Fixed a few style/include issues.
1839         * bindings/v8/V8AbstractEventListener.cpp:
1840         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params.
1841         (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle.
1842         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
1843         * bindings/v8/V8AbstractEventListener.h:
1844         (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params.
1845         * bindings/v8/V8EventListenerList.h:
1846         (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto.
1847         * bindings/v8/V8LazyEventListener.cpp:
1848         (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto.
1849         (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle.
1850         * bindings/v8/V8LazyEventListener.h:
1851         (WebCore::V8LazyEventListener::create): Added WorldContextHandle params.
1852         * bindings/v8/V8Proxy.cpp:
1853         (WebCore::V8Proxy::context): Refactored to use mainWorldContext();
1854         (WebCore::V8Proxy::mainWorldContext): Added.
1855         (WebCore::toV8Context): Changed to use WorldContextHandle.
1856         * bindings/v8/V8Proxy.h: Added mainWorldContext decl.
1857         * bindings/v8/V8Utilities.cpp:
1858         (WebCore::reportException): Added an extra check to avoid crashes during frame teardown.
1859         * bindings/v8/V8WorkerContextEventListener.cpp:
1860         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params.
1861         * bindings/v8/V8WorkerContextEventListener.h:
1862         (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params.
1863         * bindings/v8/WorldContextHandle.cpp: Added.
1864         * bindings/v8/WorldContextHandle.h: Added.
1865         * bindings/v8/custom/V8CustomEventListener.cpp:
1866         (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params.
1867         * bindings/v8/custom/V8CustomEventListener.h:
1868         (WebCore::V8EventListener::create): Added WorldContextHandle params.
1869
1870 2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
1871
1872         Pass more information about a plug-in to the PluginHalterDelegate
1873
1874         Reviewed by Adam Roben.
1875
1876         * loader/EmptyClients.h:
1877         Remove this unused class.
1878
1879         * page/HaltablePlugin.h:
1880         Add new functions to return the plug-in's name and whether it is
1881         windowed.
1882
1883         * page/PluginHalter.cpp:
1884         (WebCore::PluginHalter::timerFired):
1885         Pass new arguments to the client.
1886
1887         * page/PluginHalterClient.h:
1888         Add new parameters.
1889
1890         * plugins/PluginView.cpp:
1891         (WebCore::PluginView::pluginName):
1892         Return the name from the PluginPackage.
1893
1894         * plugins/PluginView.h:
1895         (WebCore::PluginView::isWindowed):
1896
1897 2009-12-09  Brian Weinstein  <bweinstein@apple.com>
1898
1899         Reviewed by Pavel Feldman.
1900
1901         Fixes <http://webkit.org/b/31738>.
1902         Web Inspector: Console Scope Bar should be on top of console when Console is a Panel.
1903         
1904         When the console is set to be shown as a full panel, move the scope bar to the top
1905         where it looks best. When it is only shown as a drawer, move it to the bottom, where
1906         it originally was. This takes up less space as a drawer, and makes it more discoverable
1907         and usable when it is the full panel.
1908
1909         * inspector/front-end/ConsolePanel.js:
1910         (WebInspector.ConsolePanel.prototype.show): Move filter bar to top.
1911         (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom.
1912         * inspector/front-end/inspector.css:
1913
1914 2009-12-10  Stephen White  <senorblanco@chromium.org>
1915
1916         Reviewed by Dirk Schulze.
1917
1918         Fix for alpha blending in SVG Filters on Chromium/skia.
1919         https://bugs.webkit.org/show_bug.cgi?id=32378
1920
1921         Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others.
1922
1923         * platform/graphics/skia/ImageBufferSkia.cpp:
1924         (WebCore::ImageBuffer::platformTransformColorSpace):
1925
1926 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
1927
1928         Reviewed by Timothy Hatcher.
1929
1930         Web Inspector: Add context menu actions for DOM tree.
1931
1932         https://bugs.webkit.org/show_bug.cgi?id=32348
1933
1934         * English.lproj/localizedStrings.js:
1935         * inspector/front-end/ContextMenu.js:
1936         (WebInspector.ContextMenu):
1937         (WebInspector.ContextMenu.prototype.show):
1938         (WebInspector.ContextMenu.prototype.appendItem):
1939         (WebInspector.ContextMenu.prototype.appendSeparator):
1940         (WebInspector.ContextMenu.prototype._itemSelected):
1941         (WebInspector.contextMenuItemSelected):
1942         (WebInspector.contextMenuCleared):
1943         * inspector/front-end/ElementsTreeOutline.js:
1944         (WebInspector.ElementsTreeOutline.prototype._onmouseout):
1945         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
1946         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1947         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent):
1948         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1949         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
1950         (WebInspector.ElementsTreeElement.prototype._startEditing):
1951         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
1952         * inspector/front-end/ObjectPropertiesSection.js:
1953         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
1954         * inspector/front-end/ResourceView.js:
1955         (WebInspector.ResourceView.prototype._toggleURLdecoding):
1956         * inspector/front-end/ResourcesPanel.js:
1957         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1958         * inspector/front-end/StylesSidebarPane.js:
1959         (WebInspector.StylePropertyTreeElement.prototype):
1960         * inspector/front-end/inspector.js:
1961         (WebInspector.contextMenuEventFired):
1962         * inspector/front-end/treeoutline.js:
1963         (TreeElement.treeElementDoubleClicked):
1964
1965 2009-12-09  Nikolas Zimmermann  <nzimmermann@rim.com>
1966
1967         Reviewed by Oliver Hunt.
1968
1969         Filters contain some leaks in untested code
1970         https://bugs.webkit.org/show_bug.cgi?id=32325
1971
1972         Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for 
1973         all classes in svg/graphics, that were missing it. The lighting filters aren't
1974         implemented so far, but the associated FilterEffect objects are build, which created
1975         these leaks.
1976
1977         This removes the SVG related failures in the leaks bot.
1978
1979         * svg/SVGFEDiffuseLightingElement.cpp:
1980         (WebCore::SVGFEDiffuseLightingElement::findLights):
1981         * svg/SVGFEDiffuseLightingElement.h:
1982         * svg/SVGFEDistantLightElement.cpp:
1983         (WebCore::SVGFEDistantLightElement::lightSource):
1984         * svg/SVGFEDistantLightElement.h:
1985         * svg/SVGFELightElement.h:
1986         * svg/SVGFEPointLightElement.cpp:
1987         (WebCore::SVGFEPointLightElement::lightSource):
1988         * svg/SVGFEPointLightElement.h:
1989         * svg/SVGFESpecularLightingElement.cpp:
1990         (WebCore::SVGFESpecularLightingElement::findLights):
1991         * svg/SVGFESpecularLightingElement.h:
1992         * svg/SVGFESpotLightElement.cpp:
1993         (WebCore::SVGFESpotLightElement::lightSource):
1994         * svg/SVGFESpotLightElement.h:
1995         * svg/graphics/filters/SVGDistantLightSource.h:
1996         (WebCore::DistantLightSource::create):
1997         (WebCore::DistantLightSource::DistantLightSource):
1998         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1999         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2000         (WebCore::FEDiffuseLighting::create):
2001         (WebCore::FEDiffuseLighting::setLightSource):
2002         * svg/graphics/filters/SVGFEDiffuseLighting.h:
2003         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2004         (WebCore::FESpecularLighting::FESpecularLighting):
2005         (WebCore::FESpecularLighting::create):
2006         (WebCore::FESpecularLighting::setLightSource):
2007         * svg/graphics/filters/SVGFESpecularLighting.h:
2008         * svg/graphics/filters/SVGLightSource.h:
2009         * svg/graphics/filters/SVGPointLightSource.h:
2010         (WebCore::PointLightSource::create):
2011         (WebCore::PointLightSource::PointLightSource):
2012         * svg/graphics/filters/SVGSpotLightSource.h:
2013         (WebCore::SpotLightSource::create):
2014         (WebCore::SpotLightSource::SpotLightSource):
2015
2016 2009-12-10  Kenneth Russell  <kbr@google.com>
2017
2018         Reviewed by Oliver Hunt.
2019
2020         [Chromium] SporeViewer demo doesn't work in Chromium
2021         https://bugs.webkit.org/show_bug.cgi?id=32364
2022
2023         Test: fast/canvas/webgl/bug-32364.html
2024
2025         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2026         (WebCore::CALLBACK_FUNC_DECL):
2027         (WebCore::vertexAttribAndUniformHelperf):
2028         (WebCore::uniformHelperi):
2029
2030 2009-12-09  Beth Dakin  <bdakin@apple.com>
2031
2032         Reviewed by Oliver Hunt.
2033
2034         Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property 
2035         -webkit-shadow should apply shadow on the result after compositing
2036         -and corresponding-
2037         <rdar://problem/7389404>
2038
2039         Set a transparency layer when setting a shadow to apply the shadow 
2040         to the composite.
2041         * rendering/SVGRenderSupport.cpp:
2042         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2043         (WebCore::SVGRenderBase::finishRenderSVGContent):
2044
2045 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
2046
2047         Reviewed by Darin Adler.
2048
2049         https://bugs.webkit.org/show_bug.cgi?id=32332
2050         WebSocket events should be dispatched synchronously
2051
2052         Updated websocket/tests/simple to test for the new behavior.
2053
2054         When Web Sockets API says that events should be queued for async dispatch, it means something
2055         different. We should keep this in mind when dealing with other HTML5-related specs.
2056
2057         The model for HTML5 is that code running in response to network events (e.g. WebSocket or
2058         XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post
2059         async events as its only way to communicate with client code. As long as network events are
2060         queued themselves (as they are in WebKit), there is no need to queue JS events for async
2061         dispatch.
2062
2063         * websockets/WebSocket.cpp:
2064         (WebCore::WebSocket::didConnect):
2065         (WebCore::WebSocket::didReceiveMessage):
2066         (WebCore::WebSocket::didClose):
2067
2068 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
2069
2070         Reviewed by Oliver Hunt.
2071
2072         https://bugs.webkit.org/show_bug.cgi?id=32355
2073         Assertion failure when opening a WebSocket connection
2074
2075         I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it
2076         will provide partial coverage, as I was frequently seeing the assertion failure with it.
2077
2078         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send):
2079         It's not an error if zero is returned from platformSend() - it just means that nothing could
2080         be pushed down to the network layer, and all data was queued for later.
2081         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2082         (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream,
2083         but a client can potentially destroy the handle from any callback, so we need to check that
2084         this didn't happen.
2085         (WebCore::SocketStreamHandle::writeStreamCallback): Ditto.
2086
2087 2009-12-09  Sam Weinig  <sam@webkit.org>
2088
2089         Roll out 51919 and 51920. They were incorrect and unnecessary right now.
2090
2091         * platform/mac/WebCoreObjCExtras.mm:
2092         (WebCoreObjCScheduleDeallocateOnMainThread):
2093         * platform/network/mac/NetworkStateNotifierMac.cpp:
2094         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2095
2096 2009-12-09  Steve Block  <steveblock@google.com>
2097
2098         Reviewed by Darin Fisher.
2099
2100         Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState.
2101         https://bugs.webkit.org/show_bug.cgi?id=32330
2102
2103         Build fix only, no new tests.
2104
2105         * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include.
2106
2107 2009-12-09  Steve Block  <steveblock@google.com>
2108
2109         Reviewed by Darin Adler.
2110
2111         Adds ENABLE(INSPECTOR) guards around script binding methods that use types
2112         defined only when INSPECTOR is enabled.
2113         https://bugs.webkit.org/show_bug.cgi?id=32328
2114
2115         Build fix only, no new tests.
2116
2117         * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue.
2118         * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set.
2119
2120 2009-12-09  Steve Block  <steveblock@google.com>
2121
2122         Reviewed by Adam Barth.
2123
2124         Adds Android Makefiles for building with V8.
2125         Also updates existing Android Makefiles with latest additions.
2126         https://bugs.webkit.org/show_bug.cgi?id=32278
2127
2128         Build fix only, no new tests.
2129
2130         * Android.derived.jscbindings.mk: Modified.
2131         * Android.derived.mk: Modified.
2132         * Android.derived.v8bindings.mk: Added.
2133         * Android.jscbindings.mk: Modified.
2134         * Android.mk: Modified.
2135         * Android.v8bindings.mk: Added.
2136
2137 2009-12-09  Jonathan Dixon  <joth@chromium.org>
2138
2139         Reviewed by Dimitri Glazkov.
2140
2141         Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium
2142         https://bugs.webkit.org/show_bug.cgi?id=32338
2143
2144         Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi
2145
2146         * WebCore.gypi: Add missing GeolocationServiceChromium.cpp
2147
2148 2009-12-09  Andreas Kling  <andreas.kling@nokia.com>
2149
2150         Reviewed by Brady Eidson.
2151
2152         Fixed a typo in http://trac.webkit.org/changeset/51644 that broke
2153         the QWebPage autotest.
2154
2155         No new test required.
2156
2157         * loader/FrameLoader.cpp:
2158         (WebCore::FrameLoader::navigateToDifferentDocument):
2159
2160 2009-12-09  Robert Hogan  <robert@roberthogan.net>
2161
2162         Reviewed by Eric Seidel.
2163
2164         Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds.
2165         
2166         https://bugs.webkit.org/show_bug.cgi?id=32286
2167
2168         * WebCore.pro:
2169
2170 2009-12-09  Philippe Normand  <pnormand@igalia.com>
2171
2172         Reviewed by Eric Carlson.
2173
2174         Ogg mimetypes are incorrect
2175         https://bugs.webkit.org/show_bug.cgi?id=27113
2176
2177         The ogg extension is handled by audio/ogg instead of
2178         application/ogg. See
2179         http://wiki.xiph.org/MIME_Types_and_File_Extensions
2180
2181         * platform/MIMETypeRegistry.cpp:
2182         (WebCore::TypeExtensionPair::):
2183
2184 2009-12-09  Sam Weinig  <sam@webkit.org>
2185
2186         Reviewed by Anders Carlsson.
2187
2188         Use the current run loop instead of the main runloop for the NetworkStateNotifier.
2189
2190         * platform/network/mac/NetworkStateNotifierMac.cpp:
2191         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2192
2193 2009-12-09  Sam Weinig  <sam@webkit.org>
2194
2195         Reviewed by Anders Carlsson.
2196
2197         Use isMainThread() helper instead of pthread_main_np() != 0.
2198
2199         * platform/mac/WebCoreObjCExtras.mm:
2200         (WebCoreObjCScheduleDeallocateOnMainThread):
2201
2202 2009-12-09  Sam Weinig  <sam@webkit.org>
2203
2204         Reviewed by Anders Carlsson.
2205
2206         Add some #ifdefs to allow us to experiment with a single NSView mac WebKit.
2207
2208         * page/Chrome.h:
2209         * page/EventHandler.h:
2210         * page/mac/ChromeMac.mm:
2211         * page/mac/DragControllerMac.mm:
2212         (WebCore::DragController::dragOperation):
2213         * page/mac/EventHandlerMac.mm:
2214         (WebCore::EventHandler::eventLoopHandleMouseDragged):
2215         (WebCore::EventHandler::eventActivatedView):
2216         (WebCore::EventHandler::passMousePressEventToSubframe):
2217         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2218         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2219         (WebCore::EventHandler::passWheelEventToWidget):
2220         (WebCore::EventHandler::focusDocumentView):
2221         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2222         (WebCore::EventHandler::createDraggingClipboard):
2223         (WebCore::isKeyboardOptionTab):
2224         (WebCore::EventHandler::invertSenseOfTabsToLinks):
2225         (WebCore::EventHandler::tabsToAllControls):
2226         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2227         (WebCore::EventHandler::accessKeyModifiers):
2228         * platform/ScrollView.cpp:
2229         (WebCore::ScrollView::wheelEvent):
2230         * platform/Widget.cpp:
2231         * platform/Widget.h:
2232         * platform/mac/ScrollViewMac.mm:
2233         * platform/mac/WidgetMac.mm:
2234         (WebCore::Widget::Widget):
2235         (WebCore::Widget::~Widget):
2236         (WebCore::Widget::show):
2237         (WebCore::Widget::hide):
2238         (WebCore::Widget::setCursor):
2239         (WebCore::Widget::paint):
2240         (WebCore::Widget::setFocus):
2241         (WebCore::Widget::setIsSelected):
2242         (WebCore::Widget::frameRect):
2243         (WebCore::Widget::setFrameRect):
2244
2245 2009-12-09  Michael Nordman  <michaeln@google.com>
2246
2247         Reviewed by Dimitri Glazkov.
2248
2249         Chromium build fix.
2250
2251         No new tests.
2252
2253         * bindings/v8/DOMData.cpp
2254         * bindings/v8/V8DOMWrapper.cpp
2255         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2256         (WebCore::vertexAttribAndUniformHelperf):
2257         (WebCore::uniformHelperi):
2258         (WebCore::uniformMatrixHelper):
2259
2260 2009-12-09  Søren Gjesse  <sgjesse@chromium.org>
2261
2262         Reviewed by Pavel Feldman.
2263
2264         [V8] Isolated world reuse failure
2265         https://bugs.webkit.org/show_bug.cgi?id=32306
2266
2267         Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test
2268         LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail.
2269
2270         * bindings/v8/V8Proxy.cpp:
2271         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2272         (WebCore::V8Proxy::contextDebugId):
2273
2274 2009-12-09  Patrick Scott  <phanna@email.unc.edu>
2275
2276         Fix the build with ENABLE_ORIENTATION_EVENTS
2277         https://bugs.webkit.org/show_bug.cgi?id=32321
2278
2279         * page/Frame.cpp:
2280         (WebCore::Frame::sendOrientationChangeEvent):
2281
2282 2009-12-09  Avi Drissman  <avi@chromium.org>
2283
2284         Reviewed by Darin Fisher.
2285
2286         Chromium tickmarks in scrollbar now UX approved.
2287         https://bugs.webkit.org/show_bug.cgi?id=32069
2288
2289         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2290         (WebCore::ScrollbarThemeChromiumMac::paint):
2291
2292 2009-12-09  Chris Marrin  <cmarrin@apple.com>
2293
2294         Reviewed by Adam Roben.
2295
2296         Delay load DLLs for accelerated compositing
2297         https://bugs.webkit.org/show_bug.cgi?id=31856
2298         
2299         Add logic to turn off accelerated compositing if d3d9 or QuartzCore
2300         DLLs are not present.
2301         
2302         This patch also changes the WKCACFLayerRenderer to be a pointer.
2303         This allows me to have a create() method which will not create it when
2304         accelerated compositing is disabled because of missing DLLs. It 
2305         avoids having to do so many checks. I also made WebViewWndProc 
2306         a member function to allow several methods to be made protected, which
2307         allows me to avoid doing availability checks there as well.
2308
2309         * platform/graphics/win/WKCACFLayer.cpp:
2310         * platform/graphics/win/WKCACFLayer.h:
2311         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2312         * platform/graphics/win/WKCACFLayerRenderer.h:
2313         * rendering/RenderLayerBacking.cpp:
2314
2315 2009-12-09  Nate Chapin  <japhet@chromium.org>
2316
2317         Reviewed by Darin Adler.
2318
2319         Rename dom/ClassNames to SpaceSplitString and update build files.
2320
2321         https://bugs.webkit.org/show_bug.cgi?id=32250
2322
2323         * GNUmakefile.am:
2324         * WebCore.gypi:
2325         * WebCore.pro:
2326         * WebCore.vcproj/WebCore.vcproj:
2327         * WebCore.xcodeproj/project.pbxproj:
2328         * WebCoreSources.bkl:
2329         * css/CSSStyleSelector.cpp:
2330         (WebCore::CSSStyleSelector::matchRules):
2331         * dom/ClassNames.cpp: Removed.
2332         * dom/ClassNames.h: Removed.
2333         * dom/ClassNodeList.h:
2334         * dom/NamedMappedAttrMap.h:
2335         (WebCore::NamedMappedAttrMap::classNames):
2336         * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp.
2337         (WebCore::SpaceSplitStringData::createVector):
2338         (WebCore::SpaceSplitStringData::containsAll):
2339         * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h.
2340         (WebCore::SpaceSplitStringData::SpaceSplitStringData):
2341         (WebCore::SpaceSplitString::SpaceSplitString):
2342         (WebCore::SpaceSplitString::set):
2343         (WebCore::SpaceSplitString::containsAll):
2344         * dom/StyledElement.h:
2345         (WebCore::StyledElement::classNames):
2346         * html/HTMLAnchorElement.cpp:
2347         (WebCore::HTMLAnchorElement::setRel):
2348
2349 2009-12-09  Stephen White  <senorblanco@chromium.org>
2350
2351         Reviewed by Darin Fisher.
2352
2353         Enable SVG filters in Chromium build.
2354         https://bugs.webkit.org/show_bug.cgi?id=32323
2355
2356         Covered by SVG filter layout tests.
2357
2358         * WebCore.gyp/WebCore.gyp:
2359         * WebCore.gypi:
2360         * bindings/scripts/CodeGeneratorV8.pm:
2361         * bindings/v8/DerivedSourcesAllInOne.cpp:
2362         * bindings/v8/V8DOMWrapper.cpp:
2363         * bindings/v8/V8Index.cpp:
2364         * bindings/v8/V8Index.h:
2365
2366 2009-12-09  Oliver Hunt  <oliver@apple.com>
2367
2368         Build fix
2369
2370         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2371         (WebCore::functionForUniform):
2372
2373 2009-12-08  Fumitoshi Ukai  <ukai@chromium.org>
2374
2375         Reviewed by Darin Adler.
2376
2377         WebSocket allow space (U+0020) in sub protocol name.
2378         https://bugs.webkit.org/show_bug.cgi?id=32266
2379
2380         Test: websocket/tests/sub-protocol-with-space.html
2381
2382         * websockets/WebSocket.cpp:
2383         (WebCore::isValidProtocolString):
2384
2385 2009-12-08  Peterson Trethewey  <petersont@google.com>
2386
2387         Reviewed by Oliver Hunt.
2388
2389         Implement WebGLUniformLocation and change API to use it.
2390         https://bugs.webkit.org/show_bug.cgi?id=31173
2391
2392         Test: fast/canvas/webgl/uniform-location.html
2393
2394         * DerivedSources.make:
2395         * WebCore.gypi:
2396         * WebCore.xcodeproj/project.pbxproj:
2397         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2398         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2399         (WebCore::JSWebGLRenderingContext::getUniform):
2400         (WebCore::functionForUniform):
2401         (WebCore::dataFunctionf):
2402         (WebCore::dataFunctioni):
2403         (WebCore::dataFunctionMatrix):
2404         * bindings/scripts/CodeGeneratorV8.pm:
2405         * bindings/v8/DerivedSourcesAllInOne.cpp:
2406         * bindings/v8/V8Index.cpp:
2407         * bindings/v8/V8Index.h:
2408         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2409         (WebCore::toWebGLUniformLocation):
2410         (WebCore::):
2411         (WebCore::CALLBACK_FUNC_DECL):
2412         (WebCore::isFunctionToCallForAttribute):
2413         (WebCore::vertexAttribAndUniformHelperf):
2414         (WebCore::uniformHelperi):
2415         (WebCore::uniformMatrixHelper):
2416         * html/canvas/WebGLRenderingContext.cpp:
2417         (WebCore::WebGLRenderingContext::getUniform):
2418         (WebCore::WebGLRenderingContext::getUniformLocation):
2419         (WebCore::WebGLRenderingContext::uniform1f):
2420         (WebCore::WebGLRenderingContext::uniform1fv):
2421         (WebCore::WebGLRenderingContext::uniform1i):
2422         (WebCore::WebGLRenderingContext::uniform1iv):
2423         (WebCore::WebGLRenderingContext::uniform2f):
2424         (WebCore::WebGLRenderingContext::uniform2fv):
2425         (WebCore::WebGLRenderingContext::uniform2i):
2426         (WebCore::WebGLRenderingContext::uniform2iv):
2427         (WebCore::WebGLRenderingContext::uniform3f):
2428         (WebCore::WebGLRenderingContext::uniform3fv):
2429         (WebCore::WebGLRenderingContext::uniform3i):
2430         (WebCore::WebGLRenderingContext::uniform3iv):
2431         (WebCore::WebGLRenderingContext::uniform4f):
2432         (WebCore::WebGLRenderingContext::uniform4fv):
2433         (WebCore::WebGLRenderingContext::uniform4i):
2434         (WebCore::WebGLRenderingContext::uniform4iv):
2435         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2436         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2437         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2438         * html/canvas/WebGLRenderingContext.h:
2439         * html/canvas/WebGLRenderingContext.idl:
2440         * html/canvas/WebGLUniformLocation.cpp: Added.
2441         (WebCore::WebGLUniformLocation::create):
2442         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2443         * html/canvas/WebGLUniformLocation.h: Added.
2444         (WebCore::WebGLUniformLocation::~WebGLUniformLocation):
2445         (WebCore::WebGLUniformLocation::program):
2446         (WebCore::WebGLUniformLocation::location):
2447         * html/canvas/WebGLUniformLocation.idl: Added.
2448
2449 2009-12-08  Adam Langley  <agl@google.com>
2450
2451         Reviewed by Darin Adler.
2452
2453         Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
2454
2455         startDelayUpdateScrollInfo calls a function that can end up calling
2456         startDelayUpdateScrollInfo again. However, it's static state is
2457         inconsistent when this happens leading to an assertion failure (or
2458         probably a memory leak if assertions are off).
2459
2460         Thanks to Robert Swiecki for the test case.
2461
2462         https://bugs.webkit.org/show_bug.cgi?id=32172
2463         http://code.google.com/p/chromium/issues/detail?id=28880
2464
2465         Test: fast/css/recursive-delay-update-scroll.html
2466
2467         * rendering/RenderBlock.cpp:
2468         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2469
2470 2009-12-08  Steve Falkenburg  <sfalken@apple.com>
2471
2472         Reviewed by Adam Roben.
2473
2474         WebCore source level debugging on Windows not reliable in some cases
2475         https://bugs.webkit.org/show_bug.cgi?id=32297
2476
2477         Customized pdb file name/location for WebCore static library.
2478
2479         * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName.
2480
2481 2009-12-08  Kevin Watters  <kevinwatters@gmail.com>
2482
2483         Reviewed by Kevin Ollivier.
2484
2485         [wx] Mac plugins support.
2486         
2487         https://bugs.webkit.org/show_bug.cgi?id=32236
2488
2489         * platform/FileSystem.h:
2490         * platform/cf/BinaryPropertyList.h:
2491         * platform/network/curl/ResourceHandleManager.cpp:
2492         * platform/wx/FileSystemWx.cpp:
2493         (WebCore::fileExists):
2494         (WebCore::unloadModule):
2495         (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
2496         (WebCore::wxDirTraverserNonRecursive::OnFile):
2497         (WebCore::wxDirTraverserNonRecursive::OnDir):
2498         (WebCore::listDirectory):
2499         * plugins/mac/PluginViewMac.cpp:
2500         (WebCore::nativeWindowFor):
2501         (WebCore::cgHandleFor):
2502         (WebCore::topLevelOffsetFor):
2503         (WebCore::PluginView::platformStart):
2504         (WebCore::PluginView::setFocus):
2505         (WebCore::PluginView::invalidateRect):
2506         (WebCore::PluginView::handleKeyboardEvent):
2507         (WebCore::PluginView::globalMousePosForPlugin):
2508         * plugins/wx/PluginDataWx.cpp: Added.
2509         (WebCore::PluginData::initPlugins):
2510         (WebCore::PluginData::refresh):
2511         * wscript:
2512
2513 2009-12-08  Brady Eidson  <beidson@apple.com>
2514
2515         Reviewed by Darin Adler.
2516
2517         Navigating to a cached page can result in accessing a destroyed HTMLInputElement.
2518         <rdar://problem/6856662> and https://webkit.org/b/32293
2519
2520         Test: fast/loader/input-element-page-cache-crash.html
2521
2522         * html/HTMLInputElement.cpp:
2523         (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation
2524           callback after the new m_autocomplete setting has been stored so the unregistration actually
2525           takes place.
2526
2527 2009-12-08  Dmitry Titov  <dimich@chromium.org>
2528
2529         Rubber-stamped by David Levin.
2530
2531         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
2532         It may have caused massive increase of reported leaks on the bots.
2533         https://bugs.webkit.org/show_bug.cgi?id=31639
2534
2535         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
2536         * loader/icon/IconRecord.cpp:
2537         (WebCore::IconRecord::IconRecord):
2538         * platform/SharedBuffer.cpp:
2539         (WebCore::SharedBuffer::SharedBuffer):
2540         * platform/text/StringImpl.cpp:
2541         (WebCore::StringImpl::StringImpl):
2542
2543 2009-12-08  Pavel Feldman  <pfeldman@chromium.org>
2544
2545         Reviewed by Darin Fisher.
2546
2547         Chromium: support custom WebCore context menu items in Chromium port.
2548
2549         https://bugs.webkit.org/show_bug.cgi?id=32277
2550
2551         * platform/ContextMenu.h:
2552         * platform/ContextMenuItem.h:
2553         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2554         * platform/chromium/ContextMenuChromium.cpp:
2555         (WebCore::ContextMenu::ContextMenu):
2556         (WebCore::ContextMenu::itemCount):
2557         (WebCore::ContextMenu::insertItem):
2558         (WebCore::ContextMenu::appendItem):
2559         (WebCore::ContextMenu::itemWithAction):
2560         (WebCore::ContextMenu::itemAtIndex):
2561         (WebCore::ContextMenu::platformDescription):
2562         * platform/chromium/ContextMenuItemChromium.cpp:
2563         (WebCore::ContextMenuItem::ContextMenuItem):
2564         (WebCore::ContextMenuItem::releasePlatformDescription):
2565         (WebCore::ContextMenuItem::type):
2566         (WebCore::ContextMenuItem::action):
2567         (WebCore::ContextMenuItem::title):
2568         (WebCore::ContextMenuItem::checked):
2569         (WebCore::ContextMenuItem::enabled):
2570         (WebCore::ContextMenuItem::setType):
2571         (WebCore::ContextMenuItem::setAction):
2572         (WebCore::ContextMenuItem::setTitle):
2573         (WebCore::ContextMenuItem::setChecked):
2574         (WebCore::ContextMenuItem::setEnabled):
2575
2576 2009-12-08  Adam Langley  <agl@google.com>
2577
2578         Reviewed by Dimitri Glazkov.
2579
2580         Chromium Linux: set default scrollbar colours.
2581
2582         This is so that layout tests have sane defaults for the scrollbar
2583         colours, even if the API user doesn't set any.
2584
2585         This is a fix due to r51827.
2586
2587         https://bugs.webkit.org/show_bug.cgi?id=32287
2588
2589         This is very well covered by existing layout tests.
2590
2591         * rendering/RenderThemeChromiumLinux.cpp:
2592
2593 2009-12-08  Beth Dakin  <bdakin@apple.com>
2594
2595         Reviewed by Sam Weinig.
2596
2597         Fix for <rdar://problem/7397808> Crash occurs at 
2598         RenderObject::containingBlock() as I type in the Google Search 
2599         field (during page load)
2600
2601         * editing/Editor.cpp:
2602         (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 
2603         null checked.
2604
2605 2009-12-08  Dmitry Titov  <dimich@chromium.org>
2606
2607         Reviewed by Darin Adler.
2608
2609         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
2610         https://bugs.webkit.org/show_bug.cgi?id=31639
2611
2612         * loader/icon/IconRecord.cpp:
2613         (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase.
2614         * platform/SharedBuffer.cpp:
2615         (WebCore::SharedBuffer::SharedBuffer): Ditto.
2616         * platform/text/StringImpl.cpp:
2617         (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString.
2618         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
2619
2620 2009-12-08  John Gregg  <johnnyg@google.com>
2621
2622         Reviewed by Adam Barth.
2623
2624         Inform the NotificationCenter when its window goes away in the same
2625         manner as other DOMWindow fields, and prevent invalid operations on
2626         it after that happens.
2627
2628         As part of this, change the V8 bindings for notifications to call
2629         through the NotificationCenter rather than doing those operations
2630         itself.
2631
2632         https://bugs.webkit.org/show_bug.cgi?id=31886
2633
2634         Test: fast/notifications/notification-after-close.html
2635
2636         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2637         (WebCore::CALLBACK_FUNC_DECL):
2638         * notifications/Notification.cpp:
2639         (WebCore::Notification::Notification):
2640         * notifications/NotificationCenter.cpp:
2641         (WebCore::NotificationCenter::checkPermission):
2642         (WebCore::NotificationCenter::requestPermission):
2643         * notifications/NotificationCenter.h:
2644         (WebCore::NotificationCenter::createHTMLNotification):
2645         (WebCore::NotificationCenter::createNotification):
2646         (WebCore::NotificationCenter::disconnectFrame):
2647         * page/DOMWindow.cpp:
2648         (WebCore::DOMWindow::clear):
2649
2650 2009-12-08  Dan Bernstein  <mitz@apple.com>
2651
2652         Reviewed by John Sullivan.
2653
2654         Fixed block selection gap repainting in table cells
2655
2656         Test: fast/repaint/block-selection-gap-in-table-cell.html
2657
2658         This recently-introduced regression exposed the fact that
2659         RenderTableCell did not override offsetFromContainer() to adjust for
2660         the fact that table cells’ coordinates are relative to the table
2661         section, not the table row. With this fixed, RenderTableCell no longer
2662         needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(),
2663         since the base class implementations of those use offsetFromContainer().
2664
2665         * rendering/RenderTableCell.cpp:
2666         (WebCore::RenderTableCell::offsetFromContainer):
2667         * rendering/RenderTableCell.h:
2668
2669 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2670
2671         Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben.
2672
2673         * WebCorePrefix.h:
2674
2675 2009-12-08  Dan Bernstein  <mitz@apple.com>
2676
2677         Build fix
2678
2679         * loader/loader.cpp:
2680         (WebCore::cachedResourceTypeToTargetType):
2681
2682 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2683
2684         Not reviewed. Touch svgtags.in to eventually fix the win debug build.
2685
2686         * svg/svgtags.in:
2687
2688 2009-12-08  Mike Belshe  <mike@belshe.com>
2689
2690         Reviewed by Darin Fisher.
2691
2692         https://bugs.webkit.org/show_bug.cgi?id=32167
2693         Update the ResourceRequest::RequestType.  This previously
2694         was specific to Chromium.  Moved into ResourceRequestBase, enabling
2695         more specificity about the type (which is otherwise only known to the
2696         loader), and also making this information available to all platforms.
2697         Any platform with a network layer which can utilize this information
2698         may want to use it for prioritization.
2699
2700         Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource.
2701
2702         * loader/loader.cpp:
2703         (WebCore::Loader::Loader):
2704         (WebCore::CachedResourceTypeToTargetType):
2705         (WebCore::Loader::Host::servePendingRequests):
2706         * platform/network/ResourceRequestBase.h:
2707         (WebCore::ResourceRequestBase::):
2708         (WebCore::ResourceRequestBase::targetType):
2709         (WebCore::ResourceRequestBase::setTargetType):
2710         (WebCore::ResourceRequestBase::ResourceRequestBase):
2711         * platform/network/chromium/ResourceRequest.h:
2712         (WebCore::ResourceRequest::ResourceRequest):
2713
2714 2009-12-08  Steve Block  <steveblock@google.com>
2715
2716         Reviewed by Adam Barth.
2717
2718         [Android] Adds Makefiles for Android port.
2719         https://bugs.webkit.org/show_bug.cgi?id=31325
2720
2721         Build system change only. No tests possible.
2722
2723         * Android.derived.jscbindings.mk: Added.
2724         * Android.derived.mk: Added.
2725         * Android.jscbindings.mk: Added.
2726         * Android.mk: Added.
2727         * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
2728
2729 2009-12-08  Christian Dywan  <christian@twotoasts.de>
2730
2731         Reviewed by Xan Lopez.
2732
2733         * platform/network/soup/DNSSoup.cpp:
2734         (WebCore::prefetchDNS): Conditionalize prefetching on
2735         the libSoup version.
2736
2737 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2738
2739         Rubber-stamped by Maciej Stachowiak.
2740
2741         Turn on (SVG) Filters for Win.
2742         https://bugs.webkit.org/show_bug.cgi?id=32224
2743
2744         * WebCore.vcproj/WebCoreCommon.vsprops:
2745         * WebCore.vcproj/build-generated-files.sh:
2746         * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully.
2747
2748 2009-12-08  Carol Szabo  <carol.szabo@nokia.com>
2749
2750         Reviewed by Darin Adler.
2751
2752         CSS Counter Nesting still does not work according to the spec.
2753         https://bugs.webkit.org/show_bug.cgi?id=31723
2754
2755         Test: fast/css/counters/nesting.html
2756
2757         * rendering/RenderCounter.cpp:
2758         (WebCore::findPlaceForCounter):
2759         Replaced the faulty counter insertion algorithm with one that works.
2760
2761 2009-12-08  John Sullivan  <sullivan@apple.com>
2762
2763         Add isAutofilled getter to match existing setter.
2764
2765         Reviewed by Ada Chan.
2766
2767         * bindings/objc/DOMHTML.mm:
2768         (-[DOMHTMLInputElement _isAutofilled]):
2769         Implemented new cover function.
2770         
2771         * bindings/objc/DOMPrivate.h:
2772         Declared new cover function.
2773
2774 2009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>
2775
2776         Reviewed by Gustavo Noronha Silva.
2777
2778         [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
2779         https://bugs.webkit.org/show_bug.cgi?id=31469
2780
2781         Added a TextBreakIterator implementation based on GLib and pango,
2782         which allows compiling WebCore without ICU.
2783
2784         * GNUmakefile.am:
2785         * platform/text/gtk/TextBreakIteratorGtk.cpp: Added.
2786         (WebCore::):
2787         (WebCore::setUpIterator):
2788         (WebCore::characterBreakIterator):
2789         (WebCore::cursorMovementIterator):
2790         (WebCore::wordBreakIterator):
2791         (WebCore::lineBreakIterator):
2792         (WebCore::sentenceBreakIterator):
2793         (WebCore::textBreakFirst):
2794         (WebCore::textBreakLast):
2795         (WebCore::textBreakNext):
2796         (WebCore::textBreakPrevious):
2797         (WebCore::textBreakPreceding):
2798         (WebCore::textBreakFollowing):
2799         (WebCore::textBreakCurrent):
2800         (WebCore::isTextBreak):
2801
2802 2009-12-08  Alexander Pavlov  <apavlov@chromium.org>
2803
2804         Reviewed by Pavel Feldman.
2805
2806         Change the way cookies are retrieved in the WebInspector frontend.
2807
2808         Moved the cookie filtering from the native code into the frontend so that
2809         all cookies can be retrieved regardless of the associated domain
2810         (required for certain audits to run.)
2811         https://bugs.webkit.org/show_bug.cgi?id=32160
2812
2813         Test: inspector/cookie-resource-match.html
2814
2815         * inspector/InspectorBackend.cpp:
2816         (WebCore::InspectorBackend::getCookies):
2817         * inspector/InspectorBackend.h:
2818         * inspector/InspectorBackend.idl:
2819         * inspector/InspectorController.cpp:
2820         (WebCore::InspectorController::getCookies):
2821         * inspector/InspectorController.h:
2822         * inspector/front-end/CookieItemsView.js:
2823         (WebInspector.CookieItemsView.prototype.update.callback):
2824         (WebInspector.CookieItemsView.prototype.update):
2825         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
2826         * inspector/front-end/DOMAgent.js:
2827         (WebInspector.Cookies.getCookiesAsync):
2828         (WebInspector.Cookies.cookieMatchesResourceURL):
2829         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
2830         * inspector/front-end/Resource.js:
2831         (WebInspector.Resource):
2832         (WebInspector.Resource.prototype.get documentURL):
2833         (WebInspector.Resource.prototype.set documentURL):
2834         * inspector/front-end/inspector.js:
2835         (WebInspector.addResource):
2836
2837 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2838
2839         Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
2840
2841         * svg/svgtags.in:
2842
2843 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2844
2845         Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
2846
2847         * bindings/scripts/CodeGeneratorJS.pm:
2848
2849 2009-12-06  Pavel Feldman  <pfeldman@chromium.org>
2850
2851         Reviewed by Timothy Hatcher.
2852
2853         Web Inspector: provide custom context menu in the front-end window.
2854
2855         https://bugs.webkit.org/show_bug.cgi?id=32200
2856
2857         * English.lproj/localizedStrings.js:
2858         * GNUmakefile.am:
2859         * WebCore.gypi:
2860         * WebCore.pro:
2861         * WebCore.vcproj/WebCore.vcproj:
2862         * WebCore.xcodeproj/project.pbxproj:
2863         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2864         (WebCore::JSInspectorFrontendHost::showContextMenu):
2865         * inspector/InspectorFrontend.cpp:
2866         (WebCore::InspectorFrontend::contextMenuItemSelected):
2867         (WebCore::InspectorFrontend::contextMenuCleared):
2868         * inspector/InspectorFrontend.h:
2869         * inspector/InspectorFrontendHost.cpp:
2870         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2871         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
2872         (WebCore::InspectorFrontendHost::showContextMenu):
2873         (WebCore::InspectorFrontendHost::contextMenuItemSelected):
2874         (WebCore::InspectorFrontendHost::contextMenuCleared):
2875         * inspector/InspectorFrontendHost.h:
2876         (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
2877         (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
2878         (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
2879         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
2880         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
2881         (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
2882         * inspector/InspectorFrontendHost.idl:
2883         * inspector/front-end/ContextMenu.js: Added.
2884         * inspector/front-end/WebKit.qrc:
2885         * inspector/front-end/inspector.html:
2886         * inspector/front-end/inspector.js:
2887         (WebInspector.loaded):
2888         (WebInspector.documentContextMenu):
2889         * page/ContextMenuController.cpp:
2890         (WebCore::ContextMenuController::ContextMenuController):
2891         (WebCore::ContextMenuController::clearContextMenu):
2892         (WebCore::ContextMenuController::handleContextMenuEvent):
2893         (WebCore::ContextMenuController::showContextMenu):
2894         (WebCore::ContextMenuController::createContextMenu):
2895         (WebCore::ContextMenuController::contextMenuItemSelected):
2896         * page/ContextMenuController.h:
2897         * page/ContextMenuSelectionHandler.h: Added.
2898         (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
2899         (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
2900         * platform/ContextMenu.cpp:
2901         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2902         * platform/ContextMenuItem.h:
2903
2904 2009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
2905
2906         Rubber-stamped by Kenneth Rohde Christiansen.
2907
2908         [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
2909
2910         No new tests needed.
2911         * WebCore.pro:
2912
2913 2009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
2914
2915         Reviewed by Darin Adler.
2916
2917         Add a function to show render tree for debugging
2918         https://bugs.webkit.org/show_bug.cgi?id=31288
2919
2920         No new tests because this just adds a function for debugging.
2921
2922         * rendering/RenderObject.cpp:
2923         (WebCore::RenderObject::showRenderObject):
2924         (WebCore::RenderObject::showRenderTreeAndMark):
2925         (showRenderTree):
2926         * rendering/RenderObject.h:
2927
2928 2009-12-07  Victor Wang  <victorw@chromium.org>
2929
2930         Reviewed by Dimitri Glazkov.
2931
2932         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
2933         V8 NPObject. This should make the object enumerable and fix the
2934         enumeration issue in layout test plugins/netscape-enumerate.html.
2935
2936         Also fix some existing style issues per webkit style guidelines.
2937
2938         https://bugs.webkit.org/show_bug.cgi?id=32254
2939
2940         Test: plugins/netscape-enumerate.html
2941
2942         * bindings/v8/V8NPObject.cpp:
2943         (npObjectInvokeImpl):
2944         (npObjectInvokeDefaultHandler):
2945         (npObjectGetProperty):
2946         (npObjectPropertyEnumerator):
2947         (npObjectNamedPropertyEnumerator):
2948         (npObjectIndexedPropertyEnumerator):
2949         (createV8ObjectForNPObject):
2950
2951 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
2952
2953         Reviewed by Alexey Proskuryakov.
2954
2955         Fragments now make WebSocket URL parsing fail.
2956         https://bugs.webkit.org/show_bug.cgi?id=32144
2957
2958         * websockets/WebSocket.cpp:
2959         (WebCore::WebSocket::connect):
2960
2961 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
2962
2963         Reviewed by Darin Adler.
2964
2965         Fix wrong length parsing in WebSocket.
2966         https://bugs.webkit.org/show_bug.cgi?id=32203
2967
2968         * websockets/WebSocketChannel.cpp:
2969         (WebCore::WebSocketChannel::didReceiveData):
2970
2971 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2972
2973         Rubber-stamped by Maciej Stachowiak.
2974
2975         Turn on (SVG) Filters for Qt.
2976         https://bugs.webkit.org/show_bug.cgi?id=32224
2977
2978         * WebCore.pro:
2979
2980 2009-12-07  Evan Martin  <evan@chromium.org>
2981
2982         Reviewed by Eric Seidel.
2983
2984         Chromium: theme scrollbars to match GTK theme.
2985         Add functions to RenderThemeChromiumLinux to change the scrollbar
2986         color.
2987
2988         Since the change is to the Chromium WebKit API layer, testing will
2989         be in Chromium's test shell.
2990         http://bugs.webkit.org/show_bug.cgi?id=32048
2991
2992         Patch from Markus Gutschke <markus@chromium.org>.
2993
2994         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2995         (WebCore::saturateAndBrighten):
2996         (WebCore::outlineColor):
2997         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2998         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2999         * rendering/RenderThemeChromiumLinux.cpp:
3000         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
3001         * rendering/RenderThemeChromiumLinux.h:
3002         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
3003         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
3004         (WebCore::RenderThemeChromiumLinux::trackColor):
3005
3006 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3007
3008         Reviewed by Xan Lopez.
3009
3010         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
3011         https://bugs.webkit.org/show_bug.cgi?id=32247
3012
3013         Allow creating a ResourceResponse from a SoupMessage.
3014
3015         Covered by API test.
3016
3017         * platform/network/soup/ResourceResponse.h:
3018         (WebCore::ResourceResponse::ResourceResponse):
3019         * platform/network/soup/ResourceResponseSoup.cpp:
3020         (WebCore::ResourceResponse::updateFromSoupMessage):
3021
3022 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3023
3024         Not reviewed. Reverting problematic patch, causing errors.
3025
3026         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
3027         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
3028
3029         * svg/graphics/SVGPaintServerPattern.cpp:
3030         (WebCore::SVGPaintServerPattern::setup):
3031
3032 2009-12-07  Kent Tamura  <tkent@chromium.org>
3033
3034         Reviewed by Darin Adler.
3035
3036         Add support for HTMLInputElement::stepUp() and stepDown() for
3037         type=number and type=range.
3038         https://bugs.webkit.org/show_bug.cgi?id=27451
3039
3040         Our implementation of stepUp() and stepDown() rounds the resultant
3041         value to conform to the step value.
3042         Change the number-string conversion method for RenderSlider to be
3043         consistent with type=number.
3044
3045         Tests: fast/forms/input-step-number.html
3046                fast/forms/input-step-range.html
3047                fast/forms/input-step-unsupported.html
3048
3049         * html/HTMLInputElement.cpp:
3050         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
3051         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
3052         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
3053         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
3054         (WebCore::HTMLInputElement::stepBase):
3055         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
3056         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
3057         (WebCore::HTMLInputElement::stepUp):
3058         (WebCore::HTMLInputElement::stepDown):
3059         (WebCore::HTMLInputElement::formStringFromDouble):
3060         * html/HTMLInputElement.h:
3061         (WebCore::HTMLInputElement::stepUp):
3062         (WebCore::HTMLInputElement::stepDown):
3063         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
3064         * rendering/RenderSlider.cpp:
3065         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
3066         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
3067         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
3068
3069 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
3070
3071         Not reviewed: Chromium build fix try 2 (dumb error).
3072
3073         * bindings/v8/ScriptValue.h:
3074         (WebCore::ScriptValue::getString):
3075
3076 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
3077
3078         Not reviewed: Chromium build fix.
3079
3080         Fix Chromium build break caused by an added dependency from
3081         ScriptControllerBase to JSDOMWindowShell, and an API change in
3082         ScriptValue.
3083
3084         * bindings/ScriptControllerBase.cpp:
3085         (WebCore::ScriptController::executeIfJavaScriptURL):
3086         * bindings/v8/ScriptValue.h:
3087         (WebCore::ScriptValue::getString):
3088
3089 2009-12-07  Enrica Casucci  <enrica@apple.com>
3090
3091         Reviewed by Darin Adler.
3092
3093         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
3094         <rdar://problem/7442387>
3095         https://bugs.webkit.org/show_bug.cgi?id=32233
3096         
3097         Fixes problem in re-creating the correct hierarchy under the new block.
3098         Added extensive testing to cover all the cases.
3099
3100         Test: editing/execCommand/indent-with-style2.html
3101
3102         * editing/CompositeEditCommand.cpp:
3103         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3104
3105 2009-12-07  Dmitry Titov  <dimich@chromium.org>
3106
3107         Rubber-stamped by Darin Adler.
3108
3109         Remove ENABLE_SHARED_SCRIPT flags
3110         https://bugs.webkit.org/show_bug.cgi?id=32245
3111         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
3112
3113         * Configurations/FeatureDefines.xcconfig:
3114         * GNUmakefile.am:
3115         * WebCore.pro:
3116
3117 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3118
3119         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
3120
3121         * bindings/scripts/CodeGeneratorJS.pm:
3122
3123 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3124
3125         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
3126
3127         * svg/svgtags.in:
3128
3129 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
3130
3131         Reviewed by Oliver Hunt.
3132
3133         https://bugs.webkit.org/show_bug.cgi?id=32184
3134         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
3135         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
3136
3137         * bindings/ScriptControllerBase.cpp:
3138         (WebCore::ScriptController::executeIfJavaScriptURL):
3139         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3140         (WebCore::toHTMLCanvasStyle):
3141         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3142         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3143         (WebCore::JSCanvasRenderingContext2D::setShadow):
3144         * bindings/js/ScriptCallStack.cpp:
3145         (WebCore::ScriptCallStack::ScriptCallStack):
3146         (WebCore::ScriptCallStack::initialize):
3147         * bindings/js/ScriptValue.cpp:
3148         (WebCore::ScriptValue::getString):
3149         * bindings/js/ScriptValue.h:
3150         * bindings/js/SerializedScriptValue.cpp:
3151         (WebCore::SerializingTreeWalker::convertIfTerminal):
3152         * bindings/objc/WebScriptObject.mm:
3153         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
3154         * page/Console.cpp:
3155         (WebCore::Console::addMessage):
3156
3157 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3158
3159         Reviewed by Holger Hans Peter Freyther.
3160
3161         Turn on (SVG) Filters support, by default.
3162         https://bugs.webkit.org/show_bug.cgi?id=32224
3163
3164         Only enable filters on mac for now, skipped all affected tests on the other platforms.
3165         Will enable them one after another, to minimize breakage.
3166
3167         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
3168
3169 2009-12-07  Kent Tamura  <tkent@chromium.org>
3170
3171         Reviewed by Darin Adler.
3172
3173         Fix a bug that KURL rejects a host name which has an IPv4 address
3174         inside an IPv6 form like [::127.0.0.1].
3175         https://bugs.webkit.org/show_bug.cgi?id=29913
3176
3177         * platform/KURL.cpp:
3178         (WebCore::characterClassTable): Add IPv6Char to '.'.
3179
3180 2009-12-07  Brady Eidson  <beidson@apple.com>
3181
3182         Reviewed by Sam Weinig.
3183
3184         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
3185
3186         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
3187         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
3188
3189         * history/HistoryItem.cpp:
3190         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
3191           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
3192         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
3193           about the original items m_cachedPage object (which is irrelevant to the copy).
3194
3195 2009-12-07  Dmitry Titov  <dimich@chromium.org>
3196
3197         Reviewed by Darin Adler.
3198
3199         Remove partial SharedScript implementation.
3200         https://bugs.webkit.org/show_bug.cgi?id=32237
3201         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
3202
3203         * DerivedSources.make:
3204         * SharedScript/SharedScriptContext.cpp: Removed.
3205         * SharedScript/SharedScriptContext.h: Removed.
3206         * SharedScript/SharedScriptContext.idl: Removed.
3207         * SharedScript/SharedScriptController.h: Removed.
3208         * SharedScript/WebKitSharedScript.cpp: Removed.
3209         * SharedScript/WebKitSharedScript.h: Removed.
3210         * SharedScript/WebKitSharedScript.idl: Removed.
3211         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
3212         * SharedScript/WebKitSharedScriptRepository.h: Removed.
3213         * WebCore.vcproj/WebCore.vcproj:
3214         * WebCore.xcodeproj/project.pbxproj:
3215         * dom/Document.cpp:
3216         (WebCore::Document::detach):
3217         * dom/EventTarget.cpp:
3218         * dom/EventTarget.h:
3219         * dom/ScriptExecutionContext.h:
3220
3221 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
3222
3223         Reviewed by Nikolas Zimmermann.
3224
3225         https://bugs.webkit.org/show_bug.cgi?id=32226
3226         Random crashes in WebSocket tests on Leopard Debug builbot
3227
3228         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
3229         Make sure the object still exists when setting m_state.
3230
3231 2009-12-07  Shiki Okasaka  <shiki@google.com>
3232
3233         Reviewed by Dirk Schulze.
3234
3235         Avoid zero division during SVGPaintServerPattern::setup()
3236         https://bugs.webkit.org/show_bug.cgi?id=29912
3237
3238         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
3239         if the tile of a pattern was bigger than the pattern and the pattern
3240         size was < 0.5, and if the attribute overflow was set to visible.
3241
3242         Test: svg/custom/small-pattern.html
3243
3244         * svg/graphics/SVGPaintServerPattern.cpp:
3245         (WebCore::SVGPaintServerPattern::setup):
3246
3247 2009-12-07  Kenneth Russell  <kbr@google.com>
3248
3249         Reviewed by Dimitri Glazkov.
3250
3251         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
3252         https://bugs.webkit.org/show_bug.cgi?id=31889
3253
3254         Fixed bug in handling of zero-argument constructor call.
3255
3256         Test: fast/canvas/webgl/bug-31889.html
3257
3258         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
3259         (WebCore::CALLBACK_FUNC_DECL):
3260
3261 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
3262
3263         Reviewed by Eric Seidel.
3264
3265         https://bugs.webkit.org/show_bug.cgi?id=32024
3266         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
3267
3268         Fix build errors when javascript-debugger is disabled on GTK
3269
3270         * GNUmakefile.am:
3271
3272 2009-12-07  Dan Bernstein  <mitz@apple.com>
3273
3274         Reviewed by Darin Adler.
3275
3276         Fixed <rdar://problem/7437820> Weird selection artifacts
3277
3278         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
3279                fast/repaint/block-selection-gap-stale-cache.html
3280
3281         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
3282         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
3283         stale due to layout changes and overflow scrolling.
3284
3285         * rendering/RenderBlock.cpp:
3286         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
3287         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
3288         * rendering/RenderLayer.cpp:
3289         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
3290         bounds to include the given rect.
3291         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
3292         selection gaps bounds.
3293         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
3294         selection gaps bounds.
3295         * rendering/RenderLayer.h:
3296         * rendering/RenderView.cpp:
3297         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
3298         of the view-level cache.
3299         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
3300         * rendering/RenderView.h:
3301
3302 2009-12-07  Philippe Normand  <pnormand@igalia.com>
3303
3304         Reviewed by Gustavo Noronha.
3305
3306         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
3307         from it. Also, GStreamer doesn't handle directly SMIL.
3308
3309         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3310         (WebCore::mimeTypeCache):
3311
3312 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3313
3314         Reviewed by Xan Lopez.
3315
3316         https://bugs.webkit.org/show_bug.cgi?id=25415
3317         [GTK][ATK] Please implement support for get_text_at_offset
3318
3319         Eliminate the segfaults which occur when accessing the text interface now
3320         implemented by text controls.
3321
3322         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3323         (getPangoLayoutForAtk):
3324
3325 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
3326
3327         Reviewed by Xan Lopez.
3328
3329         Turn the MediaPlayer supported types blacklist into a whitelist
3330
3331         [GTK] REGRESSION: webkit thinks it can render PDFs
3332         https://bugs.webkit.org/show_bug.cgi?id=32183
3333
3334         Covered by API test.
3335
3336         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3337         (WebCore::mimeTypeCache):
3338
3339 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3340
3341         Reviewed by Xan Lopez.
3342
3343         https://bugs.webkit.org/show_bug.cgi?id=25524
3344         [Gtk] Expose the title attribute to assistive technologies
3345
3346         Expose 'alt' attribute from images as accessible name.
3347         Expose the 'title' core HTML attribute as accessible description.
3348         This is a modified version of the original fix submitted by Mario Sanchez Prada,
3349         adjusted so that it doesn't impact other platforms.
3350
3351         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3352         (webkit_accessible_get_name):
3353         (webkit_accessible_get_description):
3354
3355 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3356
3357         Reviewed by Simon Hausmann.
3358
3359         [Qt] Fix support for generic font families
3360
3361         By not propagating the resolved font family in FontCacheQt and
3362         only concidering the font description we ended up passing the
3363         generic font families to Qt directly. Since most systems don't
3364         have a mapping for these font families we ended up using the
3365         default font in most cases.
3366
3367         * platform/graphics/qt/FontCacheQt.cpp:
3368         * platform/graphics/qt/FontPlatformData.h:
3369         * platform/graphics/qt/FontPlatformDataQt.cpp:
3370
3371 2009-12-06  Oliver Hunt  <oliver@apple.com>
3372
3373         Reviewed by Maciej Stachowiak.
3374
3375         Object.getOwnPropertyDescriptor() allows cross-frame access
3376         https://bugs.webkit.org/show_bug.cgi?id=32119
3377
3378         Make all implementations of getOwnPropertyDescriptor that have
3379         cross domain restrictions simply fail immediately on cross domain
3380         access, rather than trying to mimic the behaviour of normal
3381         property access.
3382
3383         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
3384
3385         * bindings/js/JSDOMWindowCustom.cpp:
3386         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3387         * bindings/js/JSHistoryCustom.cpp:
3388         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
3389         * bindings/js/JSLocationCustom.cpp:
3390         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3391         * bindings/scripts/CodeGeneratorJS.pm:
3392
3393 2009-12-07  Steve Block  <steveblock@google.com>
3394
3395         Reviewed by Adam Barth.
3396
3397         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
3398         https://bugs.webkit.org/show_bug.cgi?id=32157
3399
3400         Build fix only, no new tests.
3401
3402         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
3403         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
3404         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
3405         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
3406         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
3407         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
3408         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
3409         * bridge/jni/jsc: Added.
3410         * bridge/jni/jsc/jni_utility_private.cpp: Added.
3411         (JSC::Bindings::convertArrayInstanceToJavaArray):
3412         (JSC::Bindings::convertValueToJValue):
3413         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
3414         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
3415
3416 2009-12-06  Oliver Hunt  <oliver@apple.com>
3417
3418         Reviewed by Maciej Stachowiak.
3419
3420         texImage2D pixel junk for transparency
3421         https://bugs.webkit.org/show_bug.cgi?id=32188
3422
3423         Use kCGBlendModeCopy when drawing an image to the intermediate context
3424         used to create a GL texture.
3425
3426         No test as we don't currently have any mechanism to retrieve pixel data
3427         from the webgl context.
3428
3429         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3430         (WebCore::imageToTexture):
3431
3432 2009-12-03  Philippe Normand  <pnormand@igalia.com>
3433
3434         Reviewed by Gustavo Noronha.
3435
3436         Advertize audio/ogg correctly and refactored mime-type cache
3437         building.
3438
3439         [GTK] Recognize oga as audio/ogg
3440         https://bugs.webkit.org/show_bug.cgi?id=31990
3441
3442         Test: media/media-can-play-ogg.html
3443
3444         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3445         (WebCore::mimeTypeCache):
3446
3447 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
3448
3449         Reviewed by Eric Seidel.
3450
3451         https://bugs.webkit.org/show_bug.cgi?id=32175
3452         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
3453
3454         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3455         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
3456         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
3457         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
3458
3459 2009-12-05  Adam Langley  <agl@google.com>
3460
3461         Reviewed by Adam Barth.
3462
3463         Check that a CSS format() argument is of a valid type.
3464
3465         https://bugs.webkit.org/show_bug.cgi?id=31815
3466         http://code.google.com/p/chromium/issues/detail?id=28582
3467
3468         Test: fast/css/url-format-non-string.html
3469
3470         * css/CSSParser.cpp:
3471         (WebCore::CSSParser::parseFontFaceSrc):
3472
3473 2009-12-04  Adam Langley  <agl@google.com>
3474
3475         Reviewed by Eric Seidel.
3476
3477         Chromium: make rounded borders heavier.
3478
3479         Skia draws its rounded corners differently from the other ports.
3480         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
3481         regions. (Which is technically more correct, but somewhat unhelpful
3482         for us.) Instead, with Skia we use a layer and collect all the
3483         clipping paths in effect. When the state is popped, we paint
3484         transparency outside the clipping paths and merge the layer down.
3485
3486         This appears to cause rounded borders to look a little thin, which is
3487         addressed in this patch.
3488
3489         This is well covered by existing tests but will require new baselines
3490         in the Chromium tree.
3491
3492         https://bugs.webkit.org/show_bug.cgi?id=31778
3493
3494         * platform/graphics/skia/GraphicsContextSkia.cpp:
3495         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3496
3497 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
3498
3499         Reviewed by Dan Bernstein.
3500
3501         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
3502         
3503         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
3504         paint. This also causes 3D transforms to be flattened to 2D.
3505
3506         Test: printing/compositing-layer-printing.html
3507
3508         * page/FrameView.cpp:
3509         (WebCore::FrameView::paintContents):
3510
3511 2009-12-04  Oliver Hunt  <oliver@apple.com>
3512
3513         Reviewed by Beth Dakin.
3514
3515         Fix up some issues in my SVGListTraits change from yesterday.
3516
3517         * svg/SVGListTraits.h:
3518         (WebCore::):
3519
3520 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
3521
3522         Not reviewed: chromium build fix.
3523
3524         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
3525         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
3526
3527         * platform/KURLGoogle.cpp:
3528         (WebCore::isDefaultPortForProtocol):
3529         (WebCore::portAllowed):
3530
3531 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
3532
3533         Reviewed by Timothy Hatcher.
3534
3535         Web Inspector: Remove suppress highlight when restoring selected node.
3536
3537         https://bugs.webkit.org/show_bug.cgi?id=32152
3538
3539         * inspector/front-end/ElementsPanel.js:
3540         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
3541         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
3542         (WebInspector.ElementsPanel.prototype.setDocument):
3543
3544 2009-12-04  Dirk Schulze  <krit@webkit.org>
3545
3546         Reviewed by Nikolas Zimmermann.
3547
3548         Gradient SVG animation demonstrates tearing at animation extremes
3549         https://bugs.webkit.org/show_bug.cgi?id=11929
3550
3551         The focalPoint of a radial gradient is temporarly substracted by
3552         the centralPoint, if the focalPoint is not in the radius of the
3553         gradient. This is needed to calculate a new postion of the focalPoint
3554         according to the specification. But the new focalPoint needs to be
3555         moved by the centralPoint after this calculation, which is not the case
3556         at the moment. This patch fixes this issue. It was also introduced a
3557         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
3558         in Cairo.
3559
3560         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
3561         of the new focalPoint caused wrong results for the last three tests.
3562
3563         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
3564
3565         * svg/SVGRadialGradientElement.cpp:
3566         (WebCore::SVGRadialGradientElement::buildGradient):
3567
3568 2009-12-04  Anton Muhin  <antonm@chromium.org>
3569
3570         Reviewed by Dmitry Titov.
3571
3572         Do not use WebCore::String::String(const UChar*, int length) to convert
3573         short v8 strings.
3574
3575         Plus added string traits.
3576         https://bugs.webkit.org/show_bug.cgi?id=31415
3577
3578         * bindings/v8/V8Binding.cpp:
3579         (WebCore::):
3580         (WebCore::v8StringToWebCoreString):
3581
3582 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
3583
3584         Reviewed by Darin Adler.
3585
3586         REGRESSION: AX: buttons now extremely repetitive
3587         https://bugs.webkit.org/show_bug.cgi?id=32164
3588
3589         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
3590
3591         * accessibility/AccessibilityObject.h:
3592         (WebCore::AccessibilityObject::isButton):
3593         * accessibility/mac/AccessibilityObjectWrapper.mm:
3594         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3595
3596 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
3597
3598         Reviewed by Darin Adler.
3599
3600         Check whether the right side of a string append is non-empty
3601         https://bugs.webkit.org/show_bug.cgi?id=32151
3602
3603         Especially beneficial for CachedScript::script() method
3604         which usually appends an empty string returned by flush()
3605         to its m_script member. m_script is often hundreds of kbytes
3606         which is duplated without reason.
3607
3608         * platform/text/String.cpp:
3609         (WebCore::String::append):
3610
3611 2009-12-04  Enrica Casucci  <enrica@apple.com>
3612
3613         Reviewed by John Sullivan.
3614
3615         Mail.app crashes when indenting table pasted from Numbers.app.
3616         <rdar://problem/7209507>
3617         https://bugs.webkit.org/show_bug.cgi?id=32166
3618
3619         Test: LayoutTests/editing/execCommand/indent-partial-table.html
3620         
3621         * editing/IndentOutdentCommand.cpp:
3622         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
3623         after the selection has not been moved.
3624
3625 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
3626
3627         Reviewed by Darin Adler.
3628
3629         https://bugs.webkit.org/show_bug.cgi?id=32085
3630         WebSocket should block the same ports that are blocked for resource loading
3631
3632         Test: websocket/tests/url-parsing.html
3633
3634         * page/SecurityOrigin.cpp:
3635         (WebCore::SecurityOrigin::SecurityOrigin):
3636         (WebCore::SecurityOrigin::localURLSchemes):
3637         * page/SecurityOrigin.h:
3638         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
3639         is not even in WebCore/platform directory).
3640
3641         * html/HTMLAnchorElement.cpp:
3642         (WebCore::HTMLAnchorElement::host):
3643         (WebCore::HTMLAnchorElement::setHost):
3644         (WebCore::HTMLAnchorElement::setPort):
3645         Updated for the new location of isDefaultPortForProtocol().
3646
3647         * platform/KURL.cpp:
3648         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
3649         since the function doesn't require lower case input.
3650         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
3651         (WebCore::portAllowed): Moved from ResourceHandle.
3652         * platform/KURL.h:
3653
3654         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
3655         new location of portAllowed().
3656
3657         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
3658         if trying to connect to a blocked port.
3659
3660 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
3661
3662         Reviewed by Kenneth Rohde Christiansen.
3663
3664         [Qt] WebKit crashes when loading certain SVG images
3665         https://bugs.webkit.org/show_bug.cgi?id=29443
3666
3667         Remove FontFallbackListQt and rely on the common FontFallbackList
3668         to handle the fonts. FontCache and FontPlatformData have been
3669         updated to work with the common FontFallbackList.
3670
3671         In the previous implementation, FontPlatformDataCacheKey
3672         was a clone of FontPlatformData with the hashing
3673         capabilities added in order to use it as a key in the cache's
3674         hashmap. FontPlatformData has been modified to handle the hashing
3675         function directly so the data are not copied twice in memory.
3676
3677         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
3678         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
3679         The behavior is similar except currFamily->family().length() was
3680         not tested and the fallback fonts selector were not used.
3681
3682         Existing tests cover the change.
3683
3684         * WebCore.pro:
3685         * platform/graphics/qt/FontCacheQt.cpp:
3686         (WebCore::FontCache::platformInit):
3687         (WebCore::FontCache::getFontDataForCharacters):
3688         (WebCore::FontCache::getSimilarFontPlatformData):
3689         (WebCore::FontCache::getLastResortFallbackFont):
3690         (WebCore::FontCache::getTraitsInFamily):
3691         (WebCore::FontCache::createFontPlatformData):
3692         * platform/graphics/qt/FontCustomPlatformData.cpp:
3693         (WebCore::FontCustomPlatformData::fontPlatformData):
3694         * platform/graphics/qt/FontFallbackListQt.cpp:
3695         Removed. We now use the implementation from FontFallbackList.cpp
3696         * platform/graphics/qt/FontPlatformData.h:
3697         Add hashing capabilities to be able to use the data with the FontCache.
3698         This was previously done in FontCacheQt.cpp
3699         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
3700         (WebCore::FontPlatformData::FontPlatformData):
3701         (WebCore::FontPlatformData::isHashTableDeletedValue):
3702         (WebCore::FontPlatformData::font):
3703         (WebCore::FontPlatformData::size):
3704         (WebCore::FontPlatformData::family):
3705         (WebCore::FontPlatformData::bold):
3706         (WebCore::FontPlatformData::italic):
3707         (WebCore::FontPlatformData::smallCaps):
3708         (WebCore::FontPlatformData::pixelSize):
3709         * platform/graphics/qt/FontPlatformDataQt.cpp: