2009-12-14 Dimitri Glazkov <dglazkov@chromium.org>
[webbrowser.git] / WebCore / ChangeLog
blob15758108bd9e62c9779c86b5acb3fa89fb142a01
1 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
3         Reviewed by Eric Seidel.
5         [V8] Generate bindings for trivial indexers.
6         https://bugs.webkit.org/show_bug.cgi?id=32455
8         Covered by existing tests.
10         * bindings/scripts/CodeGeneratorV8.pm:
11             Added detecting indexers and generating code for them.
12         * bindings/v8/V8Collection.h: Removed code that's now generated.
13         * bindings/v8/V8DOMWrapper.cpp:
14         (WebCore::V8DOMWrapper::getTemplate): Ditto.
16 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
18         Reviewed by Dave Hyatt.
20         https://bugs.webkit.org/show_bug.cgi?id=31660
21         REGRESSION (r49394): Image load event fires before the document fragment is attached.
23         Test: fast/images/image-load-event-in-fragment.html
25         We cannot fire load events immediately after parsing a fragment - an element inserted via
26         innerHTML or equivalent should be reachable via getElementById() by the time its load event
27         fires.
29         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
30         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
31         preserving existing behavior.
33         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
34         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
35         Load events for elements that have just been parsed cannot be dispatched yet, we should give
36         the elements a chance to be inserted into a document first. There is no compatibility baggage
37         for beforeload, so it seems OK to dispatch it right away.
39         * loader/ImageLoader.cpp:
40         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
41         (WebCore::ImageLoader::dispatchPendingLoadEvents):
42         * loader/ImageLoader.h:
43         Separated dispatchPendingEvents() into individual functions for each event kind.
45 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
47         Reviewed by Simon Fraser.
49         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
50         https://bugs.webkit.org/show_bug.cgi?id=30442
52         This enables optimizations for distinguishing between
53         arbitrary FloatQuads and rectilinear ones.
55         * platform/graphics/FloatQuad.cpp:
56         (WebCore::FloatQuad::isRectilinear):
57         * platform/graphics/FloatQuad.h:
59 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
61         Reviewed by Holger Freyther.
63         [Qt] Add support for keyboard modifiers to TouchEvent
65         https://bugs.webkit.org/show_bug.cgi?id=32482
67         Similar to other ui events with keyboard state, get the alt, shift,
68         meta and ctrl modifiers straight from the platform event.
70         * dom/TouchEvent.cpp:
71         (WebCore::TouchEvent::TouchEvent):
72         (WebCore::TouchEvent::initTouchEvent):
73         * dom/TouchEvent.h:
74         (WebCore::TouchEvent::create):
75         * dom/TouchEvent.idl:
76         * page/EventHandler.cpp:
77         (WebCore::EventHandler::handleTouchEvent):
78         * platform/PlatformTouchEvent.h:
79         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
80         (WebCore::PlatformTouchEvent::shiftKey):
81         (WebCore::PlatformTouchEvent::ctrlKey):
82         (WebCore::PlatformTouchEvent::altKey):
83         (WebCore::PlatformTouchEvent::metaKey):
84         * platform/qt/PlatformTouchEventQt.cpp:
85         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
87 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
89         Reviewed by Kenneth Rohde Christiansen.
91         [Qt] crash when clicking "Sign out" in GMail
92         https://bugs.webkit.org/show_bug.cgi?id=32300
94         When the ResourceLoader cancels the handle we have to make sure not to access
95         the resource handle afterwards again.
96         This complete r29515
98         * platform/network/qt/QNetworkReplyHandler.cpp:
99         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
101 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
103         Reviewed by Pavel Feldman.
105         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
106         https://bugs.webkit.org/show_bug.cgi?id=32517
108         * inspector/front-end/InjectedScript.js:
109         (InjectedScript.evaluateOnSelf):
110         * inspector/front-end/InjectedScriptAccess.js:
112 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
114         Reviewed by Darin Adler.
116         Fix for compilation errors in WML enabled builds.
118         https://bugs.webkit.org/show_bug.cgi?id=32481
120         * wml/WMLInputElement.cpp:
121         (WebCore::WMLInputElement::setValue):
122         (WebCore::WMLInputElement::setValueForUser):
123         * wml/WMLInputElement.h:
125 2009-12-14  Andrei Popescu  <andreip@google.com>
127         Reviewed by Darin Adler.
129         [Android] Android needs ResourceError, ResourceResponse and
130         ResourceRequest implementation.
131         https://bugs.webkit.org/show_bug.cgi?id=32522
133         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
134         No new tests needed, the existing tests should be sufficient.
136         * platform/network/android/ResourceError.h: Added.
137         (WebCore::ResourceError::ResourceError):
138         * platform/network/android/ResourceRequest.h: Added.
139         (WebCore::ResourceRequest::ResourceRequest):
140         (WebCore::ResourceRequest::doUpdatePlatformRequest):
141         (WebCore::ResourceRequest::doUpdateResourceRequest):
142         (WebCore::ResourceRequest::setUserGesture):
143         (WebCore::ResourceRequest::getUserGesture):
144         * platform/network/android/ResourceResponse.h: Added.
145         (WebCore::ResourceResponse::ResourceResponse):
146         (WebCore::ResourceResponse::doUpdateResourceResponse):
148 2009-12-14  Sam Weinig  <sam@webkit.org>
150         Fix the build.
152         * page/Geolocation.cpp:
153         * page/Geolocation.h:
155 2009-12-13  Sam Weinig  <sam@webkit.org>
157         Reviewed by Dan Bernstein.
159         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
160         Add client based Geolocation provider
162         Add first cut of a client based Geolocation provider. This is guarded by
163         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
164         GeolocationControllerClient interface that no-one currently implements,
165         but will in a subsequent patch.
167         * GNUmakefile.am:
168         * WebCore.base.exp:
169         * WebCore.gypi:
170         * WebCore.pro:
171         * WebCore.vcproj/WebCore.vcproj:
172         * WebCore.xcodeproj/project.pbxproj:
173         * WebCoreSources.bkl:
174         * page/Geolocation.cpp:
175         (WebCore::createGeopositionFromGeolocationPosition):
176         (WebCore::createPositionErrorFromGeolocationError):
177         (WebCore::Geolocation::Geolocation):
178         (WebCore::Geolocation::~Geolocation):
179         (WebCore::Geolocation::disconnectFrame):
180         (WebCore::Geolocation::lastPosition):
181         (WebCore::Geolocation::startRequest):
182         (WebCore::Geolocation::fatalErrorOccurred):
183         (WebCore::Geolocation::requestTimedOut):
184         (WebCore::Geolocation::clearWatch):
185         (WebCore::Geolocation::handleError):
186         (WebCore::Geolocation::positionChanged):
187         (WebCore::Geolocation::makeSuccessCallbacks):
188         (WebCore::Geolocation::errorOccurred):
189         (WebCore::Geolocation::geolocationServicePositionChanged):
190         (WebCore::Geolocation::geolocationServiceErrorOccurred):
191         (WebCore::Geolocation::startUpdating):
192         (WebCore::Geolocation::stopUpdating):
193         * page/Geolocation.h:
194         * page/GeolocationController.cpp: Added.
195         (WebCore::GeolocationController::GeolocationController):
196         (WebCore::GeolocationController::~GeolocationController):
197         (WebCore::GeolocationController::addObserver):
198         (WebCore::GeolocationController::removeObserver):
199         (WebCore::GeolocationController::positionChanged):
200         (WebCore::GeolocationController::errorOccurred):
201         (WebCore::GeolocationController::lastPosition):
202         * page/GeolocationController.h: Added.
203         * page/GeolocationControllerClient.h: Added.
204         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
205         * page/GeolocationError.h: Added.
206         (WebCore::GeolocationError::):
207         (WebCore::GeolocationError::create):
208         (WebCore::GeolocationError::code):
209         (WebCore::GeolocationError::message):
210         * page/GeolocationPosition.h: Added.
211         (WebCore::GeolocationPosition::create):
212         (WebCore::GeolocationPosition::timestamp):
213         (WebCore::GeolocationPosition::latitude):
214         (WebCore::GeolocationPosition::longitude):
215         (WebCore::GeolocationPosition::accuracy):
216         (WebCore::GeolocationPosition::altitude):
217         (WebCore::GeolocationPosition::altitudeAccuracy):
218         (WebCore::GeolocationPosition::heading):
219         (WebCore::GeolocationPosition::speed):
220         (WebCore::GeolocationPosition::canProvideAltitude):
221         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
222         (WebCore::GeolocationPosition::canProvideHeading):
223         (WebCore::GeolocationPosition::canProvideSpeed):
224         (WebCore::GeolocationPosition::GeolocationPosition):
225         * page/Geoposition.h:
226         (WebCore::Geoposition::create):
227         * page/Page.cpp:
228         (WebCore::Page::Page):
229         * page/Page.h:
230         (WebCore::Page::geolocationController):
231         * svg/graphics/SVGImage.cpp:
232         (WebCore::SVGImage::dataChanged):
234 2009-12-14  Adam Langley  <agl@google.com>
236         Reviewed by Darin Adler.
238         Test that an image's size is valid before reading it.
240         Previously, an image that failed to load (m_failed == true) would
241         trigger an assertion failure when WebKit tried to get its size.
243         https://bugs.webkit.org/show_bug.cgi?id=32176
244         http://code.google.com/p/chromium/issues/detail?id=28566
246         Test: fast/images/size-failure.html
248         * platform/graphics/ImageSource.cpp:
249         (WebCore::ImageSource::createFrameAtIndex):
251 2009-12-14  Dan Bernstein  <mitz@apple.com>
253         Reviewed by Darin Adler.
255         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
256         RenderWidget::setWidgetGeometry()
258         Test: fast/forms/defer-updateFromElement.html
260         * html/HTMLFormControlElement.cpp:
261         (WebCore::updateFromElementCallback): Added this post-attach callback
262         that invokes updateFromElement().
263         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
264         updateFromElement(), enqueue a post-attach (in this case, post-style
265         recalc) callback to do it. updateFromElement() can cause the selection
266         to change, and in turn trigger synchronous layout, so it must not be
267         called during style recalc.
269 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
271         Reviewed by Timothy Hatcher.
273         Web Inspector: [regression] inspector deletes nodes when editing css.
275         Now all the treeoutlines are focusable, sections and their titles
276         are also focusable. Change contains couple of drive-by fixes such as
277         canceling of the attribute edit nuking attr info and maintaining proper
278         selection while deleting nodes.
280         https://bugs.webkit.org/show_bug.cgi?id=32460
282         * inspector/front-end/CallStackSidebarPane.js:
283         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
284         * inspector/front-end/ConsoleView.js:
285         (WebInspector.ConsoleView.prototype._promptKeyDown):
286         * inspector/front-end/DataGrid.js:
287         (WebInspector.DataGrid.prototype._keyDown):
288         * inspector/front-end/DatabaseQueryView.js:
289         (WebInspector.DatabaseQueryView):
290         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
291         * inspector/front-end/ElementsPanel.js:
292         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
293         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
294         (WebInspector.ElementsPanel.prototype.handleShortcut):
295         * inspector/front-end/ElementsTreeOutline.js:
296         (WebInspector.ElementsTreeOutline):
297         (WebInspector.ElementsTreeOutline.prototype._keyDown):
298         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
299         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
300         * inspector/front-end/Panel.js:
301         (WebInspector.Panel.prototype.show):
302         (WebInspector.Panel.prototype.get defaultFocusedElement):
303         * inspector/front-end/PropertiesSection.js:
304         (WebInspector.PropertiesSection):
305         * inspector/front-end/ScriptsPanel.js:
306         (WebInspector.ScriptsPanel):
307         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
308         (WebInspector.ScriptsPanel.prototype.handleShortcut):
309         * inspector/front-end/SidebarPane.js:
310         (WebInspector.SidebarPane):
311         (WebInspector.SidebarPane.prototype.toggleExpanded):
312         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
313         * inspector/front-end/SourceFrame.js:
314         (WebInspector.SourceFrame.prototype._loaded):
315         * inspector/front-end/TextPrompt.js:
316         (WebInspector.TextPrompt):
317         * inspector/front-end/inspector.css:
318         * inspector/front-end/inspector.html:
319         * inspector/front-end/inspector.js:
320         (WebInspector.loaded):
321         (WebInspector.documentKeyDown):
322         (WebInspector.documentCanCopy):
323         (WebInspector.documentCopy):
324         (WebInspector._searchFieldManualFocus):
325         (WebInspector._searchKeyDown):
326         (WebInspector.startEditing.cleanUpAfterEditing):
327         (WebInspector.startEditing.keyDownEventListener):
328         (WebInspector.startEditing):
329         * inspector/front-end/treeoutline.js:
330         (TreeOutline):
331         (TreeOutline._removeChildAtIndex):
332         (TreeOutline.prototype._treeKeyDown):
333         (TreeElement.prototype.deselect):
334         * inspector/front-end/utilities.js:
335         ():
337 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
339         Unreviewed, build fix.
341         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
343         * dom/Document.cpp:
344         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
345         * dom/Document.h: Added JSC guards to wrapper cache-related members.
347 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
349         Reviewed by Adele Peterson.
351         AX: there's an infinite loop going on for some webpages - facebook.com
352         https://bugs.webkit.org/show_bug.cgi?id=32501
354         The problem is that parentObjectUnignored() cannot be called
355         while in accessibilityIsIgnored, because it leads to
356         recursiveness. Specifically, there were checks to determine
357         if an object was within a ARIA tree. That check should
358         1) be moved to all platforms, and 2) not call parentObjectUnignored().
360         Test: accessibility/hang-in-isignored.html
362         * accessibility/AccessibilityRenderObject.cpp:
363         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
364         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
365         * accessibility/AccessibilityRenderObject.h:
366         * accessibility/mac/AccessibilityObjectMac.mm:
367         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
369 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
371         Reviewed by Dan Bernstein.
373         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
375         Use MediaControllerThemeQuickTime on Leopard.
377         * rendering/RenderThemeMac.mm:
378         (WebCore::mediaControllerTheme):
380 2009-12-14  Adam Roben  <aroben@apple.com>
382         Move QuartzCore-related build settings into a vsprops file
384         Fixes <http://webkit.org/b/32518>
386         Reviewed by Dan Bernstein.
388         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
389         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
390         other QuartzCore-related build settings from here...
391         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
393 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
395         Reviewed by Antti Koivisto.
397         handling scripts can block UI
398         https://bugs.webkit.org/show_bug.cgi?id=27612
400         Break execution of external scrips to smaller chunks. 
401         No new tests since no new functionality was introduced.
403         * html/HTMLTokenizer.cpp:
404         (WebCore::HTMLTokenizer::HTMLTokenizer):
405         (WebCore::HTMLTokenizer::reset):
406         (WebCore::HTMLTokenizer::notifyFinished):
407         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
408         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
409         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
410         * html/HTMLTokenizer.h:
412 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
414         Reviewed by Simon Hausmann.
416         [Qt] Connect QNetworkReply via direct connections.
417         https://bugs.webkit.org/show_bug.cgi?id=32113
419         In the past we have switched from auto connections to queued
420         connections to get some more stability. The problem with the
421         Queued connections is latency. Even when running simple loading
422         tests the time it takes to runs highly varies and by using
423         direct connections these tests produce a stable result.
425         We will have to look out for crashes coming from within the
426         QNetworkAccessManager due this patch and address them then.
428         * platform/network/qt/QNetworkReplyHandler.cpp:
429         (WebCore::QNetworkReplyHandler::start):
431 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
433         Rubber-stamped by Simon Hausmann.
435         [Qt] QtWebKit should use QImageReader::setQuality(49)
436         https://bugs.webkit.org/show_bug.cgi?id=30740
438         Using QImageReader::setQuality(49) will influence the JPEG
439         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
440         is showing a 5% improvement in a reduction that decodes all images
441         used during the page loading test. The libjpeg documentation mentions
442         that the IFAST routine is not as accurate as other routines but in
443         our tests we couldn't see a difference.
445         * platform/graphics/qt/ImageDecoderQt.cpp:
446         (WebCore::ImageDecoderQt::setData):
448 2009-11-11  Philippe Normand  <pnormand@igalia.com>
450         Reviewed by Oliver Hunt.
452         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
453         https://bugs.webkit.org/show_bug.cgi?id=30377
455         Emit volumeChanged and durationChanged upon notification from
456         GStreamer.
458         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
459         (WebCore::mediaPlayerPrivateMessageCallback):
460         (WebCore::mediaPlayerPrivateVolumeCallback):
461         (WebCore::notify_volume_idle_cb):
462         (WebCore::MediaPlayerPrivate::didEnd):
463         (WebCore::MediaPlayerPrivate::durationChanged):
464         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
465         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
467 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
469         Reviewed by Sam Weinig.
470         
471         Changed GC from mark-sweep to mark-allocate.
473         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
474         * bindings/js/GCController.cpp:
475         (WebCore::collect):
476         (WebCore::GCController::gcTimerFired):
477         (WebCore::GCController::garbageCollectNow): Updated for rename.
479         * bindings/js/JSDOMBinding.cpp:
480         (WebCore::removeWrappers):
481         (WebCore::hasCachedDOMObjectWrapperUnchecked):
482         (WebCore::hasCachedDOMObjectWrapper):
483         (WebCore::hasCachedDOMNodeWrapperUnchecked):
484         (WebCore::forgetDOMObject):
485         (WebCore::forgetDOMNode):
486         (WebCore::isObservableThroughDOM):
487         (WebCore::markDOMNodesForDocument):
488         (WebCore::markDOMObjectWrapper):
489         (WebCore::markDOMNodeWrapper):
490         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
491         Don't ASSERT that an item must be in the WeakGCMap when its destructor
492         runs, since it might have been overwritten in the map first.
494         * bindings/js/JSDocumentCustom.cpp:
495         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
496         wrapper, to simplify some code.
498         * bindings/js/JSInspectedObjectWrapper.cpp:
499         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
500         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
501         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
502         wrappers.
504         * bindings/js/JSNodeCustom.cpp:
505         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
506         a DOM node wrapper instead of a DOM object wrapper.
508         * bindings/js/JSSVGPODTypeWrapper.h:
509         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
510         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
511         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
512         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
513         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
514         of linear lookup through iteration, since that's what hashtables were
515         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
516         from the table, instead of its JS wrapper, to decouple these objects from
517         GC, and because these objects are refCounted, not solely owned by their
518         JS wrappers.
520         * bindings/scripts/CodeGeneratorJS.pm:
521         * dom/Document.h: Adopted changes above.
523 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
525         Windows build fix: Removed an incorrect #ifdef.
527         * bindings/js/GCController.cpp:
529 2009-12-13  Charles Reis  <creis@chromium.org>
531         Reviewed by Adam Barth.
533         Refactor some security code out of V8 bindings
534         https://bugs.webkit.org/show_bug.cgi?id=32326
536         No new tests. There should be no functionality changes in this patch,
537         since it is only refactoring code.
539         * WebCore.gyp/WebCore.gyp:
540         * WebCore.gypi:
541         * bindings/BindingSecurity.h: Added.
542         (WebCore::BindingSecurity::BindingSecurity):
543         (WebCore::::canAccessWindow):
544         (WebCore::::canAccessFrame):
545         (WebCore::::checkNodeSecurity):
546         * bindings/BindingSecurityBase.cpp: Added.
547         (WebCore::BindingSecurityBase::getDOMWindow):
548         (WebCore::BindingSecurityBase::getFrame):
549         (WebCore::BindingSecurityBase::canAccessWindow):
550         * bindings/BindingSecurityBase.h: Added.
551         * bindings/GenericBinding.h: Added.
552         (WebCore::):
553         * bindings/scripts/CodeGeneratorV8.pm:
554         * bindings/v8/ScriptController.cpp:
555         (WebCore::ScriptController::isSafeScript):
556         * bindings/v8/V8Binding.h:
557         * bindings/v8/V8BindingState.cpp: Added.
558         (WebCore::::Only):
559         (WebCore::::getActiveWindow):
560         (WebCore::::immediatelyReportUnsafeAccessTo):
561         * bindings/v8/V8BindingState.h: Added.
562         (WebCore::):
563         * bindings/v8/V8Proxy.cpp:
564         (WebCore::V8Proxy::reportUnsafeAccessTo):
565         (WebCore::reportUnsafeJavaScriptAccess):
566         * bindings/v8/V8Proxy.h:
567         (WebCore::V8Proxy::):
568         * bindings/v8/custom/V8CustomBinding.cpp:
569         (WebCore::allowSettingFrameSrcToJavascriptUrl):
570         (WebCore::INDEXED_ACCESS_CHECK):
571         (WebCore::NAMED_ACCESS_CHECK):
572         * bindings/v8/custom/V8DOMWindowCustom.cpp:
573         (WebCore::V8Custom::WindowSetTimeoutImpl):
574         (WebCore::ACCESSOR_GETTER):
575         (WebCore::ACCESSOR_SETTER):
576         (WebCore::CALLBACK_FUNC_DECL):
577         (WebCore::V8Custom::ClearTimeoutImpl):
578         (WebCore::NAMED_ACCESS_CHECK):
579         (WebCore::INDEXED_ACCESS_CHECK):
580         * bindings/v8/custom/V8LocationCustom.cpp:
581         (WebCore::ACCESSOR_GETTER):
582         (WebCore::CALLBACK_FUNC_DECL):
583         (WebCore::INDEXED_ACCESS_CHECK):
584         (WebCore::NAMED_ACCESS_CHECK):
586 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
588         Reviewed by Simon Hausmann.
590         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
591         https://bugs.webkit.org/show_bug.cgi?id=31849
593         Qt allows to have three connections per host on Symbian, for
594         every other platform the limit is set to six connections per
595         host but the default implementation will only schedule four
596         connections per host.
597         In a manual test we seem to get the best loading speed by
598         going with Qt's limit and schedule two more jobs to allow Qt
599         to prepare them.
601         * platform/network/ResourceRequestBase.cpp:
602         * platform/network/qt/ResourceRequestQt.cpp:
603         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
605 2009-12-13  Dan Bernstein  <mitz@apple.com>
607         Reviewed by Simon Fraser.
609         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
610         handling misnested residual style tags
612         Test: fast/parser/residual-style-close-ref-clone.html
614         * html/HTMLParser.cpp:
615         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
616         block stack a strong reference to the cloned residual style element. 
618 2009-12-13  Adele Peterson  <adele@apple.com>
620         Reviewed by Sam Weinig.
622         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
623         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
624         https://bugs.webkit.org/show_bug.cgi?id=32078
626         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
628 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
630         Reviewed by Eric Seidel.
632         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
633         https://bugs.webkit.org/show_bug.cgi?id=31802
635         The goal here is to allow for a zero runtime hit for ports that decide to select
636         the API at compile time.
637         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
638         at runtime.  Core Text is used for OS Versions >= 10.6.
640         No test since this is already covered by existing pixel tests.
642         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
643         * platform/graphics/mac/ComplexTextController.cpp:
644         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
645         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
646         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
647         to ATSUI/Core text variants.
648         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
649         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
650         * platform/graphics/mac/ComplexTextController.h:
651         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
652         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
653         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
654         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
655         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
656         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
657         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
658         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
660 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
662         No review, rolling out r52059 until I can generate new Tiger
663         test results.
665         * rendering/RenderThemeMac.mm:
666         (WebCore::mediaControllerTheme):
668 2009-12-12  Sam Weinig  <sam@webkit.org>
670         Rubber-stamped by Dan Bernstein.
672         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
674         * Configurations/WebCore.xcconfig:
675         * page/EventHandler.cpp:
676         (WebCore::EventHandler::EventHandler):
677         (WebCore::EventHandler::clearDragState):
678         * page/mac/DragControllerMac.mm:
679         (WebCore::DragController::isCopyKeyDown):
680         * page/mac/EventHandlerMac.mm:
681         (WebCore::EventHandler::eventActivatedView):
682         * platform/PlatformKeyboardEvent.h:
683         * platform/PlatformMouseEvent.h:
684         * platform/PlatformWheelEvent.h:
685         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
686         * platform/ScrollView.cpp:
687         (WebCore::ScrollView::wheelEvent):
688         * platform/mac/KeyEventMac.mm:
689         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
690         * platform/mac/PlatformMouseEventMac.mm:
691         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
692         * platform/mac/PopupMenuMac.mm:
693         (WebCore::PopupMenu::show):
694         * platform/mac/WidgetMac.mm:
696 2009-12-12  Sam Weinig  <sam@webkit.org>
698         Rubber-stamped by Dan Bernstein.
700         Fix the !ENABLE(VIDEO) build.
702         * rendering/RenderLayerCompositor.cpp:
703         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
705 2009-12-12  Sam Weinig  <sam@webkit.org>
707         Rubber-stamped by Dan Bernstein.
709         Fix the !ENABLE(DATABASE) build.
711         * storage/SQLTransactionClient.cpp:
712         * storage/SQLTransactionClient.h:
713         * storage/SQLTransactionCoordinator.cpp:
714         * storage/SQLTransactionCoordinator.h:
715         * loader/FrameLoader.cpp:
716         (WebCore::FrameLoader::stopLoading):
718 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
720         Reviewed by Dan Bernstein.
722         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
724         Use MediaControllerThemeQuickTime on Leopard.
726         * rendering/RenderThemeMac.mm:
727         (WebCore::mediaControllerTheme):
729 2009-12-12  Kenneth Russell  <kbr@google.com>
731         Reviewed by Oliver Hunt.
733         Errors in WebGL[T]Array set() and get() methods
734         https://bugs.webkit.org/show_bug.cgi?id=32456
736         Test: fast/canvas/webgl/bug-32456.html
738         * bindings/js/JSWebGLFloatArrayCustom.cpp:
739         (WebCore::JSWebGLFloatArray::set):
740         * bindings/js/JSWebGLIntArrayCustom.cpp:
741         (WebCore::JSWebGLIntArray::set):
742         * bindings/js/JSWebGLShortArrayCustom.cpp:
743         (WebCore::JSWebGLShortArray::set):
744         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
745         (WebCore::JSWebGLUnsignedByteArray::set):
746         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
747         (WebCore::JSWebGLUnsignedIntArray::set):
748         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
749         (WebCore::JSWebGLUnsignedShortArray::set):
750         * bindings/v8/custom/V8WebGLArrayCustom.h:
751         (WebCore::setWebGLArray):
752         * html/canvas/WebGLFloatArray.idl:
753         * html/canvas/WebGLUnsignedIntArray.idl:
755 2009-12-12  Kenneth Russell  <kbr@google.com>
757         Reviewed by Oliver Hunt.
759         Update WebGL tests to released versions
760         https://bugs.webkit.org/show_bug.cgi?id=32457
762         * manual-tests/webgl/Earth.html:
763         * manual-tests/webgl/ManyPlanetsDeep.html:
764         * manual-tests/webgl/SpinningBox.html:
765         * manual-tests/webgl/TeapotPerPixel.html:
766         * manual-tests/webgl/TeapotPerVertex.html:
767         * manual-tests/webgl/resources/CanvasMatrix.js:
768         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
769         * manual-tests/webgl/resources/utils3d.js:
770         (initWebGL.gl.console.window.console.log):
771         (initWebGL):
772         (loadShader):
773         (makeBox):
774         (makeSphere):
775         (processLoadObj):
776         (doLoadObj):
777         (doLoadImageTexture):
779 2009-12-12  Christian Dywan  <christian@twotoasts.de>
781         Reviewed by Dirk Schulze.
783         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
785         * platform/graphics/filters/FEComponentTransfer.h:
787 2009-12-12  Christian Dywan  <christian@twotoasts.de>
789         Rubber-stamped by Maciej Stachowiak.
791         Only include SVGFEDisplacementMap.h if SVG is enabled.
793         * platform/graphics/filters/FEComponentTransfer.h:
795 2009-12-12  Dirk Schulze  <krit@webkit.org>
797         Reviewed by Eric Seidel.
799         [Cairo][Qt] Alpha blending in SVG filters is wrong
800         https://bugs.webkit.org/show_bug.cgi?id=32427
802         This patch is a follow-up to:
803         http://trac.webkit.org/changeset/51950
804         It fixes the alpha blending for Cairo and Qt on SVG Filters.
806         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
807                     * LayoutTests/svg/filters/feComposite.svg
808                      and others.
810         * platform/graphics/cairo/ImageBufferCairo.cpp:
811         (WebCore::ImageBuffer::platformTransformColorSpace):
812         * platform/graphics/qt/ImageBufferQt.cpp:
813         (WebCore::ImageBuffer::platformTransformColorSpace):
815 2009-12-11  Eric Roman  <eroman@chromium.org>
817         Unreviewed build fix.
819         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
821         * bindings/v8/ScriptController.cpp:
822         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
823         * bindings/v8/ScriptController.h:
825 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
827         Unreviewed, build fix.
829         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
831         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
832         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
833           to the submit method.
835 2009-12-11  Sam Weinig  <sam@webkit.org>
837         Reviewed by Mark Rowe.
839         Put -umbrella linker flag into a variable so that it can be overridden.
841         * Configurations/WebCore.xcconfig:
843 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
845         Reviewed by Darin Adler.
847         body with display:inline causes crash
848         https://bugs.webkit.org/show_bug.cgi?id=32371
850         Tests: fast/inline/inline-body-crash.html
851                fast/inline/inline-body-with-scrollbar-crash.html
853         * page/FrameView.cpp:
854         (WebCore::FrameView::createScrollbar):
855         (WebCore::FrameView::layout):
857 2009-12-11  Brady Eidson  <beidson@apple.com>
859         Rubberstamped by Sam Weinig.
861         https://webkit.org/b/22851 - Remove defunct FIXME.
863         * html/HTMLPlugInElement.cpp:
864         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
865           from the HTMLFrameOwnerElement chain of classes.
867 2009-12-11  Darin Adler  <darin@apple.com>
869         Reviewed by Dan Bernstein.
871         Small refactoring to get rid of some extra unneeded selection-related work
872         in RenderLayer::scrollToOffset and separate caret and range selection
873         logic in FrameView::layout. This may be useful later when changing how
874         the range selection logic works to fix layout reentrancy problems.
876         * page/Frame.cpp: Removed invalidateSelection.
877         * page/Frame.h: Ditto.
879         * page/FrameView.cpp:
880         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
881         and Frame::selectionLayoutChanged instead of calling
882         Frame::invalidateSelection, which was just a function that called
883         both of those others.
885         * rendering/RenderLayer.cpp:
886         (WebCore::RenderLayer::scrollToOffset): Call
887         SelectionController::setNeedsLayout instead of calling
888         Frame::invalidateSelection. This call site only needs the caret-related
889         work in that first function, not the other work formerly done by
890         Frame::invalidateSelection. The caret works outside the normal
891         painting and rendering system, and the range selection highlight is
892         more or less inside it and doesn't need special handling when scrolling.
894 2009-12-11  Brady Eidson  <beidson@apple.com>
896         Reviewed by Darin Adler.
898         <rdar://problem/7342725> and https://webkit.org/b/32383
899         Selecting article text at sfgate.com results in spurious back/forward entries
901         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
902         
903         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
904         but has a bug that prevents this.
906         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
908         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
910         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
911                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
913         Capture whether the form was submitted by javascript:
914         * loader/FormState.cpp:
915         (WebCore::FormState::FormState):
916         (WebCore::FormState::create):
917         * loader/FormState.h:
918         (WebCore::FormState::formSubmissionTrigger):
920         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
921         * loader/RedirectScheduler.cpp:
922         (WebCore::RedirectScheduler::scheduleFormSubmission):
924         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
925         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
926         * bindings/js/JSHTMLFormElementCustom.cpp:
927         (WebCore::JSHTMLFormElement::submit):
928         * html/HTMLFormElement.cpp:
929         (WebCore::HTMLFormElement::prepareSubmit):
930         (WebCore::HTMLFormElement::submit):
931         * html/HTMLFormElement.h:
933 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
935         Reviewed by Darin Adler.
937         https://bugs.webkit.org/show_bug.cgi?id=32445
938         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
940         * css/CSSImportRule.cpp:
941         (WebCore::CSSImportRule::setCSSStyleSheet):
942         * html/HTMLLinkElement.cpp:
943         (WebCore::HTMLLinkElement::setCSSStyleSheet):
944         Add a quirk for mcafee.com/japan (http or https, with or without www).
946 2009-12-11  Sam Weinig  <sam@webkit.org>
948         Reviewed by Dan Bernstein.
950         Make PlatformWheelEvent.h private instead of project.
952         * WebCore.xcodeproj/project.pbxproj:
954 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
956         Reviewed by Darin Adler.
958         Support reflections on composited layers
959         https://bugs.webkit.org/show_bug.cgi?id=31885
960         
961         First part of supporting composited reflections on compositing layers.
962         
963         Rename the m_transformLayer member variable to m_structuralLayer, since it
964         will get used both for transform layers (for preserve-3d) and to hold a flattening
965         layer related to reflections, both of which have similar requirements, and are
966         mutually exclusive.
968         * platform/graphics/mac/GraphicsLayerCA.h:
969         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
970         a CALayer, since m_structuralLayer isn't always a WebLayer.
971         
972         * platform/graphics/mac/GraphicsLayerCA.mm:
973         (WebCore::GraphicsLayerCA::commitLayerChanges):
974         updateLayerPreserves3D() renamed to updateStructuralLayer()
975         
976         (WebCore::GraphicsLayerCA::updateLayerNames):
977         New "update" method for updating layer names.
978         
979         (WebCore::GraphicsLayerCA::updateSublayerList):
980         m_transformLayer -> m_structuralLayer. Also minor refactor to only
981         allocate newSublayers in one place.
982         
983         (WebCore::GraphicsLayerCA::updateLayerSize):
984         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
985         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
986         (WebCore::GraphicsLayerCA::layerForSuperlayer):
987         m_transformLayer -> m_structuralLayer
988         
989         (WebCore::GraphicsLayerCA::updateStructuralLayer):
990         Call ensureStructuralLayer() which handles any deltas to the
991         structural layer type.
992         
993         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
994         Handle changes to the structural layer requirements
995         
996         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
997         Return an enum describing the purpose of the structural layer; for now
998         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
999         will in future also have a value related to reflections.
1001 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1003         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1005         * page/animation/KeyframeAnimation.cpp:
1006         (WebCore::KeyframeAnimation::pauseAnimation):
1008 2009-12-11  Adam Roben  <aroben@apple.com>
1010         Windows build fix
1012         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
1013         non-existent header.
1015 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1017         Build fix, no review.
1019         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1021         * page/animation/KeyframeAnimation.cpp:
1022         (WebCore::KeyframeAnimation::startAnimation):
1024 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1026         Build fix, no review.
1028         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
1030         * page/animation/ImplicitAnimation.cpp:
1031         (WebCore::ImplicitAnimation::startAnimation):
1033 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1035         Reviewed by Darin Adler.
1037         Negative values for animation-delay are ignored (treated as zero)
1038         https://bugs.webkit.org/show_bug.cgi?id=26150
1039         
1040         When we get the m_startTime for an animation or transition, subtract any negative
1041         delay so the animation/transition behaves like it started in the past, per spec.
1043         Tests: animations/negative-delay.html
1044                transitions/negative-delay.html
1046         * page/animation/AnimationBase.cpp:
1047         (WebCore::AnimationBase::updateStateMachine):
1049 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
1051         Reviewed by Dan Bernstein.
1053         Accelerated transitions broken when mixed with paused animations
1054         https://bugs.webkit.org/show_bug.cgi?id=32387
1056         Synchronization of a mixture of accelerated and software animations occurs via
1057         a callback from GraphicsLayerCA, which ends up in
1058         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
1059         the exact time at which the accelerated animations started, so is used as the
1060         start time for all animations and transitions which are marked as waiting.
1062         The bug was that the callback called when re-starting animations that were
1063         paused sent back an old time value, but this was used to start normal
1064         transitions. Therefore the transition would start with a stale start time, and
1065         thus end prematurely.
1067         The fix is to change the way that GraphicsLayerCA handles paused animations.
1068         Rather than setting the beginTime of the animation, it uses a beginTime of 0
1069         and a timeOffset that gets passed down. Thus the callbacks always come with
1070         beginTime for 'now'.
1072         Also clarify the role of AnimationBase::endAnimation() by splitting it into
1073         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
1074         beginTimes when starting and pausing.
1076         Manual test only, because the bug requires a non-trivial combination of
1077         animation pausing and transitions which take time, and the bug only shows in
1078         pixel results.
1079         
1080         * manual-tests/animation/transitions-and-paused-animations.html
1082         * page/animation/AnimationBase.cpp:
1083         (WebCore::AnimationBase::updateStateMachine):
1084         * page/animation/AnimationBase.h:
1085         (WebCore::AnimationBase::startAnimation):
1086         (WebCore::AnimationBase::pauseAnimation):
1087         (WebCore::AnimationBase::endAnimation):
1088         * page/animation/ImplicitAnimation.cpp:
1089         (WebCore::ImplicitAnimation::~ImplicitAnimation):
1090         (WebCore::ImplicitAnimation::startAnimation):
1091         (WebCore::ImplicitAnimation::endAnimation):
1092         (WebCore::ImplicitAnimation::onAnimationEnd):
1093         * page/animation/ImplicitAnimation.h:
1094         (WebCore::ImplicitAnimation::pauseAnimation):
1095         * page/animation/KeyframeAnimation.cpp:
1096         (WebCore::KeyframeAnimation::~KeyframeAnimation):
1097         (WebCore::KeyframeAnimation::startAnimation):
1098         (WebCore::KeyframeAnimation::pauseAnimation):
1099         (WebCore::KeyframeAnimation::endAnimation):
1100         (WebCore::KeyframeAnimation::onAnimationEnd):
1101         * page/animation/KeyframeAnimation.h:
1102         * platform/graphics/GraphicsLayer.h:
1103         (WebCore::GraphicsLayer::addAnimation):
1104         (WebCore::GraphicsLayer::pauseAnimation):
1105         * platform/graphics/mac/GraphicsLayerCA.h:
1106         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
1107         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
1108         * platform/graphics/mac/GraphicsLayerCA.mm:
1109         (WebCore::GraphicsLayerCA::addAnimation):
1110         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
1111         (WebCore::GraphicsLayerCA::pauseAnimation):
1112         (WebCore::GraphicsLayerCA::updateLayerAnimations):
1113         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1114         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
1115         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
1116         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1117         * rendering/RenderLayerBacking.cpp:
1118         (WebCore::RenderLayerBacking::startAnimation):
1119         (WebCore::RenderLayerBacking::startTransition):
1120         (WebCore::RenderLayerBacking::animationPaused):
1121         * rendering/RenderLayerBacking.h:
1123 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
1125         Reviewed by Darin Adler.
1127         Fixes <http://webkit.org/b/32399>.
1128         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
1129         
1130         When we initially figure out the layer that we should begin scrolling, don't try to jump out
1131         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
1132         don't need that logic anymore.
1133         
1134         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
1135         iFrame that has a scrollable owner document.
1137         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
1139         * dom/Node.cpp:
1140         (WebCore::Node::defaultEventHandler):
1142 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
1144         Reviewed by Adam Roben.
1146         Fixes <http://webkit.org/b/32303>.
1147         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
1148         
1149         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
1150         We get two wins out of this:
1151             1) Mousedown DOM events are now fired before pan scrolling.
1152             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
1153         
1154         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
1155         that when event.preventDefault is called, pan scrolling doesn't happen.
1157         Tests: platform/win/fast/events/panScroll-event-fired.html
1158                platform/win/fast/events/panScroll-preventDefault.html
1160         * dom/Node.cpp:
1161         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
1162         * page/EventHandler.cpp:
1163         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
1164         (WebCore::EventHandler::handleMousePressEvent): From here.
1165         * page/EventHandler.h:
1167 2009-12-11  Chris Marrin  <cmarrin@apple.com>
1169         Reviewed by Adam Roben.
1171         Delay load DLLs for accelerated compositing
1172         https://bugs.webkit.org/show_bug.cgi?id=31856
1173         
1174         Change calls that use the data export symbols from
1175         QuartzCore to use the functions in QuartzCoreInterface.
1176         This allows QuartzCore to be delay loaded.
1178         * platform/graphics/win/GraphicsLayerCACF.cpp:
1179         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
1180         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
1181         (WebCore::GraphicsLayerCACF::updateContentsImage):
1182         * platform/graphics/win/WKCACFLayer.cpp:
1183         (WebCore::toCACFLayerType):
1184         (WebCore::toCACFContentsGravityType):
1185         (WebCore::fromCACFContentsGravityType):
1186         (WebCore::toCACFFilterType):
1187         (WebCore::fromCACFFilterType):
1188         (WebCore::WKCACFLayer::create):
1189         (WebCore::WKCACFLayer::WKCACFLayer):
1190         (WebCore::WKCACFLayer::setContentsGravity):
1191         (WebCore::WKCACFLayer::contentsGravity):
1192         (WebCore::WKCACFLayer::setMagnificationFilter):
1193         (WebCore::WKCACFLayer::magnificationFilter):
1194         (WebCore::WKCACFLayer::setMinificationFilter):
1195         (WebCore::WKCACFLayer::minificationFilter):
1196         * platform/graphics/win/WKCACFLayer.h:
1197         (WebCore::WKCACFLayer::):
1198         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1199         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
1200         (WebCore::WKCACFLayerRenderer::createRenderer):
1202 2009-12-11  Steve Block  <steveblock@google.com>
1204         Reviewed by Darin Fisher.
1206         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
1207         https://bugs.webkit.org/show_bug.cgi?id=31810
1209         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
1210             of initializeMaximumHTTPConnectionCountPerHost for Android.
1211         * platform/network/android: Added.
1212         * platform/network/android/ResourceRequestAndroid.cpp: Added.
1213         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
1215 2009-12-11  Kent Tamura  <tkent@chromium.org>
1217         Reviewed by Darin Fisher.
1219         Add acceptTypes() method to FileChooser.
1220         https://bugs.webkit.org/show_bug.cgi?id=32429
1222         This method returns an 'accept' attribute value of the
1223         corresponding INPUT element. A ChromeClient::runOpenPanel()
1224         implementation can refer it through a FileChooser instance to
1225         support type-restricted file selecting.
1227         This makes no user-visible changes for now.
1229         * platform/FileChooser.h:
1230         (WebCore::FileChooser::acceptTypes):
1231         * rendering/RenderFileUploadControl.cpp:
1232         (WebCore::RenderFileUploadControl::acceptTypes):
1233         * rendering/RenderFileUploadControl.h:
1235 2009-12-11  Victor Wang  <victorw@chromium.org>
1237         Reviewed by Darin Fisher.
1239         Changed PopupMenuChromium to keep the value selected from
1240         keyboard when popup is closed.
1242         The problem is Chromium does not fire the onchange event
1243         when the popup is closed if an item is selected via
1244         keyboard by typing the first char of the item. This makes
1245         chromium popup not having consistent behaviours and also
1246         behaves differently from other major browsers.
1247         Calling popup->hide() instead of popup->hidePopup() in
1248         PopupMenu fixes the issues as it does extra step to check
1249         whethere there is a keyboard selection changed when closing
1250         the popup.
1252         https://bugs.webkit.org/show_bug.cgi?id=32403
1253     
1254         TEST: add a manual test as the current layout test shell
1255         does not support sending keyboard events to popup list.
1257         * manual-tests/chromium/select-close-popup-value-change.html: Added.
1258         * platform/chromium/PopupMenuChromium.cpp:
1259         (WebCore::PopupMenu::hide):
1261 2009-12-11  anton muhin  <antonm@chromium.org>
1263         Reviewed by Adam Barth.
1265         [v8] refactor WeakReferenceMap.
1266         Move common bits of functionality to reduce duplication.
1268         https://bugs.webkit.org/show_bug.cgi?id=32389
1270         Should be covered by buildbots.
1272         * bindings/v8/DOMData.h:
1273         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
1274         (WebCore::DOMData::handleWeakObject):
1275         (WebCore::DOMData::removeObjectsFromWrapperMap):
1276         * bindings/v8/DOMDataStore.cpp:
1277         (WebCore::DOMDataStore::weakDOMObjectCallback):
1278         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
1279         (WebCore::DOMDataStore::weakNodeCallback):
1280         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
1281         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
1282         * bindings/v8/DOMDataStore.h:
1283         * bindings/v8/V8DOMMap.cpp:
1284         (WebCore::visitDOMNodesInCurrentThread):
1285         (WebCore::visitDOMObjectsInCurrentThread):
1286         (WebCore::visitActiveDOMObjectsInCurrentThread):
1287         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
1288         (WebCore::visitSVGObjectsInCurrentThread):
1289         * bindings/v8/V8DOMMap.h:
1290         (WebCore::WeakReferenceMap::removeIfPresent):
1291         (WebCore::WeakReferenceMap::clear):
1292         (WebCore::WeakReferenceMap::visit):
1294 2009-12-11  anton muhin  <antonm@chromium.org>
1295         Reviewed by Adam Barth.
1297         [v8] in Debug builds create an additional handle scope
1298         when doing debug build checks.
1299         https://bugs.webkit.org/show_bug.cgi?id=32335
1301         Should be covered by buildbots.
1303         * bindings/v8/V8DOMWrapper.h:
1304         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
1305         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
1307 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
1309         Reviewed by Timothy Hatcher.
1311         Web Inspector: Do not use ContextMenuItem as value type in custom
1312         context menu implementation.
1314         https://bugs.webkit.org/show_bug.cgi?id=32411
1316         * GNUmakefile.am:
1317         * WebCore.gypi:
1318         * WebCore.pro:
1319         * WebCore.vcproj/WebCore.vcproj:
1320         * WebCore.xcodeproj/project.pbxproj:
1321         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1322         (WebCore::JSInspectorFrontendHost::showContextMenu):
1323         * inspector/InspectorFrontendHost.cpp:
1324         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1325         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
1326         (WebCore::InspectorFrontendHost::showContextMenu):
1327         (WebCore::InspectorFrontendHost::contextMenuCleared):
1328         * inspector/InspectorFrontendHost.h:
1329         (WebCore::InspectorFrontendHost::MenuProvider::create):
1330         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
1331         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
1332         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
1333         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
1334         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
1335         * page/ContextMenuController.cpp:
1336         (WebCore::ContextMenuController::ContextMenuController):
1337         (WebCore::ContextMenuController::clearContextMenu):
1338         (WebCore::ContextMenuController::showContextMenu):
1339         (WebCore::ContextMenuController::contextMenuItemSelected):
1340         * page/ContextMenuController.h:
1341         * page/ContextMenuProvider.h: Added.
1342         (WebCore::ContextMenuProvider::~ContextMenuProvider):
1343         * page/ContextMenuSelectionHandler.h: Removed.
1345 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
1347         Reviewed by Antti Koivisto.
1349         Basic cross-platform implementation of mapping platform touch events
1350         to JavaScript touch events.
1352         https://bugs.webkit.org/show_bug.cgi?id=32114
1354         Test: fast/events/basic-touch-events.html
1356         * page/EventHandler.cpp:
1357         (WebCore::EventHandler::handleTouchEvent):
1358         * page/EventHandler.h:
1360 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
1362         Reviewed by Darin Adler.
1364         Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
1365         https://bugs.webkit.org/show_bug.cgi?id=32110
1367         Inherits the following class from Noncopyable because it is
1368         instantiated by 'new' and no need to be copyable:
1370         class name              - instantiated at: WebCore/'location'
1372         class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
1374         * loader/FrameLoaderClient.h:
1376 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
1378         Reviewed by Darin Adler.
1380         Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
1381         https://bugs.webkit.org/show_bug.cgi?id=32106
1383         Inherits the following classes from Noncopyable because these are instantiated 
1384         by 'new' and no need to be copyable:
1386         class/struct name            - instantiated at: WebCore/'location'
1388         class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
1389         class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
1390         class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
1392         * svg/graphics/SVGImage.cpp:
1393         * loader/EmptyClients.h:
1395 2009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
1397         Reviewed by Darin Adler.
1399         The values of RuntimeArray are not enumerable
1400         https://bugs.webkit.org/show_bug.cgi?id=29005
1402         The indices of RuntimeArray should be enumerated like for a regular array.
1404         * bridge/runtime_array.cpp:
1405         (JSC::RuntimeArray::getOwnPropertyNames):
1406         * bridge/runtime_array.h:
1408 2009-12-11  Andreas Kling  <andreas.kling@nokia.com>
1410         Reviewed by Simon Hausmann.
1412         [Qt] ImageDecoderQt: Fix retrieval of image file extensions
1414         QImageReader only allows retrieving the format() before actually reading the image.
1416         https://bugs.webkit.org/show_bug.cgi?id=32428
1418         * platform/graphics/qt/ImageDecoderQt.cpp:
1419         (WebCore::ImageDecoderQt::setData):
1420         (WebCore::ImageDecoderQt::internalDecodeSize):
1422 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
1424         Reviewed by Antti Koivisto.
1426         Added interfaces for touch event support in JavaScript.
1428         https://bugs.webkit.org/show_bug.cgi?id=32114
1430         The Touch, TouchEvent and TouchList interfaces come straight from
1431         Android's copy of WebKit (eclaire branch).
1433         The PlatformTouchEvent and PlatformTouchPoint code was written by
1434         us.
1436         No new tests added, we are just adding interfaces
1437         with this patch.
1439         * WebCore.pro:
1440         * bindings/js/JSEventCustom.cpp:
1441         (WebCore::toJS):
1442         * dom/Document.cpp:
1443         (WebCore::Document::addListenerTypeIfNeeded):
1444         * dom/Document.h:
1445         (WebCore::Document::):
1446         * dom/Document.idl:
1447         * dom/Element.h:
1448         * dom/Element.idl:
1449         * dom/Event.cpp:
1450         (WebCore::Event::isTouchEvent):
1451         * dom/Event.h:
1452         * dom/EventNames.h:
1453         * dom/Touch.cpp: Added.
1454         (WebCore::contentsX):
1455         (WebCore::contentsY):
1456         (WebCore::Touch::Touch):
1457         (WebCore::Touch::updateLocation):
1458         * dom/Touch.h: Added.
1459         (WebCore::Touch::create):
1460         (WebCore::Touch::frame):
1461         (WebCore::Touch::target):
1462         (WebCore::Touch::identifier):
1463         (WebCore::Touch::clientX):
1464         (WebCore::Touch::clientY):
1465         (WebCore::Touch::screenX):
1466         (WebCore::Touch::screenY):
1467         (WebCore::Touch::pageX):
1468         (WebCore::Touch::pageY):
1469         * dom/Touch.idl: Added.
1470         * dom/TouchEvent.cpp: Added.
1471         (WebCore::TouchEvent::TouchEvent):
1472         (WebCore::TouchEvent::initTouchEvent):
1473         * dom/TouchEvent.h: Added.
1474         (WebCore::TouchEvent::create):
1475         (WebCore::TouchEvent::touches):
1476         (WebCore::TouchEvent::targetTouches):
1477         (WebCore::TouchEvent::changedTouches):
1478         (WebCore::TouchEvent::TouchEvent):
1479         (WebCore::TouchEvent::isTouchEvent):
1480         * dom/TouchEvent.idl: Added.
1481         * dom/TouchList.cpp: Added.
1482         (WebCore::TouchList::item):
1483         * dom/TouchList.h: Added.
1484         (WebCore::TouchList::create):
1485         (WebCore::TouchList::length):
1486         (WebCore::TouchList::append):
1487         (WebCore::TouchList::TouchList):
1488         * dom/TouchList.idl: Added.
1489         * html/HTMLAttributeNames.in:
1490         * html/HTMLElement.cpp:
1491         (WebCore::HTMLElement::parseMappedAttribute):
1492         * page/DOMWindow.h:
1493         * page/DOMWindow.idl:
1494         * platform/PlatformTouchEvent.h: Added.
1495         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1496         (WebCore::PlatformTouchEvent::touchPoints):
1497         * platform/PlatformTouchPoint.h: Added.
1498         (WebCore::PlatformTouchPoint::):
1499         (WebCore::PlatformTouchPoint::id):
1500         (WebCore::PlatformTouchPoint::state):
1501         (WebCore::PlatformTouchPoint::screenPos):
1502         (WebCore::PlatformTouchPoint::pos):
1503         * platform/qt/PlatformTouchEventQt.cpp: Added.
1504         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1505         * platform/qt/PlatformTouchPointQt.cpp: Added.
1506         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
1508 2009-12-11  Grace Kloba  <klobag@gmail.com>
1510         Reviewed by Darin Adler.
1512         [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
1513         HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
1514         HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
1515         when HistoryItem is deleted to avoid potential crash.
1516         https://bugs.webkit.org/show_bug.cgi?id=32251
1518         * history/HistoryItem.cpp:
1519         (WebCore::HistoryItem::~HistoryItem):
1520         * history/android/AndroidWebHistoryBridge.h:
1521         (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
1522         (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
1525 2009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
1527         Reviewed by Pavel Feldman.
1529         Log WebSocket error to Web Inspector console.
1530         https://bugs.webkit.org/show_bug.cgi?id=32165
1532         * websockets/WebSocketChannel.cpp:
1533         (WebCore::WebSocketChannel::didOpen):
1534         (WebCore::WebSocketChannel::appendToBuffer):
1535         * websockets/WebSocketHandshake.cpp:
1536         (WebCore::WebSocketHandshake::readServerHandshake):
1537         (WebCore::WebSocketHandshake::readHTTPHeaders):
1538         (WebCore::WebSocketHandshake::checkResponseHeaders):
1540 2009-12-10  Adam Barth  <abarth@webkit.org>
1542         Reviewed by Darin Adler.
1544         Mixed content shouldn't trigger for plug-ins without URLs
1545         https://bugs.webkit.org/show_bug.cgi?id=32384
1547         These plug-ins cannot be controlled by active network attackers, so
1548         there's no reason to trigger a mixed content warning.
1550         Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
1552         * loader/FrameLoader.cpp:
1553         (WebCore::FrameLoader::isMixedContent):
1555 2009-12-10  Alexey Proskuryakov  <ap@apple.com>
1557         Reviewed by Darin Adler.
1559         https://bugs.webkit.org/show_bug.cgi?id=32140
1560         REGRESSION(r50072): Mailman administrative functionality is broken
1562         Test: http/tests/misc/percent-sign-in-form-field-name.html
1564         * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent
1565         sign, we never had a good reason to do that.
1567 2009-12-10  Kent Hansen  <kent.hansen@nokia.com>
1569         Reviewed by Geoffrey Garen.
1571         Remove getPropertyAttributes() from JavaScript bindings.
1572         https://bugs.webkit.org/show_bug.cgi?id=31933
1574         The functionality is provided by getOwnPropertyDescriptor().
1576         * WebCore.order:
1577         * bindings/js/JSDOMWindowCustom.cpp:
1578         * bindings/js/JSDOMWindowShell.cpp:
1579         * bindings/js/JSDOMWindowShell.h:
1580         * bindings/scripts/CodeGeneratorJS.pm:
1581         * page/DOMWindow.idl:
1583 2009-12-10  Kenneth Russell  <kbr@google.com>
1585         Reviewed by Oliver Hunt.
1587         Changed WebGLRenderingContext to synthesize GL errors rather than
1588         raising JavaScript exceptions. Removed internal getError() calls
1589         after each graphics call. The GraphicsContext3D maintains the
1590         synthetic exceptions because only it has complete information
1591         about certain conditions requiring them to be raised.
1593         Based on idea from Ilmari Heikkinen, added create3DDebugContext()
1594         to webgl-test.js and changed the WebGL layout tests expecting
1595         error conditions to use it. Updated expected.txt files, which now
1596         implicitly test the OpenGL error as it is part of the exception's
1597         message.
1599         Added new targeted test covering aspects of synthetic errors as
1600         well as regression tests for bugs uncovered during its development.
1602         Test: fast/canvas/webgl/error-reporting.html
1604         * html/canvas/WebGLRenderingContext.cpp:
1605         (WebCore::WebGLRenderingContext::sizeInBytes):
1606         (WebCore::WebGLRenderingContext::activeTexture):
1607         (WebCore::WebGLRenderingContext::attachShader):
1608         (WebCore::WebGLRenderingContext::bindAttribLocation):
1609         (WebCore::WebGLRenderingContext::bindBuffer):
1610         (WebCore::WebGLRenderingContext::bindFramebuffer):
1611         (WebCore::WebGLRenderingContext::bindRenderbuffer):
1612         (WebCore::WebGLRenderingContext::bindTexture):
1613         (WebCore::WebGLRenderingContext::bufferData):
1614         (WebCore::WebGLRenderingContext::bufferSubData):
1615         (WebCore::WebGLRenderingContext::compileShader):
1616         (WebCore::WebGLRenderingContext::createShader):
1617         (WebCore::WebGLRenderingContext::detachShader):
1618         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1619         (WebCore::WebGLRenderingContext::drawArrays):
1620         (WebCore::WebGLRenderingContext::drawElements):
1621         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1622         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1623         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1624         (WebCore::WebGLRenderingContext::getActiveAttrib):
1625         (WebCore::WebGLRenderingContext::getActiveUniform):
1626         (WebCore::WebGLRenderingContext::getBufferParameter):
1627         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1628         (WebCore::WebGLRenderingContext::getParameter):
1629         (WebCore::WebGLRenderingContext::getProgramParameter):
1630         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1631         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
1632         (WebCore::WebGLRenderingContext::getShaderParameter):
1633         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1634         (WebCore::WebGLRenderingContext::getShaderSource):
1635         (WebCore::WebGLRenderingContext::getTexParameter):
1636         (WebCore::WebGLRenderingContext::getUniform):
1637         (WebCore::WebGLRenderingContext::getUniformLocation):
1638         (WebCore::WebGLRenderingContext::getVertexAttrib):
1639         (WebCore::WebGLRenderingContext::linkProgram):
1640         (WebCore::WebGLRenderingContext::shaderSource):
1641         (WebCore::WebGLRenderingContext::texImage2D):
1642         (WebCore::WebGLRenderingContext::texSubImage2D):
1643         (WebCore::WebGLRenderingContext::uniform1f):
1644         (WebCore::WebGLRenderingContext::uniform1fv):
1645         (WebCore::WebGLRenderingContext::uniform1i):
1646         (WebCore::WebGLRenderingContext::uniform1iv):
1647         (WebCore::WebGLRenderingContext::uniform2f):
1648         (WebCore::WebGLRenderingContext::uniform2fv):
1649         (WebCore::WebGLRenderingContext::uniform2i):
1650         (WebCore::WebGLRenderingContext::uniform2iv):
1651         (WebCore::WebGLRenderingContext::uniform3f):
1652         (WebCore::WebGLRenderingContext::uniform3fv):
1653         (WebCore::WebGLRenderingContext::uniform3i):
1654         (WebCore::WebGLRenderingContext::uniform3iv):
1655         (WebCore::WebGLRenderingContext::uniform4f):
1656         (WebCore::WebGLRenderingContext::uniform4fv):
1657         (WebCore::WebGLRenderingContext::uniform4i):
1658         (WebCore::WebGLRenderingContext::uniform4iv):
1659         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1660         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1661         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1662         (WebCore::WebGLRenderingContext::useProgram):
1663         (WebCore::WebGLRenderingContext::validateProgram):
1664         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1665         * html/canvas/WebGLRenderingContext.h:
1666         (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
1667         * platform/graphics/GraphicsContext3D.h:
1668         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1669         (WebCore::GraphicsContext3D::getActiveAttrib):
1670         (WebCore::GraphicsContext3D::getActiveUniform):
1671         (WebCore::GraphicsContext3D::getError):
1672         (WebCore::GraphicsContext3D::synthesizeGLError):
1674 2009-12-10  Stephen White  <senorblanco@chromium.org>
1676         Reviewed by Dimitri Glazkov.
1678         Fix for assert on Chrome/skia with SVG Filters enabled.
1679         https://bugs.webkit.org/show_bug.cgi?id=32394
1681         Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others.
1683         * platform/graphics/skia/ImageBufferSkia.cpp:
1684         (WebCore::ImageBuffer::platformTransformColorSpace):
1686 2009-12-10  Enrica Casucci  <enrica@apple.com>
1688         Reviewed by Darin Adler.
1690         REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically.
1691         <rdar://problem/7442065>
1692         https://bugs.webkit.org/show_bug.cgi?id=32285
1694         When examining the styles of the nodes after the first in a range selection, we take into
1695         cosideration differences in style of txt nodes only.
1696         
1697         Test: editing/execCommand/queryCommandState-02.html
1699         * editing/Editor.cpp:
1700         (WebCore::Editor::selectionHasStyle):
1702 2009-12-10  Oliver Hunt  <oliver@apple.com>
1704         Reviewed by Alexey Proskuryakov.
1706         Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing
1707         https://bugs.webkit.org/show_bug.cgi?id=31576
1709         Add a RefCounted wrapper object around xmlParserCtxtPtr so we can
1710         maintain it's lifetime more effectively.
1712         Test: fast/parser/xhtml-close-while-parsing.xhtml
1714         * dom/XMLTokenizer.cpp:
1715         (WebCore::XMLTokenizer::popCurrentNode):
1716         * dom/XMLTokenizer.h:
1717         (WebCore::XMLParserContext::context):
1718         (WebCore::XMLParserContext::XMLParserContext):
1719         (WebCore::XMLTokenizer::context):
1720         * dom/XMLTokenizerLibxml2.cpp:
1721         (WebCore::XMLParserContext::createStringParser):
1722         (WebCore::XMLParserContext::createMemoryParser):
1723         (WebCore::XMLParserContext::~XMLParserContext):
1724         (WebCore::XMLTokenizer::~XMLTokenizer):
1725         (WebCore::XMLTokenizer::doWrite):
1726         (WebCore::XMLTokenizer::initializeParserContext):
1727         (WebCore::XMLTokenizer::doEnd):
1728         (WebCore::XMLTokenizer::lineNumber):
1729         (WebCore::XMLTokenizer::columnNumber):
1730         (WebCore::XMLTokenizer::stopParsing):
1731         (WebCore::parseXMLDocumentFragment):
1732         (WebCore::parseAttributes):
1734 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
1736         Reviewed by Timothy Hatcher.
1738         Web Inspector: debugger shortcuts don't work when
1739         Search field or Console drawer has focus.
1741         https://bugs.webkit.org/show_bug.cgi?id=32392
1743         * inspector/front-end/inspector.js:
1744         (WebInspector.loaded):
1745         (WebInspector.documentKeyDown):
1746         (WebInspector.documentKeyUp):
1747         (WebInspector.searchKeyDown):
1749 2009-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
1751         Reviewed by Adam Barth.
1753         [V8] Events created in isolated worlds may fire in main world.
1754         https://bugs.webkit.org/show_bug.cgi?id=32386
1756         Test: http/tests/security/isolatedWorld/events.html
1758         * WebCore.gypi: Added WorldContextHandle.
1759         * bindings/v8/ScriptEventListener.cpp:
1760         (WebCore::createAttributeEventListener): Added WorldContextHandle params.
1761         * bindings/v8/SharedPersistent.h: Fixed a few style/include issues.
1762         * bindings/v8/V8AbstractEventListener.cpp:
1763         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params.
1764         (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle.
1765         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
1766         * bindings/v8/V8AbstractEventListener.h:
1767         (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params.
1768         * bindings/v8/V8EventListenerList.h:
1769         (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto.
1770         * bindings/v8/V8LazyEventListener.cpp:
1771         (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto.
1772         (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle.
1773         * bindings/v8/V8LazyEventListener.h:
1774         (WebCore::V8LazyEventListener::create): Added WorldContextHandle params.
1775         * bindings/v8/V8Proxy.cpp:
1776         (WebCore::V8Proxy::context): Refactored to use mainWorldContext();
1777         (WebCore::V8Proxy::mainWorldContext): Added.
1778         (WebCore::toV8Context): Changed to use WorldContextHandle.
1779         * bindings/v8/V8Proxy.h: Added mainWorldContext decl.
1780         * bindings/v8/V8Utilities.cpp:
1781         (WebCore::reportException): Added an extra check to avoid crashes during frame teardown.
1782         * bindings/v8/V8WorkerContextEventListener.cpp:
1783         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params.
1784         * bindings/v8/V8WorkerContextEventListener.h:
1785         (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params.
1786         * bindings/v8/WorldContextHandle.cpp: Added.
1787         * bindings/v8/WorldContextHandle.h: Added.
1788         * bindings/v8/custom/V8CustomEventListener.cpp:
1789         (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params.
1790         * bindings/v8/custom/V8CustomEventListener.h:
1791         (WebCore::V8EventListener::create): Added WorldContextHandle params.
1793 2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
1795         Pass more information about a plug-in to the PluginHalterDelegate
1797         Reviewed by Adam Roben.
1799         * loader/EmptyClients.h:
1800         Remove this unused class.
1802         * page/HaltablePlugin.h:
1803         Add new functions to return the plug-in's name and whether it is
1804         windowed.
1806         * page/PluginHalter.cpp:
1807         (WebCore::PluginHalter::timerFired):
1808         Pass new arguments to the client.
1810         * page/PluginHalterClient.h:
1811         Add new parameters.
1813         * plugins/PluginView.cpp:
1814         (WebCore::PluginView::pluginName):
1815         Return the name from the PluginPackage.
1817         * plugins/PluginView.h:
1818         (WebCore::PluginView::isWindowed):
1820 2009-12-09  Brian Weinstein  <bweinstein@apple.com>
1822         Reviewed by Pavel Feldman.
1824         Fixes <http://webkit.org/b/31738>.
1825         Web Inspector: Console Scope Bar should be on top of console when Console is a Panel.
1826         
1827         When the console is set to be shown as a full panel, move the scope bar to the top
1828         where it looks best. When it is only shown as a drawer, move it to the bottom, where
1829         it originally was. This takes up less space as a drawer, and makes it more discoverable
1830         and usable when it is the full panel.
1832         * inspector/front-end/ConsolePanel.js:
1833         (WebInspector.ConsolePanel.prototype.show): Move filter bar to top.
1834         (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom.
1835         * inspector/front-end/inspector.css:
1837 2009-12-10  Stephen White  <senorblanco@chromium.org>
1839         Reviewed by Dirk Schulze.
1841         Fix for alpha blending in SVG Filters on Chromium/skia.
1842         https://bugs.webkit.org/show_bug.cgi?id=32378
1844         Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others.
1846         * platform/graphics/skia/ImageBufferSkia.cpp:
1847         (WebCore::ImageBuffer::platformTransformColorSpace):
1849 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
1851         Reviewed by Timothy Hatcher.
1853         Web Inspector: Add context menu actions for DOM tree.
1855         https://bugs.webkit.org/show_bug.cgi?id=32348
1857         * English.lproj/localizedStrings.js:
1858         * inspector/front-end/ContextMenu.js:
1859         (WebInspector.ContextMenu):
1860         (WebInspector.ContextMenu.prototype.show):
1861         (WebInspector.ContextMenu.prototype.appendItem):
1862         (WebInspector.ContextMenu.prototype.appendSeparator):
1863         (WebInspector.ContextMenu.prototype._itemSelected):
1864         (WebInspector.contextMenuItemSelected):
1865         (WebInspector.contextMenuCleared):
1866         * inspector/front-end/ElementsTreeOutline.js:
1867         (WebInspector.ElementsTreeOutline.prototype._onmouseout):
1868         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
1869         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1870         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent):
1871         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1872         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
1873         (WebInspector.ElementsTreeElement.prototype._startEditing):
1874         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
1875         * inspector/front-end/ObjectPropertiesSection.js:
1876         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
1877         * inspector/front-end/ResourceView.js:
1878         (WebInspector.ResourceView.prototype._toggleURLdecoding):
1879         * inspector/front-end/ResourcesPanel.js:
1880         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1881         * inspector/front-end/StylesSidebarPane.js:
1882         (WebInspector.StylePropertyTreeElement.prototype):
1883         * inspector/front-end/inspector.js:
1884         (WebInspector.contextMenuEventFired):
1885         * inspector/front-end/treeoutline.js:
1886         (TreeElement.treeElementDoubleClicked):
1888 2009-12-09  Nikolas Zimmermann  <nzimmermann@rim.com>
1890         Reviewed by Oliver Hunt.
1892         Filters contain some leaks in untested code
1893         https://bugs.webkit.org/show_bug.cgi?id=32325
1895         Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for 
1896         all classes in svg/graphics, that were missing it. The lighting filters aren't
1897         implemented so far, but the associated FilterEffect objects are build, which created
1898         these leaks.
1900         This removes the SVG related failures in the leaks bot.
1902         * svg/SVGFEDiffuseLightingElement.cpp:
1903         (WebCore::SVGFEDiffuseLightingElement::findLights):
1904         * svg/SVGFEDiffuseLightingElement.h:
1905         * svg/SVGFEDistantLightElement.cpp:
1906         (WebCore::SVGFEDistantLightElement::lightSource):
1907         * svg/SVGFEDistantLightElement.h:
1908         * svg/SVGFELightElement.h:
1909         * svg/SVGFEPointLightElement.cpp:
1910         (WebCore::SVGFEPointLightElement::lightSource):
1911         * svg/SVGFEPointLightElement.h:
1912         * svg/SVGFESpecularLightingElement.cpp:
1913         (WebCore::SVGFESpecularLightingElement::findLights):
1914         * svg/SVGFESpecularLightingElement.h:
1915         * svg/SVGFESpotLightElement.cpp:
1916         (WebCore::SVGFESpotLightElement::lightSource):
1917         * svg/SVGFESpotLightElement.h:
1918         * svg/graphics/filters/SVGDistantLightSource.h:
1919         (WebCore::DistantLightSource::create):
1920         (WebCore::DistantLightSource::DistantLightSource):
1921         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1922         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
1923         (WebCore::FEDiffuseLighting::create):
1924         (WebCore::FEDiffuseLighting::setLightSource):
1925         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1926         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1927         (WebCore::FESpecularLighting::FESpecularLighting):
1928         (WebCore::FESpecularLighting::create):
1929         (WebCore::FESpecularLighting::setLightSource):
1930         * svg/graphics/filters/SVGFESpecularLighting.h:
1931         * svg/graphics/filters/SVGLightSource.h:
1932         * svg/graphics/filters/SVGPointLightSource.h:
1933         (WebCore::PointLightSource::create):
1934         (WebCore::PointLightSource::PointLightSource):
1935         * svg/graphics/filters/SVGSpotLightSource.h:
1936         (WebCore::SpotLightSource::create):
1937         (WebCore::SpotLightSource::SpotLightSource):
1939 2009-12-10  Kenneth Russell  <kbr@google.com>
1941         Reviewed by Oliver Hunt.
1943         [Chromium] SporeViewer demo doesn't work in Chromium
1944         https://bugs.webkit.org/show_bug.cgi?id=32364
1946         Test: fast/canvas/webgl/bug-32364.html
1948         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1949         (WebCore::CALLBACK_FUNC_DECL):
1950         (WebCore::vertexAttribAndUniformHelperf):
1951         (WebCore::uniformHelperi):
1953 2009-12-09  Beth Dakin  <bdakin@apple.com>
1955         Reviewed by Oliver Hunt.
1957         Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property 
1958         -webkit-shadow should apply shadow on the result after compositing
1959         -and corresponding-
1960         <rdar://problem/7389404>
1962         Set a transparency layer when setting a shadow to apply the shadow 
1963         to the composite.
1964         * rendering/SVGRenderSupport.cpp:
1965         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1966         (WebCore::SVGRenderBase::finishRenderSVGContent):
1968 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
1970         Reviewed by Darin Adler.
1972         https://bugs.webkit.org/show_bug.cgi?id=32332
1973         WebSocket events should be dispatched synchronously
1975         Updated websocket/tests/simple to test for the new behavior.
1977         When Web Sockets API says that events should be queued for async dispatch, it means something
1978         different. We should keep this in mind when dealing with other HTML5-related specs.
1980         The model for HTML5 is that code running in response to network events (e.g. WebSocket or
1981         XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post
1982         async events as its only way to communicate with client code. As long as network events are
1983         queued themselves (as they are in WebKit), there is no need to queue JS events for async
1984         dispatch.
1986         * websockets/WebSocket.cpp:
1987         (WebCore::WebSocket::didConnect):
1988         (WebCore::WebSocket::didReceiveMessage):
1989         (WebCore::WebSocket::didClose):
1991 2009-12-09  Alexey Proskuryakov  <ap@apple.com>
1993         Reviewed by Oliver Hunt.
1995         https://bugs.webkit.org/show_bug.cgi?id=32355
1996         Assertion failure when opening a WebSocket connection
1998         I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it
1999         will provide partial coverage, as I was frequently seeing the assertion failure with it.
2001         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send):
2002         It's not an error if zero is returned from platformSend() - it just means that nothing could
2003         be pushed down to the network layer, and all data was queued for later.
2004         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2005         (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream,
2006         but a client can potentially destroy the handle from any callback, so we need to check that
2007         this didn't happen.
2008         (WebCore::SocketStreamHandle::writeStreamCallback): Ditto.
2010 2009-12-09  Sam Weinig  <sam@webkit.org>
2012         Roll out 51919 and 51920. They were incorrect and unnecessary right now.
2014         * platform/mac/WebCoreObjCExtras.mm:
2015         (WebCoreObjCScheduleDeallocateOnMainThread):
2016         * platform/network/mac/NetworkStateNotifierMac.cpp:
2017         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2019 2009-12-09  Steve Block  <steveblock@google.com>
2021         Reviewed by Darin Fisher.
2023         Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState.
2024         https://bugs.webkit.org/show_bug.cgi?id=32330
2026         Build fix only, no new tests.
2028         * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include.
2030 2009-12-09  Steve Block  <steveblock@google.com>
2032         Reviewed by Darin Adler.
2034         Adds ENABLE(INSPECTOR) guards around script binding methods that use types
2035         defined only when INSPECTOR is enabled.
2036         https://bugs.webkit.org/show_bug.cgi?id=32328
2038         Build fix only, no new tests.
2040         * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue.
2041         * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set.
2043 2009-12-09  Steve Block  <steveblock@google.com>
2045         Reviewed by Adam Barth.
2047         Adds Android Makefiles for building with V8.
2048         Also updates existing Android Makefiles with latest additions.
2049         https://bugs.webkit.org/show_bug.cgi?id=32278
2051         Build fix only, no new tests.
2053         * Android.derived.jscbindings.mk: Modified.
2054         * Android.derived.mk: Modified.
2055         * Android.derived.v8bindings.mk: Added.
2056         * Android.jscbindings.mk: Modified.
2057         * Android.mk: Modified.
2058         * Android.v8bindings.mk: Added.
2060 2009-12-09  Jonathan Dixon  <joth@chromium.org>
2062         Reviewed by Dimitri Glazkov.
2064         Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium
2065         https://bugs.webkit.org/show_bug.cgi?id=32338
2067         Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi
2069         * WebCore.gypi: Add missing GeolocationServiceChromium.cpp
2071 2009-12-09  Andreas Kling  <andreas.kling@nokia.com>
2073         Reviewed by Brady Eidson.
2075         Fixed a typo in http://trac.webkit.org/changeset/51644 that broke
2076         the QWebPage autotest.
2078         No new test required.
2080         * loader/FrameLoader.cpp:
2081         (WebCore::FrameLoader::navigateToDifferentDocument):
2083 2009-12-09  Robert Hogan  <robert@roberthogan.net>
2085         Reviewed by Eric Seidel.
2087         Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds.
2088         
2089         https://bugs.webkit.org/show_bug.cgi?id=32286
2091         * WebCore.pro:
2093 2009-12-09  Philippe Normand  <pnormand@igalia.com>
2095         Reviewed by Eric Carlson.
2097         Ogg mimetypes are incorrect
2098         https://bugs.webkit.org/show_bug.cgi?id=27113
2100         The ogg extension is handled by audio/ogg instead of
2101         application/ogg. See
2102         http://wiki.xiph.org/MIME_Types_and_File_Extensions
2104         * platform/MIMETypeRegistry.cpp:
2105         (WebCore::TypeExtensionPair::):
2107 2009-12-09  Sam Weinig  <sam@webkit.org>
2109         Reviewed by Anders Carlsson.
2111         Use the current run loop instead of the main runloop for the NetworkStateNotifier.
2113         * platform/network/mac/NetworkStateNotifierMac.cpp:
2114         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2116 2009-12-09  Sam Weinig  <sam@webkit.org>
2118         Reviewed by Anders Carlsson.
2120         Use isMainThread() helper instead of pthread_main_np() != 0.
2122         * platform/mac/WebCoreObjCExtras.mm:
2123         (WebCoreObjCScheduleDeallocateOnMainThread):
2125 2009-12-09  Sam Weinig  <sam@webkit.org>
2127         Reviewed by Anders Carlsson.
2129         Add some #ifdefs to allow us to experiment with a single NSView mac WebKit.
2131         * page/Chrome.h:
2132         * page/EventHandler.h:
2133         * page/mac/ChromeMac.mm:
2134         * page/mac/DragControllerMac.mm:
2135         (WebCore::DragController::dragOperation):
2136         * page/mac/EventHandlerMac.mm:
2137         (WebCore::EventHandler::eventLoopHandleMouseDragged):
2138         (WebCore::EventHandler::eventActivatedView):
2139         (WebCore::EventHandler::passMousePressEventToSubframe):
2140         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2141         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2142         (WebCore::EventHandler::passWheelEventToWidget):
2143         (WebCore::EventHandler::focusDocumentView):
2144         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2145         (WebCore::EventHandler::createDraggingClipboard):
2146         (WebCore::isKeyboardOptionTab):
2147         (WebCore::EventHandler::invertSenseOfTabsToLinks):
2148         (WebCore::EventHandler::tabsToAllControls):
2149         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2150         (WebCore::EventHandler::accessKeyModifiers):
2151         * platform/ScrollView.cpp:
2152         (WebCore::ScrollView::wheelEvent):
2153         * platform/Widget.cpp:
2154         * platform/Widget.h:
2155         * platform/mac/ScrollViewMac.mm:
2156         * platform/mac/WidgetMac.mm:
2157         (WebCore::Widget::Widget):
2158         (WebCore::Widget::~Widget):
2159         (WebCore::Widget::show):
2160         (WebCore::Widget::hide):
2161         (WebCore::Widget::setCursor):
2162         (WebCore::Widget::paint):
2163         (WebCore::Widget::setFocus):
2164         (WebCore::Widget::setIsSelected):
2165         (WebCore::Widget::frameRect):
2166         (WebCore::Widget::setFrameRect):
2168 2009-12-09  Michael Nordman  <michaeln@google.com>
2170         Reviewed by Dimitri Glazkov.
2172         Chromium build fix.
2174         No new tests.
2176         * bindings/v8/DOMData.cpp
2177         * bindings/v8/V8DOMWrapper.cpp
2178         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2179         (WebCore::vertexAttribAndUniformHelperf):
2180         (WebCore::uniformHelperi):
2181         (WebCore::uniformMatrixHelper):
2183 2009-12-09  Søren Gjesse  <sgjesse@chromium.org>
2185         Reviewed by Pavel Feldman.
2187         [V8] Isolated world reuse failure
2188         https://bugs.webkit.org/show_bug.cgi?id=32306
2190         Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test
2191         LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail.
2193         * bindings/v8/V8Proxy.cpp:
2194         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2195         (WebCore::V8Proxy::contextDebugId):
2197 2009-12-09  Patrick Scott  <phanna@email.unc.edu>
2199         Fix the build with ENABLE_ORIENTATION_EVENTS
2200         https://bugs.webkit.org/show_bug.cgi?id=32321
2202         * page/Frame.cpp:
2203         (WebCore::Frame::sendOrientationChangeEvent):
2205 2009-12-09  Avi Drissman  <avi@chromium.org>
2207         Reviewed by Darin Fisher.
2209         Chromium tickmarks in scrollbar now UX approved.
2210         https://bugs.webkit.org/show_bug.cgi?id=32069
2212         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2213         (WebCore::ScrollbarThemeChromiumMac::paint):
2215 2009-12-09  Chris Marrin  <cmarrin@apple.com>
2217         Reviewed by Adam Roben.
2219         Delay load DLLs for accelerated compositing
2220         https://bugs.webkit.org/show_bug.cgi?id=31856
2221         
2222         Add logic to turn off accelerated compositing if d3d9 or QuartzCore
2223         DLLs are not present.
2224         
2225         This patch also changes the WKCACFLayerRenderer to be a pointer.
2226         This allows me to have a create() method which will not create it when
2227         accelerated compositing is disabled because of missing DLLs. It 
2228         avoids having to do so many checks. I also made WebViewWndProc 
2229         a member function to allow several methods to be made protected, which
2230         allows me to avoid doing availability checks there as well.
2232         * platform/graphics/win/WKCACFLayer.cpp:
2233         * platform/graphics/win/WKCACFLayer.h:
2234         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2235         * platform/graphics/win/WKCACFLayerRenderer.h:
2236         * rendering/RenderLayerBacking.cpp:
2238 2009-12-09  Nate Chapin  <japhet@chromium.org>
2240         Reviewed by Darin Adler.
2242         Rename dom/ClassNames to SpaceSplitString and update build files.
2244         https://bugs.webkit.org/show_bug.cgi?id=32250
2246         * GNUmakefile.am:
2247         * WebCore.gypi:
2248         * WebCore.pro:
2249         * WebCore.vcproj/WebCore.vcproj:
2250         * WebCore.xcodeproj/project.pbxproj:
2251         * WebCoreSources.bkl:
2252         * css/CSSStyleSelector.cpp:
2253         (WebCore::CSSStyleSelector::matchRules):
2254         * dom/ClassNames.cpp: Removed.
2255         * dom/ClassNames.h: Removed.
2256         * dom/ClassNodeList.h:
2257         * dom/NamedMappedAttrMap.h:
2258         (WebCore::NamedMappedAttrMap::classNames):
2259         * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp.
2260         (WebCore::SpaceSplitStringData::createVector):
2261         (WebCore::SpaceSplitStringData::containsAll):
2262         * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h.
2263         (WebCore::SpaceSplitStringData::SpaceSplitStringData):
2264         (WebCore::SpaceSplitString::SpaceSplitString):
2265         (WebCore::SpaceSplitString::set):
2266         (WebCore::SpaceSplitString::containsAll):
2267         * dom/StyledElement.h:
2268         (WebCore::StyledElement::classNames):
2269         * html/HTMLAnchorElement.cpp:
2270         (WebCore::HTMLAnchorElement::setRel):
2272 2009-12-09  Stephen White  <senorblanco@chromium.org>
2274         Reviewed by Darin Fisher.
2276         Enable SVG filters in Chromium build.
2277         https://bugs.webkit.org/show_bug.cgi?id=32323
2279         Covered by SVG filter layout tests.
2281         * WebCore.gyp/WebCore.gyp:
2282         * WebCore.gypi:
2283         * bindings/scripts/CodeGeneratorV8.pm:
2284         * bindings/v8/DerivedSourcesAllInOne.cpp:
2285         * bindings/v8/V8DOMWrapper.cpp:
2286         * bindings/v8/V8Index.cpp:
2287         * bindings/v8/V8Index.h:
2289 2009-12-09  Oliver Hunt  <oliver@apple.com>
2291         Build fix
2293         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2294         (WebCore::functionForUniform):
2296 2009-12-08  Fumitoshi Ukai  <ukai@chromium.org>
2298         Reviewed by Darin Adler.
2300         WebSocket allow space (U+0020) in sub protocol name.
2301         https://bugs.webkit.org/show_bug.cgi?id=32266
2303         Test: websocket/tests/sub-protocol-with-space.html
2305         * websockets/WebSocket.cpp:
2306         (WebCore::isValidProtocolString):
2308 2009-12-08  Peterson Trethewey  <petersont@google.com>
2310         Reviewed by Oliver Hunt.
2312         Implement WebGLUniformLocation and change API to use it.
2313         https://bugs.webkit.org/show_bug.cgi?id=31173
2315         Test: fast/canvas/webgl/uniform-location.html
2317         * DerivedSources.make:
2318         * WebCore.gypi:
2319         * WebCore.xcodeproj/project.pbxproj:
2320         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2321         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2322         (WebCore::JSWebGLRenderingContext::getUniform):
2323         (WebCore::functionForUniform):
2324         (WebCore::dataFunctionf):
2325         (WebCore::dataFunctioni):
2326         (WebCore::dataFunctionMatrix):
2327         * bindings/scripts/CodeGeneratorV8.pm:
2328         * bindings/v8/DerivedSourcesAllInOne.cpp:
2329         * bindings/v8/V8Index.cpp:
2330         * bindings/v8/V8Index.h:
2331         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2332         (WebCore::toWebGLUniformLocation):
2333         (WebCore::):
2334         (WebCore::CALLBACK_FUNC_DECL):
2335         (WebCore::isFunctionToCallForAttribute):
2336         (WebCore::vertexAttribAndUniformHelperf):
2337         (WebCore::uniformHelperi):
2338         (WebCore::uniformMatrixHelper):
2339         * html/canvas/WebGLRenderingContext.cpp:
2340         (WebCore::WebGLRenderingContext::getUniform):
2341         (WebCore::WebGLRenderingContext::getUniformLocation):
2342         (WebCore::WebGLRenderingContext::uniform1f):
2343         (WebCore::WebGLRenderingContext::uniform1fv):
2344         (WebCore::WebGLRenderingContext::uniform1i):
2345         (WebCore::WebGLRenderingContext::uniform1iv):
2346         (WebCore::WebGLRenderingContext::uniform2f):
2347         (WebCore::WebGLRenderingContext::uniform2fv):
2348         (WebCore::WebGLRenderingContext::uniform2i):
2349         (WebCore::WebGLRenderingContext::uniform2iv):
2350         (WebCore::WebGLRenderingContext::uniform3f):
2351         (WebCore::WebGLRenderingContext::uniform3fv):
2352         (WebCore::WebGLRenderingContext::uniform3i):
2353         (WebCore::WebGLRenderingContext::uniform3iv):
2354         (WebCore::WebGLRenderingContext::uniform4f):
2355         (WebCore::WebGLRenderingContext::uniform4fv):
2356         (WebCore::WebGLRenderingContext::uniform4i):
2357         (WebCore::WebGLRenderingContext::uniform4iv):
2358         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2359         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2360         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2361         * html/canvas/WebGLRenderingContext.h:
2362         * html/canvas/WebGLRenderingContext.idl:
2363         * html/canvas/WebGLUniformLocation.cpp: Added.
2364         (WebCore::WebGLUniformLocation::create):
2365         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2366         * html/canvas/WebGLUniformLocation.h: Added.
2367         (WebCore::WebGLUniformLocation::~WebGLUniformLocation):
2368         (WebCore::WebGLUniformLocation::program):
2369         (WebCore::WebGLUniformLocation::location):
2370         * html/canvas/WebGLUniformLocation.idl: Added.
2372 2009-12-08  Adam Langley  <agl@google.com>
2374         Reviewed by Darin Adler.
2376         Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
2378         startDelayUpdateScrollInfo calls a function that can end up calling
2379         startDelayUpdateScrollInfo again. However, it's static state is
2380         inconsistent when this happens leading to an assertion failure (or
2381         probably a memory leak if assertions are off).
2383         Thanks to Robert Swiecki for the test case.
2385         https://bugs.webkit.org/show_bug.cgi?id=32172
2386         http://code.google.com/p/chromium/issues/detail?id=28880
2388         Test: fast/css/recursive-delay-update-scroll.html
2390         * rendering/RenderBlock.cpp:
2391         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2393 2009-12-08  Steve Falkenburg  <sfalken@apple.com>
2395         Reviewed by Adam Roben.
2397         WebCore source level debugging on Windows not reliable in some cases
2398         https://bugs.webkit.org/show_bug.cgi?id=32297
2400         Customized pdb file name/location for WebCore static library.
2402         * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName.
2404 2009-12-08  Kevin Watters  <kevinwatters@gmail.com>
2406         Reviewed by Kevin Ollivier.
2408         [wx] Mac plugins support.
2409         
2410         https://bugs.webkit.org/show_bug.cgi?id=32236
2412         * platform/FileSystem.h:
2413         * platform/cf/BinaryPropertyList.h:
2414         * platform/network/curl/ResourceHandleManager.cpp:
2415         * platform/wx/FileSystemWx.cpp:
2416         (WebCore::fileExists):
2417         (WebCore::unloadModule):
2418         (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
2419         (WebCore::wxDirTraverserNonRecursive::OnFile):
2420         (WebCore::wxDirTraverserNonRecursive::OnDir):
2421         (WebCore::listDirectory):
2422         * plugins/mac/PluginViewMac.cpp:
2423         (WebCore::nativeWindowFor):
2424         (WebCore::cgHandleFor):
2425         (WebCore::topLevelOffsetFor):
2426         (WebCore::PluginView::platformStart):
2427         (WebCore::PluginView::setFocus):
2428         (WebCore::PluginView::invalidateRect):
2429         (WebCore::PluginView::handleKeyboardEvent):
2430         (WebCore::PluginView::globalMousePosForPlugin):
2431         * plugins/wx/PluginDataWx.cpp: Added.
2432         (WebCore::PluginData::initPlugins):
2433         (WebCore::PluginData::refresh):
2434         * wscript:
2436 2009-12-08  Brady Eidson  <beidson@apple.com>
2438         Reviewed by Darin Adler.
2440         Navigating to a cached page can result in accessing a destroyed HTMLInputElement.
2441         <rdar://problem/6856662> and https://webkit.org/b/32293
2443         Test: fast/loader/input-element-page-cache-crash.html
2445         * html/HTMLInputElement.cpp:
2446         (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation
2447           callback after the new m_autocomplete setting has been stored so the unregistration actually
2448           takes place.
2450 2009-12-08  Dmitry Titov  <dimich@chromium.org>
2452         Rubber-stamped by David Levin.
2454         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
2455         It may have caused massive increase of reported leaks on the bots.
2456         https://bugs.webkit.org/show_bug.cgi?id=31639
2458         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
2459         * loader/icon/IconRecord.cpp:
2460         (WebCore::IconRecord::IconRecord):
2461         * platform/SharedBuffer.cpp:
2462         (WebCore::SharedBuffer::SharedBuffer):
2463         * platform/text/StringImpl.cpp:
2464         (WebCore::StringImpl::StringImpl):
2466 2009-12-08  Pavel Feldman  <pfeldman@chromium.org>
2468         Reviewed by Darin Fisher.
2470         Chromium: support custom WebCore context menu items in Chromium port.
2472         https://bugs.webkit.org/show_bug.cgi?id=32277
2474         * platform/ContextMenu.h:
2475         * platform/ContextMenuItem.h:
2476         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2477         * platform/chromium/ContextMenuChromium.cpp:
2478         (WebCore::ContextMenu::ContextMenu):
2479         (WebCore::ContextMenu::itemCount):
2480         (WebCore::ContextMenu::insertItem):
2481         (WebCore::ContextMenu::appendItem):
2482         (WebCore::ContextMenu::itemWithAction):
2483         (WebCore::ContextMenu::itemAtIndex):
2484         (WebCore::ContextMenu::platformDescription):
2485         * platform/chromium/ContextMenuItemChromium.cpp:
2486         (WebCore::ContextMenuItem::ContextMenuItem):
2487         (WebCore::ContextMenuItem::releasePlatformDescription):
2488         (WebCore::ContextMenuItem::type):
2489         (WebCore::ContextMenuItem::action):
2490         (WebCore::ContextMenuItem::title):
2491         (WebCore::ContextMenuItem::checked):
2492         (WebCore::ContextMenuItem::enabled):
2493         (WebCore::ContextMenuItem::setType):
2494         (WebCore::ContextMenuItem::setAction):
2495         (WebCore::ContextMenuItem::setTitle):
2496         (WebCore::ContextMenuItem::setChecked):
2497         (WebCore::ContextMenuItem::setEnabled):
2499 2009-12-08  Adam Langley  <agl@google.com>
2501         Reviewed by Dimitri Glazkov.
2503         Chromium Linux: set default scrollbar colours.
2505         This is so that layout tests have sane defaults for the scrollbar
2506         colours, even if the API user doesn't set any.
2508         This is a fix due to r51827.
2510         https://bugs.webkit.org/show_bug.cgi?id=32287
2512         This is very well covered by existing layout tests.
2514         * rendering/RenderThemeChromiumLinux.cpp:
2516 2009-12-08  Beth Dakin  <bdakin@apple.com>
2518         Reviewed by Sam Weinig.
2520         Fix for <rdar://problem/7397808> Crash occurs at 
2521         RenderObject::containingBlock() as I type in the Google Search 
2522         field (during page load)
2524         * editing/Editor.cpp:
2525         (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 
2526         null checked.
2528 2009-12-08  Dmitry Titov  <dimich@chromium.org>
2530         Reviewed by Darin Adler.
2532         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
2533         https://bugs.webkit.org/show_bug.cgi?id=31639
2535         * loader/icon/IconRecord.cpp:
2536         (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase.
2537         * platform/SharedBuffer.cpp:
2538         (WebCore::SharedBuffer::SharedBuffer): Ditto.
2539         * platform/text/StringImpl.cpp:
2540         (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString.
2541         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
2543 2009-12-08  John Gregg  <johnnyg@google.com>
2545         Reviewed by Adam Barth.
2547         Inform the NotificationCenter when its window goes away in the same
2548         manner as other DOMWindow fields, and prevent invalid operations on
2549         it after that happens.
2551         As part of this, change the V8 bindings for notifications to call
2552         through the NotificationCenter rather than doing those operations
2553         itself.
2555         https://bugs.webkit.org/show_bug.cgi?id=31886
2557         Test: fast/notifications/notification-after-close.html
2559         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2560         (WebCore::CALLBACK_FUNC_DECL):
2561         * notifications/Notification.cpp:
2562         (WebCore::Notification::Notification):
2563         * notifications/NotificationCenter.cpp:
2564         (WebCore::NotificationCenter::checkPermission):
2565         (WebCore::NotificationCenter::requestPermission):
2566         * notifications/NotificationCenter.h:
2567         (WebCore::NotificationCenter::createHTMLNotification):
2568         (WebCore::NotificationCenter::createNotification):
2569         (WebCore::NotificationCenter::disconnectFrame):
2570         * page/DOMWindow.cpp:
2571         (WebCore::DOMWindow::clear):
2573 2009-12-08  Dan Bernstein  <mitz@apple.com>
2575         Reviewed by John Sullivan.
2577         Fixed block selection gap repainting in table cells
2579         Test: fast/repaint/block-selection-gap-in-table-cell.html
2581         This recently-introduced regression exposed the fact that
2582         RenderTableCell did not override offsetFromContainer() to adjust for
2583         the fact that table cells’ coordinates are relative to the table
2584         section, not the table row. With this fixed, RenderTableCell no longer
2585         needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(),
2586         since the base class implementations of those use offsetFromContainer().
2588         * rendering/RenderTableCell.cpp:
2589         (WebCore::RenderTableCell::offsetFromContainer):
2590         * rendering/RenderTableCell.h:
2592 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2594         Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben.
2596         * WebCorePrefix.h:
2598 2009-12-08  Dan Bernstein  <mitz@apple.com>
2600         Build fix
2602         * loader/loader.cpp:
2603         (WebCore::cachedResourceTypeToTargetType):
2605 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2607         Not reviewed. Touch svgtags.in to eventually fix the win debug build.
2609         * svg/svgtags.in:
2611 2009-12-08  Mike Belshe  <mike@belshe.com>
2613         Reviewed by Darin Fisher.
2615         https://bugs.webkit.org/show_bug.cgi?id=32167
2616         Update the ResourceRequest::RequestType.  This previously
2617         was specific to Chromium.  Moved into ResourceRequestBase, enabling
2618         more specificity about the type (which is otherwise only known to the
2619         loader), and also making this information available to all platforms.
2620         Any platform with a network layer which can utilize this information
2621         may want to use it for prioritization.
2623         Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource.
2625         * loader/loader.cpp:
2626         (WebCore::Loader::Loader):
2627         (WebCore::CachedResourceTypeToTargetType):
2628         (WebCore::Loader::Host::servePendingRequests):
2629         * platform/network/ResourceRequestBase.h:
2630         (WebCore::ResourceRequestBase::):
2631         (WebCore::ResourceRequestBase::targetType):
2632         (WebCore::ResourceRequestBase::setTargetType):
2633         (WebCore::ResourceRequestBase::ResourceRequestBase):
2634         * platform/network/chromium/ResourceRequest.h:
2635         (WebCore::ResourceRequest::ResourceRequest):
2637 2009-12-08  Steve Block  <steveblock@google.com>
2639         Reviewed by Adam Barth.
2641         [Android] Adds Makefiles for Android port.
2642         https://bugs.webkit.org/show_bug.cgi?id=31325
2644         Build system change only. No tests possible.
2646         * Android.derived.jscbindings.mk: Added.
2647         * Android.derived.mk: Added.
2648         * Android.jscbindings.mk: Added.
2649         * Android.mk: Added.
2650         * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
2652 2009-12-08  Christian Dywan  <christian@twotoasts.de>
2654         Reviewed by Xan Lopez.
2656         * platform/network/soup/DNSSoup.cpp:
2657         (WebCore::prefetchDNS): Conditionalize prefetching on
2658         the libSoup version.
2660 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2662         Rubber-stamped by Maciej Stachowiak.
2664         Turn on (SVG) Filters for Win.
2665         https://bugs.webkit.org/show_bug.cgi?id=32224
2667         * WebCore.vcproj/WebCoreCommon.vsprops:
2668         * WebCore.vcproj/build-generated-files.sh:
2669         * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully.
2671 2009-12-08  Carol Szabo  <carol.szabo@nokia.com>
2673         Reviewed by Darin Adler.
2675         CSS Counter Nesting still does not work according to the spec.
2676         https://bugs.webkit.org/show_bug.cgi?id=31723
2678         Test: fast/css/counters/nesting.html
2680         * rendering/RenderCounter.cpp:
2681         (WebCore::findPlaceForCounter):
2682         Replaced the faulty counter insertion algorithm with one that works.
2684 2009-12-08  John Sullivan  <sullivan@apple.com>
2686         Add isAutofilled getter to match existing setter.
2688         Reviewed by Ada Chan.
2690         * bindings/objc/DOMHTML.mm:
2691         (-[DOMHTMLInputElement _isAutofilled]):
2692         Implemented new cover function.
2693         
2694         * bindings/objc/DOMPrivate.h:
2695         Declared new cover function.
2697 2009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>
2699         Reviewed by Gustavo Noronha Silva.
2701         [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
2702         https://bugs.webkit.org/show_bug.cgi?id=31469
2704         Added a TextBreakIterator implementation based on GLib and pango,
2705         which allows compiling WebCore without ICU.
2707         * GNUmakefile.am:
2708         * platform/text/gtk/TextBreakIteratorGtk.cpp: Added.
2709         (WebCore::):
2710         (WebCore::setUpIterator):
2711         (WebCore::characterBreakIterator):
2712         (WebCore::cursorMovementIterator):
2713         (WebCore::wordBreakIterator):
2714         (WebCore::lineBreakIterator):
2715         (WebCore::sentenceBreakIterator):
2716         (WebCore::textBreakFirst):
2717         (WebCore::textBreakLast):
2718         (WebCore::textBreakNext):
2719         (WebCore::textBreakPrevious):
2720         (WebCore::textBreakPreceding):
2721         (WebCore::textBreakFollowing):
2722         (WebCore::textBreakCurrent):
2723         (WebCore::isTextBreak):
2725 2009-12-08  Alexander Pavlov  <apavlov@chromium.org>
2727         Reviewed by Pavel Feldman.
2729         Change the way cookies are retrieved in the WebInspector frontend.
2731         Moved the cookie filtering from the native code into the frontend so that
2732         all cookies can be retrieved regardless of the associated domain
2733         (required for certain audits to run.)
2734         https://bugs.webkit.org/show_bug.cgi?id=32160
2736         Test: inspector/cookie-resource-match.html
2738         * inspector/InspectorBackend.cpp:
2739         (WebCore::InspectorBackend::getCookies):
2740         * inspector/InspectorBackend.h:
2741         * inspector/InspectorBackend.idl:
2742         * inspector/InspectorController.cpp:
2743         (WebCore::InspectorController::getCookies):
2744         * inspector/InspectorController.h:
2745         * inspector/front-end/CookieItemsView.js:
2746         (WebInspector.CookieItemsView.prototype.update.callback):
2747         (WebInspector.CookieItemsView.prototype.update):
2748         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
2749         * inspector/front-end/DOMAgent.js:
2750         (WebInspector.Cookies.getCookiesAsync):
2751         (WebInspector.Cookies.cookieMatchesResourceURL):
2752         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
2753         * inspector/front-end/Resource.js:
2754         (WebInspector.Resource):
2755         (WebInspector.Resource.prototype.get documentURL):
2756         (WebInspector.Resource.prototype.set documentURL):
2757         * inspector/front-end/inspector.js:
2758         (WebInspector.addResource):
2760 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2762         Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
2764         * svg/svgtags.in:
2766 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2768         Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
2770         * bindings/scripts/CodeGeneratorJS.pm:
2772 2009-12-06  Pavel Feldman  <pfeldman@chromium.org>
2774         Reviewed by Timothy Hatcher.
2776         Web Inspector: provide custom context menu in the front-end window.
2778         https://bugs.webkit.org/show_bug.cgi?id=32200
2780         * English.lproj/localizedStrings.js:
2781         * GNUmakefile.am:
2782         * WebCore.gypi:
2783         * WebCore.pro:
2784         * WebCore.vcproj/WebCore.vcproj:
2785         * WebCore.xcodeproj/project.pbxproj:
2786         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2787         (WebCore::JSInspectorFrontendHost::showContextMenu):
2788         * inspector/InspectorFrontend.cpp:
2789         (WebCore::InspectorFrontend::contextMenuItemSelected):
2790         (WebCore::InspectorFrontend::contextMenuCleared):
2791         * inspector/InspectorFrontend.h:
2792         * inspector/InspectorFrontendHost.cpp:
2793         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2794         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
2795         (WebCore::InspectorFrontendHost::showContextMenu):
2796         (WebCore::InspectorFrontendHost::contextMenuItemSelected):
2797         (WebCore::InspectorFrontendHost::contextMenuCleared):
2798         * inspector/InspectorFrontendHost.h:
2799         (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
2800         (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
2801         (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
2802         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
2803         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
2804         (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
2805         * inspector/InspectorFrontendHost.idl:
2806         * inspector/front-end/ContextMenu.js: Added.
2807         * inspector/front-end/WebKit.qrc:
2808         * inspector/front-end/inspector.html:
2809         * inspector/front-end/inspector.js:
2810         (WebInspector.loaded):
2811         (WebInspector.documentContextMenu):
2812         * page/ContextMenuController.cpp:
2813         (WebCore::ContextMenuController::ContextMenuController):
2814         (WebCore::ContextMenuController::clearContextMenu):
2815         (WebCore::ContextMenuController::handleContextMenuEvent):
2816         (WebCore::ContextMenuController::showContextMenu):
2817         (WebCore::ContextMenuController::createContextMenu):
2818         (WebCore::ContextMenuController::contextMenuItemSelected):
2819         * page/ContextMenuController.h:
2820         * page/ContextMenuSelectionHandler.h: Added.
2821         (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
2822         (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
2823         * platform/ContextMenu.cpp:
2824         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2825         * platform/ContextMenuItem.h:
2827 2009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
2829         Rubber-stamped by Kenneth Rohde Christiansen.
2831         [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
2833         No new tests needed.
2834         * WebCore.pro:
2836 2009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
2838         Reviewed by Darin Adler.
2840         Add a function to show render tree for debugging
2841         https://bugs.webkit.org/show_bug.cgi?id=31288
2843         No new tests because this just adds a function for debugging.
2845         * rendering/RenderObject.cpp:
2846         (WebCore::RenderObject::showRenderObject):
2847         (WebCore::RenderObject::showRenderTreeAndMark):
2848         (showRenderTree):
2849         * rendering/RenderObject.h:
2851 2009-12-07  Victor Wang  <victorw@chromium.org>
2853         Reviewed by Dimitri Glazkov.
2855         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
2856         V8 NPObject. This should make the object enumerable and fix the
2857         enumeration issue in layout test plugins/netscape-enumerate.html.
2859         Also fix some existing style issues per webkit style guidelines.
2861         https://bugs.webkit.org/show_bug.cgi?id=32254
2863         Test: plugins/netscape-enumerate.html
2865         * bindings/v8/V8NPObject.cpp:
2866         (npObjectInvokeImpl):
2867         (npObjectInvokeDefaultHandler):
2868         (npObjectGetProperty):
2869         (npObjectPropertyEnumerator):
2870         (npObjectNamedPropertyEnumerator):
2871         (npObjectIndexedPropertyEnumerator):
2872         (createV8ObjectForNPObject):
2874 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
2876         Reviewed by Alexey Proskuryakov.
2878         Fragments now make WebSocket URL parsing fail.
2879         https://bugs.webkit.org/show_bug.cgi?id=32144
2881         * websockets/WebSocket.cpp:
2882         (WebCore::WebSocket::connect):
2884 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
2886         Reviewed by Darin Adler.
2888         Fix wrong length parsing in WebSocket.
2889         https://bugs.webkit.org/show_bug.cgi?id=32203
2891         * websockets/WebSocketChannel.cpp:
2892         (WebCore::WebSocketChannel::didReceiveData):
2894 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2896         Rubber-stamped by Maciej Stachowiak.
2898         Turn on (SVG) Filters for Qt.
2899         https://bugs.webkit.org/show_bug.cgi?id=32224
2901         * WebCore.pro:
2903 2009-12-07  Evan Martin  <evan@chromium.org>
2905         Reviewed by Eric Seidel.
2907         Chromium: theme scrollbars to match GTK theme.
2908         Add functions to RenderThemeChromiumLinux to change the scrollbar
2909         color.
2911         Since the change is to the Chromium WebKit API layer, testing will
2912         be in Chromium's test shell.
2913         http://bugs.webkit.org/show_bug.cgi?id=32048
2915         Patch from Markus Gutschke <markus@chromium.org>.
2917         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2918         (WebCore::saturateAndBrighten):
2919         (WebCore::outlineColor):
2920         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2921         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2922         * rendering/RenderThemeChromiumLinux.cpp:
2923         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
2924         * rendering/RenderThemeChromiumLinux.h:
2925         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
2926         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
2927         (WebCore::RenderThemeChromiumLinux::trackColor):
2929 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2931         Reviewed by Xan Lopez.
2933         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
2934         https://bugs.webkit.org/show_bug.cgi?id=32247
2936         Allow creating a ResourceResponse from a SoupMessage.
2938         Covered by API test.
2940         * platform/network/soup/ResourceResponse.h:
2941         (WebCore::ResourceResponse::ResourceResponse):
2942         * platform/network/soup/ResourceResponseSoup.cpp:
2943         (WebCore::ResourceResponse::updateFromSoupMessage):
2945 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2947         Not reviewed. Reverting problematic patch, causing errors.
2949         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
2950         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
2952         * svg/graphics/SVGPaintServerPattern.cpp:
2953         (WebCore::SVGPaintServerPattern::setup):
2955 2009-12-07  Kent Tamura  <tkent@chromium.org>
2957         Reviewed by Darin Adler.
2959         Add support for HTMLInputElement::stepUp() and stepDown() for
2960         type=number and type=range.
2961         https://bugs.webkit.org/show_bug.cgi?id=27451
2963         Our implementation of stepUp() and stepDown() rounds the resultant
2964         value to conform to the step value.
2965         Change the number-string conversion method for RenderSlider to be
2966         consistent with type=number.
2968         Tests: fast/forms/input-step-number.html
2969                fast/forms/input-step-range.html
2970                fast/forms/input-step-unsupported.html
2972         * html/HTMLInputElement.cpp:
2973         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
2974         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
2975         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
2976         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
2977         (WebCore::HTMLInputElement::stepBase):
2978         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
2979         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
2980         (WebCore::HTMLInputElement::stepUp):
2981         (WebCore::HTMLInputElement::stepDown):
2982         (WebCore::HTMLInputElement::formStringFromDouble):
2983         * html/HTMLInputElement.h:
2984         (WebCore::HTMLInputElement::stepUp):
2985         (WebCore::HTMLInputElement::stepDown):
2986         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
2987         * rendering/RenderSlider.cpp:
2988         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
2989         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
2990         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
2992 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
2994         Not reviewed: Chromium build fix try 2 (dumb error).
2996         * bindings/v8/ScriptValue.h:
2997         (WebCore::ScriptValue::getString):
2999 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
3001         Not reviewed: Chromium build fix.
3003         Fix Chromium build break caused by an added dependency from
3004         ScriptControllerBase to JSDOMWindowShell, and an API change in
3005         ScriptValue.
3007         * bindings/ScriptControllerBase.cpp:
3008         (WebCore::ScriptController::executeIfJavaScriptURL):
3009         * bindings/v8/ScriptValue.h:
3010         (WebCore::ScriptValue::getString):
3012 2009-12-07  Enrica Casucci  <enrica@apple.com>
3014         Reviewed by Darin Adler.
3016         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
3017         <rdar://problem/7442387>
3018         https://bugs.webkit.org/show_bug.cgi?id=32233
3019         
3020         Fixes problem in re-creating the correct hierarchy under the new block.
3021         Added extensive testing to cover all the cases.
3023         Test: editing/execCommand/indent-with-style2.html
3025         * editing/CompositeEditCommand.cpp:
3026         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3028 2009-12-07  Dmitry Titov  <dimich@chromium.org>
3030         Rubber-stamped by Darin Adler.
3032         Remove ENABLE_SHARED_SCRIPT flags
3033         https://bugs.webkit.org/show_bug.cgi?id=32245
3034         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
3036         * Configurations/FeatureDefines.xcconfig:
3037         * GNUmakefile.am:
3038         * WebCore.pro:
3040 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3042         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
3044         * bindings/scripts/CodeGeneratorJS.pm:
3046 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3048         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
3050         * svg/svgtags.in:
3052 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
3054         Reviewed by Oliver Hunt.
3056         https://bugs.webkit.org/show_bug.cgi?id=32184
3057         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
3058         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
3060         * bindings/ScriptControllerBase.cpp:
3061         (WebCore::ScriptController::executeIfJavaScriptURL):
3062         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3063         (WebCore::toHTMLCanvasStyle):
3064         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3065         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3066         (WebCore::JSCanvasRenderingContext2D::setShadow):
3067         * bindings/js/ScriptCallStack.cpp:
3068         (WebCore::ScriptCallStack::ScriptCallStack):
3069         (WebCore::ScriptCallStack::initialize):
3070         * bindings/js/ScriptValue.cpp:
3071         (WebCore::ScriptValue::getString):
3072         * bindings/js/ScriptValue.h:
3073         * bindings/js/SerializedScriptValue.cpp:
3074         (WebCore::SerializingTreeWalker::convertIfTerminal):
3075         * bindings/objc/WebScriptObject.mm:
3076         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
3077         * page/Console.cpp:
3078         (WebCore::Console::addMessage):
3080 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3082         Reviewed by Holger Hans Peter Freyther.
3084         Turn on (SVG) Filters support, by default.
3085         https://bugs.webkit.org/show_bug.cgi?id=32224
3087         Only enable filters on mac for now, skipped all affected tests on the other platforms.
3088         Will enable them one after another, to minimize breakage.
3090         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
3092 2009-12-07  Kent Tamura  <tkent@chromium.org>
3094         Reviewed by Darin Adler.
3096         Fix a bug that KURL rejects a host name which has an IPv4 address
3097         inside an IPv6 form like [::127.0.0.1].
3098         https://bugs.webkit.org/show_bug.cgi?id=29913
3100         * platform/KURL.cpp:
3101         (WebCore::characterClassTable): Add IPv6Char to '.'.
3103 2009-12-07  Brady Eidson  <beidson@apple.com>
3105         Reviewed by Sam Weinig.
3107         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
3109         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
3110         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
3112         * history/HistoryItem.cpp:
3113         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
3114           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
3115         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
3116           about the original items m_cachedPage object (which is irrelevant to the copy).
3118 2009-12-07  Dmitry Titov  <dimich@chromium.org>
3120         Reviewed by Darin Adler.
3122         Remove partial SharedScript implementation.
3123         https://bugs.webkit.org/show_bug.cgi?id=32237
3124         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
3126         * DerivedSources.make:
3127         * SharedScript/SharedScriptContext.cpp: Removed.
3128         * SharedScript/SharedScriptContext.h: Removed.
3129         * SharedScript/SharedScriptContext.idl: Removed.
3130         * SharedScript/SharedScriptController.h: Removed.
3131         * SharedScript/WebKitSharedScript.cpp: Removed.
3132         * SharedScript/WebKitSharedScript.h: Removed.
3133         * SharedScript/WebKitSharedScript.idl: Removed.
3134         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
3135         * SharedScript/WebKitSharedScriptRepository.h: Removed.
3136         * WebCore.vcproj/WebCore.vcproj:
3137         * WebCore.xcodeproj/project.pbxproj:
3138         * dom/Document.cpp:
3139         (WebCore::Document::detach):
3140         * dom/EventTarget.cpp:
3141         * dom/EventTarget.h:
3142         * dom/ScriptExecutionContext.h:
3144 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
3146         Reviewed by Nikolas Zimmermann.
3148         https://bugs.webkit.org/show_bug.cgi?id=32226
3149         Random crashes in WebSocket tests on Leopard Debug builbot
3151         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
3152         Make sure the object still exists when setting m_state.
3154 2009-12-07  Shiki Okasaka  <shiki@google.com>
3156         Reviewed by Dirk Schulze.
3158         Avoid zero division during SVGPaintServerPattern::setup()
3159         https://bugs.webkit.org/show_bug.cgi?id=29912
3161         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
3162         if the tile of a pattern was bigger than the pattern and the pattern
3163         size was < 0.5, and if the attribute overflow was set to visible.
3165         Test: svg/custom/small-pattern.html
3167         * svg/graphics/SVGPaintServerPattern.cpp:
3168         (WebCore::SVGPaintServerPattern::setup):
3170 2009-12-07  Kenneth Russell  <kbr@google.com>
3172         Reviewed by Dimitri Glazkov.
3174         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
3175         https://bugs.webkit.org/show_bug.cgi?id=31889
3177         Fixed bug in handling of zero-argument constructor call.
3179         Test: fast/canvas/webgl/bug-31889.html
3181         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
3182         (WebCore::CALLBACK_FUNC_DECL):
3184 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
3186         Reviewed by Eric Seidel.
3188         https://bugs.webkit.org/show_bug.cgi?id=32024
3189         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
3191         Fix build errors when javascript-debugger is disabled on GTK
3193         * GNUmakefile.am:
3195 2009-12-07  Dan Bernstein  <mitz@apple.com>
3197         Reviewed by Darin Adler.
3199         Fixed <rdar://problem/7437820> Weird selection artifacts
3201         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
3202                fast/repaint/block-selection-gap-stale-cache.html
3204         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
3205         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
3206         stale due to layout changes and overflow scrolling.
3208         * rendering/RenderBlock.cpp:
3209         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
3210         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
3211         * rendering/RenderLayer.cpp:
3212         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
3213         bounds to include the given rect.
3214         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
3215         selection gaps bounds.
3216         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
3217         selection gaps bounds.
3218         * rendering/RenderLayer.h:
3219         * rendering/RenderView.cpp:
3220         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
3221         of the view-level cache.
3222         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
3223         * rendering/RenderView.h:
3225 2009-12-07  Philippe Normand  <pnormand@igalia.com>
3227         Reviewed by Gustavo Noronha.
3229         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
3230         from it. Also, GStreamer doesn't handle directly SMIL.
3232         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3233         (WebCore::mimeTypeCache):
3235 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3237         Reviewed by Xan Lopez.
3239         https://bugs.webkit.org/show_bug.cgi?id=25415
3240         [GTK][ATK] Please implement support for get_text_at_offset
3242         Eliminate the segfaults which occur when accessing the text interface now
3243         implemented by text controls.
3245         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3246         (getPangoLayoutForAtk):
3248 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
3250         Reviewed by Xan Lopez.
3252         Turn the MediaPlayer supported types blacklist into a whitelist
3254         [GTK] REGRESSION: webkit thinks it can render PDFs
3255         https://bugs.webkit.org/show_bug.cgi?id=32183
3257         Covered by API test.
3259         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3260         (WebCore::mimeTypeCache):
3262 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3264         Reviewed by Xan Lopez.
3266         https://bugs.webkit.org/show_bug.cgi?id=25524
3267         [Gtk] Expose the title attribute to assistive technologies
3269         Expose 'alt' attribute from images as accessible name.
3270         Expose the 'title' core HTML attribute as accessible description.
3271         This is a modified version of the original fix submitted by Mario Sanchez Prada,
3272         adjusted so that it doesn't impact other platforms.
3274         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3275         (webkit_accessible_get_name):
3276         (webkit_accessible_get_description):
3278 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3280         Reviewed by Simon Hausmann.
3282         [Qt] Fix support for generic font families
3284         By not propagating the resolved font family in FontCacheQt and
3285         only concidering the font description we ended up passing the
3286         generic font families to Qt directly. Since most systems don't
3287         have a mapping for these font families we ended up using the
3288         default font in most cases.
3290         * platform/graphics/qt/FontCacheQt.cpp:
3291         * platform/graphics/qt/FontPlatformData.h:
3292         * platform/graphics/qt/FontPlatformDataQt.cpp:
3294 2009-12-06  Oliver Hunt  <oliver@apple.com>
3296         Reviewed by Maciej Stachowiak.
3298         Object.getOwnPropertyDescriptor() allows cross-frame access
3299         https://bugs.webkit.org/show_bug.cgi?id=32119
3301         Make all implementations of getOwnPropertyDescriptor that have
3302         cross domain restrictions simply fail immediately on cross domain
3303         access, rather than trying to mimic the behaviour of normal
3304         property access.
3306         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
3308         * bindings/js/JSDOMWindowCustom.cpp:
3309         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3310         * bindings/js/JSHistoryCustom.cpp:
3311         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
3312         * bindings/js/JSLocationCustom.cpp:
3313         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3314         * bindings/scripts/CodeGeneratorJS.pm:
3316 2009-12-07  Steve Block  <steveblock@google.com>
3318         Reviewed by Adam Barth.
3320         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
3321         https://bugs.webkit.org/show_bug.cgi?id=32157
3323         Build fix only, no new tests.
3325         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
3326         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
3327         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
3328         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
3329         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
3330         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
3331         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
3332         * bridge/jni/jsc: Added.
3333         * bridge/jni/jsc/jni_utility_private.cpp: Added.
3334         (JSC::Bindings::convertArrayInstanceToJavaArray):
3335         (JSC::Bindings::convertValueToJValue):
3336         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
3337         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
3339 2009-12-06  Oliver Hunt  <oliver@apple.com>
3341         Reviewed by Maciej Stachowiak.
3343         texImage2D pixel junk for transparency
3344         https://bugs.webkit.org/show_bug.cgi?id=32188
3346         Use kCGBlendModeCopy when drawing an image to the intermediate context
3347         used to create a GL texture.
3349         No test as we don't currently have any mechanism to retrieve pixel data
3350         from the webgl context.
3352         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3353         (WebCore::imageToTexture):
3355 2009-12-03  Philippe Normand  <pnormand@igalia.com>
3357         Reviewed by Gustavo Noronha.
3359         Advertize audio/ogg correctly and refactored mime-type cache
3360         building.
3362         [GTK] Recognize oga as audio/ogg
3363         https://bugs.webkit.org/show_bug.cgi?id=31990
3365         Test: media/media-can-play-ogg.html
3367         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3368         (WebCore::mimeTypeCache):
3370 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
3372         Reviewed by Eric Seidel.
3374         https://bugs.webkit.org/show_bug.cgi?id=32175
3375         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
3377         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3378         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
3379         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
3380         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
3382 2009-12-05  Adam Langley  <agl@google.com>
3384         Reviewed by Adam Barth.
3386         Check that a CSS format() argument is of a valid type.
3388         https://bugs.webkit.org/show_bug.cgi?id=31815
3389         http://code.google.com/p/chromium/issues/detail?id=28582
3391         Test: fast/css/url-format-non-string.html
3393         * css/CSSParser.cpp:
3394         (WebCore::CSSParser::parseFontFaceSrc):
3396 2009-12-04  Adam Langley  <agl@google.com>
3398         Reviewed by Eric Seidel.
3400         Chromium: make rounded borders heavier.
3402         Skia draws its rounded corners differently from the other ports.
3403         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
3404         regions. (Which is technically more correct, but somewhat unhelpful
3405         for us.) Instead, with Skia we use a layer and collect all the
3406         clipping paths in effect. When the state is popped, we paint
3407         transparency outside the clipping paths and merge the layer down.
3409         This appears to cause rounded borders to look a little thin, which is
3410         addressed in this patch.
3412         This is well covered by existing tests but will require new baselines
3413         in the Chromium tree.
3415         https://bugs.webkit.org/show_bug.cgi?id=31778
3417         * platform/graphics/skia/GraphicsContextSkia.cpp:
3418         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3420 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
3422         Reviewed by Dan Bernstein.
3424         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
3425         
3426         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
3427         paint. This also causes 3D transforms to be flattened to 2D.
3429         Test: printing/compositing-layer-printing.html
3431         * page/FrameView.cpp:
3432         (WebCore::FrameView::paintContents):
3434 2009-12-04  Oliver Hunt  <oliver@apple.com>
3436         Reviewed by Beth Dakin.
3438         Fix up some issues in my SVGListTraits change from yesterday.
3440         * svg/SVGListTraits.h:
3441         (WebCore::):
3443 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
3445         Not reviewed: chromium build fix.
3447         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
3448         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
3450         * platform/KURLGoogle.cpp:
3451         (WebCore::isDefaultPortForProtocol):
3452         (WebCore::portAllowed):
3454 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
3456         Reviewed by Timothy Hatcher.
3458         Web Inspector: Remove suppress highlight when restoring selected node.
3460         https://bugs.webkit.org/show_bug.cgi?id=32152
3462         * inspector/front-end/ElementsPanel.js:
3463         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
3464         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
3465         (WebInspector.ElementsPanel.prototype.setDocument):
3467 2009-12-04  Dirk Schulze  <krit@webkit.org>
3469         Reviewed by Nikolas Zimmermann.
3471         Gradient SVG animation demonstrates tearing at animation extremes
3472         https://bugs.webkit.org/show_bug.cgi?id=11929
3474         The focalPoint of a radial gradient is temporarly substracted by
3475         the centralPoint, if the focalPoint is not in the radius of the
3476         gradient. This is needed to calculate a new postion of the focalPoint
3477         according to the specification. But the new focalPoint needs to be
3478         moved by the centralPoint after this calculation, which is not the case
3479         at the moment. This patch fixes this issue. It was also introduced a
3480         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
3481         in Cairo.
3483         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
3484         of the new focalPoint caused wrong results for the last three tests.
3486         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
3488         * svg/SVGRadialGradientElement.cpp:
3489         (WebCore::SVGRadialGradientElement::buildGradient):
3491 2009-12-04  Anton Muhin  <antonm@chromium.org>
3493         Reviewed by Dmitry Titov.
3495         Do not use WebCore::String::String(const UChar*, int length) to convert
3496         short v8 strings.
3498         Plus added string traits.
3499         https://bugs.webkit.org/show_bug.cgi?id=31415
3501         * bindings/v8/V8Binding.cpp:
3502         (WebCore::):
3503         (WebCore::v8StringToWebCoreString):
3505 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
3507         Reviewed by Darin Adler.
3509         REGRESSION: AX: buttons now extremely repetitive
3510         https://bugs.webkit.org/show_bug.cgi?id=32164
3512         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
3514         * accessibility/AccessibilityObject.h:
3515         (WebCore::AccessibilityObject::isButton):
3516         * accessibility/mac/AccessibilityObjectWrapper.mm:
3517         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3519 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
3521         Reviewed by Darin Adler.
3523         Check whether the right side of a string append is non-empty
3524         https://bugs.webkit.org/show_bug.cgi?id=32151
3526         Especially beneficial for CachedScript::script() method
3527         which usually appends an empty string returned by flush()
3528         to its m_script member. m_script is often hundreds of kbytes
3529         which is duplated without reason.
3531         * platform/text/String.cpp:
3532         (WebCore::String::append):
3534 2009-12-04  Enrica Casucci  <enrica@apple.com>
3536         Reviewed by John Sullivan.
3538         Mail.app crashes when indenting table pasted from Numbers.app.
3539         <rdar://problem/7209507>
3540         https://bugs.webkit.org/show_bug.cgi?id=32166
3542         Test: LayoutTests/editing/execCommand/indent-partial-table.html
3543         
3544         * editing/IndentOutdentCommand.cpp:
3545         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
3546         after the selection has not been moved.
3548 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
3550         Reviewed by Darin Adler.
3552         https://bugs.webkit.org/show_bug.cgi?id=32085
3553         WebSocket should block the same ports that are blocked for resource loading
3555         Test: websocket/tests/url-parsing.html
3557         * page/SecurityOrigin.cpp:
3558         (WebCore::SecurityOrigin::SecurityOrigin):
3559         (WebCore::SecurityOrigin::localURLSchemes):
3560         * page/SecurityOrigin.h:
3561         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
3562         is not even in WebCore/platform directory).
3564         * html/HTMLAnchorElement.cpp:
3565         (WebCore::HTMLAnchorElement::host):
3566         (WebCore::HTMLAnchorElement::setHost):
3567         (WebCore::HTMLAnchorElement::setPort):
3568         Updated for the new location of isDefaultPortForProtocol().
3570         * platform/KURL.cpp:
3571         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
3572         since the function doesn't require lower case input.
3573         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
3574         (WebCore::portAllowed): Moved from ResourceHandle.
3575         * platform/KURL.h:
3577         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
3578         new location of portAllowed().
3580         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
3581         if trying to connect to a blocked port.
3583 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
3585         Reviewed by Kenneth Rohde Christiansen.
3587         [Qt] WebKit crashes when loading certain SVG images
3588         https://bugs.webkit.org/show_bug.cgi?id=29443
3590         Remove FontFallbackListQt and rely on the common FontFallbackList
3591         to handle the fonts. FontCache and FontPlatformData have been
3592         updated to work with the common FontFallbackList.
3594         In the previous implementation, FontPlatformDataCacheKey
3595         was a clone of FontPlatformData with the hashing
3596         capabilities added in order to use it as a key in the cache's
3597         hashmap. FontPlatformData has been modified to handle the hashing
3598         function directly so the data are not copied twice in memory.
3600         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
3601         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
3602         The behavior is similar except currFamily->family().length() was
3603         not tested and the fallback fonts selector were not used.
3605         Existing tests cover the change.
3607         * WebCore.pro:
3608         * platform/graphics/qt/FontCacheQt.cpp:
3609         (WebCore::FontCache::platformInit):
3610         (WebCore::FontCache::getFontDataForCharacters):
3611         (WebCore::FontCache::getSimilarFontPlatformData):
3612         (WebCore::FontCache::getLastResortFallbackFont):
3613         (WebCore::FontCache::getTraitsInFamily):
3614         (WebCore::FontCache::createFontPlatformData):
3615         * platform/graphics/qt/FontCustomPlatformData.cpp:
3616         (WebCore::FontCustomPlatformData::fontPlatformData):
3617         * platform/graphics/qt/FontFallbackListQt.cpp:
3618         Removed. We now use the implementation from FontFallbackList.cpp
3619         * platform/graphics/qt/FontPlatformData.h:
3620         Add hashing capabilities to be able to use the data with the FontCache.
3621         This was previously done in FontCacheQt.cpp
3622         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
3623         (WebCore::FontPlatformData::FontPlatformData):
3624         (WebCore::FontPlatformData::isHashTableDeletedValue):
3625         (WebCore::FontPlatformData::font):
3626         (WebCore::FontPlatformData::size):
3627         (WebCore::FontPlatformData::family):
3628         (WebCore::FontPlatformData::bold):
3629         (WebCore::FontPlatformData::italic):
3630         (WebCore::FontPlatformData::smallCaps):
3631         (WebCore::FontPlatformData::pixelSize):
3632         * platform/graphics/qt/FontPlatformDataQt.cpp:
3633         (WebCore::FontPlatformData::FontPlatformData):
3634         (WebCore::FontPlatformData::~FontPlatformData):
3635         (WebCore::FontPlatformData::operator=):
3636         (WebCore::FontPlatformData::operator==):
3637         (WebCore::FontPlatformData::hash):
3639 2009-12-04  Adam Treat  <atreat@rim.com>
3641         Reviewed by Dan Bernstein.
3643         Fix wrong assert that was only working through sheer luck.
3644         https://bugs.webkit.org/show_bug.cgi?id=32162
3646         * platform/text/BidiContext.cpp:
3647         (WebCore::BidiContext::create):
3649 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3651         Reviewed by Simon Hausmann.
3653         [Qt] Allow removing 'qrc' as a local security origin scheme
3655         * page/SecurityOrigin.cpp:
3657 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
3659         Reviewed by Eric Seidel.
3661         Allow custom memory allocation control for WebCore's CollectionCache
3662         https://bugs.webkit.org/show_bug.cgi?id=32109
3664         Inherits the following class from FastAllocBase because it is
3665         instantiated by 'new':
3667         struct name            - instantiated at: WebCore/'location'
3669         struct CollectionCache - dom/Document.cpp:4029
3671         * html/CollectionCache.h:
3673 2009-12-04  Steve Block  <steveblock@google.com>
3675         Reviewed by Darin Adler.
3677         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
3678         https://bugs.webkit.org/show_bug.cgi?id=32111
3680         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
3681         fatal error was registered on this GeoNotifier or if this request has timed
3682         out. If the request is a watch, and is cleared by a call to clearWatch in the
3683         callback, the GeoNotifier object will be destroyed. We must therefore cache the
3684         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
3685         Geolocation::requestTimedOut.
3687         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
3688                fast/dom/Geolocation/timeout-clear-watch.html
3690         * page/Geolocation.cpp: Modified.
3691         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
3693 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
3695         Reviewed by Eric Seidel.
3697         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
3698         https://bugs.webkit.org/show_bug.cgi?id=
3700         Inherits the following class from Noncopyable because it is instantiated
3701         by 'new' and no need to be copyable:
3703         class/struct name         - instantiated at: WebCore/'location'
3705         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
3707         Inherits the following class from FastAllocBase because it is
3708         instantiated by 'new':
3710         class TransformOperations - rendering/style/RenderStyle.h:1175
3712         Noncopyable.h's include added to SharedTimer.h.
3714         * platform/SharedTimer.h:
3715         * platform/graphics/transforms/TransformOperations.h:
3717 2009-12-04  Xan Lopez  <xlopez@igalia.com>
3719         Reviewed by Gustavo Noronha.
3721         [GTK]Enable DNS prefetching
3722         https://bugs.webkit.org/show_bug.cgi?id=23846
3724         Enable DNS prefetching.
3726         Based on a patch by José Millán.
3728         * platform/network/soup/DNSSoup.cpp:
3729         (WebCore::prefetchDNS):
3731 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
3733         Reviewed by Eric Seidel.
3735         Allow custom memory allocation control for the svg directory in WebCore
3736         https://bugs.webkit.org/show_bug.cgi?id=
3738         Inherits the following classes from Noncopyable because these are instantiated
3739         by 'new' and no need to be copyable:
3741         class/struct name           - instantiated at: WebCore/'location'
3743         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
3744         class SVGFontData           - css/CSSFontFaceSource.cpp:156
3745         class SVGDocumentExtensions - dom/Document.cpp:3962
3746         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
3748         * svg/SVGDocumentExtensions.h:
3749         * svg/SVGFontData.h:
3750         * svg/SVGViewSpec.h:
3751         * svg/graphics/SVGResource.cpp:
3753 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
3755         Reviewed by Beth Dakin.
3757         WAI-ARIA: aria-activedescendant doesn't work as intended
3758         https://bugs.webkit.org/show_bug.cgi?id=32100
3760         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
3761         1. The indexes were being reported incorrectly by treeitems.
3762         2. aria-activedescendant changes were not being sent to the containing item.
3763         3. The tree's selected rows need to consult aria-activedescendant.
3764         4. Since a tree changes what it returns as its children (it returns its rows)
3765            the mac-specific array indexing methods need to correctly handle the tree case.
3767         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
3768                platform/mac/accessibility/aria-tree-index-of-items.html
3770         * accessibility/AXObjectCache.h:
3771         (WebCore::AXObjectCache::):
3772         * accessibility/AccessibilityRenderObject.cpp:
3773         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
3774         (WebCore::AccessibilityRenderObject::activeDescendant):
3775         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
3776         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
3777         * accessibility/mac/AXObjectCacheMac.mm:
3778         (WebCore::AXObjectCache::postPlatformNotification):
3779         * accessibility/mac/AccessibilityObjectWrapper.mm:
3780         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3781         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3782         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3783         * accessibility/win/AXObjectCacheWin.cpp:
3784         (WebCore::AXObjectCache::postPlatformNotification):
3786 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
3788         Reviewed by Eric Seidel.
3790         Allow custom memory allocation control for the xml directory in WebCore
3791         https://bugs.webkit.org/show_bug.cgi?id=
3793         Inherits the following class from Noncopyable because it is instantiated 
3794         by 'new' and no need to be copyable:
3796         class/struct name               - instantiated at: WebCore/'location'
3798         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
3800         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
3802         class NodeTest                  - xml/XPathGrammar.y:258
3803         class NodeSet                   - xml/XPathValue.cpp:52
3804         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
3806         * xml/XMLHttpRequest.cpp:
3807         * xml/XPathExpressionNode.h:
3808         * xml/XPathNodeSet.h:
3809         * xml/XPathStep.h:
3811 2009-12-03  Drew Wilson  <atwilson@chromium.org>
3813         Reviewed by Adam Barth.
3815         New History changes do not compile for Chromium/V8
3816         https://bugs.webkit.org/show_bug.cgi?id=32148
3818         Existing tests suffice (just trying to get code to compile).
3820         * WebCore.gypi:
3821         Added V8HistoryCustom.cpp and other missing files.
3822         * bindings/v8/custom/V8CustomBinding.h:
3823         Added custom handlers for History.pushState()/replaceState().
3824         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
3825         Added custom handlers for History.pushState()/replaceState().
3826         * history/BackForwardListChromium.cpp:
3827         (WebCore::BackForwardList::pushStateItem):
3828         Stubbed out this routine for now - will implement in the future.
3830 2009-12-03  Adam Barth  <abarth@webkit.org>
3832         Reviewed by Eric Seidel.
3834         OwnPtr<XBLBindingManager> Document::m_bindingManager;
3835         https://bugs.webkit.org/show_bug.cgi?id=32147
3837         The document actually owns the bindingManager.  That's what the code
3838         should say.
3840         * dom/Document.cpp:
3841         (WebCore::Document::~Document):
3842         * dom/Document.h:
3843         (WebCore::Document::bindingManager):
3845 2009-12-03  Adam Barth  <abarth@webkit.org>
3847         Reviewed by Eric Seidel.
3849         OwnPtr<Tokenizer> Document::m_tokenizer;
3850         https://bugs.webkit.org/show_bug.cgi?id=32145
3852         The document actually owns the tokenizer.  That's what the code should say.
3854         * dom/Document.cpp:
3855         (WebCore::Document::removedLastRef):
3856         (WebCore::Document::~Document):
3857         (WebCore::Document::cancelParsing):
3858         (WebCore::Document::implicitOpen):
3859         (WebCore::Document::implicitClose):
3860         * dom/Document.h:
3861         (WebCore::Document::tokenizer):
3863 2009-12-03  Adam Barth  <abarth@webkit.org>
3865         Reviewed by Eric Seidel.
3867         OwnPtr<RenderArena> Document::m_renderArena;
3868         https://bugs.webkit.org/show_bug.cgi?id=32146
3870         The document owns the renderArena.  That's what the code should say.
3872         * dom/Document.cpp:
3873         (WebCore::Document::Document): Also, removed a redundant initialization
3874         of the tokenizer that I missed in my previous patch.
3875         (WebCore::Document::~Document):
3876         (WebCore::Document::attach):
3877         (WebCore::Document::detach):
3878         * dom/Document.h:
3879         (WebCore::Document::renderArena):
3881 2009-12-03  Drew Wilson  <atwilson@chromium.org>
3883         Rolling back r51633 because it causes a chromium perf regression.
3885         * platform/graphics/SimpleFontData.h:
3886         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3888 2009-12-03  Adam Barth  <abarth@webkit.org>
3890         Reviewed by Eric Seidel.
3892         The code should say that Document owns DocLoader
3893         https://bugs.webkit.org/show_bug.cgi?id=32143
3895         It's the truth.
3897         * dom/Document.cpp:
3898         (WebCore::Document::~Document):
3899         * dom/Document.h:
3900         (WebCore::Document::docLoader):
3902 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
3904         Reviewed by Eric Seidel.
3906         AX: VO just says "term" on many web sites
3907         https://bugs.webkit.org/show_bug.cgi?id=32139
3909         Test: platform/mac/accessibility/definition-list-term.html
3911         * accessibility/AccessibilityRenderObject.cpp:
3912         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3913         * accessibility/mac/AccessibilityObjectWrapper.mm:
3914         (-[AccessibilityObjectWrapper subrole]):
3915         (-[AccessibilityObjectWrapper roleDescription]):
3917 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
3919         Reviewed by Beth Dakin.
3921         Implement WAI-ARIA scrollbar role and related property aria-orientation
3922         https://bugs.webkit.org/show_bug.cgi?id=32126
3924         Test: accessibility/aria-scrollbar-role.html
3926         * accessibility/AccessibilityObject.cpp:
3927         (WebCore::createARIARoleMap):
3928         * accessibility/AccessibilityObject.h:
3929         (WebCore::AccessibilityObject::isScrollbar):
3930         * accessibility/AccessibilityRenderObject.cpp:
3931         (WebCore::AccessibilityRenderObject::valueForRange):
3932         (WebCore::AccessibilityRenderObject::orientation):
3933         (WebCore::AccessibilityRenderObject::canHaveChildren):
3934         * accessibility/AccessibilityRenderObject.h:
3935         * accessibility/mac/AccessibilityObjectWrapper.mm:
3936         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3937         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3938         * html/HTMLAttributeNames.in:
3940 2009-12-03  Dan Bernstein  <mitz@apple.com>
3942         Reviewed by Darin Adler.
3944         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
3945         accelerated layers
3946         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
3947         Fix selection painting to do container-relative repaints
3949         Test: fast/repaint/block-selection-gap-in-composited-layer.html
3951         * rendering/RenderBlock.cpp:
3952         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
3953         gap rects in the coordinate space of the repaint container.
3954         * rendering/RenderLayerCompositor.cpp:
3955         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
3956         FIXME.
3957         * rendering/RenderView.cpp:
3958         (WebCore::RenderView::setSelection): Map block selection gap rects from
3959         the repaint container’s coordinate space to the view’s coordinate space
3960         before adding them to the cached selection bounds.
3961         (WebCore::RenderView::clearSelection): Changed to use
3962         repaintRectangleInViewAndCompositedLayers() so that the selection rect
3963         is invalidated in composited layers as well.
3965 2009-12-03  Jonathan Dixon  <joth@chromium.org>
3967         Reviewed by Dimitri Glazkov.
3969         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
3970         https://bugs.webkit.org/show_bug.cgi?id=32066
3972         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
3973         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
3974         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
3975         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
3976         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
3977         make that the default just yet.
3979         * WebCore.gypi:
3980         * page/Settings.cpp:
3981         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
3982         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
3983         * page/Settings.h:
3984         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
3985         * platform/chromium/GeolocationServiceChromium.cpp: Added.
3986         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
3987         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
3989 2009-12-03  Enrica Casucci  <enrica@apple.com>
3991         Reviewed by John Sullivan.
3993         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
3994         <rdar://problem/7198592>
3995         https://bugs.webkit.org/show_bug.cgi?id=32129
3997         Fixed the way the next paragraph is calculated.
3998         I've added a repro case in Safari and attached it to the Bugzilla bug.
4000         * editing/Editor.cpp:
4001         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
4002         next paragraph in the loop.
4004 2009-12-03  Oliver Hunt  <oliver@apple.com>
4006         Build fix
4008         * svg/SVGListTraits.h:
4009         (WebCore::):
4011 2009-12-03  Oliver Hunt  <oliver@apple.com>
4013         Build fix
4015         * svg/SVGListTraits.h:
4016         (WebCore::):
4018 2009-12-03  Brady Eidson  <beidson@apple.com>
4020         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
4022         Long live our auto-generated overlords that I didn't know about...  
4024         * WebCore.base.exp:
4026 2009-12-03  Oliver Hunt  <oliver@apple.com>
4028         Reviewed by Dan Bernstein.
4030         REGRESSION (r51627): 3 SVG tests are failing
4031         https://bugs.webkit.org/show_bug.cgi?id=32117
4033         Null checking Items in the SVGList is insufficient as items may
4034         be floats, etc so add SVGListTraits::isNull and add appropriate
4035         specializations.
4037         Test: svg/dom/svglist-exception-on-out-bounds-error.html
4039         * svg/SVGList.h:
4040         (WebCore::SVGListTypeOperations::isNull):
4041         (WebCore::SVGList::initialize):
4042         (WebCore::SVGList::insertItemBefore):
4043         (WebCore::SVGList::replaceItem):
4044         (WebCore::SVGList::appendItem):
4045         * svg/SVGListTraits.h:
4046         (WebCore::):
4048 2009-12-03  Brady Eidson  <beidson@apple.com>
4050         No review - release build fix.
4052         * history/HistoryItem.cpp:
4053         (WebCore::HistoryItem::documentDetached):
4055 2009-12-03  Brady Eidson  <beidson@apple.com>
4057         No review - release build fix.
4059         * loader/HistoryController.cpp:
4060         (WebCore::HistoryController::pushState):
4062 2009-12-03  Enrica Casucci  <enrica@apple.com>
4064         Reviewed by Adele Peterson.
4066         Multiple Undos removes the last posted comment and/or the ones before it.
4067         <rdar://problem/6557066>
4068         https://bugs.webkit.org/show_bug.cgi?id=32079
4069         
4070         The fix consists in preventing Undos and Redos to be applied to elements that
4071         are no longer editable. We do not attempt to remove the commands from the queue.
4072         It is a relatively simple fix that comes with a little extra overhead for the apply
4073         and unapply methods where we are now performing the editability check.
4075         Test: editing/undo/undo-indent-noneditable.html
4077         * editing/AppendNodeCommand.cpp:
4078         (WebCore::AppendNodeCommand::doApply):
4079         (WebCore::AppendNodeCommand::doUnapply):
4080         * editing/DeleteFromTextNodeCommand.cpp:
4081         (WebCore::DeleteFromTextNodeCommand::doApply):
4082         (WebCore::DeleteFromTextNodeCommand::doUnapply):
4083         * editing/InsertIntoTextNodeCommand.cpp:
4084         (WebCore::InsertIntoTextNodeCommand::doApply):
4085         (WebCore::InsertIntoTextNodeCommand::doUnapply):
4086         * editing/InsertNodeBeforeCommand.cpp:
4087         (WebCore::InsertNodeBeforeCommand::doApply):
4088         (WebCore::InsertNodeBeforeCommand::doUnapply):
4089         * editing/JoinTextNodesCommand.cpp:
4090         (WebCore::JoinTextNodesCommand::doApply):
4091         (WebCore::JoinTextNodesCommand::doUnapply):
4092         * editing/MergeIdenticalElementsCommand.cpp:
4093         (WebCore::MergeIdenticalElementsCommand::doApply):
4094         (WebCore::MergeIdenticalElementsCommand::doUnapply):
4095         * editing/RemoveNodeCommand.cpp:
4096         (WebCore::RemoveNodeCommand::doApply):
4097         (WebCore::RemoveNodeCommand::doUnapply):
4098         * editing/SplitElementCommand.cpp:
4099         (WebCore::SplitElementCommand::executeApply):
4100         (WebCore::SplitElementCommand::doUnapply):
4101         * editing/SplitTextNodeCommand.cpp:
4102         (WebCore::SplitTextNodeCommand::doApply):
4103         (WebCore::SplitTextNodeCommand::doUnapply):
4104         * editing/WrapContentsInDummySpanCommand.cpp:
4105         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
4106         (WebCore::WrapContentsInDummySpanCommand::doReapply):
4108 2009-12-03  Brady Eidson  <beidson@apple.com>
4110         Reviewed by Sam Weinig.
4112         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
4114         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
4115                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
4116                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
4117                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
4118                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
4119                fast/loader/stateobjects/pushstate-object-types.html
4120                fast/loader/stateobjects/pushstate-then-replacestate.html
4121                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
4122                fast/loader/stateobjects/replacestate-then-pushstate.html
4123                http/tests/loading/state-object-security-exception.html
4125         Derived sources and project file changes:
4126         * DerivedSources.cpp:
4127         * DerivedSources.make:
4128         * GNUmakefile.am
4129         * WebCore.pro
4130         * WebCore.vcproj/WebCore.vcproj:
4131         * WebCore.xcodeproj/project.pbxproj:
4133         Add the new PopStateEvent:
4134         * dom/PopStateEvent.cpp: Added.
4135         (WebCore::PopStateEvent::PopStateEvent):
4136         (WebCore::PopStateEvent::initPopStateEvent):
4137         * dom/PopStateEvent.h: Added.
4138         (WebCore::PopStateEvent::create):
4139         (WebCore::PopStateEvent::isPopStateEvent):
4140         (WebCore::PopStateEvent::state):
4141         * dom/PopStateEvent.idl: Added.
4142         * bindings/js/JSPopStateEventCustom.cpp: Added.
4143         (WebCore::JSPopStateEvent::initPopStateEvent):
4144         (WebCore::JSPopStateEvent::state):
4145         * bindings/js/JSEventCustom.cpp:
4146         (WebCore::toJS):
4147         * dom/Event.cpp:
4148         (WebCore::Event::isPopStateEvent):
4149         * dom/Event.h:
4150         * dom/EventNames.h:
4152         Add the "onpopstate" attribute:
4153         * html/HTMLAttributeNames.in:
4154         * html/HTMLBodyElement.cpp:
4155         (WebCore::HTMLBodyElement::parseMappedAttribute):
4156         * html/HTMLBodyElement.idl:
4157         * html/HTMLFrameSetElement.cpp:
4158         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
4159         * html/HTMLFrameSetElement.h:
4160         * html/HTMLFrameSetElement.idl:
4161         * page/DOMWindow.h:
4162         * page/DOMWindow.idl:
4164         Add pushState and replaceState management to the loader and history machinery:
4165         * bindings/js/JSHistoryCustom.cpp:
4166         (WebCore::JSHistory::pushState):
4167         (WebCore::JSHistory::replaceState):
4168         * loader/HistoryController.cpp:
4169         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
4170           both the same-document fragment scroll case with the new same-document state object activation case.
4171         (WebCore::HistoryController::pushState):
4172         (WebCore::HistoryController::replaceState):
4173         * loader/HistoryController.h:
4174         * history/BackForwardList.cpp:
4175         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
4176         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
4177           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
4178           meant to remain.
4179         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
4180           insert the new item.
4181         (WebCore::BackForwardList::removeItem):
4182         * history/BackForwardList.h:
4183         * page/History.cpp:
4184         (WebCore::History::urlForState):
4185         (WebCore::History::stateObjectAdded):
4186         * page/History.h:
4187         * page/History.idl:
4189         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
4190         * history/HistoryItem.cpp:
4191         (WebCore::HistoryItem::HistoryItem):
4192         (WebCore::HistoryItem::~HistoryItem):
4193         (WebCore::HistoryItem::setStateObject):
4194         (WebCore::HistoryItem::setDocument):
4195         (WebCore::HistoryItem::documentDetached):
4196         * history/HistoryItem.h:
4197         (WebCore::HistoryItem::stateObject):
4198         (WebCore::HistoryItem::document):
4199         * dom/Document.cpp:
4200         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
4201           is going away.
4202         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
4203         (WebCore::Document::unregisterHistoryItem): Ditto.
4204         * dom/Document.h:
4206         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
4207         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
4208         * dom/Document.cpp:
4209         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
4210         (WebCore::Document::updateURLForPushOrReplaceState):
4211         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
4212           the pending state object.
4213         * loader/DocumentLoader.cpp:
4214         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
4215         * loader/DocumentLoader.h:
4216         * loader/FrameLoaderClient.h:
4217         * loader/EmptyClients.h:
4218         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
4220         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
4221         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
4222         * loader/FrameLoader.cpp:
4223         (WebCore::FrameLoader::loadInSameDocument):
4224         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
4225         (WebCore::FrameLoader::navigateWithinDocument):
4226         (WebCore::FrameLoader::navigateToDifferentDocument):
4227         (WebCore::FrameLoader::loadItem):
4228         * loader/FrameLoader.h:
4229         * page/Page.cpp:
4230         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
4232 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
4234         Not reviewed: chromium build fix.
4235         r51621 changed JS bindings only, broke v8's.
4237         * bindings/v8/ScriptFunctionCall.cpp:
4238         (WebCore::ScriptFunctionCall::appendArgument):
4239         * bindings/v8/ScriptFunctionCall.h:
4241 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
4243         Reviewed by Adam Barth.
4245         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
4246         https://bugs.webkit.org/show_bug.cgi?id=32094
4248         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
4250         * bindings/v8/DOMObjectsInclude.h:
4251         * bindings/v8/V8DOMWrapper.cpp:
4252         (WebCore::V8DOMWrapper::getTemplate):
4253         (WebCore::V8DOMWrapper::convertToV8Object):
4254         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
4255         * bindings/v8/V8DOMWrapper.h:
4256         * bindings/v8/V8GCController.cpp:
4257         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
4258         * bindings/v8/custom/V8CustomBinding.h:
4260 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
4262         Reviewed by Timothy Hatcher.
4264         Chromium: Add support for settings containing ":"
4266         https://bugs.webkit.org/show_bug.cgi?id=32118
4268         * inspector/front-end/WatchExpressionsSidebarPane.js:
4269         (WebInspector.WatchExpressionsSection):
4271 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
4273         Reviewed by Simon Fraser.
4275         repaint events from outside the viewport aren't received
4276         https://bugs.webkit.org/show_bug.cgi?id=32081
4278         When using a tiled backing store for painting, you need to receive
4279         event from outside the viewport. Setting the viewport to the size
4280         of the contents is not an option if you want to make use of WebCore's
4281         infrastructure for drawing scrollbars etc.
4283         A new property, paintsEntireContents, has been introduced for the
4284         above use-case. It is settable, as tiling will be optional for Qt,
4285         and for the not yet upstreamed EFL port, there will be two different
4286         views, where only one of them are tiled.
4288         No change in behavior, so no new tests added.
4290         * page/FrameView.cpp:
4291         (WebCore::FrameView::repaintContentRectangle):
4292         * platform/ScrollView.cpp:
4293         (WebCore::ScrollView::ScrollView):
4294         (WebCore::ScrollView::setPaintsEntireContents):
4295         (WebCore::ScrollView::wheelEvent):
4296         * platform/ScrollView.h:
4297         (WebCore::ScrollView::paintsEntireContents):
4299 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
4301         Reviewed by Eric Seidel.
4303         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
4304         https://bugs.webkit.org/show_bug.cgi?id=31802
4306         No test since this is already covered by existing pixel tests.
4308         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
4309         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
4310         of Core Text functions that are public on 10.6 but SPI on 10.5.
4312 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
4314         Reviewed by Timothy Hatcher.
4316         Web Inspector: Simplify the settings support in inspector controller.
4318         https://bugs.webkit.org/show_bug.cgi?id=32076
4320         Test: inspector/settings-set-get.html
4322         * WebCore.Inspector.exp:
4323         * bindings/js/JSInspectorFrontendHostCustom.cpp:
4324         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
4325         * inspector/InspectorClient.h:
4326         * inspector/InspectorController.cpp:
4327         (WebCore::InspectorController::~InspectorController):
4328         (WebCore::InspectorController::setting):
4329         (WebCore::InspectorController::setSetting):
4330         (WebCore::InspectorController::setWindowVisible):
4331         (WebCore::InspectorController::attachWindow):
4332         (WebCore::InspectorController::setAttachedWindowHeight):
4333         (WebCore::InspectorController::storeLastActivePanel):
4334         (WebCore::InspectorController::scriptObjectReady):
4335         (WebCore::InspectorController::showWindow):
4336         (WebCore::InspectorController::enableResourceTracking):
4337         (WebCore::InspectorController::disableResourceTracking):
4338         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
4339         (WebCore::InspectorController::enableProfiler):
4340         (WebCore::InspectorController::disableProfiler):
4341         (WebCore::InspectorController::enableDebuggerFromFrontend):
4342         (WebCore::InspectorController::disableDebugger):
4343         * inspector/InspectorController.h:
4344         * inspector/InspectorFrontendHost.cpp:
4345         (WebCore::InspectorFrontendHost::setting):
4346         (WebCore::InspectorFrontendHost::setSetting):
4347         * inspector/InspectorFrontendHost.h:
4348         * inspector/InspectorFrontendHost.idl:
4349         * loader/EmptyClients.h:
4350         (WebCore::EmptyInspectorClient::populateSetting):
4351         (WebCore::EmptyInspectorClient::storeSetting):
4353 2009-12-03  Ben Murdoch  <benm@google.com>
4355         Reviewed by Brady Eidson.
4357         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
4358         https://bugs.webkit.org/show_bug.cgi?id=31915
4360         No change in functionality so no new tests required.
4362         * history/HistoryItem.cpp:
4363         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
4364         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
4365         (WebCore::HistoryItem::setURLString): ditto.
4366         (WebCore::HistoryItem::setOriginalURLString): ditto.
4367         (WebCore::HistoryItem::setReferrer): ditto.
4368         (WebCore::HistoryItem::setTitle): ditto.
4369         (WebCore::HistoryItem::setTarget): ditto.
4370         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
4371         (WebCore::HistoryItem::clearDocumentState): ditto.
4372         (WebCore::HistoryItem::setIsTargetItem): ditto.
4373         (WebCore::HistoryItem::addChildItem): ditto.
4374         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
4375         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
4377 2009-12-03  Ben Murdoch  <benm@google.com>
4379         Reviewed by Brady Eidson.
4381         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
4382         https://bugs.webkit.org/show_bug.cgi?id=31914
4384         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
4386         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
4388         * history/BackForwardList.cpp:
4389         (WebCore::BackForwardList::addItem): Execute the callback.
4390         (WebCore::BackForwardList::goBack): ditto.
4391         (WebCore::BackForwardList::goForward): ditto.
4392         (WebCore::BackForwardList::goToItem): ditto.
4393         (WebCore::BackForwardList::setCapacity): dito.
4394         * loader/EmptyClients.h:
4395         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
4396         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
4397         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
4398         * loader/FrameLoaderClient.h:
4400 2009-12-03  Ben Murdoch  <benm@google.com>
4402         Reviewed by Brady Eidson.
4404         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
4405         https://bugs.webkit.org/show_bug.cgi?id=31913
4407         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
4409         No new tests required as this is Android specific code.
4411         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
4412         * history/android: Added.
4413         * history/android/AndroidWebHistoryBridge.h: Added.
4414         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
4415         (WebCore::HistoryItem::bridge): Added.
4416         (WebCore::HistoryItem::setBridge): Added.
4418 2009-12-03  Oliver Hunt  <oliver@apple.com>
4420         Reviewed by Maciej Stachowiak.
4422         NULL ptr in SVGPathSegList::getPathSegAtLength()
4423         https://bugs.webkit.org/show_bug.cgi?id=30313
4425         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
4426         Add null checks to SVGList's content manipulation functions to prevent
4427         null values from entering the list in the first place.
4429         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
4431         * svg/SVGList.h:
4432         (WebCore::SVGList::initialize):
4433         (WebCore::SVGList::insertItemBefore):
4434         (WebCore::SVGList::replaceItem):
4435         (WebCore::SVGList::appendItem):
4436         * svg/SVGPathElement.cpp:
4437         (WebCore::SVGPathElement::getPathSegAtLength):
4438         * svg/SVGPathElement.h:
4439         * svg/SVGPathElement.idl:
4440         * svg/SVGPathSegList.cpp:
4441         (WebCore::SVGPathSegList::getPathSegAtLength):
4442         (WebCore::SVGPathSegList::toPathData):
4443         (WebCore::SVGPathSegList::createAnimated):
4444         * svg/SVGPathSegList.h:
4446 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
4448         Reviewed by Eric Seidel.
4450         Sanitize web fonts using the OTS library 
4451         https://bugs.webkit.org/show_bug.cgi?id=31106
4453         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
4454         and attempts to validate and sanitize them. We hope this reduces the attack surface
4455         of the system font libraries.
4457         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
4458         * WebCore.gypi: Added new files below.
4459         * WebCore.xcodeproj/project.pbxproj: Ditto.
4460         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
4461         (WebCore::createFontCustomPlatformData):
4462         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
4463         (WebCore::createFontCustomPlatformData):
4464         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
4465         (WebCore::OpenTypeSanitizer::sanitize):
4466         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
4467         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
4469 2009-12-02  Oliver Hunt  <oliver@apple.com>
4471         Reviewed by Sam Weinig.
4473         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
4474         https://bugs.webkit.org/show_bug.cgi?id=32098
4476         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
4477         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
4478         that an explicit String cast would not be necessary.
4480         To prevent something like this happening again in future i've added private
4481         operator new implementations to ScriptFunctionCall making this type of mistake
4482         produce errors when compiling.
4484         Test case: Inspector tests now pass with GC on every alloc enabled.
4486         * bindings/js/ScriptFunctionCall.cpp:
4487         (WebCore::ScriptFunctionCall::appendArgument):
4488         * bindings/js/ScriptFunctionCall.h:
4489         (WebCore::ScriptFunctionCall::operator new):
4490         (WebCore::ScriptFunctionCall::operator new[]):
4491         * inspector/InspectorFrontend.cpp:
4492         (WebCore::InspectorFrontend::addConsoleMessage):
4493         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
4494         (WebCore::InspectorFrontend::addResource):
4495         (WebCore::InspectorFrontend::updateResource):
4496         (WebCore::InspectorFrontend::removeResource):
4497         (WebCore::InspectorFrontend::updateFocusedNode):
4498         (WebCore::InspectorFrontend::setAttachedWindow):
4499         (WebCore::InspectorFrontend::addRecordToTimeline):
4500         (WebCore::InspectorFrontend::parsedScriptSource):
4501         (WebCore::InspectorFrontend::failedToParseScriptSource):
4502         (WebCore::InspectorFrontend::addProfileHeader):
4503         (WebCore::InspectorFrontend::setRecordingProfile):
4504         (WebCore::InspectorFrontend::didGetProfileHeaders):
4505         (WebCore::InspectorFrontend::didGetProfile):
4506         (WebCore::InspectorFrontend::pausedScript):
4507         (WebCore::InspectorFrontend::setDocument):
4508         (WebCore::InspectorFrontend::setDetachedRoot):
4509         (WebCore::InspectorFrontend::setChildNodes):
4510         (WebCore::InspectorFrontend::childNodeCountUpdated):
4511         (WebCore::InspectorFrontend::childNodeInserted):
4512         (WebCore::InspectorFrontend::childNodeRemoved):
4513         (WebCore::InspectorFrontend::attributesUpdated):
4514         (WebCore::InspectorFrontend::didRemoveNode):
4515         (WebCore::InspectorFrontend::didGetChildNodes):
4516         (WebCore::InspectorFrontend::didApplyDomChange):
4517         (WebCore::InspectorFrontend::didGetEventListenersForNode):
4518         (WebCore::InspectorFrontend::didGetCookies):
4519         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
4520         (WebCore::InspectorFrontend::addDatabase):
4521         (WebCore::InspectorFrontend::selectDatabase):
4522         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
4523         (WebCore::InspectorFrontend::addDOMStorage):
4524         (WebCore::InspectorFrontend::selectDOMStorage):
4525         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
4526         (WebCore::InspectorFrontend::didSetDOMStorageItem):
4527         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
4528         (WebCore::InspectorFrontend::updateDOMStorage):
4529         (WebCore::InspectorFrontend::addNodesToSearchResult):
4530         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
4531         * inspector/InspectorFrontend.h:
4533 2009-12-02  Dave Hyatt  <hyatt@apple.com>
4535         Reviewed by Darin Adler.
4537         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
4538         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
4539         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
4540         makes error handling deal with more cases correctly.
4542         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
4544         * css/CSSGrammar.y:
4545         * css/CSSParser.cpp:
4546         (WebCore::CSSParser::CSSParser):
4547         (WebCore::CSSParser::parseRule):
4548         (WebCore::CSSParser::createCharsetRule):
4549         (WebCore::CSSParser::createImportRule):
4550         (WebCore::CSSParser::createMediaRule):
4551         (WebCore::CSSParser::createKeyframesRule):
4552         (WebCore::CSSParser::createStyleRule):
4553         (WebCore::CSSParser::createFontFaceRule):
4554         (WebCore::CSSParser::addNamespace):
4555         (WebCore::CSSParser::createVariablesRule):
4556         * css/CSSParser.h:
4558 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
4560         Reviewed by Dan Bernstein.
4562         Safari/Chromium for Windows fails to load CJK WebFonts
4563         https://bugs.webkit.org/show_bug.cgi?id=31804
4564         
4565         * platform/graphics/opentype/OpenTypeUtilities.cpp:
4566         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
4568 2009-12-02  Avi Drissman  <avi@chromium.org>
4570         Reviewed by Darin Fisher.
4572         Chromium: Need tickmarks in scrollbar
4573         https://bugs.webkit.org/show_bug.cgi?id=32069
4575         * WebCore.gyp/WebCore.gyp:
4576         * WebCore.gypi:
4577         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
4578         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
4580 2009-11-13  Timothy Hatcher  <timothy@apple.com>
4582         Expose a function to set the value of an input element on behalf of the user.
4583         This function will dispatch the change event so the page is notified when autofill
4584         happens. Also dispatch a change event when a select element is changed by autofill.
4586         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
4588         Reviewed by Darin Adler.
4590         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
4591         * bindings/objc/DOMHTML.mm:
4592         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
4593         a change event is fired. This method is called by Safari autofill.
4594         * dom/Document.cpp:
4595         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
4596         of dispatching the change event directly to be consistent.
4597         * html/HTMLFormControlElement.cpp:
4598         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
4599         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
4600         * html/HTMLInputElement.h:
4601         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
4602         * html/InputElement.h: Added setValueForUser.
4604 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
4606         Reviewed by Timothy Hatcher.
4608         Web Inspector: DOM tree selection disappears upon page refresh.
4610         https://bugs.webkit.org/show_bug.cgi?id=31142
4612         Test: inspector/elements-panel-selection-on-refresh.html
4614         * inspector/InjectedScriptHost.cpp:
4615         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
4616         * inspector/InjectedScriptHost.h:
4617         * inspector/InjectedScriptHost.idl:
4618         * inspector/InspectorBackend.h:
4619         * inspector/InspectorController.cpp:
4620         (WebCore::InspectorController::close):
4621         (WebCore::InspectorController::releaseDOMAgent):
4622         (WebCore::InspectorController::resetScriptObjects):
4623         * inspector/InspectorDOMAgent.cpp:
4624         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
4625         (WebCore::InspectorDOMAgent::reset):
4626         (WebCore::InspectorDOMAgent::setDocument):
4627         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
4628         (WebCore::InspectorDOMAgent::nodeForPath):
4629         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
4630         * inspector/InspectorDOMAgent.h:
4631         * inspector/front-end/DOMAgent.js:
4632         (WebInspector.DOMNode.prototype._renumber):
4633         (WebInspector.DOMAgent.prototype._setDocument):
4634         * inspector/front-end/ElementsPanel.js:
4635         (WebInspector.ElementsPanel.prototype.reset):
4636         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
4637         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
4638         (WebInspector.ElementsPanel.prototype.setDocument):
4639         * inspector/front-end/InjectedScript.js:
4640         (InjectedScript.pushNodeByPathToFrontend):
4641         * inspector/front-end/InjectedScriptAccess.js:
4643 2009-12-01  Dave Hyatt  <hyatt@apple.com>
4645         Reviewed by Dan Bernstein.
4647         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
4648         all the @-rules we support.  When escape sequences are present, the lexical scanner
4649         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
4650         and then recheck against the rules we support with the final processed name.  If we
4651         find a match, we mutate the token value to the appropriate rule name token, e.g.,
4652         NAMESPACE_SYM.
4654         Added fast/css/namespaces/namespaces-escapes.xml
4656         * css/CSSParser.cpp:
4657         (WebCore::CSSParser::lex):
4658         (WebCore::CSSParser::recheckAtKeyword):
4659         (WebCore::CSSParser::text):
4660         * css/CSSParser.h:
4662 2009-12-02  Anton Muhin  <antonm@chromium.org>
4664         Reviewed by Adam Barth.:w
4666         Allow to skip thread checks when accessing DOMDataStore for processes
4667         which run V8 in single thread mode.
4668         https://bugs.webkit.org/show_bug.cgi?id=31877
4670         Should be covered by buildbots.
4672         * bindings/v8/V8DOMMap.cpp:
4673         (WebCore::getDOMDataStore):
4674         (WebCore::enableFasterDOMStoreAccess):
4675         (WebCore::getDOMNodeMap):
4676         (WebCore::getDOMObjectMap):
4677         (WebCore::getActiveDOMObjectMap):
4678         (WebCore::getDOMSVGElementInstanceMap):
4679         (WebCore::getDOMSVGObjectWithContextMap):
4680         * bindings/v8/V8DOMMap.h:
4682 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
4684         Reviewed by Pavel Feldman.
4686         Code clean up: remove ScriptObjectQuarantine.* as a whole.
4688         https://bugs.webkit.org/show_bug.cgi?id=32060
4690         * GNUmakefile.am:
4691         * WebCore.gypi:
4692         * WebCore.pro:
4693         * WebCore.vcproj/WebCore.vcproj:
4694         * WebCore.xcodeproj/project.pbxproj:
4695         * WebCoreSources.bkl:
4696         * bindings/js/JSBindingsAllInOne.cpp:
4697         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
4698         * bindings/js/ScriptObjectQuarantine.h: Removed.
4699         * bindings/js/ScriptValue.cpp:
4700         (WebCore::ScriptValue::quarantineValue):
4701         * bindings/js/ScriptValue.h:
4702         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
4703         * bindings/v8/ScriptObjectQuarantine.h: Removed.
4704         * bindings/v8/ScriptValue.h:
4705         (WebCore::ScriptValue::quarantineValue):
4706         * inspector/ConsoleMessage.cpp:
4707         (WebCore::ConsoleMessage::ConsoleMessage):
4708         * inspector/InspectorController.cpp:
4709         * inspector/InspectorDatabaseResource.cpp:
4710         (WebCore::InspectorDatabaseResource::bind):
4711         * inspector/InspectorFrontend.cpp:
4713 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
4715         Reviewed by Alexey Proskuryakov.
4717         WebSocket handshake check query component of URL
4718         https://bugs.webkit.org/show_bug.cgi?id=31617
4720         Tests: websocket/tests/url-with-credential.html
4721                websocket/tests/url-with-empty-query.html
4722                websocket/tests/url-with-fragment.html
4723                websocket/tests/url-with-query-for-no-query.html
4724                websocket/tests/url-with-query.html
4726         * platform/KURLGoogle.cpp:
4727         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
4728         * websockets/WebSocketHandshake.cpp:
4729         (WebCore::resourceName): added. add query component to path if specified.
4730         (WebCore::WebSocketHandshake::clientLocation):
4731         (WebCore::WebSocketHandshake::clientHandshakeMessage):
4733 2009-12-01  David Levin  <levin@chromium.org>
4735         Reviewed by Eric Seidel.
4737         Incorrect code in WebGLRenderingContext.cpp
4738         https://bugs.webkit.org/show_bug.cgi?id=32046
4740         Fix incorrect code that happened to work. != has higher precendence than &.
4741         The simplest fix is to remove the "!= 0" which violates WebKit style
4742         guidelines anyway.
4744         Also added periods to few comments in the same function.
4746         * html/canvas/WebGLRenderingContext.cpp:
4747         (WebCore::WebGLRenderingContext::validateIndexArray):
4749 2009-12-01  Kent Tamura  <tkent@chromium.org>
4751         Reviewed by Darin Adler.
4753         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
4754         pattern and step attributes of HTMLInputElement.
4755         https://bugs.webkit.org/show_bug.cgi?id=31708
4757         * html/HTMLInputElement.idl:
4759 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
4761         Reviewed by Darin Adler.
4763         WAI-ARIA: implement support for ARIA drag and drop
4764         https://bugs.webkit.org/show_bug.cgi?id=32007
4766         Test: platform/mac/accessibility/aria-drag-drop.html
4768         * accessibility/AccessibilityObject.h:
4769         (WebCore::AccessibilityObject::supportsARIADropping):
4770         (WebCore::AccessibilityObject::supportsARIADragging):
4771         (WebCore::AccessibilityObject::isARIAGrabbed):
4772         (WebCore::AccessibilityObject::setARIAGrabbed):
4773         (WebCore::AccessibilityObject::determineARIADropEffects):
4774         * accessibility/AccessibilityRenderObject.cpp:
4775         (WebCore::AccessibilityRenderObject::supportsARIADropping):
4776         (WebCore::AccessibilityRenderObject::supportsARIADragging):
4777         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
4778         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
4779         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
4780         * accessibility/AccessibilityRenderObject.h:
4781         * accessibility/mac/AccessibilityObjectWrapper.mm:
4782         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
4783         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
4784         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
4785         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
4786         * html/HTMLAttributeNames.in:
4788 2009-12-01  Adam Barth  <abarth@webkit.org>
4790         https://bugs.webkit.org/show_bug.cgi?id=21288
4792         Unreviewed port of @sandbox to V8.
4794         * bindings/v8/ScriptController.cpp:
4795         (WebCore::ScriptController::isEnabled):
4796         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4797         (WebCore::createWindow):
4799 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
4801         Reviewed by Darin Adler.
4803         Implement HTML5 sandbox attribute for iframes.
4804         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
4805         https://bugs.webkit.org/show_bug.cgi?id=21288
4807         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
4808                fast/frames/sandboxed-iframe-forms.html
4809                fast/frames/sandboxed-iframe-navigation-allowed.html
4810                fast/frames/sandboxed-iframe-navigation-parent.html
4811                fast/frames/sandboxed-iframe-navigation-targetlink.html
4812                fast/frames/sandboxed-iframe-navigation-windowopen.html
4813                fast/frames/sandboxed-iframe-plugins.html
4814                fast/frames/sandboxed-iframe-scripting.html
4815                fast/frames/sandboxed-iframe-storage.html
4816                http/tests/security/sandboxed-iframe-document-cookie.html
4817                http/tests/security/sandboxed-iframe-modify-self.html
4818                http/tests/security/xss-DENIED-sandboxed-iframe.html
4819                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
4820                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
4821                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
4823         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
4824         (WebCore::createWindow):
4825         * bindings/js/ScriptController.cpp: sandboxing scripts
4826         (WebCore::ScriptController::isEnabled):
4827         * dom/Document.cpp:
4828         (WebCore::Document::processHttpEquiv):
4829         (WebCore::Document::cookie): raise exception when accessed from sandbox
4830         (WebCore::Document::setCookie): raise exception when accessed from sandbox
4831         (WebCore::Document::initSecurityContext): updae sandbox status
4832         (WebCore::Document::updateSandboxFlags):
4833         * dom/Document.h:
4834         * dom/Document.idl:
4835         * html/HTMLAppletElement.cpp: sandboxing applets
4836         (WebCore::HTMLAppletElement::createRenderer):
4837         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
4838         (WebCore::HTMLAppletElement::canEmbedJava):
4839         * html/HTMLAppletElement.h:
4840         * html/HTMLAttributeNames.in:
4841         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
4842         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
4843         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
4844         * html/HTMLFrameOwnerElement.h:
4845         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
4846         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
4847         (WebCore::parseSandboxAttribute):
4848         (WebCore::HTMLIFrameElement::parseMappedAttribute):
4849         * html/HTMLIFrameElement.idl:
4850         * inspector/InspectorController.cpp:
4851         (WebCore::InspectorController::getCookies):
4852         * loader/CrossOriginAccessControl.cpp:
4853         (WebCore::passesAccessControlCheck):
4854         * loader/FrameLoader.cpp:
4855         (WebCore::FrameLoader::FrameLoader):
4856         (WebCore::FrameLoader::init):
4857         (WebCore::FrameLoader::submitForm): sandboxing forms
4858         (WebCore::FrameLoader::requestObject): sandboxing plugins
4859         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
4860         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
4861         * loader/FrameLoader.h:
4862         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
4863         (WebCore::FrameLoader::isSandboxed):
4864         (WebCore::FrameLoader::sandboxFlags):
4865         * loader/FrameLoaderTypes.h:
4866         (WebCore::):
4867         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
4868         (WebCore::DOMWindow::sessionStorage):
4869         (WebCore::DOMWindow::localStorage):
4870         (WebCore::DOMWindow::openDatabase):
4871         * page/SecurityOrigin.cpp: added sandboxing status
4872         (WebCore::SecurityOrigin::SecurityOrigin):
4873         (WebCore::SecurityOrigin::canAccess):
4874         (WebCore::SecurityOrigin::canRequest):
4875         (WebCore::SecurityOrigin::toString):
4876         * page/SecurityOrigin.h:
4877         (WebCore::SecurityOrigin::setSandboxFlags):
4878         (WebCore::SecurityOrigin::isSandboxed):
4879         (WebCore::SecurityOrigin::canAccessDatabase):
4880         (WebCore::SecurityOrigin::canAccessStorage):
4881         * websockets/WebSocketChannel.cpp:
4882         (WebCore::WebSocketChannel::didReceiveData):
4884 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
4886         Reviewed by David Kilzer.
4888         ARIA: support a way to create a static text object
4889         https://bugs.webkit.org/show_bug.cgi?id=32030
4891         Test: accessibility/aria-text-role.html
4893         * accessibility/AccessibilityObject.cpp:
4894         (WebCore::createARIARoleMap):
4895         * accessibility/AccessibilityRenderObject.cpp:
4896         (WebCore::AccessibilityRenderObject::stringValue):
4897         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
4898         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
4899         (WebCore::AccessibilityRenderObject::text):
4900         * accessibility/AccessibilityRenderObject.h:
4902 2009-12-01  Oliver Hunt  <oliver@apple.com>
4904         Reviewed by Maciej Stachowiak.
4906         Inspector crashes when collecting on every allocation
4907         https://bugs.webkit.org/show_bug.cgi?id=32044
4909         The crash is caused by the prototype wrapper object getting collected
4910         when allocating the object that is going to use it as a prototype.
4911         Because the only reference to the prototype wrapper is through the
4912         new object's Structure it does not get marked automatically.
4914         * bindings/js/JSInspectedObjectWrapper.cpp:
4915         (WebCore::JSInspectedObjectWrapper::wrap):
4916         * bindings/js/JSInspectorCallbackWrapper.cpp:
4917         (WebCore::JSInspectorCallbackWrapper::wrap):
4919 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
4921         Reviewed by Simon Fraser.
4923         Add SVG animation test framework with 'snapshot' functionality
4924         https://bugs.webkit.org/show_bug.cgi?id=31897
4926         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
4927         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
4929         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
4930         to sample a svg animateMotion/animateColor/animate/set element at certain times.
4932         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
4933         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
4934         a callback is fired used to sample the animation value at the target time. It's modelled similar
4935         to the CSS animation/transition testing framework, inspired by
4936         LayoutTests/animations/animation-test-helpers.js.
4938         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
4939         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
4941         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
4942         interaction, while animating.
4944         Test: svg/animations/animVal-basics.html
4946         * WebCore.base.exp:
4947         * WebCore.xcodeproj/project.pbxproj:
4948         * svg/SVGDocumentExtensions.cpp:
4949         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
4950         * svg/SVGDocumentExtensions.h:
4951         * svg/animation/SMILTimeContainer.cpp:
4952         (WebCore::SMILTimeContainer::SMILTimeContainer):
4953         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
4954         (WebCore::SMILTimeContainer::updateAnimations):
4955         * svg/animation/SMILTimeContainer.h:
4957 2009-12-01  Jens Alfke  <snej@chromium.org>
4959         Reviewed by Darin Adler.
4961         Add convenience methods to Element and QualifiedName that take
4962         char* instead of AtomicString, in preparation for removing the
4963         implicit conversion between the two types (30187).
4964         https://bugs.webkit.org/show_bug.cgi?id=31749
4966         * dom/Element.cpp:
4967         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
4968         * dom/Element.h:
4969         * dom/QualifiedName.cpp:
4970         (WebCore::QualifiedName::init):  Shared impl of both constructors
4971         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
4972         * dom/QualifiedName.h:
4973         * platform/network/HTTPHeaderMap.cpp:
4974         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
4975         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
4976         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
4977         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
4978         * platform/network/HTTPHeaderMap.h:
4979         (WebCore::HTTPHeaderMap::get):
4980         (WebCore::HTTPHeaderMap::add):
4981         * platform/network/ResourceRequestBase.cpp:
4982         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
4983         * platform/network/ResourceRequestBase.h:
4984         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
4985         * platform/network/ResourceResponseBase.cpp:
4986         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
4987         * platform/network/ResourceResponseBase.h:
4989 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
4991         More Windows build fix.
4993         * platform/network/cf/CredentialStorageCFNet.cpp:
4994         (WebCore::CredentialStorage::getFromPersistentStorage):
4996 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
4998         Windows build fix.
5000         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
5002 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
5004         Reviewed by Darin Adler.
5006         https://bugs.webkit.org/show_bug.cgi?id=32036
5007         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
5009         * platform/network/cf/CredentialStorageCFNet.cpp:
5010         (WebCore::CredentialStorage::getFromPersistentStorage):
5012 2009-12-01  Daniel Bates  <dbates@webkit.org>
5014         Reviewed by Pavel Feldman.
5016         https://bugs.webkit.org/show_bug.cgi?id=32001
5018         Added missing localized strings (that I left out of the patch for bug #21554):
5019         %d × %d pixels
5020         %d × %d pixels (Natural: %d × %d pixels)
5022         Also, changed formatting of these stings to conform with existing ones (added
5023         a space on both sides of the multiply sign).
5025         * English.lproj/localizedStrings.js: Added stings.
5026         * inspector/front-end/ElementsTreeOutline.js:
5027         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
5029 2009-12-01  Dave Hyatt  <hyatt@apple.com>
5031         Reviewed by Simon Fraser.
5033         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
5035         Added fast/css/namespaces/namespaces-empty.xml
5037         * css/CSSStyleSheet.cpp:
5038         (WebCore::CSSStyleSheet::addNamespace):
5039         (WebCore::CSSStyleSheet::determineNamespace):
5041 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
5043         Reviewed by Timothy Hatcher.
5045         Web Inspector: Escape key in the Search Field should be more User Friendly
5046         https://bugs.webkit.org/show_bug.cgi?id=32005
5048         * inspector/front-end/inspector.js:
5049         (WebInspector.loaded): add mousedown listener on the search field
5050         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
5051         (WebInspector.searchKeyDown): handle escape
5053 2009-12-01  Dave Hyatt  <hyatt@apple.com>
5055         Reviewed by David Kilzer.
5057         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
5058         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
5060         Added fast/css/namespaces-comments.xml
5062         * css/CSSGrammar.y:
5064 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
5066         Reviewed by Timothy Hatcher.
5068         Reloading WebInspector from context menu is closing it instead of reloading.
5069         https://bugs.webkit.org/show_bug.cgi?id=32004
5071         When reloading WebInspector, don't delete its m_page.
5073         * inspector/InspectorController.cpp:
5074         (WebCore::InspectorController::close):
5076 2009-12-01  Steve Block  <steveblock@google.com>
5078         Reviewed by Dimitri Glazkov.
5080         Adds V8 bindings for Geolocation.
5081         https://bugs.webkit.org/show_bug.cgi?id=30206
5083         Also adds Geolocation files to Chrome build files.
5085         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
5086         * WebCore.gypi: Modified. Adds Geolocation files.
5087         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
5088         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
5089         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
5090         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
5091         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
5092         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
5093         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
5094         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
5095         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
5096         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
5097         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
5098         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
5099         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
5100         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
5101         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
5102         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
5103         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
5104         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
5105         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
5106         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
5107         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
5108         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
5109         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
5111 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
5113         Reviewed by Adam Barth.
5115         Provide a way to get ScriptState for the inspected page.
5117         https://bugs.webkit.org/show_bug.cgi?id=32020
5119         * bindings/v8/ScriptController.cpp:
5120         (WebCore::ScriptController::mainWorldScriptState):
5121         * bindings/v8/ScriptController.h:
5122         * bindings/v8/ScriptState.cpp:
5123         (WebCore::scriptStateFromPage):
5125 2009-12-01  Chris Marrin  <cmarrin@apple.com>
5127         Reviewed by Adam Roben.
5129         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
5130         https://bugs.webkit.org/show_bug.cgi?id=30778
5132         * platform/graphics/mac/GraphicsContext3DMac.cpp:
5133         (WebCore::GraphicsContext3D::getProgramInfoLog):
5134         (WebCore::GraphicsContext3D::getShaderInfoLog):
5135         (WebCore::GraphicsContext3D::getShaderSource):
5136         (WebCore::imageToTexture):
5138 2009-12-01  Mads Ager  <ager@chromium.org>
5140         Reviewed by Eric Seidel.
5142         [V8] Don't crash in DOMWindow event getter in OOM situations
5143         https://bugs.webkit.org/show_bug.cgi?id=32017
5145         Add missing null handle checks in DOMWindow event property
5146         accessors.  V8Proxy::context(frame) can return a null handle in
5147         OOM situations either if failing to initialize a context or if an
5148         OOM is handled gracefully and javascript is disabled.
5150         No new tests because we don't have a good way to test
5151         out-of-memory bugs.
5153         * bindings/v8/custom/V8DOMWindowCustom.cpp:
5154         (WebCore::ACCESSOR_GETTER):
5155         (WebCore::ACCESSOR_SETTER):
5157 2009-12-01  Chris Marrin  <cmarrin@apple.com>
5159         Reviewed by Oliver Hunt.
5161         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
5162         https://bugs.webkit.org/show_bug.cgi?id=31672
5164         * html/HTMLCanvasElement.cpp:
5165         (WebCore::HTMLCanvasElement::getContext):
5167 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
5169         Not reviewed: chromium build fix, added missing import.
5171         * inspector/InspectorFrontendHost.cpp:
5173 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
5175         Not reviewed: fix windows build via unexcluding generated files from
5176         project.
5178         * WebCore.vcproj/WebCore.vcproj:
5180 2009-12-01  Mark Rowe  <mrowe@apple.com>
5182         Stop copying IDL files in to the WebCore framework wrapper.
5184         * WebCore.xcodeproj/project.pbxproj:
5186 2009-12-01  Mark Rowe  <mrowe@apple.com>
5188         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
5190         This was probably broken by hand-editing the project file as Xcode itself
5191         knows how to keep project files to a backwards-compatible subset of its format.
5193         * WebCore.xcodeproj/project.pbxproj:
5195 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
5197         Not reviewed: windows build fix (bad vcproj in r51528).
5199         * WebCore.vcproj/WebCore.vcproj:
5201 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
5203         Reviewed by Timothy Hatcher.
5205         Web Inspector: Split InspectorBackend into three parts: backend,
5206         injected script host and frontend host.
5207         
5208         https://bugs.webkit.org/show_bug.cgi?id=31888
5210         * DerivedSources.make:
5211         * GNUmakefile.am:
5212         * WebCore.gypi:
5213         * WebCore.pro:
5214         * WebCore.vcproj/WebCore.vcproj:
5215         * WebCore.xcodeproj/project.pbxproj:
5216         * WebCoreSources.bkl:
5217         * bindings/js/JSBindingsAllInOne.cpp:
5218         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
5219         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
5220         (WebCore::JSInspectorFrontendHost::search):
5221         (WebCore::JSInspectorFrontendHost::setting):
5222         (WebCore::JSInspectorFrontendHost::setSetting):
5223         * bindings/js/ScriptObject.cpp:
5224         (WebCore::ScriptGlobalObject::set):
5225         * bindings/js/ScriptObject.h:
5226         * bindings/v8/DOMObjectsInclude.h:
5227         * bindings/v8/DerivedSourcesAllInOne.cpp:
5228         * bindings/v8/ScriptObject.cpp:
5229         (WebCore::ScriptGlobalObject::set):
5230         * bindings/v8/ScriptObject.h:
5231         * bindings/v8/V8Index.cpp:
5232         * bindings/v8/V8Index.h:
5233         * bindings/v8/custom/V8CustomBinding.h:
5234         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
5235         (WebCore::CALLBACK_FUNC_DECL):
5236         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
5237         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
5238         (WebCore::CALLBACK_FUNC_DECL):
5239         * inspector/InjectedScriptHost.cpp: Added.
5240         (WebCore::InjectedScriptHost::InjectedScriptHost):
5241         (WebCore::InjectedScriptHost::~InjectedScriptHost):
5242         (WebCore::InjectedScriptHost::copyText):
5243         (WebCore::InjectedScriptHost::nodeForId):
5244         (WebCore::InjectedScriptHost::wrapObject):
5245         (WebCore::InjectedScriptHost::unwrapObject):
5246         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
5247         (WebCore::InjectedScriptHost::addNodesToSearchResult):
5248         (WebCore::InjectedScriptHost::currentCallFrame):
5249         (WebCore::InjectedScriptHost::databaseForId):
5250         (WebCore::InjectedScriptHost::selectDatabase):
5251         (WebCore::InjectedScriptHost::selectDOMStorage):
5252         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
5253         (WebCore::InjectedScriptHost::inspectorDOMAgent):
5254         (WebCore::InjectedScriptHost::inspectorFrontend):
5255         * inspector/InjectedScriptHost.h: Added.
5256         (WebCore::InjectedScriptHost::create):
5257         (WebCore::InjectedScriptHost::inspectorController):
5258         (WebCore::InjectedScriptHost::disconnectController):
5259         * inspector/InjectedScriptHost.idl: Added.
5260         * inspector/InspectorBackend.cpp:
5261         (WebCore::InspectorBackend::InspectorBackend):
5262         (WebCore::InspectorBackend::storeLastActivePanel):
5263         (WebCore::InspectorBackend::toggleNodeSearch):
5264         (WebCore::InspectorBackend::resourceTrackingEnabled):
5265         (WebCore::InspectorBackend::debuggerEnabled):
5266         (WebCore::InspectorBackend::enableDebugger):
5267         (WebCore::InspectorBackend::disableDebugger):
5268         (WebCore::InspectorBackend::addBreakpoint):
5269         (WebCore::InspectorBackend::updateBreakpoint):
5270         (WebCore::InspectorBackend::removeBreakpoint):
5271         (WebCore::InspectorBackend::pauseInDebugger):
5272         (WebCore::InspectorBackend::resumeDebugger):
5273         (WebCore::InspectorBackend::stepOverStatementInDebugger):
5274         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
5275         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
5276         (WebCore::InspectorBackend::pauseOnExceptions):
5277         (WebCore::InspectorBackend::setPauseOnExceptions):
5278         (WebCore::InspectorBackend::profilerEnabled):
5279         (WebCore::InspectorBackend::enableProfiler):
5280         (WebCore::InspectorBackend::disableProfiler):
5281         (WebCore::InspectorBackend::startProfiling):
5282         (WebCore::InspectorBackend::stopProfiling):
5283         (WebCore::InspectorBackend::getProfileHeaders):
5284         (WebCore::InspectorBackend::getProfile):
5285         (WebCore::InspectorBackend::currentCallFrame):
5286         (WebCore::InspectorBackend::highlightDOMNode):
5287         (WebCore::InspectorBackend::hideDOMNodeHighlight):
5288         (WebCore::InspectorBackend::getCookies):
5289         (WebCore::InspectorBackend::deleteCookie):
5290         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
5291         (WebCore::InspectorBackend::nodeForId):
5292         * inspector/InspectorBackend.h:
5293         (WebCore::InspectorBackend::create):
5294         * inspector/InspectorBackend.idl:
5295         * inspector/InspectorController.cpp:
5296         (WebCore::InspectorController::InspectorController):
5297         (WebCore::InspectorController::~InspectorController):
5298         (WebCore::InspectorController::inspectedPageDestroyed):
5299         (WebCore::InspectorController::windowScriptObjectAvailable):
5300         * inspector/InspectorController.h:
5301         (WebCore::InspectorController::inspectorFrontendHost):
5302         (WebCore::InspectorController::injectedScriptHost):
5303         * inspector/InspectorFrontendHost.cpp: Added.
5304         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
5305         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
5306         (WebCore::InspectorFrontendHost::loaded):
5307         (WebCore::InspectorFrontendHost::attach):
5308         (WebCore::InspectorFrontendHost::detach):
5309         (WebCore::InspectorFrontendHost::closeWindow):
5310         (WebCore::InspectorFrontendHost::windowUnloading):
5311         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
5312         (WebCore::InspectorFrontendHost::moveWindowBy):
5313         (WebCore::InspectorFrontendHost::localizedStringsURL):
5314         (WebCore::InspectorFrontendHost::hiddenPanels):
5315         (WebCore::InspectorFrontendHost::platform):
5316         (WebCore::InspectorFrontendHost::port):
5317         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
5318         (WebCore::InspectorFrontendHost::addSourceToFrame):
5319         * inspector/InspectorFrontendHost.h: Added.
5320         (WebCore::InspectorFrontendHost::create):
5321         (WebCore::InspectorFrontendHost::inspectorController):
5322         (WebCore::InspectorFrontendHost::disconnectController):
5323         * inspector/InspectorFrontendHost.idl: Added.
5324         * inspector/front-end/Breakpoint.js:
5325         (WebInspector.Breakpoint.prototype.set condition):
5326         * inspector/front-end/BreakpointsSidebarPane.js:
5327         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
5328         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
5329         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
5330         * inspector/front-end/ConsoleView.js:
5331         (WebInspector.ConsoleView.prototype.clearMessages):
5332         * inspector/front-end/CookieItemsView.js:
5333         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
5334         * inspector/front-end/DOMAgent.js:
5335         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
5336         (WebInspector.DOMAgent.prototype.setAttributeAsync):
5337         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
5338         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
5339         (WebInspector.Cookies.getCookiesAsync):
5340         (WebInspector.EventListeners.getEventListenersForNodeAsync):
5341         * inspector/front-end/DOMStorage.js:
5342         (WebInspector.DOMStorage.prototype.getEntries):
5343         (WebInspector.DOMStorage.prototype.setItem):
5344         (WebInspector.DOMStorage.prototype.removeItem):
5345         * inspector/front-end/Database.js:
5346         (WebInspector.Database.prototype.getTableNames):
5347         * inspector/front-end/ElementsPanel.js:
5348         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
5349         (WebInspector.ElementsPanel.prototype.hide):
5350         (WebInspector.ElementsPanel.prototype.reset):
5351         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
5352         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
5353         * inspector/front-end/ElementsTreeOutline.js:
5354         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
5355         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
5356         ():
5357         * inspector/front-end/EventListenersSidebarPane.js:
5358         (WebInspector.EventListenersSidebarPane.prototype):
5359         * inspector/front-end/InjectedScript.js:
5360         (InjectedScript._evaluateAndWrap):
5361         (InjectedScript.performSearch.addNodesToResults):
5362         (InjectedScript.getCallFrames):
5363         (InjectedScript._callFrameForId):
5364         (InjectedScript._clearConsoleMessages):
5365         (InjectedScript._inspectObject):
5366         (InjectedScript._copy):
5367         (InjectedScript._ensureCommandLineAPIInstalled):
5368         (InjectedScript._window):
5369         (InjectedScript._nodeForId):
5370         (InjectedScript._objectForId):
5371         (InjectedScript.pushNodeToFrontend):
5372         (InjectedScript.executeSql):
5373         (InjectedScript.executeSql.errorCallback):
5374         (InjectedScript.executeSql.queryTransaction):
5375         * inspector/front-end/InjectedScriptAccess.js:
5376         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
5377         (InjectedScriptAccess._installHandler):
5378         * inspector/front-end/InspectorBackendStub.js: Added.
5379         (.WebInspector.InspectorBackendStub):
5380         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
5381         (.WebInspector.InspectorBackendStub.prototype.platform):
5382         (.WebInspector.InspectorBackendStub.prototype.port):
5383         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
5384         (.WebInspector.InspectorBackendStub.prototype.attach):
5385         (.WebInspector.InspectorBackendStub.prototype.detach):
5386         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
5387         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
5388         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
5389         (.WebInspector.InspectorBackendStub.prototype.search):
5390         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
5391         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
5392         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
5393         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
5394         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
5395         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
5396         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
5397         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
5398         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
5399         (.WebInspector.InspectorBackendStub.prototype.loaded):
5400         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
5401         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
5402         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
5403         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
5404         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
5405         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
5406         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
5407         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
5408         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
5409         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
5410         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
5411         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
5412         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
5413         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
5414         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
5415         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
5416         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
5417         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
5418         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
5419         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
5420         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
5421         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
5422         (.WebInspector.InspectorBackendStub.prototype.getProfile):
5423         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
5424         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
5425         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
5426         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
5427         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
5428         (.WebInspector.InspectorBackendStub.prototype.setSetting):
5429         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
5430         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
5431         (.WebInspector.InspectorBackendStub.prototype.setting):
5432         * inspector/front-end/InspectorControllerStub.js:
5433         * inspector/front-end/InspectorFrontendHostStub.js: Added.
5434         (.WebInspector.InspectorFrontendHostStub):
5435         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
5436         (.WebInspector.InspectorFrontendHostStub.prototype.port):
5437         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
5438         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
5439         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
5440         (.WebInspector.InspectorFrontendHostStub.prototype.search):
5441         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
5442         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
5443         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
5444         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
5445         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
5446         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
5447         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
5448         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
5449         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
5450         * inspector/front-end/ProfileView.js:
5451         (WebInspector.CPUProfileView):
5452         (WebInspector.CPUProfileType.prototype.buttonClicked):
5453         * inspector/front-end/ProfilesPanel.js:
5454         (WebInspector.ProfilesPanel.prototype._updateInterface):
5455         (WebInspector.ProfilesPanel.prototype._enableProfiling):
5456         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
5457         * inspector/front-end/ResourcesPanel.js:
5458         (WebInspector.ResourcesPanel.prototype.reset):
5459         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
5460         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
5461         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
5462         * inspector/front-end/ScriptView.js:
5463         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
5464         * inspector/front-end/ScriptsPanel.js:
5465         (WebInspector.ScriptsPanel.prototype.show):
5466         (WebInspector.ScriptsPanel.prototype.addScript):
5467         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
5468         (WebInspector.ScriptsPanel.prototype.reset):
5469         (WebInspector.ScriptsPanel.prototype.canShowResource):
5470         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
5471         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
5472         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
5473         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
5474         (WebInspector.ScriptsPanel.prototype._enableDebugging):
5475         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
5476         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
5477         (WebInspector.ScriptsPanel.prototype._togglePause):
5478         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
5479         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
5480         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
5481         * inspector/front-end/SourceView.js:
5482         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
5483         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
5484         (WebInspector.SourceView.prototype.performSearch):
5485         * inspector/front-end/StylesSidebarPane.js:
5486         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
5487         * inspector/front-end/TestController.js:
5488         (WebInspector.TestController.prototype.notifyDone):
5489         * inspector/front-end/TimelinePanel.js:
5490         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
5491         * inspector/front-end/WatchExpressionsSidebarPane.js:
5492         (WebInspector.WatchExpressionsSection.prototype.update):
5493         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
5494         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
5495         * inspector/front-end/WebKit.qrc:
5496         * inspector/front-end/inspector.html:
5497         * inspector/front-end/inspector.js:
5498         (WebInspector.pendingDispatches.0.get platform):
5499         (WebInspector.get port):
5500         (WebInspector.set currentPanel):
5501         (WebInspector._createPanels):
5502         (WebInspector._loadPreferences):
5503         (WebInspector.set attached):
5504         (WebInspector._updateHoverHighlight):
5505         (WebInspector.loaded):
5506         (windowLoaded):
5507         (WebInspector.windowUnload):
5508         (WebInspector.close):
5509         (WebInspector.toolbarDrag):
5510         (WebInspector.UIString):
5512 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
5514         Reviewed by Dan Bernstein.
5516         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
5517         https://bugs.webkit.org/show_bug.cgi?id=23264
5518         css2.1/t1205-c565-list-pos-00-b.html is failing
5519         https://bugs.webkit.org/show_bug.cgi?id=23263
5521         Ignore whitespaces after list markers.
5522         Rendering of this was already done for the case where inside=false.
5523         This fixes the rendering of inside=true case and calcInlinePrefWidths.
5525         Test: fast/lists/calc-width-with-space.html
5527         * rendering/RenderBlock.cpp:
5528         (WebCore::RenderBlock::calcInlinePrefWidths):
5529         * rendering/RenderBlockLineLayout.cpp:
5530         (WebCore::RenderBlock::findNextLineBreak):
5532 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
5534         Unreviewed Chromium build fix introduced by r51212
5536         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
5537         as the first argument.
5538         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
5539         Add debuggerWorld() and pluginWorld() in ScriptState.h.
5541         * bindings/v8/ScriptController.cpp:
5542         * bindings/v8/ScriptController.h:
5543         * bindings/v8/ScriptState.cpp:
5544         (WebCore::scriptStateFromNode):
5545         (WebCore::scriptStateFromPage):
5546         (WebCore::mainThreadNormalWorld):
5547         * bindings/v8/ScriptState.h:
5548         (WebCore::debuggerWorld):
5549         (WebCore::pluginWorld):
5551 2009-11-30  Enrica Casucci  <enrica@apple.com>
5553         Reviewed by Darin Adler.
5555         Can focus but not type into content editable block that contains only non-editable content.
5556         <rdar://problem/5982901>
5557         https://bugs.webkit.org/show_bug.cgi?id=31750
5558         
5559         The goal is to change the way we choose a visible position
5560         after hit detection, by preferring a visually equivalent editable
5561         position if available. By doing this, it is possible to add content
5562         to an editable block that initially contains only non editable elements.
5564         Test: editing/selection/mixed-editability-10.html
5566         * WebCore.base.exp: Changed to match the new signature of downstream
5567         and upstream in the Position class.
5568         * dom/Position.cpp:
5569         (WebCore::Position::atEditingBoundary): Added.
5570         (WebCore::Position::upstream): Modified to allow to cross the boundary
5571         between editable and non editable content if required.
5572         (WebCore::Position::downstream): Modified to allow to cross the boundary
5573         between editable and non editable content if required.
5574         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
5575         that are at the editability boundary.
5576         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
5577         to be used in calculating the caret rectangle.
5578         * dom/Position.h:
5579         (WebCore::Position::):
5580         * dom/PositionIterator.cpp:
5581         (WebCore::PositionIterator::atEditingBoundary): Added.
5582         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
5583         that are at the editability boundary.
5584         * dom/PositionIterator.h:
5585         * editing/htmlediting.cpp:
5586         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
5587         descendants of the editable container, but the container itself.
5588         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
5589         descendants of the editable container, but the container itself.
5590         * rendering/RenderObject.cpp:
5591         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
5592         if available.
5593         * rendering/RenderText.cpp:
5594         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
5595         * rendering/RenderText.h:
5597 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
5599         wx build fix, add header needed for wx build.
5601         * css/CSSFontFaceSrcValue.cpp:
5603 2009-11-30  Mark Rowe  <mrowe@apple.com>
5605         Reviewed by David Kilzer.
5607         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
5609         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
5610         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
5611         be performed against the x86_64 architecture.
5613         * DerivedSources.make:
5615 2009-11-30  Beth Dakin  <bdakin@apple.com>
5617         Reviewed by Oliver Hunt.
5619         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
5620         Safari caused by extreme column-gap and column-width values 
5621         -and corresponding-
5622         <rdar://problem/7425433>
5624         Prevent desiredColumnCount from being less than 1 since it is used 
5625         as a divisor.
5626         * rendering/RenderBlock.cpp:
5627         (WebCore::RenderBlock::calcColumnWidth):
5629 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
5631         Reviewed by Oliver Hunt.
5633         https://bugs.webkit.org/show_bug.cgi?id=31659
5634         Connection must be closed in case of Web Socket handshake error
5636         The network connection was closed, but the close event wasn't dispatched.
5638         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
5640         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
5641         Call client didHandle() method. This looks strange in CFNetwork implementation, because
5642         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
5643         more sense in cross-process implementation, because closing is async there.
5645 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
5647         Reviewed by Geoff Garen.
5649         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
5651         WebCore presently has to explicitly specify the world before entering into JSC,
5652         which is a little fragile (particularly since property access via a
5653         getter/setter might invoke execution). Instead derive the current world from
5654         the lexical global object.
5656         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
5657         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
5658         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
5659         are no longer necessary.
5661         * WebCore.base.exp:
5662         * bindings/js/JSCallbackData.cpp:
5663         (WebCore::JSCallbackData::invokeCallback):
5664         * bindings/js/JSCallbackData.h:
5665         (WebCore::JSCallbackData::JSCallbackData):
5666         * bindings/js/JSCustomXPathNSResolver.cpp:
5667         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
5668         * bindings/js/JSDOMBinding.cpp:
5669         (WebCore::currentWorld):
5670         (WebCore::mainThreadNormalWorld):
5671         * bindings/js/JSDOMBinding.h:
5672         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
5673         * bindings/js/JSDOMWindowBase.cpp:
5674         (WebCore::JSDOMWindowBase::updateDocument):
5675         * bindings/js/JSDOMWindowBase.h:
5676         * bindings/js/JSEventListener.cpp:
5677         (WebCore::JSEventListener::handleEvent):
5678         (WebCore::JSEventListener::reportError):
5679         * bindings/js/JSHTMLDocumentCustom.cpp:
5680         (WebCore::JSHTMLDocument::open):
5681         * bindings/js/JSNodeFilterCondition.cpp:
5682         (WebCore::JSNodeFilterCondition::acceptNode):
5683         * bindings/js/JSQuarantinedObjectWrapper.cpp:
5684         (WebCore::JSQuarantinedObjectWrapper::construct):
5685         (WebCore::JSQuarantinedObjectWrapper::call):
5686         * bindings/js/ScheduledAction.cpp:
5687         (WebCore::ScheduledAction::executeFunctionInContext):
5688         * bindings/js/ScriptController.cpp:
5689         (WebCore::ScriptController::evaluateInWorld):
5690         (WebCore::ScriptController::initScript):
5691         (WebCore::ScriptController::updateDocument):
5692         * bindings/js/ScriptFunctionCall.cpp:
5693         (WebCore::ScriptFunctionCall::call):
5694         (WebCore::ScriptFunctionCall::construct):
5695         * bindings/js/ScriptObjectQuarantine.cpp:
5696         (WebCore::getQuarantinedScriptObject):
5697         * bindings/js/ScriptState.cpp:
5698         (WebCore::scriptStateFromNode):
5699         (WebCore::scriptStateFromPage):
5700         * bindings/js/ScriptState.h:
5701         * bindings/js/WorkerScriptController.cpp:
5702         (WebCore::WorkerScriptController::evaluate):
5703         * bindings/objc/WebScriptObject.mm:
5704         (-[WebScriptObject callWebScriptMethod:withArguments:]):
5705         (-[WebScriptObject evaluateWebScript:]):
5706         * bridge/NP_jsobject.cpp:
5707         (_NPN_InvokeDefault):
5708         (_NPN_Invoke):
5709         (_NPN_Evaluate):
5710         (_NPN_Construct):
5711         * bridge/jni/jni_jsobject.mm:
5712         (JavaJSObject::call):
5713         (JavaJSObject::eval):
5714         * dom/NodeFilter.h:
5715         (WebCore::NodeFilter::acceptNode):
5716         * dom/NodeIterator.h:
5717         (WebCore::NodeIterator::nextNode):
5718         (WebCore::NodeIterator::previousNode):
5719         * dom/TreeWalker.h:
5720         (WebCore::TreeWalker::parentNode):
5721         (WebCore::TreeWalker::firstChild):
5722         (WebCore::TreeWalker::lastChild):
5723         (WebCore::TreeWalker::previousSibling):
5724         (WebCore::TreeWalker::nextSibling):
5725         (WebCore::TreeWalker::previousNode):
5726         (WebCore::TreeWalker::nextNode):
5727         * inspector/InspectorController.cpp:
5728         (WebCore::InspectorController::windowScriptObjectAvailable):
5729         (WebCore::InspectorController::didEvaluateForTestInFrontend):
5730         * inspector/JavaScriptCallFrame.cpp:
5731         (WebCore::JavaScriptCallFrame::evaluate):
5733 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
5735         Reviewed by Simon Fraser.
5737         All HTML5 media element events should be regular events
5738         https://bugs.webkit.org/show_bug.cgi?id=30513
5740         * html/HTMLMediaElement.cpp:
5741         (WebCore::HTMLMediaElement::selectMediaResource):
5742         (WebCore::HTMLMediaElement::noneSupported):
5743         (WebCore::HTMLMediaElement::mediaEngineError):
5744         (WebCore::HTMLMediaElement::setNetworkState):
5745         (WebCore::HTMLMediaElement::userCancelledLoad):
5746             Call scheduleEvent instead of scheduleProgressEvent.
5747         (WebCore::HTMLMediaElement::progressEventTimerFired):
5748             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
5749             after scheduling a 'progress' event so the controller will update download
5750             progress indicator.
5751         * html/HTMLMediaElement.h:
5752             Remove scheduleProgressEvent prototype.
5754 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
5756         Reviewed by Pavel Feldman.
5758         Web Inspector: Wrong console output for Regexp escape sequence
5759         https://bugs.webkit.org/show_bug.cgi?id=31538
5761         Updated inspector/console-format.html
5763         * inspector/front-end/ConsoleView.js:
5764         (WebInspector.ConsoleView.createDividerElement): style issues.
5765         (WebInspector.ConsoleView.createFilterElement): style issues.
5766         (WebInspector.ConsoleView): added _customFormatters table.
5767         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
5768         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
5769         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
5770         (WebInspector.ConsoleView.prototype._formatobject):
5771         (WebInspector.ConsoleView.prototype._formatnode):
5772         (WebInspector.ConsoleView.prototype._printArray):
5773         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
5774         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
5775         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
5776         (WebInspector.ConsoleCommandResult):
5777         * inspector/front-end/InjectedScript.js: simplified regex formatting.
5778         * inspector/front-end/inspector.js:
5779         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
5780         * inspector/front-end/utilities.js: 
5781         (Element.prototype.hasStyleClass): update inaccurate comment.
5782         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
5784 2009-11-30  Erik Arvidsson  <arv@chromium.org>
5786         Reviewed by Adam Barth.
5788         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
5789         https://bugs.webkit.org/show_bug.cgi?id=31895
5791         No new tests. This is already covered by:
5792                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
5793                 fast/dom/CSSStyleDeclaration/css-style-item.html
5795         * bindings/v8/V8Collection.h:
5796         (WebCore::collectionStringIndexedPropertyGetter):
5797         (WebCore::setCollectionStringIndexedGetter):
5798         * bindings/v8/V8DOMWrapper.cpp:
5799         (WebCore::V8DOMWrapper::getTemplate):
5801 2009-11-30  Steve Block  <steveblock@google.com>
5803         Reviewed by Eric Seidel.
5805         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
5806         https://bugs.webkit.org/show_bug.cgi?id=31932
5808         Build fix only, no new tests.
5810         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
5812 2009-11-30  Steve Block  <steveblock@google.com>
5814         Reviewed by Eric Seidel.
5816         Adds PassOwnPtr include to ScriptExecutionContext.h.
5817         https://bugs.webkit.org/show_bug.cgi?id=31929
5819         Build fix only, no new tests.
5821         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
5823 2009-11-30  Dirk Schulze  <krit@webkit.org>
5825         Reviewed by Nikolas Zimmermann.
5827         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
5828         [https://bugs.webkit.org/show_bug.cgi?id=31980]
5830         It turns out, that we did not handle maskUnits="userSpaceOnUse"
5831         correctly. We just need to move the context of the maskImage
5832         if maskContentUnits="objectBoundingBox". The context gets scaled
5833         on this unit combination, so we have to substract the position of
5834         the targetRect. On userSpaceOnUse the position just depends on the
5835         position of the mask element.
5836         I added a test with some senseless and reasonable values for size
5837         and postion of the mask and it's contents. I also used every
5838         combination of maskUnits and maskContentUnits to be sure, that it
5839         is fixed this time.
5841         Test: svg/custom/mask-with-all-units.svg
5843         * svg/SVGMaskElement.cpp:
5844         (WebCore::SVGMaskElement::drawMaskerContent):
5846 2009-11-30  Steve Block  <steveblock@google.com>
5848         Reviewed by Eric Seidel.
5850         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
5851         https://bugs.webkit.org/show_bug.cgi?id=31928
5853         Build fix only, no new tests.
5855         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
5857 2009-11-30  Steve Block  <steveblock@google.com>
5859         Reviewed by Eric Seidel.
5861         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
5862         https://bugs.webkit.org/show_bug.cgi?id=31926
5864         Build fix only, no new tests.
5866         * bindings/v8/WorkerContextExecutionProxy.cpp:
5867         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
5868         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
5869         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
5871 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
5873         Reviewed by Kenneth Rohde Christiansen.
5875         Chrome::contentsSizeChanged() is called when the content size has not changed
5876         https://bugs.webkit.org/show_bug.cgi?id=31978
5878         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
5880         * page/FrameView.cpp:
5881         (WebCore::FrameView::setContentsSize):
5883 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
5885         Reviewed by Kenneth Rohde Christiansen.
5887         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
5888         https://bugs.webkit.org/show_bug.cgi?id=31962
5890         No new tests as there is no functional change.
5892         * platform/network/ResourceHandle.h: Make destructor virtual as 
5893         after r50772 ResourceHandle has virtual functions.
5895         * plugins/mac/PluginPackageMac.cpp: 
5896         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
5897         not a label
5899         * plugins/mac/PluginViewMac.cpp:
5900         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
5901         specifier
5903 2009-11-30  Xan Lopez  <xlopez@igalia.com>
5905         Reviewed by Gustavo Noronha.
5907         Add new headers to sources list.
5909         * GNUmakefile.am:
5911 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
5913         Reviewed by Holger Freyther.
5915         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
5916         
5917         Flash expects the value in record.where to be the global position for
5918         displaying the context menu.
5919         
5920         https://bugs.webkit.org/show_bug.cgi?id=31979
5922         * plugins/mac/PluginViewMac.cpp:
5923         (WebCore::PluginView::handleMouseEvent):
5925 2009-11-30  Steve Block  <steveblock@google.com>
5927         Reviewed by Eric Seidel.
5929         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
5930         https://bugs.webkit.org/show_bug.cgi?id=31925
5932         This code uses ChromiumBridge and Chromium-specific constant values not
5933         appropriate for other platforms such as Android.
5935         Build fix only, no new tests.
5937         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
5939 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
5941         Build fix.
5943         Correct draw signature used in ImageCairoWin.cpp.
5945         * platform/graphics/win/ImageCairoWin.cpp:
5946         (WebCore::BitmapImage::getHBITMAPOfSize):
5947         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
5949 2009-11-28  Oliver Hunt  <oliver@apple.com>
5951         Reviewed by Sam Weinig.
5953         postMessage should serialize File objects
5954         https://bugs.webkit.org/show_bug.cgi?id=31955
5956         Update SerializedScriptValue to include support for
5957         File objects in the serialized object graph.
5959         * bindings/js/SerializedScriptValue.cpp:
5960         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
5961         (WebCore::SerializingTreeWalker::convertIfTerminal):
5962         (WebCore::DeserializingTreeWalker::convertIfTerminal):
5963         * bindings/js/SerializedScriptValue.h:
5964         (WebCore::SerializedScriptValueData::):
5965         (WebCore::SerializedScriptValueData::asString):
5967 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
5969         Reviewed by Dan Bernstein.
5971         Optimize the hierarchy rebuilding of compositing layers
5972         https://bugs.webkit.org/show_bug.cgi?id=31879
5973         
5974         When updating the compositing layer hierarchy, instead of removing all
5975         child layers and then re-adding them one by one, build a vector of child
5976         layers, and set them in one go.
5977         
5978         * platform/graphics/GraphicsLayer.h:
5979         * platform/graphics/GraphicsLayer.cpp:
5980         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
5981         GraphicsLayers.
5982         
5983         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
5984         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
5985         * platform/graphics/mac/GraphicsLayerCA.mm: 
5986         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
5987         set the bit that notes that sublayers changed.
5988         * platform/graphics/win/GraphicsLayerCACF.cpp:
5989         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
5990         udpate sublayers, with a note that this is not efficient.
5991         
5992         * rendering/RenderLayerCompositor.h:
5993         * rendering/RenderLayerCompositor.cpp:
5994         (WebCore::RenderLayerCompositor::updateCompositingLayers):
5995         When updating compositing layers, use the faster updateLayerTreeGeometry() if
5996         we know that no layer hierarchy changes are needed, and, at the root, use
5997         the vector returned from rebuildCompositingLayerTree() to attach the root
5998         layer.
5999         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
6000         collect child layers into Vectors of GraphicsLayers, which can be set as
6001         layer children in one go.
6002         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
6003         rebuildCompositingLayerTree() for simplicity, and called when we just need to
6004         update layer geometry, without doing any reparenting.
6006 2009-11-29  Daniel Bates  <dbates@webkit.org>
6008         Reviewed by Adam Barth.
6010         https://bugs.webkit.org/show_bug.cgi?id=31971
6012         Updated comment to reflect latest XSSAuditor bindings.
6014         No functionality was changed. So, no new tests.
6016         * page/XSSAuditor.h:
6018 2009-11-29  Daniel Bates  <dbates@webkit.org>
6020         Reviewed by Eric Seidel.
6022         https://bugs.webkit.org/show_bug.cgi?id=31969
6024         Removes unnecessary #include files.
6026         No functionality was changed. So, no new tests.
6028         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
6029         Pair.h
6030         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
6031         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
6032         * css/CSSFontSelector.cpp: Removed include NodeList.h
6033         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
6034         * css/CSSImageValue.cpp: Removed include RenderStyle.h
6035         * css/CSSImportRule.cpp: Removed include MediaList.h
6036         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
6037         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
6038         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
6039         CSSFontFaceSource.h, and CSSProperty.h
6040         * page/EventSource.h: Removed include EventListener.h
6042 2009-11-29  Daniel Bates  <dbates@webkit.org>
6044         Reviewed by Eric Seidel.
6046         https://bugs.webkit.org/show_bug.cgi?id=31965
6048         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
6049         forward declared it.
6051         As a side effect, we need to #include KeyframeList.h in
6052         RenderLayerBacking.cpp.
6054         No functionality was changed. So, no new tests.
6056         * css/CSSStyleSelector.cpp:
6057         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
6058         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
6060 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
6062         Reviewed by Eric Seidel.
6064         Continue to search for matching node in the case where multiple nodes
6065         have the same id.
6066         https://bugs.webkit.org/show_bug.cgi?id=31428
6068         Test: fast/dom/Element/id-in-node-list-index01.html
6070         * dom/DynamicNodeList.cpp:
6071         (WebCore::DynamicNodeList::itemWithName):
6073 2009-11-29  Daniel Bates  <dbates@webkit.org>
6075         Reviewed by Eric Seidel.
6077         https://bugs.webkit.org/show_bug.cgi?id=31966
6079         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
6080         forward declared it.
6082         No functionality was changed. So, no new tests.
6084         * page/animation/KeyframeAnimation.cpp:
6085         * page/animation/KeyframeAnimation.h:
6087 2009-11-29  Daniel Bates  <dbates@webkit.org>
6089         Unreviewed, fix change log entry date.
6091         For some reason, bugzilla-tool did not update the date in the change
6092         log entry for my last commit (r51468). So, this commit fixes the date
6093         of that entry.
6095 2009-11-29  Daniel Bates  <dbates@webkit.org>
6097         Reviewed by Dan Bernstein.
6099         https://bugs.webkit.org/show_bug.cgi?id=31964
6101         Removed #include StringImpl, StyleImage. Instead, forward declared them.
6102         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
6103         since it seems we only really used it to include PassRefPtr.h.
6105         No functionality was changed. So, no new tests.
6107         * rendering/style/ContentData.h:
6109 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
6111         Reviewed by Eric Seidel.
6113         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
6114         https://bugs.webkit.org/show_bug.cgi?id=31906
6116         Inherits the following classes from Noncopyable because these are instantiated
6117         by 'new' and no need to be copyable:
6119         class/struct name               - instantiated at: WebCore/'location'
6121         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
6122         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
6123         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
6124         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
6125         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
6126         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
6127         class RenderOverflow            - rendering/RenderBox.cpp:2846
6129         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
6131         struct FillLayer                - css/CSSStyleSelector.cpp:197
6132         struct ShadowData               - rendering/style/ShadowData.cpp:35
6133         class CounterContent            - css/CSSStyleSelector.cpp:4111
6135         * platform/ScrollbarTheme.h:
6136         * rendering/RenderOverflow.h:
6137         * rendering/RenderSelectionInfo.h:
6138         * rendering/style/CounterContent.h:
6139         * rendering/style/FillLayer.h:
6140         * rendering/style/ShadowData.h:
6141         * storage/DatabaseTracker.h:
6142         * storage/OriginUsageRecord.h:
6143         * storage/SQLTransactionClient.h:
6144         * storage/SQLTransactionCoordinator.h:
6146 2009-11-28  Adam Barth  <abarth@webkit.org>
6148         Reviewed by Dimitri Glazkov.
6150         [Chromium] Sify compose button alerts error
6151         https://bugs.webkit.org/show_bug.cgi?id=31394
6153         Test: http/tests/security/calling-versus-current.html
6155         We're supposed to use the calling context for security checks.  In JSC
6156         land, this is the lexicalGlobalObject.
6158         * bindings/v8/V8Proxy.cpp:
6159         (WebCore::V8Proxy::canAccessPrivate):
6161 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
6163         Unreviewed Chromium build fix introduced by r51428.
6165         [Chromium] Ignore line-height CSS property for PushButton
6166         https://bugs.webkit.org/show_bug.cgi?id=31712
6168         * rendering/RenderThemeChromiumSkia.cpp:
6169         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
6171 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
6173         Unreviewed Chromium test fix by reverting r51413.
6175         [v8] Do not check the thread when accessing DOMDataStore
6176         https://bugs.webkit.org/show_bug.cgi?id=31877
6178         * bindings/v8/V8DOMMap.cpp:
6179         (WebCore::getDOMNodeMap):
6180         (WebCore::getDOMObjectMap):
6181         (WebCore::getActiveDOMObjectMap):
6182         (WebCore::getDOMSVGElementInstanceMap):
6183         (WebCore::getDOMSVGObjectWithContextMap):
6185 2009-11-27  Daniel Bates  <dbates@webkit.org>
6187         Unreviewed, comment fix.
6189         Corrected misspelling of the word "implemented".
6191         * inspector/front-end/InjectedScriptAccess.js:
6193 2009-11-27  Daniel Bates  <dbates@webkit.org>
6195         Reviewed by Adam Barth.
6197         https://bugs.webkit.org/show_bug.cgi?id=31940
6199         Makes the error messages more descriptive when we refuse to load an object/embed or
6200         refuse to load from the document base URL.
6202         * page/XSSAuditor.cpp:
6203         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
6204         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
6206 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
6208         Reviewed by Pavel Feldman.
6210         This is a WebCore part of the fix that allows to view plugin
6211         resources loaded by plugins.
6213         https://bugs.webkit.org/show_bug.cgi?id=31832
6215         * inspector/InspectorController.cpp:
6216         (WebCore::InspectorController::willSendRequest):
6217         (WebCore::InspectorController::didReceiveResponse):
6218         (WebCore::InspectorController::didReceiveContentLength):
6219         (WebCore::InspectorController::didFinishLoading):
6220         (WebCore::InspectorController::didFailLoading):
6221         * inspector/InspectorController.h:
6222         * inspector/InspectorResource.cpp:
6223         (WebCore::InspectorResource::addLength):
6224         * loader/ResourceLoadNotifier.cpp:
6225         (WebCore::ResourceLoadNotifier::didFailToLoad):
6226         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
6227         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
6228         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
6229         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
6231 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
6233         Reviewed by Pavel Feldman.
6235         Instead of generating negative identifiers for cached resources in
6236         InspectorController and extending identifier type from 'unsigned long' to 'long
6237         long' reuse progress tracker from the inspected page to generate those
6238         identifiers. It guarantees that InspectorResources have unique ids since
6239         all of them are generated by that progress tracker.
6241         Added a couple new overloaded methods to Script* objects that accept
6242         long and unsigned long arguments. These types of argumens have already
6243         been passed as long long.
6245         https://bugs.webkit.org/show_bug.cgi?id=31921
6247         * bindings/js/ScriptFunctionCall.cpp:
6248         (WebCore::ScriptFunctionCall::appendArgument):
6249         * bindings/js/ScriptFunctionCall.h:
6250         * bindings/js/ScriptObject.cpp:
6251         (WebCore::ScriptObject::set):
6252         * bindings/js/ScriptObject.h:
6253         * bindings/v8/ScriptFunctionCall.cpp:
6254         (WebCore::ScriptFunctionCall::appendArgument):
6255         * bindings/v8/ScriptFunctionCall.h:
6256         * bindings/v8/ScriptObject.cpp:
6257         (WebCore::ScriptObject::set):
6258         * bindings/v8/ScriptObject.h:
6259         * inspector/InspectorBackend.cpp:
6260         (WebCore::InspectorBackend::dispatchOnInjectedScript):
6261         * inspector/InspectorController.cpp:
6262         (WebCore::InspectorController::InspectorController):
6263         (WebCore::InspectorController::getTrackedResource):
6264         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
6265         * inspector/InspectorController.h:
6266         * inspector/InspectorDOMAgent.cpp:
6267         (WebCore::InspectorDOMAgent::buildObjectForNode):
6268         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
6269         * inspector/InspectorFrontend.cpp:
6270         (WebCore::InspectorFrontend::addResource):
6271         (WebCore::InspectorFrontend::updateResource):
6272         (WebCore::InspectorFrontend::removeResource):
6273         (WebCore::InspectorFrontend::updateFocusedNode):
6274         * inspector/InspectorFrontend.h:
6275         * inspector/InspectorResource.cpp:
6276         (WebCore::InspectorResource::InspectorResource):
6277         (WebCore::InspectorResource::createCached):
6278         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
6279         (WebCore::InspectorResource::create):
6280         (WebCore::InspectorResource::identifier):
6281         * inspector/TimelineRecordFactory.cpp:
6282         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
6283         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
6284         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
6286 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
6288         Reviewed by Dan Bernstein.
6290         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
6291         https://bugs.webkit.org/show_bug.cgi?id=29966
6293         When an empty inline element is clicked, the root inline box has
6294         no leaf children. Use the renderer of a normal child instead.
6296         This change resolves Windows port's assertion failure in a layout test.
6297         Also, this fixes the behavior when a user drags the mouse from an
6298         empty inline element to above texts.
6300         Test: editing/selection/last-empty-inline.html
6302         * rendering/RenderBlock.cpp:
6303         (WebCore::RenderBlock::positionForPointWithInlineChildren):
6305 2009-11-26  Kent Tamura  <tkent@chromium.org>
6307         Reviewed by Eric Seidel.
6309         [Chromium] Ignore line-height CSS property specified to push buttons on
6310         Windows and Linux.
6311         https://bugs.webkit.org/show_bug.cgi?id=31712
6313         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
6314         following controls should ignore line-height CSS property.
6315          - <select>
6316          - <input type=button>
6317          - <input type=search>
6318         This change addresses the <input type=button> issue with Chromium/Windows
6319         and Chromium/Linux.
6320         
6321         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
6322         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
6324 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
6326         Reviewed by Eric Seidel.
6328         Remove the special charset meta tag in the clipboard so that
6329         copy-and-paste with interchange breaklines/spaces works correctly
6330         within WebKit.
6332         No new tests.  Layout tests that involve copy-and-paste with
6333         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
6334         should pass on Mac/Chromium with this fix.
6336         * platform/chromium/ClipboardChromium.cpp:
6337         * platform/chromium/PasteboardChromium.cpp:
6338         (WebCore::Pasteboard::documentFragment):
6340 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
6342         Reviewed by Eric Seidel.
6344         Compile with QT_NO_WHEELEVENT defined.
6346         * platform/qt/WheelEventQt.cpp:
6347         (WebCore::PlatformWheelEvent::applyDelta):
6349 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
6351         Reviewed by Oliver Hunt.
6353         Move GOwnPtr* from wtf to wtf/gtk
6354         https://bugs.webkit.org/show_bug.cgi?id=31793
6356         No new tests as there is no functional change.
6358         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
6359           path for GOwnPtr.h.
6360         * platform/text/TextEncoding.cpp: Ditto.
6361         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
6363 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
6365         Not reviewed. Build fix: revert r51421.
6367         * inspector/InspectorController.cpp:
6368         (WebCore::InspectorController::willSendRequest):
6369         (WebCore::InspectorController::didReceiveResponse):
6370         (WebCore::InspectorController::didReceiveContentLength):
6371         (WebCore::InspectorController::didFinishLoading):
6372         (WebCore::InspectorController::didFailLoading):
6373         * inspector/InspectorController.h:
6374         * inspector/InspectorResource.cpp:
6375         (WebCore::InspectorResource::addLength):
6376         * loader/ResourceLoadNotifier.cpp:
6377         (WebCore::ResourceLoadNotifier::didFailToLoad):
6378         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
6379         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
6380         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
6381         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
6383 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
6385         Reviewed by Pavel Feldman.
6387         This is a WebCore part of the fix that allows to view plugin
6388         resources loaded by plugins.
6390         https://bugs.webkit.org/show_bug.cgi?id=31832
6392         * inspector/InspectorController.cpp:
6393         (WebCore::InspectorController::willSendRequest):
6394         (WebCore::InspectorController::didReceiveResponse):
6395         (WebCore::InspectorController::didReceiveContentLength):
6396         (WebCore::InspectorController::didFinishLoading):
6397         (WebCore::InspectorController::didFailLoading):
6398         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
6399         * inspector/InspectorResource.cpp:
6400         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
6401         * loader/ResourceLoadNotifier.cpp:
6402         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
6403         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
6404         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
6405         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
6406         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
6408 2009-11-26  Daniel Bates  <dbates@webkit.org>
6410         Reviewed by Pavel Feldman.
6412         https://bugs.webkit.org/show_bug.cgi?id=21554
6414         Implements support for hovering over <img> src to display the height and width of that image
6415         in a tooltip. Displays both the displayable and natural dimensions of the image.
6417         Test: inspector/elements-img-tooltip.html
6419         * inspector/front-end/ElementsTreeOutline.js:
6420         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
6421         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
6422         (WebInspector.ElementsTreeElement.prototype._updateTitle):
6423         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
6424         * inspector/front-end/ObjectProxy.js:
6425         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
6426         * inspector/front-end/inspector.js:
6427         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
6428         (WebInspector.linkifyURL): Ditto.
6430 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
6432         wx build fix after drawPattern API change.
6434         * platform/graphics/wx/ImageWx.cpp:
6435         (WebCore::Image::drawPattern):
6437 2009-11-26  Anton Muhin  <antonm@chromium.org>
6439         Reviewed by Adam Barth.
6441         Use an internal field instead of hidden property to speedup lookup
6442         of entered isolated world.
6444         Plus some inlinings.
6445         https://bugs.webkit.org/show_bug.cgi?id=31884
6447         Covered by layout tests + manual running of some benchmarks as
6448         content scripts.
6450         * bindings/v8/V8DOMWrapper.cpp:
6451         * bindings/v8/V8DOMWrapper.h:
6452         (WebCore::V8DOMWrapper::setDOMWrapper):
6453         * bindings/v8/V8HiddenPropertyName.h:
6454         * bindings/v8/V8IsolatedWorld.cpp:
6455         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
6456         * bindings/v8/V8IsolatedWorld.h:
6457         (WebCore::V8IsolatedWorld::getEntered):
6458         (WebCore::V8IsolatedWorld::getGlobalObject):
6459         * bindings/v8/custom/V8CustomBinding.h:
6461 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6463         Reviewed by Kenneth Rohde Christiansen.
6465         [Qt] Corrects build break on Windows.
6467         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
6468         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
6470         * WebCore.pro:
6471         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
6472         (WebCore::findNextWordFromIndex):
6473         (WebCore::findWordBoundary):
6475 2009-11-26  Anton Muhin  <antonm@chromium.org>
6477         Reviewed by Adam Barth.
6479         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
6480         https://bugs.webkit.org/show_bug.cgi?id=31877
6482         Covered by layout tests and buildbots.
6484         * bindings/v8/V8DOMMap.cpp:
6485         (WebCore::getDOMNodeMap):
6486         (WebCore::getDOMObjectMap):
6487         (WebCore::getActiveDOMObjectMap):
6488         (WebCore::getDOMSVGElementInstanceMap):
6489         (WebCore::getDOMSVGObjectWithContextMap):
6491 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
6493         Reviewed by Holger Freyther.
6495         [Qt] Mac Plugins : Pass mouse position relative to the fake window
6496         
6497         When using off-screen rendering, we need to pass mouse events relative
6498         to the fake window instead of the global position.
6499         
6500         https://bugs.webkit.org/show_bug.cgi?id=31794
6502         * plugins/mac/PluginViewMac.cpp:
6503         (WebCore::PluginView::platformStart):
6504         (WebCore::PluginView::handleMouseEvent):
6506 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
6508         Reviewed by Eric Seidel.
6510         [Qt] Use QNetworkReply::rawHeaderPairs
6511         https://bugs.webkit.org/show_bug.cgi?id=31826
6513         The QNetworkReply is internally storing the HTTP headers
6514         as a list of pairs. Currently we have to ask the QNetworkReply
6515         to put all header names into a QStringList. Afterwards we will
6516         iterate over this QStringList and ask the QNetworkReply to
6517         give us the value for this header name. The current Qt implementation
6518         is doing a linear to find the header value.
6520         Use a new API to directly access the list of pairs and push
6521         this into WebCore. This avoids doing some allocations and doing
6522         linear searches from within a loop.
6524         * platform/network/qt/QNetworkReplyHandler.cpp:
6525         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
6527 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
6529         Reviewed by Kenneth Rohde Christiansen.
6531         [Qt] Add Qt specific information of RenderPart
6532         https://bugs.webkit.org/show_bug.cgi?id=31203
6534         The WebCore::Widget of the RenderPart (RenderWidget) might be
6535         backed with a platform widget. Print both the WebCore::Widget
6536         and platform widget state. In the above bug we had a problem
6537         that the WebCore::Widget was invisible but the QWidget was
6538         visible.
6540         * rendering/RenderTreeAsText.cpp:
6541         (WebCore::operator<<): Add special case for RenderPart
6543 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
6545         Reviewed by Kenneth Rohde Christiansen.
6547         [Qt] Call Widget::setSelfVisible from hide/show
6548         https://bugs.webkit.org/show_bug.cgi?id=31203
6550         Call Widget::setSelfVisible from Widget::show and
6551         Widget::hide and use isParentVisible to decide
6552         if the widget should be shown. This way client
6553         code can rely on isVisible.
6555         Change PluginViewQt::show, PluginViewQt::hide to
6556         call the base class as it is doing the right thing
6557         now. Add an assert verify that platfomWidget and
6558         platformPluginWidget are the same.
6560         * manual-tests/qt/qtplugin.html: Modify manual test
6561         * platform/qt/WidgetQt.cpp:
6562         (WebCore::Widget::show):
6563         (WebCore::Widget::hide):
6564         * plugins/qt/PluginViewQt.cpp:
6565         (WebCore::PluginView::show):
6566         (WebCore::PluginView::hide):
6568 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
6570         Reviewed by Alexey Proskuryakov.
6572         Fix compilation of REQUEST_DEBUG debug code
6573         https://bugs.webkit.org/show_bug.cgi?id=31850
6575         In r47907 the single parameter KURL constructor to parse
6576         from a WebCore::String was replaced with a two parameter
6577         constructor. I think in this debug case parsing the urls
6578         again is no problem and I have changed the code to use the
6579         two parameter version.
6581         * loader/loader.cpp:
6582         (WebCore::Loader::Host::didFinishLoading):
6584 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
6586         Reviewed by Pavel Feldman.
6588         [V8] Avoid using JavaScript objects as context data
6589         https://bugs.webkit.org/show_bug.cgi?id=31873
6591         Change the context "data" from a JavaScript object holding the two properties type and value to
6592         a string holding type and value separated by a comma.
6594         * bindings/v8/V8Proxy.cpp:
6595         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
6596         (WebCore::V8Proxy::setContextDebugId):
6597         (WebCore::V8Proxy::contextDebugId):
6599 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
6601         Reviewed by David Levin.
6603         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
6604         https://bugs.webkit.org/show_bug.cgi?id=31894
6606         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
6607         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
6609 2009-11-25  Kenneth Russell  <kbr@google.com>
6611         Reviewed by Oliver Hunt.
6613         Off-by-one error in index validation for drawElements and drawArrays
6614         https://bugs.webkit.org/show_bug.cgi?id=31891
6616         Fixed computation of number of elements for bound array objects.
6618         Test: fast/canvas/webgl/index-validation.html
6620         * html/canvas/WebGLRenderingContext.cpp:
6621         (WebCore::WebGLRenderingContext::vertexAttribPointer):
6623 2009-11-25  Dmitry Titov  <dimich@chromium.org>
6625         Reviewed by David Levin.
6627         Update SharedScript to use eventNames() instead of EventNames()
6628         https://bugs.webkit.org/show_bug.cgi?id=31890
6630         * SharedScript/WebKitSharedScript.cpp:
6631         (WebCore::LoadEventTask::performTask):
6633 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
6635         Reviewed by Simon Fraser.
6637         <rdar://problem/7409331> Windows: Support closed caption in <video> element
6639         Enable closed captions in QuickTime/Windows media engine.
6641         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
6642         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
6643         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
6644             New, all through to m_qtMovie.
6646         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
6647             Make all but the destructor private since MediaPlayer call through the media
6648             engine interface.
6650         * platform/graphics/win/QTMovieWin.cpp:
6651         (QTMovieWin::disableUnsupportedTracks):
6652             Use handy new constants for QuickTime track types.
6653         (QTMovieWin::hasClosedCaptions):
6654         (QTMovieWin::setClosedCaptionsVisible):
6655             New, closed caption support.
6656         * platform/graphics/win/QTMovieWin.h:
6658         * rendering/RenderMediaControls.cpp:
6659         (WebCore::RenderMediaControls::paintMediaControlsPart):
6660             Deal with closed caption buttons.
6662         * rendering/RenderThemeWin.cpp:
6663         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
6664             New, don't ask the media engine if it has closed captions unless the Safari theme will
6665             be able to render the button.
6666         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
6667             New.
6668         * rendering/RenderThemeWin.h:
6670 2009-11-25  Drew Wilson  <atwilson@chromium.org>
6672         Reviewed by David Levin.
6674         MessagePorts always look remotely entangled even when closed.
6675         https://bugs.webkit.org/show_bug.cgi?id=31698
6677         Tests: Existing tests suffice, Chromium soak test passes now.
6679         * bindings/v8/custom/V8CustomBinding.h:
6680         Removed kMessagePortEntangledPortIndex which is no longer used.
6681         * bindings/v8/V8GCController.cpp:
6682         (WebCore::GCPrologueVisitor::visitDOMWrapper):
6683         Simplified GC code to reflect the Chromium MessagePort implementation
6684         (locallyEntangledPort() always returns false).
6685         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
6686         Cleaned up epilogue code to handle the case where the port gets closed
6687         in mid-GC (due to the parent context being freed).
6688         * dom/MessagePort.cpp:
6689         (WebCore::MessagePort::MessagePort):
6690         (WebCore::MessagePort::close):
6691         Now sets the closed flag.
6692         (WebCore::MessagePort::disentanglePorts):
6693         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
6694         * dom/MessagePort.h:
6695         Added a m_closed flag and updated isEntangled() to check it.
6696         (WebCore::MessagePort::isEntangled):
6697         Now returns false if the port has been closed.
6698         (WebCore::MessagePort::isCloned):
6699         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
6701 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6703         Reviewed by Simon Hausmann.
6705         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
6707         Fix inline assembly, don't dereference the function pointer twice.
6709         * plugins/win/PluginViewWin.cpp:
6710         (WebCore::PluginView::hookedBeginPaint):
6711         (WebCore::PluginView::hookedEndPaint):
6713 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
6715         Reviewed by Adam Barth.
6717         [Qt] Remove the Referer header when redirecting to a non-secure site
6718         https://bugs.webkit.org/show_bug.cgi?id=31785
6720         This makes Qt pass two tests introduced in r50226.
6722         * platform/network/qt/QNetworkReplyHandler.cpp:
6723         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
6725 2009-11-25  Andrei Popescu  <andreip@google.com>
6727         Reviewed by Dimitri Glazkov.
6729         The select elements do not reflect the actual choice the user makes.
6730         https://bugs.webkit.org/show_bug.cgi?id=31831
6732         Handle the drawing of the listboxes in Android code.
6734         No new features, just fixing an Android problem. Existing layout tests are sufficient.
6736         * platform/android/RenderThemeAndroid.cpp:
6737         (WebCore::theme):
6738         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
6739         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
6740         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
6741         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
6742         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
6743         (WebCore::RenderThemeAndroid::adjustButtonStyle):
6744         (WebCore::RenderThemeAndroid::paintTextArea):
6745         (WebCore::RenderThemeAndroid::adjustListboxStyle):
6746         * platform/android/RenderThemeAndroid.h:
6748 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
6750         Reviewed by Pavel Feldman.
6752         Load InspectorResource mime type from CachedResource for 304 responses
6754         For network libraries that do not merge cache data into 304 ResourceResponses,
6755         the mime type for cached resources is unknown.
6756         https://bugs.webkit.org/show_bug.cgi?id=31868
6758         * inspector/InspectorResource.cpp:
6759         (WebCore::InspectorResource::updateResponse):
6760         (WebCore::InspectorResource::updateScriptObject):
6761         (WebCore::InspectorResource::type):
6763 2009-11-25  Andrei Popescu  <andreip@google.com>
6765         Reviewed by Eric Seidel.
6767         Android is missing implementation of SSL Key generator functions.
6768         https://bugs.webkit.org/show_bug.cgi?id=31825
6770         This change adds the PlatformBridge class to platform/android.
6771         PlarformBridge is used to access the embedding layer for things
6772         such as key generator, cookies, plugins, etc.
6774         No new tests required, this is platform code.
6776         * platform/android/PlatformBridge.h: Added.
6777         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
6778         (WebCore::getSupportedKeySizes):
6779         (WebCore::signedPublicKeyAndChallengeString):
6781 2009-11-25  Philippe Normand  <pnormand@igalia.com>
6783         Reviewed by Eric Seidel.
6785         [GTK] use gst_init_check() instead of gst_init()
6786         https://bugs.webkit.org/show_bug.cgi?id=31864
6788         Use gst_init_check() instead of gst_init() to prevent eventual
6789         unexpected exit of the application.
6791         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6792         (WebCore::do_gst_init):
6793         (WebCore::MediaPlayerPrivate::isAvailable):
6795 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
6797         Reviewed by Xan Lopez.
6799         Some tests are crashing from time to time
6800         https://bugs.webkit.org/show_bug.cgi?id=31866
6802         Make sure we do not notify the client of a finished load, if the
6803         load has been cancelled, or the client is gone.
6805         * platform/network/soup/ResourceHandleSoup.cpp:
6806         (WebCore::):
6808 2009-11-24  Ben Murdoch  <benm@google.com>
6810         Reviewed by Eric Seidel.
6812         [Android] Upstream Android changes to WebCore/bridge/jni
6813         https://bugs.webkit.org/show_bug.cgi?id=31824
6815         No new tests required as no new functionality.
6817         * bridge/jni/jni_class.cpp:
6818         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
6819         * bridge/jni/jni_instance.cpp: Add an Android include path.
6820         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
6821         (JSC::Bindings::JObjectWrapper::instance): Added.
6822         (JSC::Bindings::JObjectWrapper::setInstance): Added.
6823         * bridge/jni/jni_runtime.cpp:
6824         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
6825         * bridge/jni/jni_utility.h:
6826         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
6828 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
6830         Reviewed by Eric Seidel.
6832         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
6833         https://bugs.webkit.org/show_bug.cgi?id=31827
6835         Inherits the following classes from Noncopyable because these are instantiated
6836         by 'new' and no need to be copyable:
6838         class/struct name               - instantiated at: WebCore/'location'
6840         class PluginRequest             - plugins/PluginView.cpp:521
6841         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
6842         class PluginDatabase            - plugins/PluginDatabase.cpp:50
6843         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
6844         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
6845         class RenderArena               - dom/Document.cpp:1401
6846         class RenderImageScaleData      - rendering/RenderImage.cpp:149
6847         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
6848         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
6849         struct FloatingObject           - rendering/RenderBlock.cpp:2300
6850         struct MaxMargin                - rendering/RenderBlock.cpp:4794
6851         class RenderMarquee             - rendering/RenderLayer.cpp:3277
6853         * plugins/PluginData.h:
6854         * plugins/PluginDatabase.h:
6855         * plugins/PluginMainThreadScheduler.h:
6856         * plugins/PluginView.h:
6857         * rendering/RenderArena.h:
6858         * rendering/RenderBlock.cpp:
6859         * rendering/RenderBlock.h:
6860         * rendering/RenderImage.cpp:
6861         * rendering/RenderMarquee.h:
6862         * rendering/TableLayout.h:
6864 2009-11-24  Dmitry Titov  <dimich@chromium.org>
6866         Reviewed by David Levin.
6868         Initial implementation of WebKitSharedScript and SharedScriptContext
6869         https://bugs.webkit.org/show_bug.cgi?id=31569
6871         No new tests since there are no bindings yet (soon to come).
6873         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
6874         * WebCore.xcodeproj/project.pbxproj:
6875         * dom/Document.cpp:
6876         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
6877         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
6878         (WebCore::EventTarget::toWebKitSharedScript):
6879         (WebCore::EventTarget::toSharedScriptContext):
6880         * dom/EventTarget.h: Ditto
6881         * dom/ScriptExecutionContext.h:
6882         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
6884         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
6885         (WebCore::SharedScriptContext::SharedScriptContext):
6886         (WebCore::SharedScriptContext::~SharedScriptContext):
6887         (WebCore::SharedScriptContext::clearScript):
6888         (WebCore::SharedScriptContext::virtualURL):
6889         (WebCore::SharedScriptContext::virtualCompleteURL):
6890         (WebCore::SharedScriptContext::reportException):
6891         (WebCore::SharedScriptContext::addMessage):
6892         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
6893         (WebCore::SharedScriptContext::scriptImported):
6894         (WebCore::SharedScriptContext::matches):
6895         (WebCore::SharedScriptContext::addToDocumentsList):
6896         (WebCore::SharedScriptContext::destructionTimerFired):
6897         (WebCore::SharedScriptContext::removeFromDocumentList):
6898         (WebCore::SharedScriptContext::load):
6899         (WebCore::SharedScriptContext::postTask):
6900         (WebCore::SharedScriptContext::eventTargetData):
6901         (WebCore::SharedScriptContext::ensureEventTargetData):
6902         (WebCore::SharedScriptContext::scriptExecutionContext):
6903         * SharedScript/SharedScriptContext.h: Added.
6904         (WebCore::SharedScriptContext::create):
6905         (WebCore::SharedScriptContext::isSharedScriptContext):
6906         (WebCore::SharedScriptContext::userAgent):
6907         (WebCore::SharedScriptContext::toSharedScriptContext):
6908         (WebCore::SharedScriptContext::self):
6909         (WebCore::SharedScriptContext::script):
6910         (WebCore::SharedScriptContext::loaded):
6911         (WebCore::SharedScriptContext::name):
6912         (WebCore::SharedScriptContext::refEventTarget):
6913         (WebCore::SharedScriptContext::derefEventTarget):
6914         (WebCore::SharedScriptContext::refScriptExecutionContext):
6915         (WebCore::SharedScriptContext::derefScriptExecutionContext):
6916         * SharedScript/SharedScriptContext.idl: Added.
6918         * SharedScript/SharedScriptController.h: 
6919         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
6921         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
6922         (WebCore::WebKitSharedScript::WebKitSharedScript):
6923         (WebCore::WebKitSharedScript::~WebKitSharedScript):
6924         (WebCore::WebKitSharedScript::setContext):
6925         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
6926         (WebCore::LoadEventTask::performTask):
6927         (WebCore::LoadEventTask::LoadEventTask):
6928         (WebCore::WebKitSharedScript::scheduleLoadEvent):
6929         * SharedScript/WebKitSharedScript.h: Added.
6930         (WebCore::WebKitSharedScript::create):
6931         (WebCore::WebKitSharedScript::scriptExecutionContext):
6932         (WebCore::WebKitSharedScript::toWebKitSharedScript):
6933         (WebCore::WebKitSharedScript::context):
6934         (WebCore::WebKitSharedScript::refEventTarget):
6935         (WebCore::WebKitSharedScript::derefEventTarget):
6936         (WebCore::WebKitSharedScript::eventTargetData):
6937         (WebCore::WebKitSharedScript::ensureEventTargetData):
6938         * SharedScript/WebKitSharedScript.idl: Added.
6940         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
6941         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
6942         (WebCore::ScriptLoader::load):
6943         (WebCore::ScriptLoader::notifyFinished):
6944         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
6945         (WebCore::WebKitSharedScriptRepository::connect):
6946         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
6947         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
6948         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
6949         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
6950         * SharedScript/WebKitSharedScriptRepository.h: Added.
6951         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
6953 2009-11-24  Dmitry Titov  <dimich@chromium.org>
6955         Reviewed by Eric Seidel.
6957         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
6958         https://bugs.webkit.org/show_bug.cgi?id=31444
6960         * Configurations/FeatureDefines.xcconfig:
6961         * GNUmakefile.am:
6962         * WebCore.pro:
6964 2009-11-24  Chris Marrin  <cmarrin@apple.com>
6966         Reviewed by Simon Fraser.
6968         Implement accelerated compositing
6969         https://bugs.webkit.org/show_bug.cgi?id=27314
6970         
6971         This part of the checkin adds the Windows specific GraphicsLayer support files.
6972         It provides the interface between GraphicsLayer and CACF. It also deals with
6973         the compositing loop, and provides the plumbing to pass the root layer up to
6974         WebView.
6976         * WebCore.vcproj/WebCore.vcproj:
6977         * WebCore.vcproj/WebCoreCommon.vsprops:
6978         * page/FrameView.cpp:
6979         (WebCore::FrameView::syncCompositingStateRecursive):
6980         * platform/graphics/GraphicsLayer.cpp:
6981         (WebCore::GraphicsLayer::GraphicsLayer):
6982         * platform/graphics/GraphicsLayer.h:
6983         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
6984         * platform/graphics/win/GraphicsLayerCACF.h: Added.
6985         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
6986         * platform/graphics/win/WKCACFContextFlusher.h: Added.
6987         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
6988         * platform/graphics/win/WKCACFLayer.cpp: Added.
6989         * platform/graphics/win/WKCACFLayer.h: Added.
6990         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
6991         * platform/graphics/win/WKCACFLayerWindow.h: Added.
6993 2009-11-24  Chris Marrin  <cmarrin@apple.com>
6995         Reviewed by Eric Seidel.
6997         Do error checking of parameter to createShader
6998         https://bugs.webkit.org/show_bug.cgi?id=31808
7000         Test: fast/canvas/webgl/invalidPassedParams.html
7002         * html/canvas/WebGLRenderingContext.cpp:
7003         (WebCore::WebGLRenderingContext::createShader):
7004         * html/canvas/WebGLRenderingContext.h:
7005         * html/canvas/WebGLRenderingContext.idl:
7007 2009-11-24  Kent Tamura  <tkent@chromium.org>
7009         Reviewed by Eric Seidel.
7011         [Chromium] Ignore line-height CSS property specified to a search field on
7012         Windows and Linux.
7013         https://bugs.webkit.org/show_bug.cgi?id=31820
7015         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
7016         following controls should ignore line-height CSS property.
7017          - <select>
7018          - <input type=button>
7019          - <input type=search>
7020         This change addresses the <input type=search> issue with Chromium/Windows
7021         and Chromium/Linux.
7023         * rendering/RenderThemeChromiumSkia.cpp:
7024         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
7025         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
7027 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
7029         No review.
7031         Stylistic fix: indent the member var initialisation.
7033         * platform/graphics/mac/GraphicsLayerCA.mm:
7034         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
7036 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
7038         Reviewed by Geoff Garen.
7040         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
7042         These methods get the world from the global data rather than from an execstate.
7043         If the current world is always read from an exec state then it can be read
7044         from the global object, and world entry can become automagical, rather than
7045         being explicitly set by an EnterDOMWrapperWorld.
7047         * bindings/js/JSCSSRuleCustom.cpp:
7048         (WebCore::toJS):
7049         * bindings/js/JSCSSValueCustom.cpp:
7050         (WebCore::toJS):
7051         * bindings/js/JSDOMBinding.cpp:
7052         (WebCore::currentWorld):
7053         (WebCore::DOMObjectWrapperMapFor):
7054         (WebCore::hasCachedDOMObjectWrapper):
7055         (WebCore::getCachedDOMObjectWrapper):
7056         (WebCore::cacheDOMObjectWrapper):
7057         (WebCore::hasCachedDOMNodeWrapper):
7058         (WebCore::getCachedDOMNodeWrapper):
7059         (WebCore::cacheDOMNodeWrapper):
7060         * bindings/js/JSDOMBinding.h:
7061         (WebCore::createDOMObjectWrapper):
7062         (WebCore::getDOMObjectWrapper):
7063         (WebCore::createDOMNodeWrapper):
7064         (WebCore::getDOMNodeWrapper):
7065         * bindings/js/JSDOMWindowCustom.cpp:
7066         (WebCore::JSDOMWindow::history):
7067         (WebCore::JSDOMWindow::location):
7068         * bindings/js/JSDocumentCustom.cpp:
7069         (WebCore::JSDocument::location):
7070         (WebCore::toJS):
7071         * bindings/js/JSElementCustom.cpp:
7072         (WebCore::toJSNewlyCreated):
7073         * bindings/js/JSEventCustom.cpp:
7074         (WebCore::toJS):
7075         * bindings/js/JSHTMLCollectionCustom.cpp:
7076         (WebCore::toJS):
7077         * bindings/js/JSImageDataCustom.cpp:
7078         (WebCore::toJS):
7079         * bindings/js/JSNodeCustom.cpp:
7080         (WebCore::JSNode::markChildren):
7081         (WebCore::createWrapper):
7082         (WebCore::toJS):
7083         * bindings/js/JSSVGPathSegCustom.cpp:
7084         (WebCore::toJS):
7085         * bindings/js/JSStyleSheetCustom.cpp:
7086         (WebCore::toJS):
7087         * xml/XMLHttpRequest.cpp:
7088         (WebCore::XMLHttpRequest::dropProtection):
7090 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
7092         Windows build fix.
7094         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
7096 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
7098         Windows build fix.
7100         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
7102 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
7104         Reviewed by Oliver Hunt.
7106         SVGUseElement::toClipPath can crash
7107         <rdar://problem/7385270>
7109         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
7110         actually initialize it.
7112         * svg/SVGUseElement.cpp:
7113         (WebCore::SVGUseElement::toClipPath):
7115 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
7117         Windows build fix.
7119         * page/win/FrameCGWin.cpp:
7120         (WebCore::imageFromRect):
7121         (WebCore::imageFromSelection):
7123 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
7125         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
7127         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
7128         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
7129         * platform/graphics/win/QTMovieWin.cpp:
7130         * platform/graphics/win/QTMovieWin.h:
7131         * rendering/RenderMediaControls.cpp:
7132         * rendering/RenderThemeWin.cpp:
7133         * rendering/RenderThemeWin.h:
7135 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
7137         Reviewed by Brady Eidson.
7139         https://bugs.webkit.org/show_bug.cgi?id=31844
7140         SocketStreamHandleCFNet should support CONNECT proxy credentials
7142         * WebCore.vcproj/WebCore.vcproj:
7143         * WebCore.xcodeproj/project.pbxproj:
7144         * platform/network/CredentialStorage.h:
7145         * platform/network/mac/CredentialStorageMac.mm: Added.
7146         (WebCore::CredentialStorage::getFromPersistentStorage):
7147         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
7148         (WebCore::CredentialStorage::getFromPersistentStorage):
7149         Add support for fetching credentials from persistent storage (CFNet version is currently
7150         a stub).
7152         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
7154         * platform/network/cf/SocketStreamHandle.h:
7155         * platform/network/cf/SocketStreamHandleCFNet.cpp:
7156         (WebCore::SocketStreamHandle::SocketStreamHandle):
7157         (WebCore::SocketStreamHandle::createStreams):
7158         (WebCore::getStoredCONNECTProxyCredentials):
7159         (WebCore::authenticationSchemeFromAuthenticationMethod):
7160         (WebCore::SocketStreamHandle::addCONNECTCredentials):
7161         (WebCore::SocketStreamHandle::readStreamCallback):
7162         Check if connection attempt was resulted in 407, and try stored credentials if it did.
7164         * platform/mac/WebCoreSystemInterface.h:
7165         * platform/mac/WebCoreSystemInterface.mm:
7166         * WebCore.base.exp:
7167         Updated WKSI.
7169 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
7171         Reviewed by Dan Bernstein.
7173         Find highlight is drawn incorrectly on pages with compositing layers
7174         <rdar://problem/7413925>
7175         
7176         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
7177         and pass that down when painting into an image.
7178         
7179         When set, it forces painting of compositing layers to go down a software paint path
7180         when all layers are painted, irrespective of compositing status, and where
7181         3d transforms are flattened to 2d. When doing this, we also need to use temporary
7182         clip rects for layers which are normally composited.
7183         
7184         * page/FrameView.h:
7185         (WebCore::FrameView::paintBehavior):
7186         * page/mac/FrameMac.mm:
7187         (WebCore::Frame::imageFromRect):
7188         * rendering/RenderLayer.cpp:
7189         (WebCore::RenderLayer::renderableTransform):
7190         (WebCore::expandClipRectForDescendantsAndReflection):
7191         (WebCore::transparencyClipBox):
7192         (WebCore::RenderLayer::beginTransparencyLayers):
7193         (WebCore::RenderLayer::paintLayer):
7194         * rendering/RenderLayer.h:
7195         (WebCore::RenderLayer::paintsWithTransparency):
7196         (WebCore::RenderLayer::paintsWithTransform):
7197         * rendering/RenderLayerCompositor.cpp:
7198         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
7199         * rendering/RenderObject.h:
7201 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
7203         Reviewed by Dan Bernstein.
7205         Find highlight is drawn incorrectly on pages with compositing layers
7206         <rdar://problem/7413925>
7207         
7208         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
7209         preparation for adding a new flag related to painting into an image.
7210         
7211         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
7213         * page/FrameView.cpp:
7214         (WebCore::FrameView::reset):
7215         (WebCore::FrameView::paintContents):
7216         (WebCore::FrameView::setPaintBehavior):
7217         * page/FrameView.h:
7218         * page/mac/FrameMac.mm:
7219         (WebCore::Frame::selectionImage):
7220         * rendering/RenderLayer.cpp:
7221         (WebCore::RenderLayer::paint):
7222         (WebCore::RenderLayer::paintLayer):
7223         * rendering/RenderLayer.h:
7224         * rendering/RenderLayerBacking.cpp:
7225         (WebCore::RenderLayerBacking::paintIntoLayer):
7226         (WebCore::RenderLayerBacking::paintContents):
7227         * rendering/RenderLayerBacking.h:
7228         * rendering/RenderObject.h:
7229         * rendering/RenderReplica.cpp:
7230         (WebCore::RenderReplica::paint):
7232 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
7234         Reviewed by Simon Fraser.
7236         <rdar://problem/7409331> Windows: Support closed caption in <video> element
7238         Enable closed captions in QuickTime/Windows media engine.
7240         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
7241         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
7242         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
7243         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
7244         * platform/graphics/win/QTMovieWin.cpp:
7245         (QTMovieWin::hasClosedCaptions):
7246         (QTMovieWin::setClosedCaptionsVisible):
7247         * platform/graphics/win/QTMovieWin.h:
7248         * rendering/RenderMediaControls.cpp:
7249         (WebCore::RenderMediaControls::paintMediaControlsPart):
7250         * rendering/RenderThemeWin.cpp:
7251         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
7252         * rendering/RenderThemeWin.h:
7254 2009-11-24  Darin Fisher  <darin@chromium.org>
7256         Reviewed by Adam Barth.
7258         [Chromium] Renderer hang when using www.expedia.com
7259         https://bugs.webkit.org/show_bug.cgi?id=31822
7261         Test: http/tests/cache/subresource-failover-to-network.html
7263         * loader/FrameLoader.cpp:
7264         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
7265         when inheriting cache policy.  This matches SubresourceLoader::create.
7267 2009-11-23  Kenneth Russell  <kbr@google.com>
7269         Reviewed by Oliver Hunt.
7271         Change get... calls to latest spec
7272         https://bugs.webkit.org/show_bug.cgi?id=30091
7274         Removed old versions of get calls on WebGLRenderingContext and
7275         added new ones per spec returning "any". New code simplifies
7276         GraphicsContext3D and fixes previously unimplemented routines.
7277         Added custom JS and V8 bindings. Added exhaustive test case
7278         exercising all new code paths. Updated preexisting test cases for
7279         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
7280         implementations.
7282         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
7283         preexisting known failures) and manual WebGL tests in both
7284         browsers.
7286         Test: fast/canvas/webgl/gl-object-get-calls.html
7288         * WebCore.gypi:
7289         * WebCore.xcodeproj/project.pbxproj:
7290         * bindings/js/JSWebGLRenderingContextCustom.cpp:
7291         (WebCore::toJS):
7292         (WebCore::):
7293         (WebCore::getObjectParameter):
7294         (WebCore::getProgramParameterHelper):
7295         (WebCore::JSWebGLRenderingContext::getBufferParameter):
7296         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
7297         (WebCore::JSWebGLRenderingContext::getParameter):
7298         (WebCore::JSWebGLRenderingContext::getProgramParameter):
7299         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
7300         (WebCore::JSWebGLRenderingContext::getShaderParameter):
7301         (WebCore::JSWebGLRenderingContext::getTexParameter):
7302         (WebCore::JSWebGLRenderingContext::getUniform):
7303         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
7304         * bindings/v8/custom/V8CustomBinding.h:
7305         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
7306         (WebCore::toV8):
7307         (WebCore::):
7308         (WebCore::getObjectParameter):
7309         (WebCore::getProgramParameter):
7310         (WebCore::CALLBACK_FUNC_DECL):
7311         * html/canvas/CanvasObject.cpp:
7312         (WebCore::CanvasObject::CanvasObject):
7313         (WebCore::CanvasObject::setObject):
7314         (WebCore::CanvasObject::deleteObject):
7315         * html/canvas/CanvasObject.h:
7316         * html/canvas/WebGLBuffer.cpp:
7317         (WebCore::WebGLBuffer::create):
7318         (WebCore::WebGLBuffer::WebGLBuffer):
7319         * html/canvas/WebGLBuffer.h:
7320         * html/canvas/WebGLGetInfo.cpp: Added.
7321         (WebCore::WebGLGetInfo::WebGLGetInfo):
7322         (WebCore::WebGLGetInfo::~WebGLGetInfo):
7323         (WebCore::WebGLGetInfo::getType):
7324         (WebCore::WebGLGetInfo::getBool):
7325         (WebCore::WebGLGetInfo::getFloat):
7326         (WebCore::WebGLGetInfo::getLong):
7327         (WebCore::WebGLGetInfo::getString):
7328         (WebCore::WebGLGetInfo::getUnsignedLong):
7329         (WebCore::WebGLGetInfo::getWebGLBuffer):
7330         (WebCore::WebGLGetInfo::getWebGLFloatArray):
7331         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
7332         (WebCore::WebGLGetInfo::getWebGLIntArray):
7333         (WebCore::WebGLGetInfo::getWebGLProgram):
7334         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
7335         (WebCore::WebGLGetInfo::getWebGLTexture):
7336         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
7337         * html/canvas/WebGLGetInfo.h: Added.
7338         (WebCore::WebGLGetInfo::):
7339         * html/canvas/WebGLRenderbuffer.cpp:
7340         (WebCore::WebGLRenderbuffer::create):
7341         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
7342         * html/canvas/WebGLRenderbuffer.h:
7343         * html/canvas/WebGLRenderingContext.cpp:
7344         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
7345         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
7346         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
7347         (WebCore::WebGLRenderingContext::activeTexture):
7348         (WebCore::WebGLRenderingContext::bindBuffer):
7349         (WebCore::WebGLRenderingContext::bindFramebuffer):
7350         (WebCore::WebGLRenderingContext::bindRenderbuffer):
7351         (WebCore::WebGLRenderingContext::bindTexture):
7352         (WebCore::WebGLRenderingContext::getBufferParameter):
7353         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
7354         (WebCore::WebGLRenderingContext::getParameter):
7355         (WebCore::WebGLRenderingContext::getProgramParameter):
7356         (WebCore::WebGLRenderingContext::getProgramInfoLog):
7357         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
7358         (WebCore::WebGLRenderingContext::getShaderParameter):
7359         (WebCore::WebGLRenderingContext::getShaderInfoLog):
7360         (WebCore::WebGLRenderingContext::getShaderSource):
7361         (WebCore::WebGLRenderingContext::getString):
7362         (WebCore::WebGLRenderingContext::getTexParameter):
7363         (WebCore::WebGLRenderingContext::getUniform):
7364         (WebCore::WebGLRenderingContext::getVertexAttrib):
7365         (WebCore::WebGLRenderingContext::useProgram):
7366         (WebCore::WebGLRenderingContext::getBooleanParameter):
7367         (WebCore::WebGLRenderingContext::getFloatParameter):
7368         (WebCore::WebGLRenderingContext::getIntParameter):
7369         (WebCore::WebGLRenderingContext::getLongParameter):
7370         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
7371         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
7372         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
7373         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
7374         * html/canvas/WebGLRenderingContext.h:
7375         * html/canvas/WebGLRenderingContext.idl:
7376         * html/canvas/WebGLTexture.cpp:
7377         (WebCore::WebGLTexture::create):
7378         (WebCore::WebGLTexture::WebGLTexture):
7379         * html/canvas/WebGLTexture.h:
7380         * manual-tests/webgl/resources/utils3d.js:
7381         (initWebGL):
7382         (loadShader):
7383         (Framerate.prototype.snapshot):
7384         * platform/graphics/GraphicsContext3D.h:
7385         * platform/graphics/mac/GraphicsContext3DMac.cpp:
7386         (WebCore::GraphicsContext3D::bindRenderbuffer):
7387         (WebCore::GraphicsContext3D::getBooleanv):
7388         (WebCore::GraphicsContext3D::getBufferParameteriv):
7389         (WebCore::GraphicsContext3D::getFloatv):
7390         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
7391         (WebCore::GraphicsContext3D::getIntegerv):
7392         (WebCore::GraphicsContext3D::getProgramiv):
7393         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
7394         (WebCore::GraphicsContext3D::getShaderiv):
7395         (WebCore::GraphicsContext3D::getTexParameterfv):
7396         (WebCore::GraphicsContext3D::getTexParameteriv):
7397         (WebCore::GraphicsContext3D::getUniformfv):
7398         (WebCore::GraphicsContext3D::getUniformiv):
7399         (WebCore::GraphicsContext3D::getVertexAttribfv):
7400         (WebCore::GraphicsContext3D::getVertexAttribiv):
7402 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
7404         Windows build fix.
7406         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
7408 2009-11-24  Philippe Normand  <pnormand@igalia.com>
7410         Reviewed by Gustavo Noronha Silva.
7412         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
7413         https://bugs.webkit.org/show_bug.cgi?id=26354
7415         Implemented MediaPlayerPrivate::isAvailable by checking the
7416         presence of the playbin2 GStreamer element.
7418         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
7419         (WebCore::MediaPlayerPrivate::isAvailable):
7420         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
7422 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
7424         Reviewed by Xan Lopez.
7426         https://bugs.webkit.org/show_bug.cgi?id=25415
7427         [GTK][ATK] Please implement support for get_text_at_offset
7429         When building up the pango layout from text boxes, only append a
7430         newline char after verifying there are no more boxes on this line.
7432         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7433         (getPangoLayoutForAtk):
7435 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
7437         Reviewed by Pavel Feldman.
7439         Web Inspector: Keyboard Shortcut to Clear Console Messages
7440         https://bugs.webkit.org/show_bug.cgi?id=31780
7442         All Platforms:  Ctrl+L  = Clear Console Messages
7443         Mac Only:       Cmd+K   = Clear Console Messages
7445         * inspector/front-end/ConsoleView.js:
7446         (WebInspector.ConsoleView): create shortcuts
7447         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
7448         * inspector/front-end/KeyboardShortcut.js:
7449         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
7450         * inspector/front-end/ScriptsPanel.js:
7451         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
7453 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
7455         Not reviewed: touch inspector controller in order to
7456         kick win bot inspector deploy. rs=aroben.
7458         * inspector/InspectorController.cpp:
7460 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
7462         Reviewed by Timothy Hatcher.
7464         Web Inspector: Implement expandable compartments on timeline panel.
7466         https://bugs.webkit.org/show_bug.cgi?id=31796
7468         * inspector/front-end/TimelineOverviewPane.js:
7469         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
7470         * inspector/front-end/TimelinePanel.js:
7471         (WebInspector.TimelinePanel):
7472         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
7473         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
7474         (WebInspector.TimelinePanel.prototype._formatRecord):
7475         (WebInspector.TimelinePanel.prototype._refreshRecords):
7476         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
7477         (WebInspector.TimelineRecordListRow):
7478         (WebInspector.TimelineRecordListRow.prototype.update):
7479         (WebInspector.TimelineRecordListRow.prototype.dispose):
7480         (WebInspector.TimelineRecordGraphRow):
7481         (WebInspector.TimelineRecordGraphRow.prototype.update):
7482         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
7483         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
7484         * inspector/front-end/inspector.css:
7486 2009-11-24  Mark Rowe  <mrowe@apple.com>
7488         Fix production builds where the source tree may be read-only.
7490         * WebCore.xcodeproj/project.pbxproj:
7492 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
7494         Reviewed by Kenneth Rohde Christiansen.
7496         Include "config.h" to meet Coding Style Guidelines
7497         https://bugs.webkit.org/show_bug.cgi?id=31792
7499         No new tests as there is no new functionality.
7501         * platform/graphics/win/IntPointWin.cpp:
7502         * platform/graphics/win/IntRectWin.cpp:
7503         * platform/graphics/win/IntSizeWin.cpp:
7504         * platform/network/chromium/ResourceRequest.cpp:
7505         * platform/win/PlatformMouseEventWin.cpp:
7507 2009-11-23  Jian Li  <jianli@chromium.org>
7509         Reviewed by NOBODY (Chromium build fix).
7511         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
7512         (WebCore::CALLBACK_FUNC_DECL):
7513         * platform/graphics/GraphicsContext3D.h:
7515 2009-11-23  Aaron Golden  <agolden@apple.com>
7517         Reviewed by Alexey Proskuryakov.
7519         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
7520         identity and certificate information from a WebCore::Credential when receivedCredential
7521         needs to modify the credential's persistence.
7523         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
7524         that copies every field from original except for persistence.
7526         * platform/network/Credential.cpp:
7527         (WebCore::Credential::Credential):
7528         * platform/network/Credential.h:
7529         * platform/network/mac/ResourceHandleMac.mm:
7530         (WebCore::ResourceHandle::receivedCredential):
7532 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
7534         Reviewed by Geoff Garen.
7536         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
7538         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
7539         and for this to automagically cause execution to take place in the world associated with the
7540         global object associated with the ExecState (JSContextRef) passed.  However this is not how
7541         things work - the world must be explicitly set within WebCore.
7543         Making this work just for API calls to evaluate & call will be a far from perfect solution,
7544         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
7545         A better solution would be to make this all work automagically all throughout WebCore, but this
7546         will require more refactoring.
7548         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
7549         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
7550         we should switch over to using this approach for all cases we want to get a world from an exec state.
7552         * bindings/js/JSDOMBinding.cpp:
7553         (WebCore::WebCoreJSClientData::beginningExecution):
7554         (WebCore::WebCoreJSClientData::completedExecution):
7555         * bindings/js/JSDOMBinding.h:
7556         * bindings/js/JSDOMGlobalObject.h:
7557         (WebCore::JSDOMGlobalObject::world):
7558         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
7559         * bindings/js/JSDOMWindowBase.cpp:
7560         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
7561         * bindings/js/JSDOMWindowBase.h:
7562         * bindings/js/JSDOMWindowShell.cpp:
7563         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
7564         * bindings/js/JSDOMWindowShell.h:
7565         (WebCore::JSDOMWindowShell::world):
7566         * bindings/js/JSWorkerContextBase.cpp:
7567         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
7568         * bindings/js/ScriptController.cpp:
7569         (WebCore::ScriptController::initScript):
7571 2009-11-23  Chris Marrin  <cmarrin@apple.com>
7573         Reviewed by Oliver Hunt.
7575         Add range checks to rendering calls in WebGL
7576         https://bugs.webkit.org/show_bug.cgi?id=31239
7578         I am now tracking the size of the data in each CanvasBuffer object
7579         and keeping track of the buffer size of each active vertex attrib.
7580         In drawArrays and drawElements I make sure no attempt is made to
7581         access elements outside the valid buffer ranges. The test at:
7583             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
7585         no longer crashes.
7587         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
7589         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
7590                fast/canvas/webgl/drawElementssOutOfBounds.html
7592         * bindings/js/JSWebGLArrayCustom.cpp:
7593         (WebCore::toJS):
7594         * bindings/js/JSWebGLRenderingContextCustom.cpp:
7595         (WebCore::JSWebGLRenderingContext::bufferData):
7596         (WebCore::JSWebGLRenderingContext::bufferSubData):
7597         (WebCore::JSWebGLRenderingContext::texSubImage2D):
7598         * html/canvas/WebGLArrayBuffer.cpp:
7599         (WebCore::WebGLArrayBuffer::create):
7600         (WebCore::WebGLArrayBuffer::data):
7601         * html/canvas/WebGLArrayBuffer.h:
7602         * html/canvas/WebGLBuffer.cpp:
7603         (WebCore::WebGLBuffer::WebGLBuffer):
7604         (WebCore::WebGLBuffer::associateBufferData):
7605         (WebCore::WebGLBuffer::associateBufferSubData):
7606         (WebCore::WebGLBuffer::byteLength):
7607         * html/canvas/WebGLBuffer.h:
7608         (WebCore::WebGLBuffer::elementArrayBuffer):
7609         * html/canvas/WebGLRenderingContext.cpp:
7610         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
7611         (WebCore::WebGLRenderingContext::sizeInBytes):
7612         (WebCore::WebGLRenderingContext::bindBuffer):
7613         (WebCore::WebGLRenderingContext::bufferData):
7614         (WebCore::WebGLRenderingContext::bufferSubData):
7615         (WebCore::WebGLRenderingContext::createShader):
7616         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
7617         (WebCore::WebGLRenderingContext::validateIndexArray):
7618         (WebCore::WebGLRenderingContext::validateRenderingState):
7619         (WebCore::WebGLRenderingContext::drawArrays):
7620         (WebCore::WebGLRenderingContext::drawElements):
7621         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
7622         (WebCore::WebGLRenderingContext::isFramebuffer):
7623         (WebCore::WebGLRenderingContext::isProgram):
7624         (WebCore::WebGLRenderingContext::isRenderbuffer):
7625         (WebCore::WebGLRenderingContext::isShader):
7626         (WebCore::WebGLRenderingContext::isTexture):
7627         (WebCore::WebGLRenderingContext::useProgram):
7628         (WebCore::WebGLRenderingContext::validateProgram):
7629         (WebCore::WebGLRenderingContext::vertexAttribPointer):
7630         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
7631         * html/canvas/WebGLRenderingContext.h:
7632         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
7633         * html/canvas/WebGLRenderingContext.idl:
7634         * html/canvas/WebGLShader.cpp:
7635         (WebCore::WebGLShader::create):
7636         (WebCore::WebGLShader::WebGLShader):
7637         * html/canvas/WebGLShader.h:
7638         * platform/graphics/GraphicsContext3D.h:
7639         (WebCore::GraphicsContext3D::):
7640         * platform/graphics/mac/GraphicsContext3DMac.cpp:
7641         (WebCore::GraphicsContext3D::createShader):
7643 2009-11-23  Erik Arvidsson  <arv@chromium.org>
7645         Reviewed by Eric Seidel.
7647         JSC bindings for HasIndexGetter generates incorrect code (affects
7648         MediaList and CSSStyleDeclaration).
7649         This cleans up the edge cases for indexing out of range for style and
7650         computed style objects to return an empty string according to the spec.
7651         MediaList now returns null when indexed out of range.
7652         https://bugs.webkit.org/show_bug.cgi?id=31683
7654         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
7655                fast/dom/CSSStyleDeclaration/css-style-item.html
7656                fast/dom/StyleSheet/css-medialist-item.html
7658         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
7659                 we do not check the length before calling the item function.
7660         * css/CSSComputedStyleDeclaration.cpp:
7661         (WebCore::CSSComputedStyleDeclaration::item):
7662         * css/CSSMutableStyleDeclaration.cpp:
7663         (WebCore::CSSMutableStyleDeclaration::item):
7664         * css/CSSStyleDeclaration.idl:
7666 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
7668         Reviewed by Dan Bernstein.
7670         DocumentMarkers need to be educated about transforms
7671         https://bugs.webkit.org/show_bug.cgi?id=31751
7672         
7673         Find highlight is incorrect with transforms
7674         <rdar://problem/6358394>
7676         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
7677         when computing the set of rects that encompass a selection. For transformed elemenets, the
7678         selection rect will be the bounding box of the selected content.
7679         
7680         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
7681         
7682         Test: editing/selection/transformed-selection-rects.html
7683         
7684         * WebCore.base.exp:
7685         Frame::selectionTextRects() has a new parameter.
7686         
7687         * dom/Document.cpp:
7688         (WebCore::Document::setRenderedRectForMarker):
7689         * dom/Document.h:
7690         Pass the marker as a const reference.
7691         
7692         * dom/Range.h:
7693         * dom/Range.cpp:
7694         (WebCore::Range::textQuads):
7695         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
7696         
7697         * page/Frame.h:
7698         * page/Frame.cpp:
7699         (WebCore::Frame::selectionTextRects):
7700         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
7701         method to get quads for ranges, and then take their bounding boxes.
7703         * rendering/InlineTextBox.h:
7704         * rendering/InlineTextBox.cpp:
7705         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
7706         (WebCore::InlineTextBox::paintTextMatchMarker):
7707         (WebCore::InlineTextBox::computeRectForReplacementMarker):
7708         (WebCore::InlineTextBox::paintDocumentMarkers):
7709         (WebCore::InlineTextBox::textPos):
7710         (WebCore::InlineTextBox::offsetForPosition):
7711         
7712         Pass DocumentMarkers as a const references.
7713         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
7714         
7715         * rendering/RenderView.cpp:
7716         (WebCore::RenderView::selectionBounds):
7718 2009-11-23  Dirk Schulze  <krit@webkit.org>
7720         Reviewed by Oliver Hunt.
7722         [Cairo] support blurred test-shadow
7723         [https://bugs.webkit.org/show_bug.cgi?id=31797]
7725         Support for blurred text-shadows on Cairo. This patch
7726         reuses the code of blurred box-shadows, introduced in
7727         bug 26102. For a full textshadow support, a filters enabled
7728         build is needed.
7730         * platform/graphics/cairo/FontCairo.cpp:
7731         (WebCore::Font::drawGlyphs):
7733 2009-11-23  Jens Alfke  <snej@chromium.org>
7735         Reviewed by Geoffrey Garen.
7737         Change incorrect calls to the constructor "EventNames()" to the correct accessor
7738         "eventNames()". This saves ~100 AtomicString lookups each time.
7739         https://bugs.webkit.org/show_bug.cgi?id=31811
7741         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
7742         * history/CachedFrame.cpp:
7743         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
7744         * html/HTMLFormControlElement.cpp:
7745         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
7746         * loader/FrameLoader.cpp:
7747         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
7748         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
7749         * page/DOMWindow.cpp:
7750         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
7752 2009-11-23  Adam Langley  <agl@google.com>
7754         Reviewed by Dmitry Titov.
7756         Chromium Linux: Limit the stroke width and mitre limit.
7758         Limit the stroke width and mitre limit that we'll pass into Skia to
7759         avoid overflowing Skia's uint16_t glyph widths.
7761         http://code.google.com/p/chromium/issues/detail?id=28250
7762         https://bugs.webkit.org/show_bug.cgi?id=31747
7764         * platform/graphics/skia/PlatformContextSkia.cpp:
7765         (scalarBound):
7766         (PlatformContextSkia::setupPaintForStroking):
7768 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
7770         Reviewed by Oliver Hunt.
7772         https://bugs.webkit.org/show_bug.cgi?id=31812
7773         WebSocket code uses RefPtr::get() where it shouldn't
7775         No change in funcitonality, just coding style correction.
7777         * websockets/WebSocket.cpp:
7778         (WebCore::WebSocket::~WebSocket):
7779         * websockets/WebSocketChannel.cpp:
7780         (WebCore::WebSocketChannel::connect):
7781         (WebCore::WebSocketChannel::send):
7782         (WebCore::WebSocketChannel::bufferedAmount):
7783         (WebCore::WebSocketChannel::close):
7784         (WebCore::WebSocketChannel::disconnect):
7785         (WebCore::WebSocketChannel::didOpen):
7786         (WebCore::WebSocketChannel::didClose):
7787         (WebCore::WebSocketChannel::didReceiveData):
7788         (WebCore::WebSocketChannel::didFail):
7790 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
7792         Build fix.
7794         * platform/network/cf/SocketStreamHandleCFNet.cpp:
7795         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
7796         is static, so it can't use member variables directly.
7798 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
7800         Reviewed by Brady Eidson.
7802         https://bugs.webkit.org/show_bug.cgi?id=31748
7803         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
7805         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
7806         they didn't carry useful information.
7808         * platform/network/cf/SocketStreamHandleCFNet.cpp:
7809         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
7810         always need https.
7811         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
7812         only get scheduled after PAC is fetched and executed asynchronously.
7813         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
7814         source.
7815         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
7816         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
7817         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
7818         we make the call even on Mac.
7819         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
7820         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
7821         we need to get rid of the event source.
7822         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
7823         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
7824         array may come directly from system configuration, or from PAC.
7825         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
7826         separate.
7827         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
7828         before we get to the destructor.
7829         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
7830         is still in progress.
7832 2009-11-23  Oliver Hunt  <oliver@apple.com>
7834         Reviewed by Geoff Garen.
7836         Don't leak the CGImage we create when drawing a sub image.
7838         * platform/graphics/cg/ImageCG.cpp:
7839         (WebCore::BitmapImage::draw):
7841 2009-11-23  Adam Barth  <abarth@webkit.org>
7843         Reviewed by Dimitri Glazkov.
7845         [V8] Don't crash when OOM in creating isolated world
7846         https://bugs.webkit.org/show_bug.cgi?id=31805
7848         We need to add some more null checks to avoid crashing.  No new tests
7849         because we don't have a good way to test out-of-memory bugs.
7851         * bindings/v8/V8Proxy.cpp:
7852         (WebCore::V8Proxy::evaluateInIsolatedWorld):
7853         (WebCore::V8Proxy::evaluateInNewContext):
7854         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
7855         * bindings/v8/V8Proxy.h:
7857 2009-11-23  Dirk Schulze  <krit@webkit.org>
7859         Reviewed by Nikolas Zimmermann.
7861         This is the implementation of the filterRes attribute. It
7862         helps the SVG developer to set the quality of a filter by
7863         giving the width or height of filter.
7864         This patch also sets the filter resolution to lower values
7865         if a intermediate ImageBuffer size is bigger than the given
7866         maximal size.
7867         The maximal size is set to 5000x5000 by default. This is a
7868         subjectiv decission. Everthing greater than this values gets
7869         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
7870         For mobil devices a maximum size of 100x100 or 200x200 seems
7871         to be reasonable.
7872         The important fact on filter resolution is, that the output
7873         size is still the size given by the <filter> element.
7875         Tests: svg/filters/big-sized-filter-2.svg
7876                svg/filters/big-sized-filter.svg
7877                svg/filters/filterRes.svg
7879         * platform/graphics/FloatRect.cpp:
7880         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
7881         * platform/graphics/FloatRect.h:
7882         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
7883         * platform/graphics/cairo/GraphicsContextCairo.cpp:
7884         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
7885         calculation.
7886         * platform/graphics/filters/FEBlend.cpp:
7887         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
7888         * platform/graphics/filters/FEColorMatrix.cpp:
7889         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
7890         * platform/graphics/filters/FEComponentTransfer.cpp:
7891         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
7892         calculations.
7893         * platform/graphics/filters/FEComposite.cpp:
7894         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
7895         * platform/graphics/filters/FEGaussianBlur.cpp:
7896         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
7897         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
7898         of a filter output.
7899         (WebCore::Filter::filterResolution):
7900         (WebCore::Filter::setFilterResolution):
7901         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
7902         as well as the scaledSubRegion. It also searches for the biggest effect size.
7903         We have to change the filter resolution, if one intermediate ImageBuffer size
7904         doesn't fit in the maximal image size.
7905         * platform/graphics/filters/FilterEffect.cpp:
7906         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
7907         the right part of a previous effect result.
7908         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
7909         the right part of a previous effect result.
7910         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
7911         a new intermediate ImageBuffer for the result of the current effect.
7912         * platform/graphics/filters/FilterEffect.h:
7913         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
7914         filter effect.
7915         (WebCore::FilterEffect::setScaledSubRegion):
7916         (WebCore::FilterEffect::effectBoundaries): The original values of the
7917         EffectElement for a second subRegion calculation.
7918         (WebCore::FilterEffect::setEffectBoundaries):
7919         * platform/graphics/filters/ImageBufferFilter.cpp:
7920         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
7921         * platform/graphics/filters/ImageBufferFilter.h:
7922         (WebCore::ImageBufferFilter::maxImageSize):
7923         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
7924         * platform/graphics/filters/SourceAlpha.cpp:
7925         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
7926         intern calculations.
7927         * platform/graphics/filters/SourceGraphic.cpp:
7928         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
7929         intern calculations.
7930         * svg/SVGFilterElement.cpp:
7931         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
7932         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
7933         filterResolution.
7934         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
7935         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
7936         values to effectBoundaries of the filter effect
7937         * svg/graphics/SVGResourceFilter.cpp:
7938         (WebCore::SVGResourceFilter::SVGResourceFilter):
7939         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
7940         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
7941         fits into the maximal image size, modifys scale factors if not and return a
7942         bool: fits.
7943         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
7944         filterResolution (given by FilterElement or calculated on to big image sizes).
7945         Set the scale level to SVGFilter.
7946         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
7947         is wrong.
7948         * svg/graphics/SVGResourceFilter.h:
7949         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
7950         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
7951         a FilterResolution?
7952         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
7953         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
7954         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
7955         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
7956         Kernel values are scaled to current filter resolution too.
7957         * svg/graphics/filters/SVGFEFlood.cpp:
7958         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
7959         * svg/graphics/filters/SVGFEMerge.cpp:
7960         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
7961         Kernel values are scaled to current filter resolution too.
7962         * svg/graphics/filters/SVGFEMorphology.cpp:
7963         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
7964         Kernel values are scaled to current filter resolution too.
7965         * svg/graphics/filters/SVGFEOffset.cpp:
7966         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
7967         * svg/graphics/filters/SVGFETile.cpp:
7968         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
7969         * svg/graphics/filters/SVGFilter.cpp:
7970         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
7971         scaledSubRegion according to the current filterResolution and get the maximal image size.
7972         * svg/graphics/filters/SVGFilter.h:
7973         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
7974         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
7975         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
7976         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
7978 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
7980         Reviewed by Kenneth Rohde Christiansen.
7982         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
7983         the wrapped object died before the gc removed the instance.
7985         https://bugs.webkit.org/show_bug.cgi?id=31681
7987         Before using a cached instance, verify that its wrapped QObject is
7988         still alive.
7990         * bridge/qt/qt_instance.cpp:
7991         (JSC::Bindings::QtInstance::getQtInstance):
7992         * bridge/qt/qt_instance.h:
7993         (JSC::Bindings::QtInstance::hashKey):
7995 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
7997         Reviewed by Oliver Hunt.
7999         ARIA: support aria-flowto
8000         https://bugs.webkit.org/show_bug.cgi?id=31762
8002         Test: platform/mac/accessibility/aria-flowto.html
8004         * accessibility/AccessibilityObject.h:
8005         (WebCore::AccessibilityObject::ariaOwnsElements):
8006         (WebCore::AccessibilityObject::supportsARIAFlowTo):
8007         (WebCore::AccessibilityObject::ariaFlowToElements):
8008         * accessibility/AccessibilityRenderObject.cpp:
8009         (WebCore::AccessibilityRenderObject::linkedUIElements):
8010         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
8011         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
8012         * accessibility/AccessibilityRenderObject.h:
8013         * html/HTMLAttributeNames.in:
8015 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
8017         Not reviewed. Build fix for WML enabled builds.
8018         Adopt WebCore API changes.
8020         * wml/WMLAElement.cpp:
8021         (WebCore::WMLAElement::defaultEventHandler):
8022         * wml/WMLInputElement.cpp:
8023         (WebCore::WMLInputElement::defaultEventHandler):
8025 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
8027         Reviewed by Timothy Hatcher.
8029         Web Inspector: Introduce sidebar background on timeline panel in order
8030         to prevent it from flickering on scroll.
8032         https://bugs.webkit.org/show_bug.cgi?id=31789
8034         * inspector/front-end/TimelinePanel.js:
8035         (WebInspector.TimelinePanel):
8036         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
8037         (WebInspector.TimelinePanel.prototype._onScroll):
8038         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
8039         * inspector/front-end/inspector.css:
8041 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
8043         Reviewed by Timothy Hatcher.
8045         Web Inspector: Reimplement TimelinePanel to make it fast:
8046         - Extract grid and overview into separate files
8047         - Make timeline create only divs for visible rows
8049         https://bugs.webkit.org/show_bug.cgi?id=31784
8051         * WebCore.gypi:
8052         * WebCore.vcproj/WebCore.vcproj:
8053         * inspector/front-end/AbstractTimelinePanel.js:
8054         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
8055         (WebInspector.AbstractTimelinePanel.prototype.refresh):
8056         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
8057         * inspector/front-end/TimelineGrid.js: Added.
8058         (WebInspector.TimelineGrid):
8059         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
8060         (WebInspector.TimelineGrid.prototype.updateDividers):
8061         (WebInspector.TimelineGrid.prototype.addEventDivider):
8062         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
8063         * inspector/front-end/TimelineOverviewPane.js: Added.
8064         (WebInspector.TimelineOverviewPane):
8065         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
8066         (WebInspector.TimelineOverviewPane.prototype.update):
8067         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
8068         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
8069         (WebInspector.TimelineOverviewPane.prototype.reset):
8070         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
8071         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
8072         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
8073         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
8074         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
8075         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
8076         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
8077         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
8078         (WebInspector.TimelineOverviewCalculator):
8079         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
8080         (WebInspector.TimelineOverviewCalculator.prototype.reset):
8081         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
8082         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
8083         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
8084         (WebInspector.TimelineCategoryTreeElement):
8085         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
8086         (WebInspector.TimelineCategoryGraph):
8087         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
8088         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
8089         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
8090         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
8091         * inspector/front-end/TimelinePanel.js:
8092         (WebInspector.TimelinePanel):
8093         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
8094         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
8095         (WebInspector.TimelinePanel.prototype._formatRecord):
8096         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
8097         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
8098         (WebInspector.TimelinePanel.prototype.resize):
8099         (WebInspector.TimelinePanel.prototype.reset):
8100         (WebInspector.TimelinePanel.prototype.show):
8101         (WebInspector.TimelinePanel.prototype._onScroll):
8102         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
8103         (WebInspector.TimelinePanel.prototype._refresh):
8104         (WebInspector.TimelinePanel.prototype._refreshRecords):
8105         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
8106         (WebInspector.TimelineCategory):
8107         (WebInspector.TimelineCalculator):
8108         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
8109         (WebInspector.TimelineRecordListRow):
8110         (WebInspector.TimelineRecordListRow.prototype.update):
8111         (WebInspector.TimelineRecordGraphRow):
8112         (WebInspector.TimelineRecordGraphRow.prototype.update):
8113         * inspector/front-end/WebKit.qrc:
8114         * inspector/front-end/inspector.css:
8115         * inspector/front-end/inspector.html:
8117 2009-11-22  Chris Evans  <cevans@chromium.org>
8119         Reviewed by Adam Barth.
8121         Disable access to file:/// directory listings
8122         https://bugs.webkit.org/show_bug.cgi?id=31329
8124         Deny access to directory listings. This needs doing in WebKit for
8125         WebKit clients that do permit top-level navigation to file:///dir.
8126         This matches Firefox, plus the existing Safari implementation (which
8127         does not support any directory access at all). It will fix the
8128         LayoutTest named below for Chromium.
8130         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
8132         * page/SecurityOrigin.cpp: Deny access to directory listings.
8133         (WebCore::SecurityOrigin::SecurityOrigin):
8134         (WebCore::SecurityOrigin::canRequest):
8136 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
8138         Reviewed by Timothy Hatcher.
8140         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
8141         https://bugs.webkit.org/show_bug.cgi?id=31400
8143         Handle the following when on a Mac:
8145           Ctrl+P = Previous (like Up arrow)
8146           Ctrl+N = Next (like Down arrow)
8148         No longer rerun autocompletion when just pushing a modifier key
8149         like Control, Alt, Shift, or Meta.
8151         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
8153           Up   = Previous Command if on First Line (caret moves to the end of the first line)
8154                  otherwise default caret movement in text.
8155           Down = Next Command if on Last Line (caret naturally moves to the end)
8156                  otherwise default caret movement in text.
8158         * inspector/front-end/TextPrompt.js:
8159         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
8160         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
8161         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
8162         (WebInspector.TextPrompt.prototype._upKeyPressed):
8163         (WebInspector.TextPrompt.prototype._downKeyPressed):
8164         (WebInspector.TextPrompt.prototype._moveBackInHistory):
8165         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
8167 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
8169         Reviewed by Timothy Hatcher.
8171         Adds a tooltip containing the full url of the resource to each element
8172         in the Resources panel so that it is possible to quickly see the query
8173         parameters.
8174         https://bugs.webkit.org/show_bug.cgi?id=19103
8176         * inspector/front-end/ResourcesPanel.js:
8177         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
8178         Set the tooltip to be the resource's url.
8180 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
8182         Reviewed by Dan Bernstein.
8184         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
8185         https://bugs.webkit.org/show_bug.cgi?id=31588
8186         
8187         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
8188         so that findRule() and deleteRule() work with these keywords.
8190         * css/WebKitCSSKeyframesRule.cpp:
8191         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
8193 2009-11-21  Daniel Bates  <dbates@webkit.org>
8195         Reviewed by Eric Seidel.
8197         https://bugs.webkit.org/show_bug.cgi?id=31647
8199         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
8201         No functionality was changed. So, no new tests.
8203         * dom/KeyboardEvent.cpp:
8204         (WebCore::KeyboardEvent::~KeyboardEvent):
8205         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
8206         (WebCore::KeyboardEvent::keyEvent):
8208 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
8210         Reviewed by Beth Dakin.
8212         WAI-ARIA: add support for aria-owns
8213         https://bugs.webkit.org/show_bug.cgi?id=31702
8215         Re-organized how accessibilityAttributeNames are returned so 
8216         that it's possible for an element to add an attribute based on 
8217         a dynamic value. In this case, we only want to add AXOwn if the 
8218         element actually supports aria-owns.
8219   
8220         Test: platform/mac/accessibility/aria-owns.html
8222         * accessibility/AccessibilityObject.h:
8223         (WebCore::AccessibilityObject::supportsARIAOwns):
8224         (WebCore::AccessibilityObject::ariaOwnsElements):
8225         * accessibility/AccessibilityRenderObject.cpp:
8226         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
8227         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
8228         * accessibility/AccessibilityRenderObject.h:
8229         * accessibility/mac/AccessibilityObjectWrapper.mm:
8230         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
8231         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
8232         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
8233         * html/HTMLAttributeNames.in:
8235 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
8237         Reviewed by Simon Fraser.
8239         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
8241         * css/mediaControls.css:
8242             Define closed caption toggle button.
8244         * rendering/RenderMedia.cpp:
8245         (WebCore::RenderMedia::updateControls):
8246             Create closed caption toggle button in display order.
8248         * rendering/RenderThemeMac.mm:
8249         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
8250             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
8251             No need to check if the movie has video, a closed captions track is a video
8252             track.
8254 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
8256         Reviewed by Timothy Hatcher.
8258         Web Inspector: Running code in the Console that ends with a
8259         single line comment no longer produces a parse error.
8261         * inspector/front-end/InjectedScript.js:
8262         (InjectedScript._evaluateOn):
8264 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
8266         Reviewed by Beth Dakin.
8268         WAI-ARIA: add support for 'math' role
8269         https://bugs.webkit.org/show_bug.cgi?id=31706
8271         * accessibility/AccessibilityObject.cpp:
8272         * accessibility/AccessibilityObject.h:
8273         * accessibility/mac/AccessibilityObjectWrapper.mm:
8275 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
8277         Reviewed by Kenneth Rohde Christiansen.
8279         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
8280         https://bugs.webkit.org/show_bug.cgi?id=30460
8282         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
8283         It already refreshes plugins and reloads pages when necessary.
8285         Tests: plugins/reloadplugins-and-pages.html
8286                plugins/reloadplugins-no-pages.html
8288         * plugins/PluginInfoStore.cpp:
8289         (WebCore::refreshPlugins):
8291 2009-11-20  Oliver Hunt  <oliver@apple.com>
8293         Reviewed by Dave Hyatt.
8295         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
8297         Expose WebCore object serialization to WebKit.
8299         * WebCore.base.exp:
8300         * bindings/js/SerializedScriptValue.cpp:
8301         (WebCore::SerializedScriptValue::~SerializedScriptValue):
8302         (WebCore::SerializedScriptValue::create):
8303         (WebCore::SerializedScriptValue::deserialize):
8304         * bindings/js/SerializedScriptValue.h:
8306 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
8308         Reviewed by Tim Hatcher.
8310         Fixes <http://webkit.org/b/31741>.
8311         Web Inspector: User Entered Data on the console should show up no matter what filters.
8312         
8313         Always show .console-user-command-result, no matter what the filter say
8314         we should do with the other classes.
8316         * inspector/front-end/inspector.css:
8318 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
8320         Reviewed by Tim Hatcher.
8322         Fixes <http://webkit.org/b/31700>.
8323         Web Inspector: isMac should be in one central location + Cached.
8324         
8325         We should cache the value of isMac, and make the indexOf call in one
8326         single location, because we are calling it from multiple places, and saving
8327         the result can save us time, and make the call sites simpler.
8329         * inspector/front-end/AbstractTimelinePanel.js:
8330         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
8331         * inspector/front-end/ConsoleView.js:
8332         (WebInspector.ConsoleView.prototype._updateFilter):
8333         * inspector/front-end/ElementsPanel.js:
8334         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
8335         * inspector/front-end/ScriptsPanel.js:
8336         (WebInspector.ScriptsPanel):
8337         * inspector/front-end/SourceFrame.js:
8338         (WebInspector.SourceFrame.prototype._loaded):
8339         * inspector/front-end/inspector.js:
8340         (WebInspector.documentKeyDown):
8341         (WebInspector.isMac):
8343 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
8345         Removed .DS_Store accidentally added in last (r51245).
8347 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
8349         Reviewed by Timothy Hatcher.
8351         Web Inspector: Add Console Only Layout Mode
8352         https://bugs.webkit.org/show_bug.cgi?id=30282
8354         Adds a Console Panel, which allows for a Full size Console. This
8355         extends the Drawer to the size of a Panel. This also fixes previous
8356         resize issues with the Drawer.
8358         * inspector/front-end/ConsolePanel.js: added.
8359         (WebInspector.ConsolePanel):
8360         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
8361         (WebInspector.ConsolePanel.prototype.show):
8362         (WebInspector.ConsolePanel.prototype.hide):
8363         * inspector/front-end/Drawer.js:
8364         (WebInspector.Drawer):
8365         (WebInspector.Drawer.prototype.set visibleView):
8366         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
8367         (WebInspector.Drawer.prototype.show.animationFinished):
8368         (WebInspector.Drawer.prototype.show):
8369         (WebInspector.Drawer.prototype.hide.animationFinished):
8370         (WebInspector.Drawer.prototype.hide):
8371         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
8372         (WebInspector.Drawer.prototype.enterPanelMode):
8373         (WebInspector.Drawer.prototype.exitPanelMode):
8374         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
8375         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
8376         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
8377         (WebInspector.Drawer.prototype._animateDrawerHeight):
8378         (WebInspector.Drawer.prototype._animationDuration):
8379         (WebInspector.Drawer.prototype._startStatusBarDragging):
8380         (WebInspector.Drawer.prototype._statusBarDragging):
8381         (WebInspector.Drawer.prototype._endStatusBarDragging):
8383         Miscellaneous changes and cleanup.
8385         * English.lproj/localizedStrings.js: "Console" toolbar title.
8386         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
8387         * inspector/front-end/Images/consoleIcon.png: added.
8388         * inspector/front-end/inspector.css: added icon.
8389         * inspector/front-end/inspector.html:
8390         * inspector/front-end/inspector.js:
8391         (WebInspector._createPanels): create console panel
8392         (WebInspector.windowResize): resize drawer if necessary
8393         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
8394         (WebInspector.animateStyle): start animation interval, returns the interval key
8395         (WebInspector.toggleAttach): resize drawer if necessary
8396         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
8397         (WebInspector.showProfileForURL): style fix
8399         Restore the panel when the inspector restarts.
8401         * inspector/InspectorController.cpp:
8402         (WebCore::InspectorController::setWindowVisible):
8403         (WebCore::InspectorController::specialPanelForJSName):
8404         * inspector/InspectorFrontend.cpp:
8405         (WebCore::InspectorFrontend::showPanel):
8407         Build files.
8409         * WebCore.gypi:
8410         * WebCore.vcproj/WebCore.vcproj:
8411         * inspector/front-end/WebKit.qrc:
8413 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
8415         Reviewed by Tim Hatcher.
8417         Fixes <http://webkit.org/b/31699>.
8418         Web Inspector: Should Cache Values of InspectorController.platform() and port().
8420         Refactor the Inspector to cache the value of InspectorController.platform
8421         and InspectorController.port, because those need to call into C++, they are
8422         being called more and more as we add platform specific keyboard shortcuts, and
8423         they shouldn't change in the lifecycle of the Web Inspector.
8425         * inspector/front-end/AbstractTimelinePanel.js:
8426         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
8427         * inspector/front-end/ConsoleView.js:
8428         (WebInspector.ConsoleView.prototype._updateFilter):
8429         * inspector/front-end/ElementsPanel.js:
8430         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
8431         * inspector/front-end/ScriptsPanel.js:
8432         (WebInspector.ScriptsPanel):
8433         * inspector/front-end/SourceFrame.js:
8434         (WebInspector.SourceFrame.prototype._loaded):
8435         * inspector/front-end/inspector.js:
8436         (WebInspector.get platform):
8437         (WebInspector.get port):
8438         (WebInspector.loaded):
8439         (WebInspector.documentKeyDown):
8440         (WebInspector.toolbarDragStart):
8442 2009-11-20  Dirk Schulze  <krit@webkit.org>
8444         Unreviewed build fix for filters enabled builds.
8446         * platform/graphics/filters/FEColorMatrix.cpp:
8447         (WebCore::FEColorMatrix::apply):
8448         * platform/graphics/filters/FEComposite.cpp:
8449         (WebCore::FEComposite::apply):
8450         * platform/graphics/filters/SourceGraphic.cpp:
8451         (WebCore::SourceGraphic::apply):
8452         * svg/graphics/SVGResourceFilter.cpp:
8453         (WebCore::SVGResourceFilter::applyFilter):
8454         * svg/graphics/filters/SVGFEMerge.cpp:
8455         (WebCore::FEMerge::apply):
8456         * svg/graphics/filters/SVGFEOffset.cpp:
8457         (WebCore::FEOffset::apply):
8458         * svg/graphics/filters/SVGFETile.cpp:
8459         (WebCore::FETile::apply):
8461 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
8463         Reviewed by Simon Fraser.
8465         <rdar://problem/7389945> QTKit based media engine should not claim to support 
8466         fullscreen on Leopard
8468         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8469         (WebCore::MediaPlayerPrivate::supportsFullscreen):
8470             Only return true on SnowLeopard for now.
8472         * rendering/RenderThemeMac.mm:
8473         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
8474             No need to special case MediaFullscreenButtonPart as the default implementation 
8475             asks the media engine if it supports fullscreen.
8477 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
8479         Reviewed by Simon Hausmann.
8481         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
8482                  Girish Ramakrishnan <girish@forwardbias.in>
8483         
8484         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
8485         without a QWebView or when inside QGraphicsWebView.
8486         
8487         Currently, the code provides the cgcontext of the PlatformPluginWidget to
8488         the plugin. This approach does not work when we are printing, or using
8489         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
8490         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
8491         of the QPaintDevice's context.
8492         
8493         To solve all cases and keep the code simple, we render the plugin to an
8494         offscreen pixmap in all cases. This way, the plugin always renders to the
8495         CGContext of the pixmap and we then use QPainter to blit the pixmap into
8496         the QPaintDevice. We also create a fake window and set it's WindowRef in
8497         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
8498         
8499         Now, that's the theory. In practice, ATM, mouse events do not work when using
8500         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
8501         so that there are no regressions after this patch. Once we get mouse events
8502         working, setPlatformPluginWidget will be removed.
8503         
8504         https://bugs.webkit.org/show_bug.cgi?id=31183
8506         * plugins/PluginView.cpp:
8507         (WebCore::PluginView::PluginView):
8508         * plugins/PluginView.h:
8509         * plugins/mac/PluginViewMac.cpp:
8510         (WebCore::PluginView::platformStart):
8511         (WebCore::PluginView::platformDestroy):
8512         (WebCore::PluginView::setNPWindowIfNeeded):
8513         (WebCore::PluginView::updatePluginWidget):
8514         (WebCore::PluginView::paint):
8515         (WebCore::PluginView::invalidateRect):
8517 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
8519         Reviewed by Timothy Hatcher.
8521         Web Inspector: Resync Resources Backend and Frontend
8522         https://bugs.webkit.org/show_bug.cgi?id=31705
8524         * inspector/front-end/Resource.js: resync enum values with backend
8525         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
8527 2009-11-19  Steve Block  <steveblock@google.com>
8529         Reviewed by Darin Fisher.
8531         Android port lacks configuration in Platform.h and config.h.
8532         https://bugs.webkit.org/show_bug.cgi?id=31671
8534         Build change only. No new tests possible.
8536         * config.h: Modified. Added Android-specific configuration.
8538 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
8540         Reviewed by Darin Adler.
8542         Change default stylesheet to reset text indentation for ruby elements by default.
8543         (https://bugs.webkit.org/show_bug.cgi?id=31247)
8545         Test: fast/ruby/ruby-text-indent.html
8547         * css/html.css: reset text-indent on <ruby> and <rt> elements
8549 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
8551         Reviewed by Darin Adler.
8553         Fixes <http://webkit.org/b/22754>.
8554         Web Inspector: Keyboard shortcut for Element finder.
8556         Use Command + Shift + C as a shortcut for Node Search, to 
8557         match the Firebug shortcut to do the same thing.
8559         * inspector/front-end/ElementsPanel.js:
8560         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
8562 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
8564         Reviewed by Darin Adler.
8566         https://bugs.webkit.org/show_bug.cgi?id=31690
8567         Make SocketStreamHandleCFNet work on Windows
8569         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
8571         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
8573         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
8574         (WebCore::emptyPerform):
8575         (WebCore::runLoaderThread):
8576         (WebCore::loaderRunLoop):
8577         * platform/network/cf/LoaderRunLoopCF.h: Added.
8578         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
8579         it's needed for more than just resource loading.
8581         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
8583         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
8585         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
8586         main thread.
8587         * platform/network/cf/SocketStreamHandleCFNet.cpp:
8588         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
8589         inoperable main run loop.
8591         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
8592         (WebCore::SocketStreamHandle::readStreamCallback):
8593         (WebCore::SocketStreamHandle::writeStreamCallback):
8594         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
8595         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
8596         Forward stream events to main thread on Windows.
8598 2009-11-19  Avi Drissman  <avi@chromium.org>
8600         Reviewed by Darin Adler.
8602         Quick style fix.
8603         https://bugs.webkit.org/show_bug.cgi?id=27777
8605         * platform/graphics/cg/PDFDocumentImage.cpp:
8607 2009-11-19  Beth Dakin  <bdakin@apple.com>
8609        Build fix. No review needed.
8611         * platform/chromium/ScrollbarThemeChromium.cpp:
8612         (WebCore::ScrollbarThemeChromium::paintTickmarks):
8613         * rendering/RenderMediaControlsChromium.cpp:
8614         (WebCore::paintMediaButton):
8616 2009-11-19  Beth Dakin  <bdakin@apple.com>
8617       
8618        Build fix. No review needed.
8620         * rendering/RenderThemeChromiumSkia.cpp:
8621         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
8622         (WebCore::RenderThemeChromiumSkia::paintRadio):
8623         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
8624         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
8625         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
8627 2009-11-19  Beth Dakin  <bdakin@apple.com>
8629        Build fix. No review needed.
8631         * platform/graphics/qt/StillImageQt.cpp:
8632         (WebCore::StillImage::draw):
8633         * platform/graphics/qt/StillImageQt.h:
8635 2009-11-19  Beth Dakin  <bdakin@apple.com>
8637        Build fix. No review needed.
8639         * rendering/RenderThemeWin.cpp:
8640         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
8641         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
8642         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
8644 2009-11-19  Beth Dakin  <bdakin@apple.com>
8646        Build fix. No review needed.
8648         * plugins/PluginView.cpp:
8649         (WebCore::PluginView::paintMissingPluginIcon):
8651 2009-11-19  Beth Dakin  <bdakin@apple.com>
8653         Build fix. No review needed.
8655         * platform/graphics/win/ImageCGWin.cpp:
8656         (WebCore::BitmapImage::getHBITMAPOfSize):
8657         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
8659 2009-11-19  Beth Dakin  <bdakin@apple.com>
8661         Reviewed by Darin Adler.
8663         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
8664         color-correction work with untagged images
8666         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
8667         now take a ColorSpace. A bunch of classes inherit from Image, so 
8668         draw() and drawPattern() functions there must also take a 
8669         ColorSpace.
8670         * platform/graphics/Image.cpp:
8671         (WebCore::Image::fillWithSolidColor):
8672         (WebCore::Image::drawTiled):
8673         * platform/graphics/Image.h:
8674         * platform/graphics/BitmapImage.h:
8675         * platform/graphics/GeneratedImage.cpp:
8676         (WebCore::GeneratedImage::draw):
8677         (WebCore::GeneratedImage::drawPattern):
8678         * platform/graphics/GeneratedImage.h:
8679         * platform/graphics/cg/PDFDocumentImage.cpp:
8680         (WebCore::PDFDocumentImage::draw):
8681         * platform/graphics/cg/PDFDocumentImage.h:
8682         * svg/graphics/SVGImage.cpp:
8683         (WebCore::SVGImage::draw):
8684         * svg/graphics/SVGImage.h:
8686         All of the drawImage() functions and drawTiled() functions of 
8687         GraphicsContext now take a ColorSpace.
8688         * platform/graphics/GraphicsContext.cpp:
8689         (WebCore::GraphicsContext::drawImage):
8690         (WebCore::GraphicsContext::drawTiledImage):
8691         * platform/graphics/GraphicsContext.h:
8693         This is where the actual work is done.
8694         * platform/graphics/cg/ImageCG.cpp:
8695         (WebCore::imageWithColorSpace): New static function that returns a 
8696         copy of the given image in the given ColorSpace *IF* we should use 
8697         the given ColorSpace. We will ignore the color space if the image 
8698         is tagged and return 0. 
8699         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
8700         call imageWithColorSpace(). 
8701         (WebCore::Image::drawPattern): Same.
8703         Attempt to keep all ports building. 
8704         * platform/graphics/cairo/ImageCairo.cpp:
8705         (WebCore::BitmapImage::draw):
8706         (WebCore::Image::drawPattern):
8707         * platform/graphics/haiku/ImageHaiku.cpp:
8708         (WebCore::BitmapImage::draw):
8709         (WebCore::Image::drawPattern):
8710         * platform/graphics/qt/ImageQt.cpp:
8711         (WebCore::Image::drawPattern):
8712         (WebCore::BitmapImage::draw):
8713         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
8714         * platform/graphics/skia/ImageSkia.cpp:
8715         (WebCore::Image::drawPattern):
8716         (WebCore::BitmapImage::draw):
8717         (WebCore::BitmapImageSingleFrameSkia::draw):
8718         * platform/graphics/wx/ImageWx.cpp:
8719         (WebCore::BitmapImage::draw):
8720         (WebCore::BitmapImage::drawPattern):
8722         Callers of GraphicsContext's drawImage() and drawTiled() functions 
8723         now need to send a ColorSpace.
8724         * html/HTMLCanvasElement.cpp:
8725         (WebCore::HTMLCanvasElement::paint):
8726         * html/canvas/CanvasRenderingContext2D.cpp:
8727         (WebCore::CanvasRenderingContext2D::drawImage):
8728         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
8729         * platform/ScrollView.cpp:
8730         (WebCore::ScrollView::wheelEvent):
8731         * platform/graphics/filters/FEColorMatrix.cpp:
8732         (WebCore::FEColorMatrix::apply):
8733         * platform/graphics/filters/FEComposite.cpp:
8734         (WebCore::FEComposite::apply):
8735         * platform/graphics/filters/SourceGraphic.cpp:
8736         (WebCore::SourceGraphic::apply):
8737         * platform/mac/ScrollbarThemeMac.mm:
8738         (WebCore::ScrollbarThemeMac::paint):
8739         * rendering/RenderBoxModelObject.cpp:
8740         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
8741         (WebCore::RenderBoxModelObject::paintNinePieceImage):
8742         * rendering/RenderImage.cpp:
8743         (WebCore::RenderImage::paintReplaced):
8744         * rendering/RenderLayer.cpp:
8745         (WebCore::RenderLayer::paintResizer):
8746         * rendering/RenderListMarker.cpp:
8747         (WebCore::RenderListMarker::paint):
8748         * rendering/RenderSVGImage.cpp:
8749         (WebCore::RenderSVGImage::paint):
8750         * rendering/RenderWidget.cpp:
8751         (WebCore::RenderWidget::paint):
8752         * svg/graphics/SVGPaintServerPattern.cpp:
8753         (WebCore::SVGPaintServerPattern::setup):
8754         * svg/graphics/SVGResourceFilter.cpp:
8755         (WebCore::SVGResourceFilter::applyFilter):
8756         * svg/graphics/filters/SVGFEMerge.cpp:
8757         (WebCore::FEMerge::apply):
8758         * svg/graphics/filters/SVGFEOffset.cpp:
8759         (WebCore::FEOffset::apply):
8760         * svg/graphics/filters/SVGFETile.cpp:
8761         (WebCore::FETile::apply):
8763 2009-11-19  Avi Drissman  <avi@chromium.org>
8765         Reviewed by Darin Adler.
8767         Properly create a CGImageRef on non-PLATFORM(MAC).
8768         https://bugs.webkit.org/show_bug.cgi?id=27777
8770         * platform/graphics/cg/ImageSourceCG.cpp:
8771         (WebCore::sharedBufferGetBytesAtPosition):
8772         (WebCore::sharedBufferRelease):
8773         (WebCore::ImageSource::setData):
8774         * platform/graphics/cg/ImageSourceCG.h:
8775         * platform/graphics/cg/PDFDocumentImage.cpp:
8776         (WebCore::PDFDocumentImage::dataChanged):
8778 2009-11-19  Oliver Hunt  <oliver@apple.com>
8780         Reviewed by Dave Hyatt.
8782         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
8783         https://bugs.webkit.org/show_bug.cgi?id=31656
8785         Make sure we're a child of the painting root before drawing overflow features.
8787         * manual-tests/user-drag-with-decorations.html: Added.
8788         * rendering/RenderBlock.cpp:
8789         (WebCore::RenderBlock::paint):
8791 2009-11-19  Dmitry Titov  <dimich@chromium.org>
8793         Not reviewed, attempt to fix Chromium build.
8795         * rendering/RenderMediaControlsChromium.cpp:
8796         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
8798 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
8800         Reviewed by Darin Adler.
8802         Do not assert when a high number is used for roman numerals in lists.
8803         https://bugs.webkit.org/show_bug.cgi?id=31652
8805         Test: fast/lists/ol-start-roman.html
8807         * rendering/RenderListMarker.cpp:
8808         (WebCore::toRoman): Increase the char array size.
8810 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
8812         Rubber-stamped by Oliver Hunt.
8814         Add translatable strings to cover validationMessage, after
8815         r51172. Already covered by existing test.
8817         * platform/gtk/LocalizedStringsGtk.cpp:
8818         (WebCore::validationMessageValueMissingText):
8819         (WebCore::validationMessageTypeMismatchText):
8820         (WebCore::validationMessagePatternMismatchText):
8821         (WebCore::validationMessageTooLongText):
8822         (WebCore::validationMessageRangeUnderflowText):
8823         (WebCore::validationMessageRangeOverflowText):
8824         (WebCore::validationMessageStepMismatchText):
8826 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8828         Reviewed by Darin Adler.
8830         Remove HAVE(FLOAT_H) guard
8831         https://bugs.webkit.org/show_bug.cgi?id=31661
8833         WebCore has a dependency on float.h, there is
8834         no need to guard float.h.
8836         No new tests as there is no functional change.
8838         * html/HTMLInputElement.cpp: Remove include directive
8839         for float.h as it is included in MathExtras.h already.
8841 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
8843         Reviewed by Pavel Feldman.
8845         Instrumentation should account for painting in compositing layers
8846         https://bugs.webkit.org/show_bug.cgi?id=31674
8848         Add calls to InspectorTimelineAgent for painting into compositing layers,
8849         which is not accounted for in FrameView::paintContents().
8851         * rendering/RenderLayerBacking.cpp:
8852         (WebCore::RenderLayerBacking::paintIntoLayer):
8853         Avoid fetching the FrameView multiple times.
8854         
8855         (WebCore::inspectorTimelineAgent):
8856         (WebCore::RenderLayerBacking::paintContents):
8858 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
8860         Reviewed by Dan Bernstein.
8862         <rdar://problem/7035231>
8863         Support closed caption in <video> element
8865         Test: media/media-captions.html
8867         * WebCore.base.exp:
8868         * accessibility/AccessibilityMediaControls.cpp:
8869         (WebCore::AccessibilityMediaControl::controlTypeName):
8870             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
8872         * css/CSSPrimitiveValueMappings.h:
8873         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8874             Add MediaToggleClosedCaptionsButtonPart.
8876         * css/CSSSelector.cpp:
8877         (WebCore::CSSSelector::extractPseudoType):
8878             Define and match mediaControlsToggleClosedCaptionsButton.
8880         * css/CSSSelector.h:
8881         (WebCore::CSSSelector::):
8882         * css/CSSStyleSelector.cpp:
8883         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
8884             Define and match PseudoMediaControlsToggleClosedCaptions.
8886         * css/CSSValueKeywords.in:
8887             Define and use media-toggle-closed-captions-button.
8889         * css/mediaControls.css:
8890         * css/mediaControlsQuickTime.css:
8891             Add webkit-media-controls-toggle-closed-captions-button.
8893         * html/HTMLMediaElement.cpp:
8894         (WebCore::HTMLMediaElement::HTMLMediaElement): 
8895             Initialize m_closedCaptionsVisible.
8896         (WebCore::HTMLMediaElement::loadInternal): 
8897             Set m_closedCaptionsVisible to false.
8898         (WebCore::HTMLMediaElement::hasClosedCaptions): 
8899         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
8900         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
8901             New, captions internal methods.
8902         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
8903         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
8904         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
8905             New, captions DOM API.
8907         * html/HTMLMediaElement.h:
8908         * html/HTMLMediaElement.idl:
8909             Declare methods needed for captions API.
8911         * platform/ThemeTypes.h:
8912             Add MediaToggleClosedCaptionsButtonPart.
8914         * platform/android/LocalizedStringsAndroid.cpp:
8915         (WebCore::localizedMediaControlElementString):
8916         (WebCore::localizedMediaControlElementHelpText):
8917         (WebCore::localizedMediaTimeDescription):
8918             Add empty implmentations.
8920         * platform/graphics/MediaPlayer.cpp:
8921         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
8922         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
8923             New, empty implementations of media engine closed caption functions.
8924         (WebCore::MediaPlayer::hasClosedCaptions):
8925         (WebCore::MediaPlayer::setClosedCaptionsVisible):
8926             New, call media engine closed caption functions.
8928         * platform/graphics/MediaPlayer.h:
8929         * platform/graphics/MediaPlayerPrivate.h:
8930         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
8931         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
8932             Declare new media engine methods.
8934         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
8935         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8936         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
8937         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
8938             New, QTKit implementation of closed caption methods.
8940         * platform/gtk/LocalizedStringsGtk.cpp:
8941         (WebCore::localizedMediaControlElementString):
8942         (WebCore::localizedMediaControlElementHelpText):
8943             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
8945         * platform/mac/WebCoreSystemInterface.h:
8946         * platform/mac/WebCoreSystemInterface.mm:
8947             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
8949         * rendering/MediaControlElements.cpp:
8950         (WebCore::MediaControlInputElement::MediaControlInputElement):
8951             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
8952         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
8953         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
8954         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
8955             New, implement the closed caption toggle button,
8957         * rendering/MediaControlElements.h:
8958             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
8959             declare MediaControlToggleClosedCaptionsButtonElement.
8961         * rendering/RenderMedia.cpp:
8962         (WebCore::RenderMedia::styleDidChange):
8963         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
8964         (WebCore::RenderMedia::createStatusDisplay):
8965         (WebCore::RenderMedia::updateControls):
8966         (WebCore::RenderMedia::forwardEvent):
8967         * rendering/RenderMedia.h:
8968             Deal with m_toggleClosedCaptionsButton.
8970         * rendering/RenderTheme.cpp:
8971         (WebCore::RenderTheme::paint):
8972             Deal with MediaToggleClosedCaptionsButtonPart.
8974         * rendering/RenderTheme.h:
8975         * rendering/RenderThemeMac.h:
8976             Declare paintMediaToggleClosedCaptionsButton.
8978         * rendering/RenderThemeMac.mm:
8979         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
8980             New.
8981         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
8982             Don't render captions toggle button unless we are using the new theme, the
8983             movie has captions, and the movie is in a <video> element since we currently
8984             rely on QTKit to render the captions.
8986         * rendering/style/RenderStyleConstants.h:
8987             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
8989 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
8991         wx build fix. Add missing header.
8993         * platform/wx/LocalizedStringsWx.cpp:
8995 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
8997         Reviewed by Darin Adler.
8999         https://bugs.webkit.org/show_bug.cgi?id=31634
9000         Ignore realm for proxy protection spaces
9002         Only affects WebSocket proxy authentication, cannot be tested in DRT.
9004         * platform/network/ProtectionSpace.cpp:
9005         (WebCore::operator==):
9006         * platform/network/ProtectionSpaceHash.h:
9007         (WebCore::ProtectionSpaceHash::hash):
9009 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
9011         Reviewed by Simon Hausmann.
9013         [Qt] Normalize signal and slot signatures.
9015         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9016         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
9018 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
9020         Reviewed by Pavel Feldman.
9022         Store cookie domains in the WebInspector object
9024         The cookie domains have been moved from StoragePanel into WebInspector.
9025         Also, the document URLs are now passed inside the WebInspector.addResource()
9026         payload rather than pushed directly from InspectorController.
9027         https://bugs.webkit.org/show_bug.cgi?id=31627
9029         * inspector/InspectorController.cpp:
9030         (WebCore::InspectorController::populateScriptObjects):
9031         (WebCore::InspectorController::didFinishLoading):
9032         * inspector/InspectorFrontend.cpp:
9033         * inspector/InspectorFrontend.h:
9034         * inspector/InspectorResource.cpp:
9035         (WebCore::InspectorResource::createScriptObject):
9036         (WebCore::InspectorResource::updateScriptObject):
9037         * inspector/front-end/StoragePanel.js:
9038         (WebInspector.StoragePanel.prototype.reset):
9039         (WebInspector.StoragePanel.prototype.addCookieDomain):
9040         * inspector/front-end/inspector.js:
9041         (WebInspector.addResource):
9042         (WebInspector.addCookieDomain):
9043         (WebInspector.reset):
9045 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
9047         Reviewed by Darin Adler.
9049         Allow custom memory allocation control for the other part of platform directory in WebCore
9050         https://bugs.webkit.org/show_bug.cgi?id=31585
9052         Inherits the following classes from FastAllocBase because these are
9053         instantiated by 'new':
9055         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
9056         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
9057         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
9058         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
9060         Inherits the following classes from Noncopyable because these are
9061         instantiated by 'new' and no need to be copyable:
9063         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
9064         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
9065         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
9067         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
9068         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
9070         * platform/graphics/MediaPlayerPrivate.h:
9071         * platform/graphics/Path.h:
9072         * platform/graphics/qt/FontPlatformData.h:
9073         * platform/graphics/transforms/TransformationMatrix.h:
9074         * platform/image-decoders/ImageDecoder.h:
9075         * platform/network/NetworkStateNotifier.h:
9076         * platform/network/ResourceRequestBase.h:
9077         * platform/qt/CursorQt.cpp:
9078         * platform/text/RegularExpression.h:
9080 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9082         Unreviewed.
9084         [Qt] Build fix for QtWebKit after r51172.
9086         * platform/qt/Localizations.cpp:
9087         (WebCore::validationMessageValueMissingText):
9088         (WebCore::validationMessageTypeMismatchText):
9089         (WebCore::validationMessagePatternMismatchText):
9090         (WebCore::validationMessageTooLongText):
9091         (WebCore::validationMessageRangeUnderflowText):
9092         (WebCore::validationMessageRangeOverflowText):
9093         (WebCore::validationMessageStepMismatchText):
9095 2009-11-18  Dan Bernstein  <mitz@apple.com>
9097         Reviewed by Simon Fraser.
9099         Fixed <rdar://problem/7398987> Assertion failure in
9100         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
9101         enclosed by a transformed layer
9103         Tests: fast/layers/clip-rects-transformed-2.html
9104                fast/layers/clip-rects-transformed.html
9106         * rendering/RenderLayer.cpp:
9107         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
9108         that is either transformed or composited. During painting and hit
9109         testing, when a transformed or composited layer is hit, it becomes the
9110         new root layer, which ultimately gets passed to calculateRects().
9111         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
9112         root layer to calculateRects(), and return the bounding box of the
9113         transformed rectangle.
9114         (WebCore::RenderLayer::selfClipRect): Ditto.
9115         * rendering/RenderLayer.h:
9117 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9119         Reviewed by Kenneth Rohde Christiansen.
9121         [Qt] Remove support for Qt v4.3 or older versions
9122         https://bugs.webkit.org/show_bug.cgi?id=29469
9124         No new tests as there is no change if compiled with 
9125         Qt v4.4 or later version.
9127         * WebCore.pro:
9128         * dom/XMLTokenizerQt.cpp:
9129         (WebCore::EntityResolver::resolveUndeclaredEntity):
9130         (WebCore::XMLTokenizer::XMLTokenizer):
9131         (WebCore::XMLTokenizer::~XMLTokenizer):
9132         (WebCore::XMLTokenizer::doWrite):
9133         (WebCore::XMLTokenizer::startDocument):
9134         (WebCore::XMLTokenizer::parseDtd):
9135         * platform/graphics/qt/FontQt.cpp:
9136         * platform/graphics/qt/FontQt43.cpp: Removed.
9137         * platform/graphics/qt/ImageQt.cpp:
9138         * platform/network/ResourceHandleInternal.h:
9139         * platform/network/qt/QNetworkReplyHandler.cpp:
9140         * platform/network/qt/QNetworkReplyHandler.h:
9141         * platform/network/qt/ResourceHandleQt.cpp:
9142         (WebCore::ResourceHandle::start):
9143         (WebCore::ResourceHandle::cancel):
9144         (WebCore::ResourceHandle::loadResourceSynchronously):
9145         (WebCore::ResourceHandle::setDefersLoading):
9146         * platform/network/qt/ResourceRequest.h:
9147         * platform/network/qt/ResourceRequestQt.cpp:
9148         * platform/qt/ClipboardQt.cpp:
9149         (WebCore::ClipboardQt::clearData):
9150         * platform/qt/CookieJarQt.cpp:
9151         (WebCore::cookieJar):
9152         (WebCore::setCookies):
9153         (WebCore::cookies):
9154         (WebCore::cookiesEnabled):
9155         * platform/qt/PlatformKeyboardEventQt.cpp:
9156         (WebCore::keyIdentifierForQtKeyCode):
9157         (WebCore::windowsKeyCodeForKeyEvent):
9158         * platform/text/qt/TextBoundaries.cpp:
9159         * platform/text/qt/TextBreakIteratorQt.cpp:
9160         * plugins/qt/PluginDataQt.cpp:
9161         (WebCore::PluginData::initPlugins):
9163 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
9165         Reviewed by Darin Adler.
9167         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
9168         Support for validationMessage attribute, as per HTML5 specs.
9170         Test: fast/forms/validationMessage.html
9172         * html/HTMLButtonElement.idl: validationMessage attribute
9173         * html/HTMLFieldSetElement.idl: validationMessage attribute
9174         * html/HTMLFormControlElement.cpp:
9175         * html/HTMLFormControlElement.h:
9176         * html/HTMLInputElement.idl: validationMessage attribute
9177         * html/HTMLSelectElement.idl: validationMessage attribute
9178         * html/HTMLTextAreaElement.idl: validationMessage attribute
9179         * html/ValidityState.cpp: new method to retrieve pertinent localized text
9180         * html/ValidityState.h:
9181         * page/mac/WebCoreViewFactory.h:
9182         * platform/LocalizedStrings.h:
9183         * platform/android/LocalizedStringsAndroid.cpp:
9184         * platform/gtk/LocalizedStringsGtk.cpp:
9185         * platform/haiku/LocalizedStringsHaiku.cpp:
9186         * platform/mac/LocalizedStringsMac.mm:
9187         * platform/wx/LocalizedStringsWx.cpp:
9189 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9191         Unreviewed.
9193         Fix a typo. Remove the trailing semicolon
9194         from an include directive after r51137.
9196         No new tests as there is no functional change.
9198         * platform/qt/QWebPageClient.h:
9200 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9202         Unreviewed.
9204         [Qt] Build fix for QtWebKit after r51159.
9206         Include float.h for DBL_MANT_DIG. Not sure why this
9207         is not a problem for other ports.
9209         * html/HTMLInputElement.cpp:
9211 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
9213         Reviewed by Darin Adler.
9215         Bug 31574 -  Crashing bug when removing <ruby> element
9216         (https://bugs.webkit.org/show_bug.cgi?id=31574)
9218         Cause of the bug:
9219         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
9220         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
9221         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
9222         4.) this triggers the special handling of child removal in RenderRubyRun that
9223             causes it to destroy itself
9224         5.) On returning from all this the renderer crashes when accessing a member
9225             or virtual function on this now illegal object.
9227         I therefore added a flag that tracks if the ruby run is being destroyed.
9228         If so, avoid doing the special handling in removeChild that caused this.
9229         It's not the most elegant solution, but the easiest to implement without
9230         touching unrelated code. Also, it's self-documenting.
9232         Test: fast/ruby/ruby-remove.html
9234         * rendering/RenderRubyRun.cpp:
9235         (WebCore::RenderRubyRun::RenderRubyRun):
9236         (WebCore::RenderRubyRun::destroy):
9237         (WebCore::RenderRubyRun::removeChild):
9238         * rendering/RenderRubyRun.h:
9240 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9242         Reviewed by Kenneth Rohde Christiansen.
9244         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
9245         https://bugs.webkit.org/show_bug.cgi?id=31643
9247         No new tests as there is no functional change.
9249         * WebCore.pro:
9251 2009-11-18  Yong Li  <yong.li@torchmobile.com>
9253         Reviewed by Eric Seidel.
9255         Implement TextBoundaries for WINCE port.
9256         https://bugs.webkit.org/show_bug.cgi?id=27371
9258         * platform/text/wince/TextBoundariesWince.cpp: Added.
9260 2009-11-18  Yong Li  <yong.li@torchmobile.com>
9262         Reviewed by Eric Seidel.
9264         Implement TextBreakIterator for WINCE port.
9265         https://bugs.webkit.org/show_bug.cgi?id=27371
9267         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
9269 2009-11-18  Kent Tamura  <tkent@chromium.org>
9271         Reviewed by Darin Adler.
9273         Add support for ValidityState.typeMismatch for the following INPUT types:
9274           date datetime datetime-local month time week
9275         https://bugs.webkit.org/show_bug.cgi?id=31342
9277         Tests: fast/forms/ValidityState-typeMismatch-date.html
9278                fast/forms/ValidityState-typeMismatch-datetime.html
9279                fast/forms/ValidityState-typeMismatch-datetimelocal.html
9280                fast/forms/ValidityState-typeMismatch-month.html
9281                fast/forms/ValidityState-typeMismatch-time.html
9282                fast/forms/ValidityState-typeMismatch-week.html
9284         * html/HTMLInputElement.cpp:
9285         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
9286           validity of the specified type and string using the ISODateTime class.
9287         * html/HTMLInputElement.h:
9288         * html/ValidityState.cpp:
9289         (WebCore::ValidityState::typeMismatch): Check the type validity
9290           for date, datetime, datetime-local, month, time and week with
9291           HTMLInputElemtn::formStringToISODateTime()
9293 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
9295         Reviewed by Oliver Hunt.
9297         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
9298         https://bugs.webkit.org/show_bug.cgi?id=31237
9299         
9300         Also speeds up Dromaeo DOM Core tests by 1.31x.
9302         * bindings/js/JSNodeCustom.cpp:
9303         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
9304         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
9305         with wrappers would do marking; there should be only one in the typical case (the root of the
9306         detached subtree).
9307         * dom/Node.cpp:
9308         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
9309         * dom/Node.h: ditto
9311 2009-11-18  Darin Adler  <darin@apple.com>
9313         Reviewed by Sam Weinig.
9315         Get rid of the redundant strokeType and fillType data members on
9316         a GraphicsContext as well as the FillOrStrokeType enum. Use
9317         null pointers instead.
9319         * platform/graphics/GraphicsContext.cpp:
9320         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
9321         and gradient.
9322         (WebCore::GraphicsContext::setFillColor): Ditto.
9323         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
9324         (WebCore::GraphicsContext::setFillPattern): Ditto.
9325         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
9326         (WebCore::GraphicsContext::setFillGradient): Ditto.
9328         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
9330         * platform/graphics/cairo/GraphicsContextCairo.cpp:
9331         (WebCore::setPlatformFill): Use null checks on fillPattern and
9332         fillGraident instead of a switch statement.
9333         (WebCore::setPlatformStroke): Ditto.
9335         * platform/graphics/cg/GraphicsContextCG.cpp:
9336         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
9337         (WebCore::GraphicsContext::applyFillPattern): Ditto.
9338         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
9339         to see if there is a pattern instead of fillType and strokeType.
9340         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
9341         fillPattern, and strokePattern instead of fillType and strokeType.
9342         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
9343         is used in the pattern and gradient case probably erroneously. Moved
9344         gradient code inside an if statement. Streamlined pattern code and
9345         use an if statement. No switch any more.
9346         (WebCore::GraphicsContext::strokePath): Ditto.
9347         (WebCore::GraphicsContext::fillRect): Ditto.
9348         (WebCore::GraphicsContext::strokeRect): Ditto.
9350         * platform/graphics/qt/GraphicsContextQt.cpp:
9351         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
9352         fillGraident instead of a switch statement.
9353         (WebCore::GraphicsContext::strokePath): Ditto.
9354         (WebCore::GraphicsContext::fillRect): Ditto.
9356         * platform/graphics/wince/GraphicsContextWince.cpp:
9357         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
9358         (WebCore::GraphicsContext::fillRect): Ditto.
9360 2009-11-18  Kent Tamura  <tkent@chromium.org>
9362         Reviewed by Darin Adler.
9364         Support for step attribute and ValidityStae.stepMismatch for
9365         type=number and range.  stepMismatch will be false if the
9366         difference between the current value and a multiple of the step
9367         value is very small.
9369         Change the behavior of RenderSlider so that it always has a value
9370         rounded to the step attribute value.
9372         https://bugs.webkit.org/show_bug.cgi?id=31331
9374         Tests: fast/forms/ValidityState-stepMismatch-number.html
9375                fast/forms/ValidityState-stepMismatch-range.html
9376                fast/forms/ValidityState-stepMismatch-unsupported.html
9377                fast/forms/input-step.html
9379         * html/HTMLAttributeNames.in: Add "step".
9380         * html/HTMLInputElement.cpp:
9381         (WebCore::HTMLInputElement::stepMismatch):
9382         (WebCore::HTMLInputElement::getStepParameters):
9383         (WebCore::HTMLInputElement::getAllowedValueStep):
9384         * html/HTMLInputElement.h:
9385         * html/HTMLInputElement.idl: Add "step".
9386         * html/ValidityState.cpp:
9387         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
9388         * html/ValidityState.h:
9389         * rendering/RenderSlider.cpp:
9390         (WebCore::SliderRange::SliderRange):
9391         (WebCore::SliderRange::clampValue):
9393 2009-11-18  Dmitry Titov  <dimich@chromium.org>
9395         Reviewed by Darin Adler.
9397         Need to ASSERT(isMainThread()) in ThreadShared methods.
9398         https://bugs.webkit.org/show_bug.cgi?id=31637
9400         Added ASSERT(IsMainThread()) to all following methods:
9401         * platform/TreeShared.h:
9402         (WebCore::TreeShared::TreeShared):
9403         (WebCore::TreeShared::~TreeShared):
9404         (WebCore::TreeShared::ref):
9405         (WebCore::TreeShared::deref):
9406         (WebCore::TreeShared::setParent):
9407         (WebCore::TreeShared::parent):
9409 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
9411         Reviewed by Eric Seidel.
9413         Add plugin visibility manual test
9415         https://bugs.webkit.org/show_bug.cgi?id=31542
9417         * manual-tests/plugins/windowed.html:
9418         * manual-tests/plugins/windowless.html:
9420 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
9422         Reviewed by Pavel Feldman.
9424         Web Inspector - remember last script displayed in Scripts panel
9425         https://bugs.webkit.org/show_bug.cgi?id=27552
9427         Manual test added
9428         
9429         * inspector/front-end/ScriptsPanel.js:
9430         (WebInspector.ScriptsPanel.prototype.showScript):
9431         (WebInspector.ScriptsPanel.prototype.showResource):
9432         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
9433         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
9434         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
9435         (WebInspector.ScriptsPanel.prototype._goBack):
9436         (WebInspector.ScriptsPanel.prototype._goForward):
9437         * manual-tests/inspector/remember-last-script.html: Added.
9439 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
9441         Reviewed by Dimitri Glazkov.
9443         Win chromium is slow to draw transparent texts
9444         https://bugs.webkit.org/show_bug.cgi?id=31258
9446         Create bounded transparency layers instead of just clipping.
9448         No new tests because this is just a performance improvement.
9450         * platform/graphics/chromium/FontChromiumWin.cpp:
9451         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
9453 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
9455         Reviewed by Eric Seidel.
9457         [Qt] Add support for displaying deleteButton.
9458         https://bugs.webkit.org/show_bug.cgi?id=31560
9460         Test: LayoutTests/editing/deleting/5408255.html
9462         * WebCore.qrc:
9463         * platform/graphics/qt/ImageQt.cpp:
9464         (loadResourcePixmap):
9466 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
9468         Reviewed by Eric Seidel.
9470         Fix Qt build without JavaScript debugger.
9472         https://bugs.webkit.org/show_bug.cgi?id=31575
9474         * page/Console.idl:
9476 2009-11-18  Daniel Bates  <dbates@webkit.org>
9478         Reviewed by Dave Hyatt.
9480         https://bugs.webkit.org/show_bug.cgi?id=24971
9481         And
9482         <rdar://problem/7138265>
9484         Fixes an issue where setting the height of a table row programmatically
9485         (via JavaScript) causes the table to be improperly rendered because the
9486         height of each row in the table is not recalculated with respect to the
9487         CSS height property.
9489         In particular, programmatically setting the height of some table row causes
9490         the rows of that table to be rendered with a height equal to the minimum
9491         height required by the cells in that row, regardless of any specified cell
9492         heights. Instead, when RenderTableSection::recalcCells is called, the height
9493         of each row should be set to the CSS height property just as we do in
9494         RenderTableSection::addChild.
9496         Test: fast/table/row-height-recalc2.html
9498         * rendering/RenderTableSection.cpp:
9499         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
9500         (WebCore::RenderTableSection::addChild): Moved code that set row height into
9501         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
9502         (WebCore::RenderTableSection::recalcCells): Modified to call
9503         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
9505 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
9507         Reviewed by Darin Adler.
9509         Allow custom memory allocation control for the part of platform directory in WebCore
9510         https://bugs.webkit.org/show_bug.cgi?id=31473
9512         Inherits the following classes from FastAllocBase because these are
9513         instantiated by 'new':
9515         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
9516         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
9517         struct Length                - instantiated at WebCore/platform/Length.cpp:103
9518         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
9519         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
9520         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
9522         Inherits the following classes from Noncopyable because these are
9523         instantiated by 'new' and no need to be copyable:
9525         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
9526         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
9527         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
9528         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
9530         * platform/ContextMenuItem.h:
9531         * platform/DeprecatedPtrList.h:
9532         * platform/DeprecatedPtrListImpl.cpp:
9533         * platform/Length.h:
9534         * platform/PlatformKeyboardEvent.h:
9535         * platform/animation/AnimationList.h:
9536         * platform/graphics/Color.h:
9537         * platform/graphics/FontCache.h:
9538         * platform/graphics/GraphicsContextPrivate.h:
9539         * platform/graphics/MediaPlayer.cpp:
9541 2009-11-18  Daniel Bates  <dbates@webkit.org>
9543         Reviewed by Darin Adler.
9545         https://bugs.webkit.org/show_bug.cgi?id=31186
9547         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
9548         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
9549         These are more descriptive names so as to clear an ambiguity surrounding
9550         their usage. Also, renames associated setters and getters so that they
9551         coincide with the renamed fields.
9553         No functionality was changed. So, no tests were included.
9555         * bindings/objc/DOMHTML.mm:
9556         (-[DOMHTMLInputElement _isEdited]):
9557         (-[DOMHTMLTextAreaElement _isEdited]):
9558         * dom/Document.cpp:
9559         (WebCore::Document::setFocusedNode):
9560         * html/HTMLInputElement.cpp:
9561         (WebCore::HTMLInputElement::defaultEventHandler):
9562         * rendering/RenderTextControl.cpp:
9563         (WebCore::RenderTextControl::RenderTextControl):
9564         (WebCore::RenderTextControl::setInnerTextValue):
9565         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
9566         (WebCore::RenderTextControl::subtreeHasChanged):
9567         * rendering/RenderTextControl.h:
9568         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
9569         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
9570         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
9571         * rendering/RenderTextControlSingleLine.cpp:
9572         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
9573         * wml/WMLInputElement.cpp:
9574         (WebCore::WMLInputElement::defaultEventHandler):
9576 2009-11-18  Tony Chang  <tony@chromium.org>
9578         Reviewed by Adam Barth.
9580         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
9581         https://bugs.webkit.org/show_bug.cgi?id=31499
9583         No new tests, just a build cleanup.
9585         * WebCore.gypi:
9586         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
9587         * bindings/v8/custom/V8CustomBinding.h:
9589 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
9591         Reviewed by Kevin Ollivier.
9593         Enable wx plugin support using the Windows implementation as a base.
9594         
9595         https://bugs.webkit.org/show_bug.cgi?id=31636
9597         * platform/graphics/GraphicsContext.h:
9598         (WebCore::GraphicsContext::inTransparencyLayer):
9599         * platform/graphics/wx/GraphicsContextWx.cpp:
9600         (WebCore::GraphicsContext::getWindowsContext):
9601         (WebCore::GraphicsContext::releaseWindowsContext):
9602         * platform/wx/FileSystemWx.cpp:
9603         (WebCore::unloadModule):
9604         (WebCore::listDirectory):
9605         * plugins/PluginDatabase.cpp:
9606         * plugins/PluginView.cpp:
9607         (WebCore::PluginView::stop):
9608         (WebCore::PluginView::PluginView):
9609         * plugins/PluginView.h:
9610         * plugins/win/PluginViewWin.cpp:
9611         (windowHandleForPageClient):
9612         (WebCore::PluginView::handleMouseEvent):
9613         (WebCore::PluginView::platformStart):
9614         (WebCore::PluginView::snapshot):
9615         * wscript:
9617 2009-11-18  Andrei Popescu  <andreip@google.com>
9619         Reviewed by Dimitri Glazkov.
9621         [Android] Add shared timer and sound utilities to platform/android
9622         https://bugs.webkit.org/show_bug.cgi?id=31584
9624         No new tests required, this is platform specific code.
9626         * platform/android/SharedTimerAndroid.cpp: Added.
9627         (WebCore::setSharedTimerFiredFunction):
9628         (WebCore::setSharedTimerFireTime):
9629         (WebCore::stopSharedTimer):
9630         * platform/android/SoundAndroid.cpp: Added.
9631         (WebCore::systemBeep):
9633 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
9635         Reviewed by Timothy Hatcher.
9637         Fix profile tree nodes loss after focus / restore actions.
9639         Focusing on a node is currently implemented via nodes reattaching
9640         with some caching involved. It seems that not all code was updated
9641         to handle this scenario correctly.
9643         https://bugs.webkit.org/show_bug.cgi?id=31553
9645         * inspector/front-end/BottomUpProfileDataGridTree.js:
9646         (WebInspector.BottomUpProfileDataGridNode):
9647         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
9648         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
9649         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
9650         * inspector/front-end/DataGrid.js:
9651         (WebInspector.DataGrid.prototype.insertChild):
9652         (WebInspector.DataGridNode.prototype._detach):
9653         (WebInspector.DataGridNode.prototype.savePosition):
9654         (WebInspector.DataGridNode.prototype.restorePosition):
9655         * inspector/front-end/TopDownProfileDataGridTree.js:
9656         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
9657         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
9659 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
9661         Reviewed by Kenneth Rohde Christiansen.
9663         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
9664         include it 
9665         https://bugs.webkit.org/show_bug.cgi?id=31527
9667         No new tests as this is just a coding style fix that affects the 
9668         build of some not yet submitted patches (i.e. for bug 30173).
9670         * platform/qt/QWebPageClient.h:
9672 2009-11-18  Nicolas Roard   <nicolas@roard.com>
9674         Reviewed by Dimitri Glazkov.
9676         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
9677         https://bugs.webkit.org/show_bug.cgi?id=31504
9679         * inspector/InspectorTimelineAgent.h:Added the guard.
9681 2009-11-18  Jens Alfke  <snej@chromium.org>
9683         Build fix to my previous checkin, for Windows Chromium
9685         * svg/SVGAnimatedProperty.h:
9686         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
9688 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
9690         Reviewed by Pavel Feldman.
9692         Web Inspector: Directly Access <head> Instead of Searching for It
9693         https://bugs.webkit.org/show_bug.cgi?id=31641
9694         
9695         Changed old access of the head element (document.getElementsByTagName)
9696         to just use the document.head accessor.
9698         * inspector/front-end/FontView.js:
9699         (WebInspector.FontView):
9700         * inspector/front-end/InjectedScript.js:
9701         (InjectedScript.addStyleSelector):
9702         * inspector/front-end/SourceFrame.js:
9703         (WebInspector.SourceFrame.prototype._loaded):
9704         * inspector/front-end/inspector.js:
9705         (windowLoaded):
9707 2009-11-18  Sam Weinig  <sam@webkit.org>
9709         Reviewed by Anders Carlsson.
9711         Fix two Geolocation assertions.
9713         * page/Chrome.cpp:
9714         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
9715         is not called from JS. 
9716         * page/Geolocation.cpp:
9717         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
9718         a RefPtr first.
9720 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
9722         Case sensitive file system build fix.
9724         * platform/network/Credential.h: It's not WTF, just wtf.
9726 2009-11-18  Aaron Golden  <agolden@apple.com>
9728         Reviewed by Alexey Proskuryakov.
9730         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
9731         objects and WebCore::Credential objects without losing certificate information.
9733         * platform/network/Credential.cpp:
9734         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
9735         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
9736         (WebCore::Credential::identity): Accessor for the m_identity property
9737         (WebCore::Credential::certificates): Accessor for the m_certificates property
9738         (WebCore::Credential::type):  Accessor for the m_type property
9739         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
9740         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
9741         * platform/network/mac/AuthenticationMac.mm:
9742         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
9743         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
9745 2009-11-18  Dmitry Titov  <dimich@chromium.org>
9747         Reviewed by Eric Seidel.
9749         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
9750         https://bugs.webkit.org/show_bug.cgi?id=31615
9752         * dom/Document.cpp:
9753         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
9754         (WebCore::ScriptExecutionContextTaskTimer::fired):
9755         (WebCore::PerformTaskContext::PerformTaskContext):
9756         (WebCore::performTask):
9757         (WebCore::Document::postTask):
9758         * dom/ScriptExecutionContext.cpp:
9759         * dom/ScriptExecutionContext.h:
9761 2009-11-18  Jens Alfke  <snej@chromium.org>
9763         Reviewed by Darin Adler.
9765         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
9766         by causing the right v8-to-WebCore conversion function to be called for every parameter.
9767         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
9768         To enforce correctness, I added a mode that disables implicit
9769         String-->AtomicString conversions while compiling the generated bindings.
9770         https://bugs.webkit.org/show_bug.cgi?id=31168
9772         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
9773         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
9774         * bindings/v8/V8Binding.h:  Add V8Parameter class.
9775         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
9776         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
9777         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
9778         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
9779         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
9781 2009-11-18  Darin Adler  <darin@apple.com>
9783         Reviewed by Dan Bernstein.
9785         Move FillOrStrokeType out of public header.
9787         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
9788         some years we published Apple changes, sorted forward declarations,
9789         removed FillOrStrokeType enum.
9790         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
9791         to cover some years we published Apple changes, sorted includes,
9792         moved FillOrStrokeType enum here.
9794 2009-11-18  Chris Marrin  <cmarrin@apple.com>
9796         Reviewed by Simon Fraser.
9798         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
9799         https://bugs.webkit.org/show_bug.cgi?id=31601
9801         These are used to debug accelerated compositing layers. I removed
9802         the platform specific code from GraphicsLayerCA.mm and added calls
9803         to GraphicsLayerClient to get it from the higher levels. The values 
9804         now get cached in RenderLayerCompositing and are queried from there
9805         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
9807         * WebCore.base.exp:
9808         * page/FrameView.cpp:
9809         (WebCore::FrameView::updateCompositingLayers):
9810         * page/Settings.cpp:
9811         (WebCore::Settings::Settings):
9812         (WebCore::Settings::setShowDebugBorders):
9813         (WebCore::Settings::setShowRepaintCounter):
9814         * page/Settings.h:
9815         (WebCore::Settings::showDebugBorders):
9816         (WebCore::Settings::showRepaintCounter):
9817         * platform/graphics/GraphicsLayer.h:
9818         (WebCore::GraphicsLayer::showDebugBorders):
9819         (WebCore::GraphicsLayer::showRepaintCounter):
9820         * platform/graphics/GraphicsLayerClient.h:
9821         * platform/graphics/mac/GraphicsLayerCA.mm:
9822         * rendering/RenderLayerBacking.cpp:
9823         (WebCore::RenderLayerBacking::showDebugBorders):
9824         (WebCore::RenderLayerBacking::showRepaintCounter):
9825         * rendering/RenderLayerBacking.h:
9826         * rendering/RenderLayerCompositor.cpp:
9827         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
9828         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
9829         * rendering/RenderLayerCompositor.h:
9830         (WebCore::RenderLayerCompositor::showDebugBorders):
9831         (WebCore::RenderLayerCompositor::showRepaintCounter):
9833 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
9835         Reviewed by Timothy Hatcher.
9837         Web Inspector: Get rid of metrics and properties sidebars'
9838         flickering.
9840         https://bugs.webkit.org/show_bug.cgi?id=31629
9842         * inspector/front-end/MetricsSidebarPane.js:
9843         * inspector/front-end/PropertiesSidebarPane.js:
9845 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
9847         Reviewed by Pavel Feldman.
9849         Fixes <http://webkit.org/b/31606>.
9850         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
9851         
9852         This implements Enter starting editing mode in an editable DataGrid. If the
9853         DataGrid is editable and the user hits return, startEditing the first child
9854         of the selected node. Also refactored some editing functions to take an 
9855         event target instead of the event itself, because the functions only needed
9856         the target. Lastly, added had return in editing mode stop propogation, because
9857         when enter was hit to confirm text, it would propagate back to the datagrid
9858         and try to start editing again.
9860         * inspector/front-end/DataGrid.js:
9861         (WebInspector.DataGrid.prototype._ondblclick):
9862         (WebInspector.DataGrid.prototype._startEditing):
9863         (WebInspector.DataGrid.prototype.handleKeyEvent):
9864         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
9865         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
9866         (WebInspector.DataGrid.prototype._clickInDataTable):
9867         * inspector/front-end/inspector.js:
9868         (WebInspector.startEditing.element.handleKeyEvent):
9869         (WebInspector.startEditing):
9871 2009-11-18  Ben Murdoch  <benm@google.com>
9873         Reviewed by Darin Adler.
9875         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
9876         https://bugs.webkit.org/show_bug.cgi?id=31593
9878         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
9880         * html/HTMLAnchorElement.cpp:
9881         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
9883 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
9885         Not reviewed. Touch InspectorController so that frontend
9886         JS files are deployed on Windows.
9888         * inspector/InspectorController.cpp:
9890 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
9892         Reviewed by Timothy Hatcher.
9894         Web Inspector: clone timeline records array instead of
9895         copying reference on invalidate all.
9897         https://bugs.webkit.org/show_bug.cgi?id=31596
9899         * inspector/front-end/AbstractTimelinePanel.js:
9900         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
9902 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
9904         Reviewed by Dan Bernstein.
9906         Elements don't drop out of compositing layers when animation ends
9907         https://bugs.webkit.org/show_bug.cgi?id=31613
9908         <rdar://problem/7402913>
9910         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
9911         are compositing anyway for other reasons. Doing so can cause those layers
9912         to stay in compositing mode even after animations finish, because needsToBeComposited()
9913         continues to return true.
9914         
9915         No new tests because it's not possible to determine which elements are in
9916         compositing layers from DRT output.
9918         * rendering/RenderLayerCompositor.cpp:
9919         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
9921 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
9923         Reviewed by Tor Arne Vestbø.
9925         [Qt] Mac Plugins: Remove null timer
9926         
9927         A null timer was used to send mouse move events. Instead, we now use
9928         move events to send nullEvent. This brings down CPU usage by 20-30%.
9929         
9930         https://bugs.webkit.org/show_bug.cgi?id=31624
9932         * plugins/PluginView.h:
9933         * plugins/mac/PluginViewMac.cpp:
9934         (WebCore::PluginView::platformStart):
9935         (WebCore::PluginView::handleMouseEvent):
9937 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
9939         Reviewed by Simon Hausmann.
9941         [Qt] WebKit crashes when loading certain SVG images
9943         Check if the familly exist before creating the PlatformData from it.
9945         https://bugs.webkit.org/show_bug.cgi?id=29443
9947         Test: svg/text/text-font-invalid.html
9949         * platform/graphics/qt/FontFallbackListQt.cpp:
9950         (WebCore::FontFallbackList::fontDataAt):
9952 2009-11-17  Nicolas Weber  <thakis@chromium.org>
9954         Reviewed by Darin Fisher.
9956         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
9957         after navigation.
9958         https://bugs.webkit.org/show_bug.cgi?id=31609
9960         * platform/chromium/PopupMenuChromium.cpp:
9961         (WebCore::PopupContainer::showExternal): Set parent for external
9962         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
9963         its parent's client.
9965 2009-11-17  Hayato Ito  <hayato@google.com>
9967         Reviewed by Darin Adler.
9969         Avoid infinite mutual recursion when deeply nested tags are loaded
9970         https://bugs.webkit.org/show_bug.cgi?id=30651
9972         Test: fast/parser/block-nesting-cap-table.html
9974         * html/HTMLParser.cpp:
9975         (WebCore::HTMLParser::parseToken):
9976         (WebCore::tagPriorityOfNode):
9977         (WebCore::HTMLParser::limitBlockDepth):
9978         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
9979         (WebCore::HTMLParser::insertNode):
9980         * html/HTMLParser.h:
9982 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
9984         Rubber-stamped by Alexey Proskuryakov.
9986         Final clean-ups for minor coding standard violations.
9987         https://bugs.webkit.org/show_bug.cgi?id=26102.
9989         * platform/graphics/cairo/GraphicsContextCairo.cpp:
9991 2009-11-17  Johnny Ding  <jnd@chromium.org>
9993         Reviewed by Darin Adler.
9995         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
9996         https://bugs.webkit.org/show_bug.cgi?id=31567
9998         * dom/ScriptElement.cpp:
9999         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
10001 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
10003         Reviewed by Timothy Hatcher.
10005         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
10006         - Updated DRT to show/close inspector for all tests under /inspector
10007         - Introduced LayoutTestController::setTimelineProfilingEnabled and
10008           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
10009         - Removed reload on each inspector test
10010         - Renamed fast/inspector to fast/inspector-support in order not to trigger
10011         inspector for those.
10012         - Reimplemented timeline tests in order to get rid of reload there.
10013         - Moved tests that don't require harness into the fast group.
10015         https://bugs.webkit.org/show_bug.cgi?id=31472
10017         * WebCore.Inspector.exp:
10018         * inspector/front-end/TimelinePanel.js:
10019         (WebInspector.TimelinePanel.prototype._formatRecord):
10021 2009-11-17  Andrei Popescu  <andreip@google.com>
10023         Reviewed by Dimitri Glazkov.
10025         [Android] Android is missing the implementation of the GeolocationService iface.
10026         https://bugs.webkit.org/show_bug.cgi?id=31554
10028         No new tests required as this is platform specific code.
10030         * platform/android/GeolocationServiceAndroid.cpp: Added.
10031         (WebCore::GeolocationServiceAndroid::create):
10032         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
10033         (WebCore::GeolocationServiceAndroid::startUpdating):
10034         (WebCore::GeolocationServiceAndroid::stopUpdating):
10035         (WebCore::GeolocationServiceAndroid::suspend):
10036         (WebCore::GeolocationServiceAndroid::resume):
10037         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
10038         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
10039         (WebCore::GeolocationServiceAndroid::timerFired):
10040         (WebCore::GeolocationServiceAndroid::isPositionMovement):
10041         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
10042         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
10043         * platform/android/GeolocationServiceAndroid.h: Added.
10044         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
10045         (WebCore::GeolocationServiceAndroid::lastPosition):
10046         (WebCore::GeolocationServiceAndroid::lastError):
10047         * platform/android/GeolocationServiceBridge.cpp: Added.
10048         (WebCore::):
10049         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
10050         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
10051         (WebCore::GeolocationServiceBridge::start):
10052         (WebCore::GeolocationServiceBridge::stop):
10053         (WebCore::GeolocationServiceBridge::setEnableGps):
10054         (WebCore::GeolocationServiceBridge::newLocationAvailable):
10055         (WebCore::GeolocationServiceBridge::newErrorAvailable):
10056         (WebCore::GeolocationServiceBridge::toGeoposition):
10057         (WebCore::GeolocationServiceBridge::startJavaImplementation):
10058         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
10059         * platform/android/GeolocationServiceBridge.h: Added.
10061 2009-11-16  Kent Tamura  <tkent@chromium.org>
10063         Unreviewd build fix.
10065         - Fix typo in WebCore.vcproj.
10066         - Intlude limits.h for INT_MAX.
10067         - Enclose with parenthesis to suspress warning.
10069         * WebCore.vcproj/WebCore.vcproj:
10070         * html/ISODateTime.cpp:
10071         (WebCore::ISODateTime::addDay):
10073 2009-11-16  Robin Dunn  <robin@alldunn.com>
10075         Reviewed by Kevin Ollivier.
10077         Make sure wx scrollbar drawing code factors in transforms when switching backends,
10078         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
10079         
10080         https://bugs.webkit.org/show_bug.cgi?id=31570
10082         * platform/wx/ScrollbarThemeWx.cpp:
10083         (WebCore::ScrollbarThemeWx::minimumThumbLength):
10084         (WebCore::ScrollbarThemeWx::splitTrack):
10085         (WebCore::ScrollbarThemeWx::forwardButtonRect):
10086         * platform/wx/ScrollbarThemeWx.h:
10087         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
10088         (wxRenderer_DrawScrollbar):
10089         * platform/wx/wxcode/scrollbar_render.h:
10090         (calcThumbStartAndLength):
10091         * platform/wx/wxcode/win/scrollbar_render.cpp:
10092         (wxRenderer_DrawScrollbar):
10094 2009-11-16  Kent Tamura  <tkent@chromium.org>
10096         Reviewed by David Levin.
10098         Introduce WebCore::ISODateTime class.
10099         https://bugs.webkit.org/show_bug.cgi?id=31340
10101         This class represents a value of date/time types of the HTML5 INPUT
10102         element, and has some parsing methods for ISO 8601.
10104         This change has no tests because the class is not used yet.
10106         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
10107         * WebCore.gypi: ditto.
10108         * WebCore.pro: ditto.
10109         * WebCore.vcproj/WebCore.vcproj: ditto.
10110         * WebCore.xcodeproj/project.pbxproj: ditto.
10111         * WebCoreSources.bkl: ditto.
10112         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
10113         (WebCore::isLeapYear):
10114         (WebCore::maxDayOfMonth):
10115         (WebCore::dayOfWeek):
10116         (WebCore::ISODateTime::maxWeekNumberInYear):
10117         (WebCore::countDigits):
10118         (WebCore::toInt):
10119         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
10120         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
10121         (WebCore::ISODateTime::addMinute): ditto.
10122         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
10123         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
10124         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
10125         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
10126         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
10127         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
10128         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
10129         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
10130         (WebCore::ISODateTime::ISODateTime):
10131         (WebCore::ISODateTime::millisecond):
10132         (WebCore::ISODateTime::second):
10133         (WebCore::ISODateTime::minute):
10134         (WebCore::ISODateTime::hour):
10135         (WebCore::ISODateTime::monthDay):
10136         (WebCore::ISODateTime::month):
10137         (WebCore::ISODateTime::fullYear):
10138         (WebCore::ISODateTime::week):
10140 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10142         Fix a typo in previous commit.
10144         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
10146 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10148         Fix a typo in previous commit.
10150         * platform/network/cf/SocketStreamHandleCFNet.cpp:
10152 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10154         Tiger build fix.
10156         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
10157         differently in Tiger CFNetwork.
10159 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
10161         Reviewed by Darin Fisher.
10163         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
10165         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
10167         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
10169         * platform/KURLGoogle.cpp:
10170         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
10172 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10174         Rubber-stamped by Jon Honeycutt.
10176         A better Windows build fix
10178         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
10179         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
10181 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
10183         Reviewed by Darin Adler.
10185         Rename protocolIsValid to isValidProtocol.
10186         https://bugs.webkit.org/show_bug.cgi?id=31503
10188         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
10190         No new tests since no new functionality was introduced.
10192         * html/HTMLAnchorElement.cpp:
10193         (WebCore::HTMLAnchorElement::setProtocol):
10194         * platform/KURL.cpp:
10195         (WebCore::isValidProtocol):
10196         * platform/KURL.h:
10197         * platform/KURLGoogle.cpp:
10198         (WebCore::isValidProtocol):
10200 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
10202         Reviewed by Beth Dakin.
10204         AX: aria-labelledby duplicates some of its WAI-ARIA label
10205         https://bugs.webkit.org/show_bug.cgi?id=31565
10207         Test: accessibility/aria-labelledby-overrides-label.html
10209         * accessibility/AccessibilityRenderObject.cpp:
10210         (WebCore::AccessibilityRenderObject::hasTextAlternative):
10211         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
10212         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
10213         * accessibility/AccessibilityRenderObject.h:
10215 2009-11-16  Nate Chapin  <japhet@chromium.org>
10217         Reviewed by Darin Fisher.
10219         Handle the case of a null NPObject* in NPN_SetException in
10220         the V8 bindings.  This allow out of process plugins calling
10221         NPN_SetException to just send null instead of sending an
10222         NPObject* that would be an address in a different 
10223         process's memory space.
10225         https://bugs.webkit.org/show_bug.cgi?id=31561
10227         * bindings/v8/NPV8Object.cpp:
10228         (_NPN_SetException): Allow null NPObject* and just throw a general error.
10230 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10232         Windows build fix.
10234         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
10235         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
10237 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
10239         Reviewed by Kenneth Rohde Christiansen.
10241         [Qt] ASSERT failure while running DRT
10242         https://bugs.webkit.org/show_bug.cgi?id=30978
10244         Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
10245         These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
10247         * bridge/qt/qt_instance.cpp:
10248         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
10249         * bridge/qt/qt_runtime.h:
10250         (JSC::Bindings::QtRuntimeMethod::createStructure):
10252 2009-11-16  Mark Rowe  <mrowe@apple.com>
10254         Attempt to fix the build.  Land a file that was missing from r51049.
10256         * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
10257         (WebCore::setWebGLArrayFromArray):
10259 2009-11-16  Kenneth Russell  <kbr@google.com>
10261         Reviewed by Oliver Hunt.
10263         Update API of WebGLArray and friends
10264         https://bugs.webkit.org/show_bug.cgi?id=31175
10266         * bindings/js/JSWebGLArrayCustom.cpp:
10267         (WebCore::toJS):
10268         * bindings/js/JSWebGLArrayHelper.h: Added.
10269         (WebCore::setWebGLArrayFromArray):
10270         * bindings/js/JSWebGLByteArrayCustom.cpp:
10271         (WebCore::JSWebGLByteArray::set):
10272         * bindings/js/JSWebGLFloatArrayCustom.cpp:
10273         (WebCore::JSWebGLFloatArray::set):
10274         * bindings/js/JSWebGLIntArrayCustom.cpp:
10275         (WebCore::JSWebGLIntArray::set):
10276         * bindings/js/JSWebGLShortArrayCustom.cpp:
10277         (WebCore::JSWebGLShortArray::set):
10278         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
10279         (WebCore::JSWebGLUnsignedByteArray::set):
10280         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
10281         (WebCore::JSWebGLUnsignedIntArray::set):
10282         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
10283         (WebCore::JSWebGLUnsignedShortArray::set):
10284         * bindings/scripts/CodeGeneratorV8.pm:
10285         * bindings/v8/V8DOMWrapper.cpp:
10286         (WebCore::V8DOMWrapper::convertToV8Object):
10287         * bindings/v8/custom/V8CustomBinding.h:
10288         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
10289         (WebCore::CALLBACK_FUNC_DECL):
10290         * bindings/v8/custom/V8WebGLArrayCustom.h:
10291         (WebCore::constructWebGLArray):
10292         (WebCore::getWebGLArrayElement):
10293         (WebCore::setWebGLArrayFromArray):
10294         (WebCore::setWebGLArray):
10295         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
10296         (WebCore::CALLBACK_FUNC_DECL):
10297         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
10298         (WebCore::CALLBACK_FUNC_DECL):
10299         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
10300         (WebCore::CALLBACK_FUNC_DECL):
10301         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
10302         (WebCore::CALLBACK_FUNC_DECL):
10303         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
10304         (WebCore::CALLBACK_FUNC_DECL):
10305         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
10306         (WebCore::CALLBACK_FUNC_DECL):
10307         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
10308         (WebCore::CALLBACK_FUNC_DECL):
10309         * html/canvas/WebGLArray.cpp:
10310         (WebCore::WebGLArray::WebGLArray):
10311         (WebCore::WebGLArray::~WebGLArray):
10312         (WebCore::WebGLArray::setImpl):
10313         * html/canvas/WebGLArray.h:
10314         (WebCore::WebGLArray::isByteArray):
10315         (WebCore::WebGLArray::isUnsignedByteArray):
10316         (WebCore::WebGLArray::isShortArray):
10317         (WebCore::WebGLArray::isUnsignedShortArray):
10318         (WebCore::WebGLArray::isIntArray):
10319         (WebCore::WebGLArray::isUnsignedIntArray):
10320         (WebCore::WebGLArray::isFloatArray):
10321         (WebCore::WebGLArray::buffer):
10322         (WebCore::WebGLArray::baseAddress):
10323         (WebCore::WebGLArray::byteOffset):
10324         * html/canvas/WebGLArray.idl:
10325         * html/canvas/WebGLArrayBuffer.cpp:
10326         (WebCore::WebGLArrayBuffer::create):
10327         (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
10328         (WebCore::WebGLArrayBuffer::data):
10329         (WebCore::WebGLArrayBuffer::byteLength):
10330         (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
10331         * html/canvas/WebGLArrayBuffer.h:
10332         * html/canvas/WebGLByteArray.cpp:
10333         (WebCore::WebGLByteArray::create):
10334         (WebCore::WebGLByteArray::byteLength):
10335         (WebCore::WebGLByteArray::slice):
10336         (WebCore::WebGLByteArray::set):
10337         * html/canvas/WebGLByteArray.h:
10338         (WebCore::WebGLByteArray::isByteArray):
10339         (WebCore::WebGLByteArray::data):
10340         (WebCore::WebGLByteArray::set):
10341         (WebCore::WebGLByteArray::get):
10342         (WebCore::WebGLByteArray::item):
10343         * html/canvas/WebGLByteArray.idl:
10344         * html/canvas/WebGLFloatArray.cpp:
10345         (WebCore::WebGLFloatArray::create):
10346         (WebCore::WebGLFloatArray::WebGLFloatArray):
10347         (WebCore::WebGLFloatArray::length):
10348         (WebCore::WebGLFloatArray::byteLength):
10349         (WebCore::WebGLFloatArray::slice):
10350         (WebCore::WebGLFloatArray::set):
10351         * html/canvas/WebGLFloatArray.h:
10352         (WebCore::WebGLFloatArray::isFloatArray):
10353         (WebCore::WebGLFloatArray::data):
10354         (WebCore::WebGLFloatArray::set):
10355         (WebCore::WebGLFloatArray::get):
10356         (WebCore::WebGLFloatArray::item):
10357         * html/canvas/WebGLFloatArray.idl:
10358         * html/canvas/WebGLIntArray.cpp:
10359         (WebCore::WebGLIntArray::create):
10360         (WebCore::WebGLIntArray::WebGLIntArray):
10361         (WebCore::WebGLIntArray::length):
10362         (WebCore::WebGLIntArray::byteLength):
10363         (WebCore::WebGLIntArray::slice):
10364         (WebCore::WebGLIntArray::set):
10365         * html/canvas/WebGLIntArray.h:
10366         (WebCore::WebGLIntArray::isIntArray):
10367         (WebCore::WebGLIntArray::data):
10368         (WebCore::WebGLIntArray::set):
10369         (WebCore::WebGLIntArray::get):
10370         (WebCore::WebGLIntArray::item):
10371         * html/canvas/WebGLIntArray.idl:
10372         * html/canvas/WebGLShortArray.cpp:
10373         (WebCore::WebGLShortArray::create):
10374         (WebCore::WebGLShortArray::WebGLShortArray):
10375         (WebCore::WebGLShortArray::length):
10376         (WebCore::WebGLShortArray::byteLength):
10377         (WebCore::WebGLShortArray::slice):
10378         (WebCore::WebGLShortArray::set):
10379         * html/canvas/WebGLShortArray.h:
10380         (WebCore::WebGLShortArray::isShortArray):
10381         (WebCore::WebGLShortArray::data):
10382         (WebCore::WebGLShortArray::set):
10383         (WebCore::WebGLShortArray::get):
10384         (WebCore::WebGLShortArray::item):
10385         * html/canvas/WebGLShortArray.idl:
10386         * html/canvas/WebGLUnsignedByteArray.cpp:
10387         (WebCore::WebGLUnsignedByteArray::create):
10388         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
10389         (WebCore::WebGLUnsignedByteArray::length):
10390         (WebCore::WebGLUnsignedByteArray::byteLength):
10391         (WebCore::WebGLUnsignedByteArray::slice):
10392         (WebCore::WebGLUnsignedByteArray::set):
10393         * html/canvas/WebGLUnsignedByteArray.h:
10394         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
10395         (WebCore::WebGLUnsignedByteArray::data):
10396         (WebCore::WebGLUnsignedByteArray::set):
10397         (WebCore::WebGLUnsignedByteArray::get):
10398         (WebCore::WebGLUnsignedByteArray::item):
10399         * html/canvas/WebGLUnsignedByteArray.idl:
10400         * html/canvas/WebGLUnsignedIntArray.cpp:
10401         (WebCore::WebGLUnsignedIntArray::create):
10402         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
10403         (WebCore::WebGLUnsignedIntArray::length):
10404         (WebCore::WebGLUnsignedIntArray::byteLength):
10405         (WebCore::WebGLUnsignedIntArray::slice):
10406         (WebCore::WebGLUnsignedIntArray::set):
10407         * html/canvas/WebGLUnsignedIntArray.h:
10408         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
10409         (WebCore::WebGLUnsignedIntArray::data):
10410         (WebCore::WebGLUnsignedIntArray::set):
10411         (WebCore::WebGLUnsignedIntArray::get):
10412         (WebCore::WebGLUnsignedIntArray::item):
10413         * html/canvas/WebGLUnsignedIntArray.idl:
10414         * html/canvas/WebGLUnsignedShortArray.cpp:
10415         (WebCore::WebGLUnsignedShortArray::create):
10416         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
10417         (WebCore::WebGLUnsignedShortArray::length):
10418         (WebCore::WebGLUnsignedShortArray::byteLength):
10419         (WebCore::WebGLUnsignedShortArray::slice):
10420         (WebCore::WebGLUnsignedShortArray::set):
10421         * html/canvas/WebGLUnsignedShortArray.h:
10422         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
10423         (WebCore::WebGLUnsignedShortArray::data):
10424         (WebCore::WebGLUnsignedShortArray::set):
10425         (WebCore::WebGLUnsignedShortArray::get):
10426         (WebCore::WebGLUnsignedShortArray::item):
10427         * html/canvas/WebGLUnsignedShortArray.idl:
10428         * platform/graphics/mac/GraphicsContext3DMac.cpp:
10429         (WebCore::GraphicsContext3D::bufferData):
10430         (WebCore::GraphicsContext3D::bufferSubData):
10432 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10434         Windows build fix.
10436         * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
10438 2009-11-15  Brent Fulgham  <bfulgham@webkit.org>
10440         Reviewed by Oliver Hunt.
10442         Enable support for webkit-box-shadow in Cairo builds.
10443         https://bugs.webkit.org/show_bug.cgi?id=26102.
10445         Covered by existing fast/box-shadow tests.
10447         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
10448           support for fillRect shadows.
10450 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10452         Windows build fix.
10454         * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
10455         in WebKitSupportLibrary.
10457 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
10459         Reviewed by Darin Adler.
10461         https://bugs.webkit.org/show_bug.cgi?id=31494
10462         Add unauthenticated proxy support to SocketStreamHandleCFNet
10464         Cannot be tested in DRT.
10466         * platform/network/cf/SocketStreamHandleCFNet.cpp:
10467         (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
10468         (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
10470 2009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
10472         Reviewed by Antti Koivisto.
10474         [Qt] Broken back/forward after using ErrorPageExtension to set error page
10475         https://bugs.webkit.org/show_bug.cgi?id=30573
10477         Make FrameLoader::checkLoadCompleteForThisFrame method
10478         to check for any working DocumentLoader instance (through
10479         activeDocumentLoader()) instead of only checking for
10480         'm_provisionalDocumentLoader' in order to decide to if
10481         it is going to reset of not the back and forward history.
10482         after an error page has been loaded.
10484         Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
10486         * loader/FrameLoader.cpp:
10487         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
10489 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
10491         Reviewed by Darin Adler.
10493         Need to implement ARIA role="directory"
10494         https://bugs.webkit.org/show_bug.cgi?id=31516
10496         Test: platform/mac/accessibility/aria-directory.html
10498         * accessibility/AXObjectCache.cpp:
10499         (WebCore::AXObjectCache::getOrCreate):
10500         * accessibility/AccessibilityList.cpp:
10501         (WebCore::AccessibilityList::isOrderedList):
10502         * accessibility/AccessibilityRenderObject.cpp:
10503         (WebCore::createARIARoleMap):
10505 2009-11-15  Dave Tapuska  <dtapuska@rim.com>
10507         Reviewed by George Staikos.
10508         
10509         Compare UChars single unit at a time as opposed to the uint32_t
10510         approach as casting to unaligned addresses may cause a bus failure
10511         on ARMv5 and below. This change replicates the same defines that
10512         exists in AtomicString.cpp
10514         https://bugs.webkit.org/show_bug.cgi?id=31475
10515         
10516         * platform/text/StringHash.h:
10517         (WebCore::StringHash::equal):
10519 2009-11-15  Evan Martin  <evan@chromium.org>
10521         Reviewed by Adam Barth.
10523         Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
10525         https://bugs.webkit.org/show_bug.cgi?id=31490
10527         * bindings/v8/V8DOMWrapper.cpp:
10529 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
10531         Reviewed by Adam Barth.
10533         [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
10535         * platform/haiku/FileChooserHaiku.cpp:
10537 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
10539         Reviewed by Adam Barth.
10541         [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
10543         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
10544         (WebCore::GraphicsContext::setPlatformStrokeColor):
10546 2009-11-15  Daniel Bates  <dbates@webkit.org>
10548         No review, rolling out r50999.
10549         http://trac.webkit.org/changeset/50999
10551         Need to fix some issues in the Windows build. Missed some places where
10552         RenderTextControl::isEdited is called.
10554         * bindings/objc/DOMHTML.mm:
10555         (-[DOMHTMLInputElement _isEdited]):
10556         (-[DOMHTMLTextAreaElement _isEdited]):
10557         * dom/Document.cpp:
10558         (WebCore::Document::setFocusedNode):
10559         * html/HTMLInputElement.cpp:
10560         (WebCore::HTMLInputElement::defaultEventHandler):
10561         * rendering/RenderTextControl.cpp:
10562         (WebCore::RenderTextControl::RenderTextControl):
10563         (WebCore::RenderTextControl::setInnerTextValue):
10564         (WebCore::RenderTextControl::setUserEdited):
10565         (WebCore::RenderTextControl::subtreeHasChanged):
10566         * rendering/RenderTextControl.h:
10567         (WebCore::RenderTextControl::isEdited):
10568         (WebCore::RenderTextControl::setEdited):
10569         (WebCore::RenderTextControl::isUserEdited):
10570         * rendering/RenderTextControlSingleLine.cpp:
10571         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
10572         * wml/WMLInputElement.cpp:
10573         (WebCore::WMLInputElement::defaultEventHandler):
10575 2009-11-15  Daniel Bates  <dbates@webkit.org>
10577         Reviewed by Darin Adler.
10579         https://bugs.webkit.org/show_bug.cgi?id=31186
10581         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
10582         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
10583         These are more descriptive names so as to clear an ambiguity surrounding
10584         their usage. Also, renames associated setters and getters so that they
10585         coincide with the renamed fields.
10587         No functionality was changed. So, no tests were included.
10589         * bindings/objc/DOMHTML.mm:
10590         (-[DOMHTMLInputElement _isEdited]):
10591         (-[DOMHTMLTextAreaElement _isEdited]):
10592         * dom/Document.cpp:
10593         (WebCore::Document::setFocusedNode):
10594         * html/HTMLInputElement.cpp:
10595         (WebCore::HTMLInputElement::defaultEventHandler):
10596         * rendering/RenderTextControl.cpp:
10597         (WebCore::RenderTextControl::RenderTextControl):
10598         (WebCore::RenderTextControl::setInnerTextValue):
10599         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
10600         (WebCore::RenderTextControl::subtreeHasChanged):
10601         * rendering/RenderTextControl.h:
10602         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
10603         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
10604         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
10605         * rendering/RenderTextControlSingleLine.cpp:
10606         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
10607         * wml/WMLInputElement.cpp:
10608         (WebCore::WMLInputElement::defaultEventHandler):
10610 2009-11-14  Adele Peterson  <adele@apple.com>
10612         Reviewed by Dan Bernstein.
10614         Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
10616         Test: fast/overflow/line-clamp.html
10618         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
10619         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
10620         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
10622         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
10623         Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
10624         if there is anchor as the last child box, still allow adding the ellipsis.
10626         * rendering/RenderLayer.cpp:
10627         (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
10628         (WebCore::RenderLayer::scrollRectToVisible): ditto.
10630         * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
10631         * rendering/style/LineClampValue.h: Added.
10632         (WebCore::LineClampValue::LineClampValue):
10633         (WebCore::LineClampValue::value):
10634         (WebCore::LineClampValue::isPercentage):
10635         (WebCore::LineClampValue::isNone):
10636         (WebCore::LineClampValue::operator==):
10637         (WebCore::LineClampValue::operator!=):
10638         * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
10640         * rendering/style/RenderStyle.h: Use LineClampValue.
10641         (WebCore::InheritedFlags::lineClamp):
10642         (WebCore::InheritedFlags::setLineClamp):
10643         (WebCore::InheritedFlags::initialLineClamp):
10644         * rendering/style/StyleRareNonInheritedData.h:
10646 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
10648         Reviewed by Oliver Hunt.
10650         <rdar://problem/7287487> 
10651         Do not use QuickTime version to detect media controller theme
10653         * WebCore.base.exp: Export wkMediaControllerThemeAvailable
10654         * platform/mac/WebCoreSystemInterface.h: Ditto.
10655         * platform/mac/WebCoreSystemInterface.mm: Ditto.
10657         * rendering/RenderThemeMac.mm:
10658         (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
10659         QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
10661 2009-11-14  Kent Tamura  <tkent@chromium.org>
10663         Reviewed by Darin Adler.
10665         - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
10666           They have no dedicated UI and no type validation for now.
10667         - Clean up setInputType() and formControlType() of HTMLInputElement.
10668         https://bugs.webkit.org/show_bug.cgi?id=29004
10670         Test: fast/forms/input-type-change3.html
10672         * html/HTMLInputElement.cpp:
10673         (WebCore::HTMLInputElement::valueMissing):
10674         (WebCore::HTMLInputElement::patternMismatch):
10675         (WebCore::HTMLInputElement::tooLong):
10676         (WebCore::createTypeMap):
10677         (WebCore::HTMLInputElement::setInputType):
10678         (WebCore::createFormControlTypes):
10679         (WebCore::HTMLInputElement::formControlType):
10680         (WebCore::HTMLInputElement::saveFormControlState):
10681         (WebCore::HTMLInputElement::restoreFormControlState):
10682         (WebCore::HTMLInputElement::accessKeyAction):
10683         (WebCore::HTMLInputElement::rendererIsNeeded):
10684         (WebCore::HTMLInputElement::createRenderer):
10685         (WebCore::HTMLInputElement::appendFormData):
10686         (WebCore::HTMLInputElement::isTextField):
10687         (WebCore::HTMLInputElement::valueWithDefault):
10688         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
10689         (WebCore::HTMLInputElement::defaultEventHandler):
10690         (WebCore::HTMLInputElement::isRequiredFormControl):
10691         (WebCore::HTMLInputElement::dataList):
10692         * html/HTMLInputElement.h:
10693         (WebCore::HTMLInputElement::):
10695 2009-11-13  Chris Fleizach  <cfleizach@apple.com>
10697         Reviewed by Darin Adler.
10699         WAI-ARIA: checkbox does not determine its label from text content
10700         https://bugs.webkit.org/show_bug.cgi?id=31456
10702         Test: accessibility/aria-checkbox-text.html
10704         * accessibility/AccessibilityRenderObject.cpp:
10705         (WebCore::AccessibilityRenderObject::title):
10707 2009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
10709         Unreviewed, build fix.
10711         [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
10712         This is just enough changes to unbreak the port.
10714         * bindings/v8/ScriptController.cpp:
10715         (WebCore::mainThreadNormalWorld):
10716         * bindings/v8/V8Proxy.cpp:
10717         (WebCore::V8Proxy::initContextIfNeeded):
10718         * loader/FrameLoaderClient.h:
10720 2009-11-13  Aaron Boodman  <aa@chromium.org>
10722         Unreviewed fix for Chromium build.
10724         * loader/FrameLoaderClient.h:
10725         (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
10726         Provide an empty implementation of this method because I don't know
10727         what it is supposed to do on Chromium.
10729 2009-11-13  Aaron Boodman  <aa@chromium.org>
10731         Unreviewed fix for Chromium build.
10733         * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
10734         public, as Chromium's V8Proxy calls it.
10736 2009-11-13  Aaron Boodman  <aa@chromium.org>
10738         Unreviewed fix to Chromium build.
10740         * bindings/v8/ScriptController.cpp:
10741         (WebCore::ScriptController::getAllWorlds): 
10743 2009-11-13  Aaron Boodman  <aa@chromium.org>
10745         Unreviewed fix for Chromium build.
10747         * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
10749 2009-11-13  Adam Barth  <abarth@webkit.org>
10751         Unreviewed partial build fix for Chromium.  Should fix failure #4.
10753         * bindings/v8/ScriptController.cpp:
10754         (WebCore::ScriptController::getAllWorlds):
10755         * bindings/v8/ScriptController.h:
10756         * bindings/v8/V8Proxy.cpp:
10757         (WebCore::V8Proxy::initContextIfNeeded):
10759 2009-11-13  Adam Barth  <abarth@webkit.org>
10761         Unreviewed partial build fix for Chromium.
10763         * bindings/v8/ScriptController.h:
10764         (WebCore::ScriptController::getAllWorlds):
10766 2009-11-13  Eric Seidel  <eric@webkit.org>
10768         No review, build fix only.
10770         Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
10772         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
10773         https://bugs.webkit.org/show_bug.cgi?id=31468
10775         * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
10776         * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
10778 2009-11-12  Jeremy Orlow  <jorlow@chromium.org>
10780         Reviewed by Dmitry Titov.
10782         LocalStorage quota should include key sizes in its count
10783         https://bugs.webkit.org/show_bug.cgi?id=31451
10785         * storage/StorageMap.cpp:
10786         (WebCore::StorageMap::setItem):
10787             Count keys in the quota when adding a new item.
10788         (WebCore::StorageMap::removeItem):
10789             Remove the key's length from the quota if we're removing the item.
10790         (WebCore::StorageMap::importItem):
10791             Assume that we're adding things for the first time.
10792             Count keys in the quota.
10794 2009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
10796         Reviewed by Eric Seidel.
10798         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
10799         https://bugs.webkit.org/show_bug.cgi?id=31468
10801         Moving TextBoundariesICU.cpp to TextBoundaries.cpp
10802         by removing the direct ICU dependency and replacing it
10803         with WTF functions and WebCore's own TextBreakIterator
10804         abstractions.
10806         * GNUmakefile.am:
10807         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
10808         * platform/text/TextBoundaries.cpp: Added.
10809         (WebCore::findNextWordFromIndex):
10810         (WebCore::findWordBoundary):
10811         * platform/text/TextBoundariesICU.cpp: Removed.
10812         * platform/text/TextBreakIterator.h:
10813         * platform/text/TextBreakIteratorICU.cpp:
10814         (WebCore::textBreakLast):
10815         (WebCore::textBreakPrevious):
10817 2009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
10819         Reviewed by Darin Adler.
10821         WebCore::externalRepresentation should update layout before getting render object
10822         https://bugs.webkit.org/show_bug.cgi?id=31459
10824         * rendering/RenderTreeAsText.cpp:
10825         (WebCore::externalRepresentation):
10827 2009-11-13  Adam Roben  <aroben@apple.com>
10829         Tell FrameLoaderClient when window objects in isolated worlds are
10830         cleared
10832         Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
10833         window objects in isolated worlds are cleared
10835         Test: http/tests/security/isolatedWorld/didClearWindowObject.html
10837         Reviewed by Dave Hyatt.
10839         * bindings/js/JSDOMBinding.h:
10840         (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
10841         worlds in m_worldSet to the passed-in Vector.
10843         * bindings/js/ScriptController.cpp:
10844         (WebCore::ScriptController::getAllWorlds): Added. Calls through to
10845         WebCoreJSClientData.
10846         (WebCore::ScriptController::initScript): Changed to call
10847         FrameLoader::dispatchDidClearWindowObjectInWorld.
10849         * bindings/js/ScriptController.h: Added getAllWorlds.
10851         * loader/EmptyClients.h:
10852         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
10853         Updated for FrameLoaderClient change.
10855         * loader/FrameLoader.cpp:
10856         (WebCore::FrameLoader::receivedFirstData):
10857         (WebCore::FrameLoader::begin):
10858         Changed to call dispatchDidClearWindowObjectsInAllWorlds.
10860         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
10861         Added. Retrieves all the worlds, then calls through to
10862         dispatchDidClearWindowObjectInWorld for each one.
10863         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
10864         dispatchWindowObjectAvailable. Calls up to the client, then, if the
10865         world is the mainThreadNormalWorld(), tells the Inspector about it,
10866         too.
10868         * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
10869         dispatchDidClearWindowObjectInWorld. Added
10870         dispatchDidClearWindowObjectsInAllWorlds.
10872         * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
10873         dispatchDidClearWindowObjectForWorld.
10875 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
10877         Reviewed by Dimitri Glazkov.
10879         [V8] Fix SVG context assignment for pod types.
10880         https://bugs.webkit.org/show_bug.cgi?id=31497
10882         I broke this in r50958.
10884         Tested by svg/custom/viewport-update2.svg.
10886         * bindings/scripts/CodeGeneratorV8.pm:
10888 2009-11-13  Andrei Popescu  <andreip@google.com>
10890         Reviewed by Dmitry Titov.
10892         Bring the platform/android files inline with Android 2.0
10893         https://bugs.webkit.org/show_bug.cgi?id=31423
10895         No new tests required: these are all Android-specific files.
10897         * platform/android/ClipboardAndroid.cpp:
10898         (WebCore::ClipboardAndroid::files):
10899         * platform/android/ClipboardAndroid.h:
10900         * platform/android/FileChooserAndroid.cpp:
10901         (WebCore::FileChooser::basenameForWidth):
10902         (WebCore::fileButtonChooseFileLabel):
10903         * platform/android/KeyEventAndroid.cpp:
10904         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
10905         * platform/android/LocalizedStringsAndroid.cpp:
10906         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
10907         (WebCore::contextMenuItemTagDownloadLinkToDisk):
10908         (WebCore::contextMenuItemTagCopyLinkToClipboard):
10909         (WebCore::contextMenuItemTagOpenImageInNewWindow):
10910         (WebCore::contextMenuItemTagDownloadImageToDisk):
10911         (WebCore::contextMenuItemTagCopyImageToClipboard):
10912         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
10913         (WebCore::contextMenuItemTagCopy):
10914         (WebCore::contextMenuItemTagGoBack):
10915         (WebCore::contextMenuItemTagGoForward):
10916         (WebCore::contextMenuItemTagStop):
10917         (WebCore::contextMenuItemTagReload):
10918         (WebCore::contextMenuItemTagCut):
10919         (WebCore::contextMenuItemTagPaste):
10920         (WebCore::contextMenuItemTagNoGuessesFound):
10921         (WebCore::contextMenuItemTagIgnoreSpelling):
10922         (WebCore::contextMenuItemTagLearnSpelling):
10923         (WebCore::contextMenuItemTagSearchWeb):
10924         (WebCore::contextMenuItemTagLookUpInDictionary):
10925         (WebCore::contextMenuItemTagOpenLink):
10926         (WebCore::contextMenuItemTagIgnoreGrammar):
10927         (WebCore::contextMenuItemTagSpellingMenu):
10928         (WebCore::contextMenuItemTagShowSpellingPanel):
10929         (WebCore::contextMenuItemTagCheckSpelling):
10930         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
10931         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
10932         (WebCore::contextMenuItemTagFontMenu):
10933         (WebCore::contextMenuItemTagBold):
10934         (WebCore::contextMenuItemTagItalic):
10935         (WebCore::contextMenuItemTagUnderline):
10936         (WebCore::contextMenuItemTagOutline):
10937         (WebCore::contextMenuItemTagWritingDirectionMenu):
10938         (WebCore::contextMenuItemTagTextDirectionMenu):
10939         (WebCore::contextMenuItemTagDefaultDirection):
10940         (WebCore::contextMenuItemTagLeftToRight):
10941         (WebCore::contextMenuItemTagRightToLeft):
10942         (WebCore::mediaElementLoadingStateText):
10943         (WebCore::mediaElementLiveBroadcastStateText):
10944         (WebCore::searchableIndexIntroduction):
10945         (WebCore::resetButtonDefaultLabel):
10946         (WebCore::submitButtonDefaultLabel):
10947         (WebCore::inputElementAltText):
10948         * platform/android/RenderThemeAndroid.cpp:
10949         (WebCore::RenderTheme::themeForPage):
10950         (WebCore::RenderThemeAndroid::baselinePosition):
10951         (WebCore::RenderThemeAndroid::paintButton):
10952         (WebCore::adjustMenuListStyleCommon):
10953         (WebCore::RenderThemeAndroid::paintCombo):
10954         * platform/android/ScreenAndroid.cpp:
10955         * platform/android/ScrollViewAndroid.cpp:
10956         (WebCore::ScrollView::platformOffscreenContentRectangle):
10957         * platform/android/TemporaryLinkStubs.cpp:
10958         (JSC::Bindings::dispatchJNICall):
10959         * platform/android/WidgetAndroid.cpp:
10960         (WebCore::Widget::setFrameRect):
10962 2009-11-13  Norbert Leser  <norbert.leser&nokia.com>
10964         Reviewed by Eric Seidel.
10966         Added macros for USERINCLUDE paths within symbian blocks
10967         to guarantee inclusion of respective header files from local path
10968         first (to avoid clashes with same names of header files in system include path).
10970         * WebCore.pro:
10972 2009-11-13  Hironori Bono  <hbono@chromium.org>
10974         Reviewed by Oliver Hunt.
10976         Implement composition events introduced in DOM Level 3.
10977         This change adds a new IDL which defines the composition events, adds a class which
10978         implements the composition events, and sends the composition events according to
10979         the specification.
10980         https://bugs.webkit.org/show_bug.cgi?id=26310
10982         Test: fast/events/ime-composition-events-001.html
10984         * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
10985         * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
10986         * WebCore.gypi: ditto.
10987         * WebCore.pro: ditto
10988         * WebCore.vcproj/WebCore.vcproj: ditto.
10989         * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
10990         * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
10991         * bindings/js/JSEventCustom.cpp:
10992         (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
10993         * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
10994         * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
10995         * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
10996         (WebCore::V8DOMWrapper::convertEventToV8Object):
10997         * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
10998         * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
10999         * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
11000         (WebCore::CompositionEvent::CompositionEvent):
11001         (WebCore::CompositionEvent::~CompositionEvent):
11002         (WebCore::CompositionEvent::initCompositionEvent):
11003         (WebCore::CompositionEvent::isCompositionEvent):
11004         * dom/CompositionEvent.h: Declares the CompositionEvent class.
11005         (WebCore::CompositionEvent::create):
11006         (WebCore::CompositionEvent::data):
11007         * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
11008         * dom/Event.cpp:
11009         (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
11010         * dom/Event.h:
11011         * dom/EventNames.h: Added composition{start,update,end} to eventNames.
11012         * editing/Editor.cpp:
11013         (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
11014         (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
11016 2009-11-13  Jens Alfke  <snej@chromium.org>
11018         Reviewed by Dimitri Glazkov.
11020         Fix a link error in unofficial GCC 4.4 builds on Linux.
11021         https://bugs.webkit.org/show_bug.cgi?id=31477
11023         * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
11025 2009-11-13  Eric Seidel  <eric@webkit.org>
11027         No review, build fix only.
11029         Fix Debug build after http://trac.webkit.org/changeset/50960.
11031         The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
11032         https://bugs.webkit.org/show_bug.cgi?id=31213
11034         * rendering/CounterNode.cpp:
11035         (WebCore::showTreeAndMark):
11036         * rendering/RenderCounter.cpp:
11037         (WebCore::destroyCounterNodeChildren):
11039 2009-11-13  Dirk Schulze  <krit@webkit.org>
11041         Reviewed by Gustavo Noronha.
11043         [CAIRO] shadow support for Canvas and SVG
11044         [https://bugs.webkit.org/show_bug.cgi?id=30960]
11046         We currently fill a path with solid color instead of filling
11047         a clipping path. This causes problems on some composite operators,
11048         since Cairo modifies the area outside the path.
11049         This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
11051         Thanks to Benjamin Otte for tracking the bug down.
11053         * platform/graphics/cairo/GraphicsContextCairo.cpp:
11054         (WebCore::setPlatformFill):
11056 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
11058         Reviewed by Dimitri Glazkov.
11060         Adding Chromium's DatabaseTracker implementation.
11062         https://bugs.webkit.org/show_bug.cgi?id=31440
11064         * WebCore.gyp/WebCore.gyp:
11065         * WebCore.gypi:
11066         * storage/DatabaseTracker.h:
11067         * storage/chromium/DatabaseTrackerChromium.cpp:
11068         (WebCore::DatabaseTracker::fullPathForDatabase):
11069         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
11070         * storage/chromium/QuotaTracker.cpp:
11071         (WebCore::QuotaTracker::updateDatabaseSize):
11072         * storage/chromium/QuotaTracker.h:
11074 2009-11-13  Carol Szabo  <carol.szabo@nokia.com>
11076         Reviewed by Darin Adler.
11078         The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
11079         https://bugs.webkit.org/show_bug.cgi?id=31213
11080         Added tree navigation methods that permit full implementation of CSS2.1
11081         counter feature without using recursion proportional to the counter
11082         tree depth.
11083         No new tests because I did not find any bug that is fixed by this
11084         commit yet, this just reduces the size of the patch for 11031 and
11085         helps respond to some concerns regarding that patch.
11087         * rendering/CounterNode.cpp:
11088         (WebCore::CounterNode::CounterNode):
11090         (WebCore::CounterNode::nextInPreOrderAfterChildren):
11091         (WebCore::CounterNode::nextInPreOrder):
11092         Added to support non-recursive tree traversal necessary for
11093         efficient full implementation of CSS2.1 counters.
11095         (WebCore::CounterNode::lastDescendant):
11096         (WebCore::CounterNode::previousInPreOrder):
11097         Moved this methods such that they occupy a place similar to that of
11098         identically named methods on the render tree. This allows for their
11099         broader use needed in full implementation of CSS2.1 counters.
11101         (WebCore::CounterNode::resetRenderer):
11102         (WebCore::CounterNode::resetRenderers):
11103         (WebCore::CounterNode::recount):
11104         (WebCore::CounterNode::insertAfter):
11105         (WebCore::CounterNode::removeChild):
11106         Changed such that insertion/removal of a counter, triggers not only
11107         recalculation of PrefixWidths, but also reassesment of values in
11108         counter nodes. This is the basis full implementation of CSS2.1
11109         counters. It does not change current behavior by much because of
11110         changes needed to the recalculation algorithm, but those are comming
11111         in the patch for 11031.
11112         (WebCore::showTreeAndMark):
11113         * rendering/CounterNode.h:
11114         * rendering/RenderCounter.cpp:
11115         (WebCore::counter):
11116         Only changed argument type to prepare for implementation of Darin
11117         Adler's recommendation for the patch to 11031.
11119         (WebCore::RenderCounter::invalidate):
11120         (WebCore::destroyCounterNodeChildren):
11121         (WebCore::RenderCounter::destroyCounterNodes):
11122         * rendering/RenderCounter.h:
11123         * rendering/RenderObjectChildList.cpp:
11124         (WebCore::invalidateCountersInContainer):
11125         (WebCore::RenderObjectChildList::invalidateCounters):
11126         * rendering/RenderObjectChildList.h:
11127         Added the ability to restrict invalidation to counters with a given
11128         identifier.
11129         Also invalidated counters that are on the child container itself
11130         which were missed by the previous algorithm, but were a valid case.
11132 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
11134         Reviewed by Dimitri Glazkov.
11136         [V8] Protect SVG animated properties from destruction in bindings.
11137         https://bugs.webkit.org/show_bug.cgi?id=31474
11139         See http://crbug.com/26719.
11141         Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
11142         under Valgrind.
11144         Made sure we keep a reference to SVG properties while setting a
11145         context:
11146         * bindings/scripts/CodeGeneratorV8.pm:
11147         * bindings/v8/V8Proxy.h:
11148         (WebCore::V8Proxy::withSVGContext):
11150 2009-11-13  Brent Fulgham  <bfulgham@webkit.org>
11152         Reviewed by Alexey Proskuryakov.
11154         [CAIRO] shadow support for Canvas and SVG.
11155         [https://bugs.webkit.org/show_bug.cgi?id=30960]
11157         Incorporate Benjamin Otte's recommendations to avoid
11158         a buffer overrun, and small performance improvement.
11160         * platform/graphics/cairo/GraphicsContextCairo.cpp:
11161         (WebCore::copyContextProperties): Correctly size output
11162          storage for cairo_get_dash to avoid buffer overrun.
11163         (WebCore::drawPathShadow): Prefer cairo_fill_extents
11164          to slower cairo_stroke_extents when not drawing shadows.
11166 2009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
11168         Reviewed by Dimitri Glazkov.
11170         Do not register Chromium's HTML5 DB VFS as the default
11171         VFS. Otherwise, other sqlite DB users in the same process will
11172         stop working.
11174         https://bugs.webkit.org/show_bug.cgi?id=31462
11176         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
11177         (WebCore::SQLiteFileSystem::openDatabase):
11178         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
11179         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
11180         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
11181         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
11183 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
11185         Windows build fix
11187         * platform/network/cf/SocketStreamHandleCFNet.cpp:
11188         (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
11189         avoiding a sign mismatch warning.
11191 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
11193         Release build fix.
11195         * platform/network/cf/SocketStreamHandleCFNet.cpp:
11196         (WebCore::SocketStreamHandle::readStreamCallback):
11197         (WebCore::SocketStreamHandle::writeStreamCallback):
11198         Use ASSERT_UNUSED for unused stream parameter.
11200 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
11202         Reviewed by Darin Adler.
11204         https://bugs.webkit.org/show_bug.cgi?id=31441
11205         Implement SocketStreamHandleCFNet
11207         Existing WebSocket tests now pass on Mac. No proxy support yet.
11209         * platform/network/SocketStreamHandleClient.h:
11210         * platform/network/cf/SocketStreamHandle.h:
11211         (WebCore::SocketStreamHandle::shouldUseSSL):
11212         (WebCore::SocketStreamHandle::refAuthenticationClient):
11213         (WebCore::SocketStreamHandle::derefAuthenticationClient):
11214         (WebCore::SocketStreamHandle::):
11215         * platform/network/cf/SocketStreamHandleCFNet.cpp:
11216         (WebCore::SocketStreamHandle::SocketStreamHandle):
11217         (WebCore::SocketStreamHandle::chooseProxy):
11218         (WebCore::SocketStreamHandle::createStreams):
11219         (WebCore::SocketStreamHandle::copyCFStreamDescription):
11220         (WebCore::SocketStreamHandle::readStreamCallback):
11221         (WebCore::SocketStreamHandle::writeStreamCallback):
11222         (WebCore::SocketStreamHandle::~SocketStreamHandle):
11223         (WebCore::SocketStreamHandle::platformSend):
11224         (WebCore::SocketStreamHandle::platformClose):
11225         (WebCore::SocketStreamHandle::receivedCredential):
11226         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
11227         (WebCore::SocketStreamHandle::receivedCancellation):
11229 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
11231         Reviewed by Timothy Hatcher.
11233         Web Inspector: preload status bar button glyphs
11234         in order to prevent them from flickering (take 2).
11236         https://bugs.webkit.org/show_bug.cgi?id=31439
11238         * inspector/front-end/inspector.js:
11239         (preloadImages):
11241 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
11243         Reviewed by Adam Barth.
11245         Chromium: [REGRESSION] Crash while stopping on a breakpoint.
11246         Rolling back r50890.
11248         https://bugs.webkit.org/show_bug.cgi?id=31467
11250         * bindings/v8/V8Proxy.cpp:
11251         (WebCore::V8Proxy::canAccessPrivate):
11253 2009-11-13  Dirk Schulze  <krit@webkit.org>
11255         Reviewed by Gustavo Noronha.
11257         [CAIRO] shadow support for Canvas and SVG
11258         [https://bugs.webkit.org/show_bug.cgi?id=30960]
11259         
11260         This is the fix of a regression, caused by the shadow patch
11261         from the bug above. Reinserted the save and restore calls
11262         that were accidently removed by the previous patch.
11264         * platform/graphics/cairo/GraphicsContextCairo.cpp:
11265         (WebCore::setPlatformFill):
11266         (WebCore::setPlatformStroke):
11268 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
11270         Not reviewed. Reverting r50908 since it makes inspector tests
11271         time out.
11273         https://bugs.webkit.org/show_bug.cgi?id=31439
11275         * inspector/front-end/inspector.js:
11277 2009-11-13  Mikhail Naganov  <mnaganov@chromium.org>
11279         Reviewed by Timothy Hatcher.
11281         Enable 'console.profile()' and 'console.profileEnd()'
11282         regardless of JAVASCRIPT_DEBUGGER.
11284         https://bugs.webkit.org/show_bug.cgi?id=31293
11286         * WebCore.gypi:
11287         * bindings/js/JSConsoleCustom.cpp:
11288         (WebCore::JSConsole::profile):
11289         (WebCore::JSConsole::profileEnd):
11290         * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
11291         (WebCore::CALLBACK_FUNC_DECL):
11292         * bindings/v8/custom/V8CustomBinding.h:
11293         * page/Console.idl:
11295 2009-11-12  David Levin  <levin@chromium.org>
11297         Reviewed by NOBODY.
11299         Chromium build fix.
11301         * bindings/v8/ScriptController.h:
11302         (WebCore::ScriptController::evaluateInWorld): Add a dummy
11303          method which isn't called in chromium to make things compile.
11305 2009-11-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
11307         Reviewed by Adam Barth.
11308         
11309         The document-open.html test was flaky at times. The test invokes the layout test plugin
11310         which in its destroy stream handler opens a new document. This basically tears down the
11311         stream and the associated plugin instance, which causes a crash when the plugin stream
11312         dereferences an invalid m_client pointer which points to the PluginView instance which
11313         is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
11314         and check for the same.
11315        
11316         https://bugs.webkit.org/show_bug.cgi?id=31067
11318         * plugins/PluginStream.cpp:
11319         (WebCore::PluginStream::stop):
11320         (WebCore::PluginStream::destroyStream):
11322 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
11324         Reviewed by Dimitri Glazkov.
11326         Renaming some parameters passed to DB-related methods to better
11327         indicate their purpose.
11329         https://bugs.webkit.org/show_bug.cgi?id=31449
11331         * platform/chromium/ChromiumBridge.h:
11333 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
11335         Reviewed by Dan Bernstein.
11337         Transformed reflected elements are clipped inside element with opacity
11338         https://bugs.webkit.org/show_bug.cgi?id=30957
11339         
11340         transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
11341         each clip rect into painting space before taking the unions. This, however, did not work
11342         correctly with combinations of reflections and transforms. Fixed by unioning the
11343         clipRect and mapping through transforms along the way.
11344         
11345         Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
11346         where the transparency layers are.
11348         Test: fast/reflections/opacity-reflection-transform.html
11350         * rendering/RenderLayer.cpp:
11351         (WebCore::expandClipRectForDescendantsAndReflection):
11352         (WebCore::transparencyClipBox):
11353         (WebCore::RenderLayer::beginTransparencyLayers):
11355 2009-11-12  Adam Barth  <abarth@webkit.org>
11357         Reviewed by Darin Fisher.
11359         Improve SecurityOrigin::toString comment
11360         https://bugs.webkit.org/show_bug.cgi?id=31041
11362         * page/SecurityOrigin.h:
11364 2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
11366         Reviewed by Darin Adler.
11368         externalRepresentation should take Frame as the argument
11369         https://bugs.webkit.org/show_bug.cgi?id=31393
11371         No new tests as this is just a refactoring.
11373         * WebCore.base.exp:
11374         * rendering/RenderTreeAsText.cpp:
11375         (WebCore::externalRepresentation):
11376         * rendering/RenderTreeAsText.h:
11378 2009-11-12  Ben Murdoch  <benm@google.com>
11380         Reviewed by Dimitri Glazkov.
11382         [Android] The Android specific files in page/Android are out of date.
11383         https://bugs.webkit.org/show_bug.cgi?id=31437
11385         No tests required.
11387         * page/android/DragControllerAndroid.cpp:
11388         (WebCore::DragController::dragOperation): Added.
11389         (WebCore::DragController::cleanupAfterSystemDrag):
11390         * page/android/EventHandlerAndroid.cpp:
11391         (WebCore::EventHandler::accessKeyModifiers): Added.
11392         * page/android/InspectorControllerAndroid.cpp: Removed.
11394 2009-11-12  Brent Fulgham  <bfulgham@webkit.org>
11396         Reviewed by Simon Fraser.
11398         [CAIRO] shadow support for Canvas and SVG.
11399         [https://bugs.webkit.org/show_bug.cgi?id=30960]
11401         Implement Canvas/SVG shadow support for Cairo.  This patch
11402         uses the filter code from SVG Filters.  That means that it is
11403         necessary to activate filters to see the shadows.
11405         Test: fast/canvas/canvas-shadow.html
11407         * GNUmakefile.am:
11408         * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
11409         * platform/graphics/GraphicsContext.h:
11410         * platform/graphics/cairo/GraphicsContextCairo.cpp:
11411         (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
11412         (WebCore::setPlatformFill):
11413         (WebCore::setPlatformStroke):
11414         (WebCore::copyContextProperties):
11415         (WebCore::drawPathShadow):
11416         (WebCore::GraphicsContext::fillPath):
11417         (WebCore::GraphicsContext::strokePath):
11418         (WebCore::GraphicsContext::drawPath):
11419         (WebCore::GraphicsContext::setPlatformShadow):
11420         (WebCore::GraphicsContext::createPlatformShadow):
11421         * platform/graphics/cairo/ImageCairo.cpp:
11422         (WebCore::BitmapImage::draw): Add filter effect.
11423         * platform/graphics/filters/Filter.h: Correct 'const' signatures.
11424         * platform/graphics/filters/ImageBufferFilter.cpp: Added.
11425         * platform/graphics/filters/ImageBufferFilter.h: Added.
11426         * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
11427         * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
11429 2009-11-12  Dmitry Titov  <dimich@chromium.org>
11431         Reviewed by Alexey Proskuryakov.
11433         Add postTaskToMainThread to ScriptExecutionContext.
11434         Move the code to post task to the main thread into a new method on ScriptExecutionContext,
11435         to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
11436         contexts that live on the main thread.
11437         https://bugs.webkit.org/show_bug.cgi?id=31427
11439         No new tests - simply moving the code.
11441         * dom/Document.cpp:
11442         (WebCore::Document::postTask):
11443         * dom/ScriptExecutionContext.cpp:
11444         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
11445         (WebCore::ScriptExecutionContextTaskTimer::fired):
11446         (WebCore::PerformTaskData::PerformTaskData):
11447         (WebCore::PerformTaskData::performTask):
11448         (WebCore::ScriptExecutionContext::postTaskToMainThread):
11449         * dom/ScriptExecutionContext.h:
11451 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
11453         Reviewed by Darin Adler.
11455         Fix crash when removing compositing layers when GC is enabled
11456         https://bugs.webkit.org/show_bug.cgi?id=31429
11458         Workaround <rdar://problem/7390716> by special-casing the removal
11459         of all sublayers when GC is enabled.
11461         * platform/graphics/mac/GraphicsLayerCA.mm:
11462         (WebCore::safeSetSublayers):
11463         (WebCore::GraphicsLayerCA::updateSublayerList):
11464         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
11466 2009-11-12  Jens Alfke  <snej@chromium.org>
11468         Reviewed by Dimitri Glazkov.
11470         The last of the V8 binding optimizations.
11471         - Replace string-valued element accessors with a shared getter/setter function.
11472         - Change error handling flow of control to avoid extra branches and function calls.
11473         https://bugs.webkit.org/show_bug.cgi?id=31443
11474         
11475         * bindings/scripts/CodeGeneratorV8.pm:
11476         * bindings/v8/V8Binding.cpp:
11477         (WebCore::getElementStringAttr):  Body of string-valued Element getter function.
11478         (WebCore::setElementStringAttr):  Body of string-valued Element setter function.
11479         * bindings/v8/V8Binding.h:
11481 2009-11-12  Sam Weinig  <sam@webkit.org>
11483         Reviewed by Oliver Hunt.
11485         Fix for <rdar://problem/7267951>
11486         Canvas methods should reject uses of NaN and Infinity.
11488         Test: fast/canvas/canvas-with-illegal-args.html
11490         * html/canvas/CanvasRenderingContext2D.cpp:
11491         (WebCore::CanvasRenderingContext2D::scale):
11492         (WebCore::CanvasRenderingContext2D::rotate):
11493         (WebCore::CanvasRenderingContext2D::translate):
11494         (WebCore::CanvasRenderingContext2D::transform):
11495         (WebCore::CanvasRenderingContext2D::setTransform):
11497 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
11499         Reviewed by Timothy Hatcher.
11501         Web Inspector: profile timeline panel, fix obvious problems.
11503         https://bugs.webkit.org/show_bug.cgi?id=31432
11505         * inspector/front-end/AbstractTimelinePanel.js:
11506         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
11507         * inspector/front-end/TimelinePanel.js:
11508         (WebInspector.TimelinePanel.prototype._setWindowPosition):
11509         (WebInspector.TimelineCalculator):
11510         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
11511         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
11512         (WebInspector.TimelineCalculator.prototype.reset):
11513         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
11514         (WebInspector.TimelineCalculator.prototype.formatValue):
11515         (WebInspector.TimelineGraph):
11516         (WebInspector.TimelineGraph.prototype.refresh):
11517         * inspector/front-end/utilities.js:
11518         (Element.prototype.hasStyleClass):
11520 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
11522         Reviewed by Timothy Hatcher.
11524         Web Inspector: preload status bar button glyphs
11525         in order to prevent them from flickering.
11527         https://bugs.webkit.org/show_bug.cgi?id=31439
11529         * inspector/front-end/inspector.js:
11530         (preloadImages):
11532 2009-11-12  Adam Roben  <aroben@apple.com>
11534         Replace worldIDs with world objects
11536         Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
11537         user scripts/stylesheets and isolated worlds
11539         Reviewed by Sam Weinig.
11541         Covered by existing tests.
11543         * WebCore.base.exp: Update exported symbols to match what now exists
11544         and is needed by WebKit.
11546         * bindings/js/ScheduledAction.cpp:
11547         (WebCore::ScheduledAction::execute): Updated for function rename.
11549         * bindings/js/ScriptController.cpp: Removed code that dealt with
11550         worldIDs.
11551         (WebCore::ScriptController::createWorld): Added. Returns a new world
11552         suitable for use on the main thread.
11553         (WebCore::ScriptController::executeScriptInWorld): Renamed from
11554         executeScriptInIsolatedWorld, since this works just fine with a
11555         "normal" world.
11557         * bindings/js/ScriptController.h: Added createWorld, removed functions
11558         that took worldIDs, renamed executeScriptInIsolatedWorld to
11559         executeScriptInWorld.
11561         * page/Frame.cpp:
11562         (WebCore::Frame::injectUserScripts):
11563         (WebCore::Frame::injectUserScriptsForWorld):
11564         Updated for changes to UserScriptMap and ScriptController.
11566         * page/Frame.h: Changed injectUserScriptsForWorld to take a
11567         DOMWrapperWorld* instead of a worldID.
11569         * page/PageGroup.cpp:
11570         (WebCore::PageGroup::addUserScriptToWorld):
11571         (WebCore::PageGroup::addUserStyleSheetToWorld):
11572         (WebCore::PageGroup::removeUserScriptFromWorld):
11573         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
11574         (WebCore::PageGroup::removeUserScriptsFromWorld):
11575         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
11576         * page/PageGroup.h:
11577         Changed these functions to take a DOMWrapperWorld* instead of a
11578         worldID. Also updated for changes to UserScript and UserStyleSheet.
11580         * page/UserScript.h:
11581         * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
11582         never used.
11584         * page/UserScriptTypes.h:
11585         * page/UserStyleSheetTypes.h: Changed UserScriptMap and
11586         UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
11587         worldID as their key type.
11590 2009-11-12  Brian Weinstein  <bweinstein@apple.com>
11592         Reviewed by Tim Hatcher.
11594         Fixes <http://webkit.org/b/31260>.
11595         Web Inspector: Main Resources Other than HTML are mis-detected.
11596         
11597         Even if the resource is a main resource, look at its CachedResource type, 
11598         because it might be an image, stylesheet, or JavaScript file, and we
11599         want to show them all correctly.
11601         * inspector/InspectorResource.cpp:
11602         (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
11603         (WebCore::InspectorResource::type): 
11604         * inspector/InspectorResource.h:
11606 2009-11-12  Jens Alfke  <snej@chromium.org>
11608         Reviewed by Dimitri Glazkov.
11610         Table-driven setup for V8 binding template callback functions. 100k in code savings.
11611         https://bugs.webkit.org/show_bug.cgi?id=31420
11613         * bindings/scripts/CodeGeneratorV8.pm:  Change generated ConfigureXXXTemplate fn
11614             to call configureTemplate().
11615         * bindings/v8/V8Binding.cpp:
11616         (WebCore::configureTemplate):  New function; does all the standard configuration work.
11617         (WebCore::createCallback):  De-inlined wrapper for FunctionTemplate creation.
11618         * bindings/v8/V8Binding.h:
11619         * bindings/v8/V8Proxy.cpp:
11620         (WebCore::batchConfigureAttributes):  Just wrapped the very long fn parameter list.
11621         (WebCore::batchConfigureCallbacks):  New function, used by configureTemplate.
11622         (WebCore::batchConfigureConstants):  Just wrapped the very long fn parameter list.
11623         * bindings/v8/V8Proxy.h:
11625 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
11627         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
11629         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
11631 2009-11-12  Eric Carlson  <eric.carlson@apple.com>
11633         Reviewed by Dan Bernstein.
11635         <rdar://problem/7388969> Add DOM API for fullscreen video
11636         
11637         DOM API for fullscreen <video>.
11639         Tests: media/media-fullscreen-inline.html
11640                media/media-fullscreen-not-in-document.html
11642         * dom/EventNames.h:
11643             Add webkitbeginfullscreen and webkitendfullscreen.
11645         * html/HTMLAttributeNames.in:
11646             Add onwebkitbeginfullscreen and onwebkitendfullscreen.
11648         * html/HTMLMediaElement.cpp:
11649         (WebCore::HTMLMediaElement::parseMappedAttribute):
11650             Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
11651         (WebCore::HTMLMediaElement::enterFullscreen):
11652             Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
11653             actually do enter fullscreen.
11654         (WebCore::HTMLMediaElement::exitFullscreen):
11655             Schedule webkitendfullscreenEvent event.
11656         (WebCore::HTMLMediaElement::webkitEnterFullScreen):
11657         (WebCore::HTMLMediaElement::webkitExitFullScreen):
11658         (WebCore::HTMLMediaElement::webkitSupportsFullscreen):
11659         (WebCore::HTMLMediaElement::webkitDisplayingFullscreen):
11660             New, access to fullscreen properties and methods.
11662         * html/HTMLMediaElement.h:
11663         * html/HTMLMediaElement.idl:
11664             Declare methods needed for fullscreen API.
11666         * html/HTMLVideoElement.cpp:
11667         (WebCore::HTMLVideoElement::supportsFullscreen):
11668             Return false if a movie does not have video.
11670         * page/DOMWindow.h:
11671             Add webkitbeginfullscreen and webkitendfullscreen.
11673 2009-11-12  Adam Barth  <abarth@webkit.org>
11675         Reviewed by Dimitri Glazkov.
11677         [Chromium] Sify compose button alerts error
11678         https://bugs.webkit.org/show_bug.cgi?id=31394
11680         Test: http/tests/security/calling-versus-current.html
11682         We're supposed to use the calling context for security checks.  In JSC
11683         land, this is the lexicalGlobalObject.
11685         * bindings/v8/V8Proxy.cpp:
11686         (WebCore::V8Proxy::canAccessPrivate):
11688 2009-11-12  Daniel Bates  <dbates@webkit.org>
11690         Reviewed by Darin Adler.
11692         https://bugs.webkit.org/show_bug.cgi?id=30291
11694         Fixes an issue where the returned drop effect is incorrect when
11695         effectAllowed == "uninitialized".
11697         According to section 7.9.2 of the HTML 5 spec.
11698         <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces>
11699         when effectAllowed = "uninitialized" the resulting dropEffect should be the
11700         user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any
11701         other case.
11702         
11703         No test cases are included because we have an existing test case from
11704         bug #24731.
11706         * dom/Clipboard.cpp:
11707         (WebCore::dragOpFromIEOp): Added case for op == "uninitialized".
11709 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
11711         Reviewed by Timothy Hatcher.
11713         Web Inspector: Do not highlight node on refresh.
11715         https://bugs.webkit.org/show_bug.cgi?id=31419
11717         * inspector/front-end/ElementsPanel.js:
11718         (WebInspector.ElementsPanel.prototype.reset):
11720 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
11722         Reviewed by Timothy Hatcher.
11724         Web Inspector: Minor timeline fixes.
11726         https://bugs.webkit.org/show_bug.cgi?id=31417
11728         * inspector/front-end/TimelinePanel.js:
11729         (WebInspector.TimelinePanel.prototype._getRecordDetails):
11730         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
11731         (WebInspector.TimelineRecordTreeElement.prototype._updateDetails):
11732         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
11734 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
11736         SnowLeopard build fix.
11738         Renamed initWithClient to initWithAuthenticationClient.
11740         * platform/network/mac/AuthenticationMac.mm:
11741         (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]):
11742         (WebCore::AuthenticationChallenge::setAuthenticationClient):
11744 2009-11-12  Chris Fleizach  <cfleizach@apple.com>
11746         Reviewed by Darin Adler.
11748         ARIA: add alert type roles
11749         https://bugs.webkit.org/show_bug.cgi?id=31392
11751         Test: platform/mac/accessibility/aria-alerts.html
11753         * accessibility/AccessibilityObject.h:
11754         * accessibility/AccessibilityRenderObject.cpp:
11755         * accessibility/mac/AccessibilityObjectWrapper.mm:
11757 2009-11-11  Alexey Proskuryakov  <ap@apple.com>
11759         Reviewed by Darin Adler.
11761         https://bugs.webkit.org/show_bug.cgi?id=31386
11762         Make Mac AuthenticationChallenge usable from cross-platform code
11764         No change in behavior, so no tests.
11766         * platform/network/ResourceHandle.cpp:
11767         (WebCore::ResourceHandle::clearAuthentication):
11768         * platform/network/ResourceHandleInternal.h:
11769         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
11770         Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the
11771         NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge
11772         is identical.
11774         * platform/network/cf/AuthenticationChallenge.h:
11775         (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new
11776         Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client.
11778         * platform/network/cf/ResourceHandleCFNet.cpp:
11779         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal
11780         of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to
11781         be already set.
11783         * platform/network/mac/AuthenticationChallenge.h:
11784         (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the
11785         best of my understanding.
11786         (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent
11787         confusion with "mac" and "web" challenges in ResourceHandleInternal.
11789         * platform/network/mac/AuthenticationMac.mm:
11790         (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient,
11791         making it possible to use the latter with NSURLAuthenticationChallenge.
11792         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge ->
11793         m_nsChallenge renaming.
11794         (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and
11795         set it as sender (or unset, if client is null).
11797         * platform/network/mac/ResourceHandleMac.mm:
11798         (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as
11799         authentication challenge sender.
11800         (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an
11801         authentication sheet.
11802         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge
11803         using the new setAuthenticationClient() method.
11804         (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion.
11805         Since didCancelAuthenticationChallenge is called by connection, the passed challenge is
11806         the original Mac one, not the one we created for use with authentication sheet. I don't
11807         know when a connection would cancel authentication in practice, so I haven't tested this.
11809 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
11811         Reviewed by Timothy Hatcher.
11813         Web Inspector: breakpoint sidebar entries should allow click over entire list item
11814         https://bugs.webkit.org/show_bug.cgi?id=31411
11816         No new tests; no new functionality, small usability change. 
11818         * inspector/front-end/BreakpointsSidebarPane.js:
11819         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
11820         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
11822 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
11824         Reviewed by Timothy Hatcher.
11826         Web Inspector: breakpoints in named evals are not restored after a reload
11827         https://bugs.webkit.org/show_bug.cgi?id=31375
11829         Manual test added
11831         * inspector/front-end/ScriptsPanel.js:
11832         (WebInspector.ScriptsPanel.prototype.addScript):
11833         * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added.
11835 2009-11-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
11837         Reviewed by Kenneth Rohde Christiansen.
11839         Custom printing shrink factors
11840         https://bugs.webkit.org/show_bug.cgi?id=29042
11842         This reverts commit r49769. The public API for this needs to be reviewed
11843         before its inclusion in Qt.
11845         * page/PrintContext.cpp:
11846         (WebCore::PrintContext::begin):
11847         * page/Settings.cpp:
11848         (WebCore::Settings::Settings):
11849         * page/Settings.h:
11851 2009-11-12  Alexander Pavlov  <apavlov@chromium.org>
11853         Reviewed by Pavel Feldman.
11855         Web Inspector: Resource errors/warnings not shown in the Resource tree.
11857         Error/Warning bubbles are not displayed next to the resource in the 
11858         Resources panel if those occur before the resource is attached to the tree.
11859         https://bugs.webkit.org/show_bug.cgi?id=31404
11861         Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html
11863         * inspector/front-end/AbstractTimelinePanel.js:
11864         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
11865         * inspector/front-end/ResourcesPanel.js:
11866         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
11868 2009-11-12  Philippe Normand  <pnormand@igalia.com>
11870         Reviewed by Jan Alonzo.
11872         https://bugs.webkit.org/show_bug.cgi?id=31047
11873         [GTK] Failing test media/video-played-ranges-1.html
11875         Follow-up of r50726, don't block the UI thread when calling
11876         gst_element_get_state(). Also fixed a compilation warning and some
11877         static casts.
11879         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11880         (WebCore::playbackPosition):
11881         (WebCore::MediaPlayerPrivate::seek):
11882         (WebCore::MediaPlayerPrivate::setRate):
11884 2009-11-12  Philippe Normand  <pnormand@igalia.com>
11886         Reviewed by Jan Alonzo.
11888         https://bugs.webkit.org/show_bug.cgi?id=31047
11889         [GTK] Failing test media/video-played-ranges-1.html
11891         don't pause pipeline if already paused, same for play()
11893         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11894         (WebCore::MediaPlayerPrivate::play):
11895         (WebCore::MediaPlayerPrivate::pause):
11897 2009-11-12  Kinuko Yasuda  <kinuko@google.com>
11899         Reviewed by David Levin.
11901         Support Gtk scrollwheel behavior for horizontal scrollbars on Linux
11902         Chromium too.
11903         https://bugs.webkit.org/show_bug.cgi?id=31292
11905         No new tests. (Corresponding test for Gtk+ is
11906         platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html)
11908         * page/EventHandler.cpp:
11909         * page/chromium/EventHandlerChromium.cpp:
11911 2009-11-12  Yuta Kitamura  <yutak@chromium.org>
11913         Reviewed by Eric Seidel.
11915         Prevent text inside a multi-column block from being split into columns.
11916         
11917         If the tentative height of a multi-column block was too small, we need to
11918         expand the block height and try to layout again, in order to prevent text
11919         from being split into different columns.
11921         CSS Multicolumn text is split awkwardly
11922         https://bugs.webkit.org/show_bug.cgi?id=22249
11924         Test: fast/multicol/single-line.html
11926         * rendering/RenderBlock.cpp:
11927         (WebCore::RenderBlock::layoutColumns):
11928         * rendering/RenderBlock.h:
11929         * rendering/RenderLineBoxList.cpp:
11930         (WebCore::RenderLineBoxList::paint):
11931         * rendering/RenderView.h:
11932         (WebCore::RenderView::setTruncatedAt):
11933         (WebCore::RenderView::setMinimumColumnHeight):
11934         (WebCore::RenderView::minimumColumnHeight):
11936 2009-11-11  Kent Tamura  <tkent@chromium.org>
11938         Reviewed by Darin Adler.
11940         Fix a bug that RenderFileUploadControl isn't initialized with multiple files.
11941         https://bugs.webkit.org/show_bug.cgi?id=31195
11943         Test: fast/forms/input-file-re-render.html
11945         * rendering/RenderFileUploadControl.cpp:
11946         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
11948 2009-11-09  Dumitru Daniliuc  <dumi@chromium.org>
11950         Reviewed by Dimitri Glazkov.
11952         Fixing Chromium's POSIX VFS implementation, by adding the required
11953         "used file descriptors" logic.
11955         https://bugs.webkit.org/show_bug.cgi?id=31275
11957         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
11959 2009-11-11  Chris Fleizach  <cfleizach@apple.com>
11961         Reviewed by Oliver Hunt.
11963         need to implement aria tree roles
11964         https://bugs.webkit.org/show_bug.cgi?id=31284
11966         Tests: platform/mac/accessibility/aria-multiselectable.html
11967                platform/mac/accessibility/aria-tree.html
11969         * accessibility/AccessibilityList.cpp:
11970         (WebCore::AccessibilityList::accessibilityIsIgnored):
11971         * accessibility/AccessibilityObject.cpp:
11972         (WebCore::AccessibilityObject::ariaTreeRows):
11973         (WebCore::AccessibilityObject::ariaTreeItemContent):
11974         (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
11975         * accessibility/AccessibilityObject.h:
11976         (WebCore::):
11977         (WebCore::AccessibilityObject::isTree):
11978         (WebCore::AccessibilityObject::isTreeItem):
11979         (WebCore::AccessibilityObject::setIsExpanded):
11980         (WebCore::AccessibilityObject::canSetExpandedAttribute):
11981         (WebCore::AccessibilityObject::hierarchicalLevel):
11982         (WebCore::AccessibilityObject::setSelectedRows):
11983         (WebCore::AccessibilityObject::performDefaultAction):
11984         * accessibility/AccessibilityRenderObject.cpp:
11985         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
11986         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
11987         (WebCore::AccessibilityRenderObject::isExpanded):
11988         (WebCore::AccessibilityRenderObject::setElementAttributeValue):
11989         (WebCore::AccessibilityRenderObject::elementAttributeValue):
11990         (WebCore::AccessibilityRenderObject::setIsExpanded):
11991         (WebCore::AccessibilityRenderObject::isSelected):
11992         (WebCore::AccessibilityRenderObject::setSelected):
11993         (WebCore::AccessibilityRenderObject::setSelectedRows):
11994         (WebCore::createARIARoleMap):
11995         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
11996         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
11997         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
11998         (WebCore::AccessibilityRenderObject::selectedChildren):
11999         * accessibility/AccessibilityRenderObject.h:
12000         * accessibility/mac/AccessibilityObjectMac.mm:
12001         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
12002         * accessibility/mac/AccessibilityObjectWrapper.mm:
12003         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
12004         (RoleEntry::):
12005         (-[AccessibilityObjectWrapper subrole]):
12006         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
12007         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
12008         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
12009         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
12010         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
12011         * html/HTMLAttributeNames.in:
12013 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
12015         Build fix after @r50760 with ENABLE_FILTERS.
12017         * platform/graphics/filters/SourceAlpha.cpp:
12018         (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect.
12019         * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument
12020           to fillRect.
12022 2009-11-11  Fumitoshi Ukai  <ukai@chromium.org>
12024         Reviewed by Alexey Proskuryakov.
12026         Fix WebSocket frame parser of frame_type with high-order bit set.
12027         https://bugs.webkit.org/show_bug.cgi?id=30668
12029         If buffer is smaller than frame's length, it should break the loop
12030         instead of reading next byte.
12032         Tests: websocket/tests/frame-length-longer-than-buffer.html
12033                websocket/tests/frame-length-skip.html
12035         * websockets/WebSocketChannel.cpp:
12036         (WebCore::WebSocketChannel::didReceiveData):
12038 2009-11-11  Yusuke Sato  <yusukes@chromium.org>
12040         Reviewed by Adam Barth.
12042         [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium
12043         https://bugs.webkit.org/show_bug.cgi?id=31345
12045         Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed.
12047         * platform/graphics/chromium/FontCustomPlatformData.cpp:
12048         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx().
12049         (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call.
12050         (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well.
12052 2009-11-11  Beth Dakin  <bdakin@apple.com>
12054         Build fix. No review needed.
12056         * platform/graphics/gtk/FontGtk.cpp:
12057         (WebCore::Font::drawComplexText):
12059 2009-11-11  Beth Dakin  <bdakin@apple.com>
12061         Build fix. No review needed.
12063         * platform/graphics/cairo/FontCairo.cpp:
12064         (WebCore::Font::drawGlyphs):
12066 2009-11-11  Beth Dakin  <bdakin@apple.com>
12068         Windows build fix. No review needed. 
12070         * platform/graphics/win/FontCGWin.cpp:
12071         (WebCore::Font::drawGlyphs):
12073 2009-11-11  Beth Dakin  <bdakin@apple.com>
12075         Reviewed by Simon Fraser.
12077         Fix for https://bugs.webkit.org/show_bug.cgi?id=31382
12078         Make -webkit-color-correction work with shadows
12080         From canvas, just send DeviceColorSpace to setShadow() for now. 
12081         Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319
12082         * html/canvas/CanvasRenderingContext2D.cpp:
12083         (WebCore::CanvasRenderingContext2D::setShadow):
12084         (WebCore::CanvasRenderingContext2D::applyShadow):
12086         setShadow() and setPlatformShadow() now take a ColorSpace.
12087         * platform/graphics/GraphicsContext.cpp:
12088         (WebCore::GraphicsContext::setShadow):
12089         * platform/graphics/GraphicsContext.h:
12090         * platform/graphics/cg/GraphicsContextCG.cpp:
12091         (WebCore::createCGColorWithColorSpace): New helper to create a 
12092         color in a ColorSpace.
12093         (WebCore::setCGFillColor): Call new helper.
12094         (WebCore::setCGStrokeColor): Call new helper.
12095         (WebCore::GraphicsContext::setPlatformShadow): Call new helper.
12096         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
12097         (WebCore::GraphicsContext::setPlatformShadow):
12099         Send appropriate ColorSpace to setShadow().
12100         * platform/graphics/mac/FontMac.mm:
12101         (WebCore::Font::drawGlyphs):
12102         * rendering/EllipsisBox.cpp:
12103         (WebCore::EllipsisBox::paint):
12104         * rendering/InlineFlowBox.cpp:
12105         (WebCore::InlineFlowBox::paintTextDecorations):
12106         * rendering/InlineTextBox.cpp:
12107         (WebCore::paintTextWithShadows):
12108         (WebCore::InlineTextBox::paintDecoration):
12109         * rendering/RenderBoxModelObject.cpp:
12110         (WebCore::RenderBoxModelObject::paintBoxShadow):
12111         * rendering/SVGInlineTextBox.cpp:
12112         (WebCore::SVGInlineTextBox::paintCharacters):
12113         * rendering/SVGRenderSupport.cpp:
12114         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
12116         Attempt to keep ports building.
12117         * platform/graphics/cairo/GraphicsContextCairo.cpp:
12118         (WebCore::GraphicsContext::setPlatformShadow):
12119         * platform/graphics/qt/GraphicsContextQt.cpp:
12120         (WebCore::GraphicsContext::setPlatformShadow):
12121         * platform/graphics/skia/GraphicsContextSkia.cpp:
12122         (WebCore::GraphicsContext::setPlatformShadow):
12123         * platform/graphics/wince/GraphicsContextWince.cpp:
12124         (WebCore::GraphicsContext::setPlatformShadow):
12125         * platform/graphics/wx/GraphicsContextWx.cpp:
12126         (WebCore::GraphicsContext::setPlatformShadow):
12128 2009-11-11  Kent Tamura  <tkent@chromium.org>
12130         Reviewed by Darin Adler.
12132         Print the file text of a file upload control in DumpRenderTree for ease of tests.
12133         https://bugs.webkit.org/show_bug.cgi?id=31195
12135         * rendering/RenderFileUploadControl.cpp:
12136         (WebCore::RenderFileUploadControl::paintObject):
12137         (WebCore::RenderFileUploadControl::fileTextValue):
12138         * rendering/RenderFileUploadControl.h:
12139         (WebCore::RenderFileUploadControl::isFileUploadControl):
12140         (WebCore::toRenderFileUploadControl):
12141         * rendering/RenderObject.h:
12142         (WebCore::RenderObject::isFileUploadControl):
12143         * rendering/RenderTreeAsText.cpp:
12144         (WebCore::operator<<):
12146 2009-11-11  Gavin Barraclough  <barraclough@apple.com>
12148         Reviewed by Sam Weinig.
12150         DOM Wrappers for some nodes may not be marked.
12151         https://bugs.webkit.org/show_bug.cgi?id=31380
12153         Some markChildren methods are calling getCachedDOMNodeWrapper, which will find
12154         the wrapper for the current world only.  This means that wrappers may be GC'ed
12155         prematurely, and properties lost.
12157         Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds.
12159         * bindings/js/JSAttrCustom.cpp:
12160         (WebCore::JSAttr::markChildren):
12161         * bindings/js/JSDOMBinding.cpp:
12162         (WebCore::markDOMNodeWrapper):
12163         * bindings/js/JSDOMBinding.h:
12164         * bindings/js/JSNamedNodeMapCustom.cpp:
12165         (WebCore::JSNamedNodeMap::markChildren):
12166         * bindings/js/JSNodeCustom.cpp:
12167         (WebCore::JSNode::markChildren):
12168         * bindings/js/JSSVGElementInstanceCustom.cpp:
12169         (WebCore::JSSVGElementInstance::markChildren):
12170         * bindings/js/JSStyleSheetCustom.cpp:
12171         (WebCore::JSStyleSheet::markChildren):
12173 2009-11-11  Ben Murdoch  <benm@google.com>
12175         Reviewed by Darin Adler.
12177         bindings/js/ScriptObject.cpp is missing and ENABLE(INSPECTOR) guard.
12178         https://bugs.webkit.org/show_bug.cgi?id=31384
12180         No functionality change so no tests required.
12182         * bindings/js/ScriptObject.cpp: Add ENABLE(INSPECTOR) guard around the JSInspectorBackend.h include.
12184 2009-11-11  Jens Alfke  <snej@chromium.org>
12186         Reviewed by Dimitri Glazkov.
12188         The Big De-Inlining. 450k code size reduction (32-bit x86.)
12189         - Various inline functions in V8Binding.h made non-inline.
12190         - Some renaming for consistency.
12191         - New function createRawTemplate().
12192         https://bugs.webkit.org/show_bug.cgi?id=31383
12194         * bindings/scripts/CodeGeneratorV8.pm:
12195         * bindings/v8/V8Binding.cpp:
12196         (WebCore::v8DOMWrapperToNative):
12197         (WebCore::v8ValueToWebCoreString):
12198         (WebCore::v8ValueToAtomicWebCoreString):
12199         (WebCore::toInt32):
12200         (WebCore::toWebCoreString):
12201         (WebCore::toWebCoreStringWithNullCheck):
12202         (WebCore::toAtomicWebCoreStringWithNullCheck):
12203         (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
12204         (WebCore::isUndefinedOrNull):
12205         (WebCore::v8Boolean):
12206         (WebCore::v8UndetectableString):
12207         (WebCore::v8StringOrNull):
12208         (WebCore::v8StringOrUndefined):
12209         (WebCore::v8StringOrFalse):
12210         (WebCore::v8StringToWebCoreString):
12211         (WebCore::v8ExternalString):
12212         (WebCore::createRawTemplate):  New function.
12213         * bindings/v8/V8Binding.h:
12214         (WebCore::v8DOMWrapperTo):
12215         (WebCore::v8DOMWrapperToNode):
12216         (WebCore::v8StringToWebCoreString):
12217         (WebCore::v8StringToAtomicWebCoreString):
12219 2009-11-11  Jens Alfke  <snej@chromium.org>
12221         Reviewed by Dimitri Glazkov.
12223         More V8 de-inlining (outlining?) Abstracted a chunk of boilerplate code from every
12224         event-listener setter into a new subroutine transferHiddenDependency().
12225         https://bugs.webkit.org/show_bug.cgi?id=31377
12227         * bindings/scripts/CodeGeneratorV8.pm:  Replace boilerplate with call to transferHiddenDependency().
12228         * bindings/v8/V8Utilities.cpp:
12229         (WebCore::transferHiddenDependency):  New.
12230         * bindings/v8/V8Utilities.h:  Declaration of transferHiddenDependency.
12232 2009-11-11  Brian Weinstein  <bweinstein@apple.com>
12234         Reviewed by Beth Dakin.
12236         If we are on Windows, don't try and get the kCGColorSpaceSRGB ColorSpace,
12237         because there is a CG bug preventing this from working.
12239         * platform/graphics/cg/GraphicsContextCG.cpp:
12240         (WebCore::sRGBColorSpaceRef):
12242 2009-11-11  Pavel Feldman  <pfeldman@chromium.org>
12244         Reviewed by Timothy Hatcher.
12246         Check that if Storage panel exists before calling its methods
12248         https://bugs.webkit.org/show_bug.cgi?id=31343
12250         * inspector/front-end/inspector.js:
12251         (WebInspector.addDatabase):
12252         (WebInspector.addCookieDomain):
12253         (WebInspector.addDOMStorage):
12254         (WebInspector.updateDOMStorage):
12256 2009-11-11  Jens Alfke  <snej@chromium.org>
12258         Reviewed by Dimitri Glazkov.
12260         De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
12261         times in the generated V8 bindings.
12262         https://bugs.webkit.org/show_bug.cgi?id=31368
12264         * bindings/v8/V8DOMWrapper.cpp:
12265         (WebCore::V8DOMWrapper::convertNodeToV8Object):  Moved body here from .h file
12266         * bindings/v8/V8DOMWrapper.h:  Removed inline method body.
12268 2009-11-11  Jessie Berlin  <jberlin@webkit.org>
12270         Reviewed by Timothy Hatcher.
12272         Display the correct summary in the web inspector for the shorthands
12273         border-color, border-width, border-style, margin, and padding.
12274         https://bugs.webkit.org/show_bug.cgi?id=7987
12276         Test: fast/css/shorthands-four-values.html
12278         * css/CSSMutableStyleDeclaration.cpp:
12279         (WebCore::CSSMutableStyleDeclaration::get4Values):
12280         Display the summary information in the same way the shorthand would be
12281         specified in a css rule.
12283 2009-11-11  Jens Alfke  <snej@chromium.org>
12285         Reviewed by Dimitri Glazkov.
12287         Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent
12288         meaning to the caller, saves code, and appears to save a few cycles at runtime too.
12289         https://bugs.webkit.org/show_bug.cgi?id=31367
12291         * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()"
12293 2009-11-11  Jens Alfke  <snej@chromium.org>
12295         Reviewed by Dimitri Glazkov.
12297         Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
12299         * bindings/v8/DOMData.cpp:
12300         (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
12301             so it can be inlined by its caller.
12302         * bindings/v8/DOMData.h:
12303         * bindings/v8/MainThreadDOMData.cpp:
12304         (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
12305         (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
12306         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
12307             and getStore, which inline both calls together.
12308         * bindings/v8/MainThreadDOMData.h:
12309         (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
12310         * bindings/v8/V8DOMMap.cpp:
12311         (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
12313 2009-11-11  Nate Chapin  <japhet@chromium.org>
12315         Reviewed by Dimitri Glazkov.
12317         Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
12319         https://bugs.webkit.org/show_bug.cgi?id=31357
12321         * platform/KURLGoogle.cpp:
12322         (WebCore::isSchemeFirstChar):
12323         (WebCore::isSchemeChar):
12324         (WebCore::KURL::hasPort):
12325         (WebCore::KURL::removePort):
12326         (WebCore::protocolIsValid):
12328 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
12330         Build fix, no reviewed.
12332         Correct setPlatformFillColor and setPlatformStrokeColor calls
12333         to match new ColorSpace-supporting signatures.
12335         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
12336           color space to the set[...]Color calls.
12338 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
12340         Reviewed by Sam Weinig.
12342         https://bugs.webkit.org/show_bug.cgi?id=31327
12343         Clean up SocketStreamHandleClient interface
12345         No change in behavior.
12347         * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
12348         (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
12349         the only client (WebSocketChannel), and it's not clear what this callback's semantics
12350         should be.
12351         (WebCore::SocketStreamHandleClient::willSendData): Ditto.
12352         (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
12353         For ResourceHandle, this method is called when the user cancels authentication sheet,
12354         not when something happens with the stream.
12356         * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
12357         reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
12359         * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
12360         callbacks have no real implementation yet.
12362 2009-11-11  Zoltan Horvath  <zoltan@webkit.org>
12364         Reviewed by Eric Seidel.
12366         Allow custom memory allocation control for the part of page directory in WebCore
12367         https://bugs.webkit.org/show_bug.cgi?id=31350
12369         Inherits the following classes from Noncopyable because these are instantiated
12370         by 'new' and these are no need to be copyable:
12372         class DragController         - instantiated at: WebCore/page/Page.cpp:107
12373         class FocusController        - instantiated at: WebCore/page/Page.cpp:109
12374         class Settings               - instantiated at: WebCore/page/Page.cpp:116
12375         class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
12376         struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
12377         class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
12378         struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
12379         class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
12380         class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
12382         Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
12383         PropertyWrapper is instantiated by 'new' in 
12384         WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
12386         * page/DragController.h:
12387         * page/EventHandler.h:
12388         * page/FocusController.h:
12389         * page/FrameView.cpp:
12390         * page/PluginHalter.h:
12391         * page/Settings.h:
12392         * page/UserScript.h:
12393         * page/UserStyleSheet.h:
12394         * page/XSSAuditor.h:
12395         * page/animation/AnimationBase.cpp:
12397 2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
12399         Reviewed by Kenneth Rohde Christiansen.
12401         https://bugs.webkit.org/show_bug.cgi?id=31323
12402         Fix a few compiler warnings
12404         No new tests as there is no new functionality.
12406         * editing/htmlediting.cpp:
12407         (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
12408         parentheses to silence gcc 4.4 -Wparentheses warnings
12410 2009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
12412         Reviewed by Mark Rowe.
12414         Set m_hasPendingGeometryChange to true by default, so that
12415         at least one call to NPP_SetWindow is executed, which is
12416         needed by the DRT plugin testing framework.
12418         * plugins/PluginView.cpp:
12419         (WebCore::PluginView::PluginView):
12421 2009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
12423         Rubber-stamped by Kenneth Rohde Christiansen.
12425         https://bugs.webkit.org/show_bug.cgi?id=31348
12426         [Qt] Remove unnecessary LUT creator from WebCore.pro
12428         * WebCore.pro:
12430 2009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
12432         Reviewed by Tor Arne Vestbø.
12434         Introduce a function for querying the input method status
12435         in QWebPageClient.
12437         * platform/qt/QWebPageClient.h:
12439 2009-11-11  Benjamin Otte  <otte@gnome.org>
12441         Reviewed by Jan Alonzo.
12443         [GTK] Black artifacts in youtube.com/html5
12445         Paint the video to the given size. It's the job of the callers to keep
12446         track of aspect ratio. RenderVideo.cpp does it for the <video>
12447         element.
12448         https://bugs.webkit.org/show_bug.cgi?id=30925
12450         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
12451         (WebCore::MediaPlayerPrivate::paint):
12453 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
12455         Reviewed by Reviewed by Jan Alonzo.
12457         https://bugs.webkit.org/show_bug.cgi?id=30901
12458         [Gtk] Need to de-lint the Atk a11y code
12460         Cleaned up some missed capitalization style-guideline violations.
12462         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12464 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12466         Reviewed by Eric Seidel.
12468         [Qt] Make the default style background color valid.
12469         Currently the color is transparent but invalid, this causes
12470         list boxes in QtWebKit to be drawn with a black background
12471         since r49242.
12472         https://bugs.webkit.org/show_bug.cgi?id=31295
12474         * rendering/style/RenderStyle.h:
12475         (WebCore::InheritedFlags::initialBackgroundColor):
12476         * rendering/style/StyleBackgroundData.cpp:
12477         (WebCore::StyleBackgroundData::StyleBackgroundData):
12479 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
12481         Reviewed by Geoff Garen.
12483         Simplify the ownership model for worlds - rather than having a pair of weak references
12484         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
12485         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
12486         back forward cache.
12488         * WebCore.base.exp:
12489         * bindings/js/JSDOMBinding.cpp:
12490         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
12491         * bindings/js/JSDOMBinding.h:
12492         (WebCore::DOMWrapperWorld::forgetDocument):
12493         * bindings/js/ScriptCachedFrameData.cpp:
12494         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
12495         (WebCore::ScriptCachedFrameData::restore):
12496         (WebCore::ScriptCachedFrameData::clear):
12497         * bindings/js/ScriptCachedFrameData.h:
12498         * bindings/js/ScriptController.cpp:
12499         (WebCore::ScriptController::~ScriptController):
12500         (WebCore::ScriptController::clearWindowShell):
12501         (WebCore::ScriptController::initScript):
12502         (WebCore::ScriptController::updateDocument):
12503         * bindings/js/ScriptController.h:
12505 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
12507         Reviewed by Darin Adler.
12509         rename counter to makeCounterNode in RenderCounter.cpp
12510         https://bugs.webkit.org/show_bug.cgi?id=31289
12512         No new test because this is just a small refactoring.
12514         * rendering/RenderCounter.cpp:
12515         (WebCore::findPlaceForCounter):
12516         (WebCore::makeCounterNode):
12517         (WebCore::RenderCounter::originalText):
12519 2009-11-10  Daniel Bates  <dbates@webkit.org>
12521         Reviewed by Oliver Hunt.
12523         https://bugs.webkit.org/show_bug.cgi?id=30754
12525         Patch 2 of 2.
12527         Removed method EventHandler::dragSourceMovedTo, since it is no longer
12528         needed. This method fired a drag event whenever the mouse moved, but
12529         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
12530         model independent of when the mouse moves. See "Among other changes..."
12531         in the change log for patch 1 for more details.
12533         * WebCore.DragSupport.exp:
12534         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
12535         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
12536         * page/EventHandler.h:
12538 2009-11-10  Daniel Bates  <dbates@webkit.org>
12540         Reviewed by Oliver Hunt.
12542         https://bugs.webkit.org/show_bug.cgi?id=30754
12544         Patch 1 of 2.
12546         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
12547         the drag event should always fire before the dragover event.
12549         In fixing this bug, this patch also makes our drag processing model
12550         conform to the HTML 5 spec.
12552         Among the changes, this patch ensures that the drag event isn't fired outside
12553         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
12554         Currently, the drag event is fired whenever the mouse button is down and the OS
12555         detects the mouse moved. But, as per the spec, the drag event should
12556         fire approx. every 350ms so long as the mouse button is down.
12558         Test: fast/events/drag-and-drop-fire-drag-dragover.html
12560         * page/EventHandler.cpp:
12561         (WebCore::EventHandler::clear):
12562         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
12563         Modified to determine when we are in the correct instance of EventHandler to service the drag
12564         and drop operation.
12565         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
12566         into this method.
12567         (WebCore::EventHandler::cancelDragAndDrop):
12568         (WebCore::EventHandler::performDragAndDrop):
12569         (WebCore::EventHandler::clearDragState):
12570         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
12571         we should fire both drag and dragover events or only the dragover event.
12573 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
12575         Reviewed by Dimitri Glazkov.
12577         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
12578         https://bugs.webkit.org/show_bug.cgi?id=31301
12580         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
12582         Allowed passing V8Proxy for the calling JS context:
12583         * bindings/v8/V8DOMWrapper.h:
12584         (WebCore::V8DOMWrapper::getXPathNSResolver):
12585         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
12586         (WebCore::V8CustomXPathNSResolver::create):
12587         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
12588         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
12589         * bindings/v8/custom/V8CustomXPathNSResolver.h:
12590         * bindings/v8/custom/V8DocumentCustom.cpp:
12591         (WebCore::CALLBACK_FUNC_DECL):
12593 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
12595         Reviewed by Timothy Hatcher.
12597         Implement URL decomposition IDL attributes for HTMLAnchorElement.
12598         https://bugs.webkit.org/show_bug.cgi?id=29972.
12600         Add methods for setting different parts of the URL in href attribute.
12602         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
12603                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
12604                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
12605                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
12606                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
12607                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
12608                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
12610         * bindings/js/JSLocationCustom.cpp:
12611         (WebCore::JSLocation::setPort):
12612         * html/HTMLAnchorElement.cpp:
12613         (WebCore::parsePortFromStringPosition):
12614         (WebCore::HTMLAnchorElement::setHash):
12615         (WebCore::HTMLAnchorElement::setHost):
12616         (WebCore::HTMLAnchorElement::setHostname):
12617         (WebCore::HTMLAnchorElement::setPathname):
12618         (WebCore::HTMLAnchorElement::setPort):
12619         (WebCore::HTMLAnchorElement::setProtocol):
12620         (WebCore::HTMLAnchorElement::setSearch):
12621         * html/HTMLAnchorElement.h:
12622         * html/HTMLAnchorElement.idl:
12623         * loader/FrameLoader.cpp:
12624         (WebCore::FrameLoader::iconURL):
12625         * platform/KURL.cpp:
12626         (WebCore::KURL::removePort):
12627         (WebCore::KURL::setPort):
12628         (WebCore::KURL::prettyURL):
12629         (WebCore::protocolIsValid):
12630         * platform/KURL.h:
12631         (WebCore::KURL::canSetHostOrPort):
12632         (WebCore::KURL::canSetPathname):
12633         (WebCore::KURL::hasPort):
12634         * platform/network/soup/ResourceHandleSoup.cpp:
12635         (WebCore::):
12637 2009-11-10  Nate Chapin  <japhet@chromium.org>
12639         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
12641         * platform/chromium/PopupMenuChromium.cpp:
12642         (WebCore::PopupContainer::paintBorder):
12643         (WebCore::PopupListBox::paint):
12644         (WebCore::PopupListBox::paintRow):
12645         * platform/graphics/chromium/TransparencyWin.cpp:
12646         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
12647         * platform/graphics/skia/GraphicsContextSkia.cpp:
12648         (WebCore::GraphicsContext::fillRect):
12649         (WebCore::GraphicsContext::fillRoundedRect):
12650         (WebCore::GraphicsContext::setPlatformFillColor):
12651         (WebCore::GraphicsContext::setPlatformStrokeColor):
12652         * rendering/RenderMediaControlsChromium.cpp:
12653         (WebCore::paintMediaSlider):
12654         (WebCore::paintMediaVolumeSlider):
12655         (WebCore::paintMediaTimelineContainer):
12656         * rendering/RenderThemeChromiumMac.mm:
12657         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
12659 2009-11-10  Brady Eidson  <beidson@apple.com>
12661         Reviewed by Sam Weinig.
12663         Repro crash saving pcmag.com article as a webarchive.
12664         <rdar://problem/7381219> and https://webkit.org/b/31322
12666         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
12668         * css/CSSStyleSheet.cpp:
12669         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
12670           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
12672 2009-11-10  Beth Dakin  <bdakin@apple.com>
12674         Attempt 2 to fix Tiger build. No review needed.
12676         * platform/graphics/cg/GraphicsContextCG.cpp:
12677         (WebCore::deviceRGBColorSpaceRef):
12678         (WebCore::sRGBColorSpaceRef):
12680 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
12682         wx build fix. Changes needed after r50760.
12684         * platform/graphics/wx/GraphicsContextWx.cpp:
12685         (WebCore::GraphicsContext::GraphicsContext):
12686         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
12687         (WebCore::drawTextWithSpacing):
12689 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
12691         Qt build fix.
12693         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
12694         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
12696 2009-11-10  Beth Dakin  <bdakin@apple.com>
12698         Tiger build fix. No review needed.
12700         * platform/graphics/cg/GraphicsContextCG.cpp:
12701         (WebCore::sRGBColorSpaceRef):
12703 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
12705         Reviewed by Dan Bernstein.
12707         https://bugs.webkit.org/show_bug.cgi?id=31312
12708         Decouple authentication panel callbacks from ResourceHandle
12710         No change in functionality.
12712         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
12713         ResourceHandle as delegate.
12715         * WebCore.vcproj/WebCore.vcproj:
12716         * platform/network/AuthenticationClient.h: Added.
12717         Added a new interface for listening to authentication panel notifications.
12719         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
12720         it wants with the project file.
12722         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
12723         interface class.
12724         (WebCore::AuthenticationClient::deref): Ditto.
12726         * platform/network/ResourceHandle.h:
12727         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
12728         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
12730         * platform/network/cf/AuthenticationCF.cpp:
12731         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
12732         (WebCore::AuthenticationChallenge::platformCompare):
12733         * platform/network/cf/AuthenticationChallenge.h:
12734         (WebCore::AuthenticationChallenge::authenticationClient):
12735         * platform/network/chromium/AuthenticationChallenge.h:
12736         (WebCore::AuthenticationChallenge::authenticationClient):
12737         * platform/network/curl/AuthenticationChallenge.h:
12738         (WebCore::AuthenticationChallenge::authenticationClient):
12739         Keeping a reference to AuthenticationClient, not to ResourceHandle.
12741 2009-11-10  Beth Dakin  <bdakin@apple.com>
12743        Second attempted gtk build fix. No review needed.
12745         * html/canvas/CanvasStyle.cpp:
12746         (WebCore::CanvasStyle::applyStrokeColor):
12749 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
12751         Reviewed by Geoff Garen.
12753         Fix back/forwards cache with JSC isolated worlds.
12754         https://bugs.webkit.org/show_bug.cgi?id=31310
12755         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
12757         Store the global object for all worlds, not just the normal world.
12758         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
12759         so we can forget global objects if a world goes away.
12761         * bindings/js/JSDOMBinding.cpp:
12762         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
12763         * bindings/js/JSDOMBinding.h:
12764         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
12765         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
12766         * bindings/js/ScriptCachedFrameData.cpp:
12767         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
12768         (WebCore::ScriptCachedFrameData::forgetWorld):
12769         (WebCore::ScriptCachedFrameData::domWindow):
12770         (WebCore::ScriptCachedFrameData::restore):
12771         (WebCore::ScriptCachedFrameData::clear):
12772         * bindings/js/ScriptCachedFrameData.h:
12773         * bindings/js/ScriptController.h:
12775 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
12777         [Qt] Unreviewed buildfix after r50760.
12779         * platform/graphics/qt/GraphicsContextQt.cpp:
12780         (WebCore::GraphicsContext::GraphicsContext):
12782 2009-11-10  Beth Dakin  <bdakin@apple.com>
12784         Attempted build fix. (No review needed.)
12786         * GNUmakefile.am: Adding ColorSpace.h
12788 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
12790         Reviewed by NOBODY - Build Fix.
12792         Updated function calls to take a ColorSpace argument, passing
12793         in DeviceColorSpace for now - this should be fixed. Also added
12794         ColorSpace.h to WebCore project.
12796         * WebCore.vcproj/WebCore.vcproj:
12797         * platform/graphics/win/FontCGWin.cpp:
12798         (WebCore::Font::drawGlyphs):
12799         * platform/graphics/win/GraphicsContextCGWin.cpp:
12800         (WebCore::GraphicsContext::GraphicsContext):
12801         * platform/win/PopupMenuWin.cpp:
12802         (WebCore::PopupMenu::paint):
12803         * platform/win/WebCoreTextRenderer.cpp:
12804         (WebCore::doDrawTextAtPoint):
12805         * rendering/RenderThemeSafari.cpp:
12806         (WebCore::RenderThemeSafari::paintMenuListButton):
12808 2009-11-10  Jens Alfke  <snej@chromium.org>
12810         Reviewed by Darin Adler.
12812         Optimizations to Element::getAttribute
12813         https://bugs.webkit.org/show_bug.cgi?id=30926
12815         * dom/Element.cpp:
12816         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
12817         * dom/NamedAttrMap.cpp:
12818         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
12819         * platform/text/PlatformString.h:
12820         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
12822 2009-11-10  Beth Dakin  <bdakin@apple.com>
12824         Reviewed by Darin Adler.
12826         Fix for <rdar://problem/7059710> 
12827         -and corresponding-
12828         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
12829         color-correction for CSS colors
12831         New exported symbol for GraphicsContext::fillColor() which now 
12832         accepts a ColorSpace as an optional parameter.
12833         * WebCore.base.exp:
12835         Added a new file, ColorSpace.h, to define the ColorSpace enum.
12836         * WebCore.xcodeproj/project.pbxproj:
12838         Computed Style for -webkit-color-correction
12839         * css/CSSComputedStyleDeclaration.cpp:
12840         (WebCore::):
12841         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
12843         Parse -webkit-color-correction
12844         * css/CSSParser.cpp:
12845         (WebCore::CSSParser::parseValue):
12847        Map CSS identifiers to the appropriate values of the ColorSpace enum
12848         * css/CSSPrimitiveValueMappings.h:
12849         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
12850         (WebCore::CSSPrimitiveValue::operator ColorSpace):
12852         New property -webkit-color-correction
12853         * css/CSSPropertyNames.in:
12855         Map -webkit-color-correction into the RenderStyle.
12856         * css/CSSStyleSelector.cpp:
12857         (WebCore::CSSStyleSelector::applyProperty):
12859         Add new value sRGB.
12860         * css/CSSValueKeywords.in:
12862         Comment out the reference to sRGB since it will now be inherited as 
12863         a value from CSSValueKeywords.
12864         * css/SVGCSSValueKeywords.in:
12866         Definition of the ColorSpace enum.
12867         * platform/graphics/ColorSpace.h: Added.
12868         (WebCore::):
12870         These functions all now take a ColorSpace as a parameter.
12871         * platform/graphics/GraphicsContext.cpp:
12872         (WebCore::GraphicsContext::setStrokeColor):
12873         (WebCore::GraphicsContext::setFillColor):
12874         (WebCore::GraphicsContext::drawHighlightForText):
12876         Return the appropriate ColorSpace.
12877         (WebCore::GraphicsContext::strokeColorSpace):
12878         (WebCore::GraphicsContext::fillColorSpace):
12880         These functions all call other functions which require a ColorSpace 
12881         as a parameter.
12882         (WebCore::GraphicsContext::setStrokePattern):
12883         (WebCore::GraphicsContext::setFillPattern):
12884         (WebCore::GraphicsContext::setStrokeGradient):
12885         (WebCore::GraphicsContext::setFillGradient):
12887         All of the GraphicsContext functions that take a Color should now 
12888         also take a ColorSpace.
12889         * platform/graphics/GraphicsContext.h:
12891         Added new member variables stokeColorSpace and fillColorSpace.
12892         * platform/graphics/GraphicsContextPrivate.h:
12893         (WebCore::GraphicsContextState::GraphicsContextState):
12895         Attempt to keep the Cairo port building with all of the massive 
12896         changes to GraphicsContext.        
12897         * platform/graphics/cairo/GraphicsContextCairo.cpp:
12898         (WebCore::GraphicsContext::fillRect):
12899         (WebCore::GraphicsContext::setPlatformFillColor):
12900         (WebCore::GraphicsContext::setPlatformStrokeColor):
12901         (WebCore::GraphicsContext::fillRoundedRect):
12903         
12904         * platform/graphics/cg/GraphicsContextCG.cpp:
12905         (WebCore::sRGBColorSpaceRef): New static function that returns a 
12906         CGColorSpaceRef for the sRGB color space.
12907         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
12908         a CGColorSpaceRef for the device RGB color space.
12910         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
12911         sets the fill color to the specified color in the given ColorSpace.
12912         (WebCore::setCGStrokeColor): Same, but for stroke.
12914         (WebCore::setCGFillColorSpace): New static to set the 
12915         CGFillColorSpace to the given ColorSpace
12916         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
12918         Send ColorSpaces when appropriate, set ColorSpaces when 
12919         appropriate, and check ColorSpaces when appropriate.
12920         (WebCore::GraphicsContext::GraphicsContext):
12921         (WebCore::GraphicsContext::drawRect):
12922         (WebCore::GraphicsContext::drawLine):
12923         (WebCore::GraphicsContext::fillPath):
12924         (WebCore::GraphicsContext::strokePath):
12925         (WebCore::GraphicsContext::fillRect):
12926         (WebCore::GraphicsContext::fillRoundedRect):
12927         (WebCore::GraphicsContext::strokeRect):
12928         (WebCore::GraphicsContext::drawLineForText):
12929         (WebCore::GraphicsContext::setPlatformStrokeColor):
12930         (WebCore::GraphicsContext::setPlatformFillColor):
12932         Attempt to keep Haiku building.
12933         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
12934         (WebCore::GraphicsContext::fillRect):
12935         (WebCore::GraphicsContext::fillRoundedRect):
12936         (WebCore::GraphicsContext::setPlatformStrokeColor):
12937         (WebCore::GraphicsContext::setPlatformFillColor):
12939         Attempt to keep QT building.
12940         * platform/graphics/qt/GraphicsContextQt.cpp:
12941         (WebCore::GraphicsContext::fillRect):
12942         (WebCore::GraphicsContext::fillRoundedRect):
12943         (WebCore::GraphicsContext::setPlatformStrokeColor):
12944         (WebCore::GraphicsContext::setPlatformFillColor):
12946         Attempt to keep Wince building.
12947         * platform/graphics/wince/GraphicsContextWince.cpp:
12948         (WebCore::GraphicsContext::fillRect):
12949         (WebCore::GraphicsContext::setPlatformFillColor):
12950         (WebCore::GraphicsContext::setPlatformStrokeColor):
12951         (WebCore::GraphicsContext::clearRect):
12952         (WebCore::GraphicsContext::fillRoundedRect):
12953         (WebCore::GraphicsContext::setPlatformShadow):
12955         Attempt to keep WX building.
12956         * platform/graphics/wx/GraphicsContextWx.cpp:
12957         (WebCore::GraphicsContext::fillRect):
12958         (WebCore::GraphicsContext::fillRoundedRect):
12959         (WebCore::GraphicsContext::setPlatformStrokeColor):
12960         (WebCore::GraphicsContext::setPlatformFillColor):
12962         Added functions colorSpace() and setColorSpace()
12963         * rendering/style/RenderStyle.h:
12964         (WebCore::InheritedFlags::colorSpace):
12965         (WebCore::InheritedFlags::setColorSpace):
12967         The ColorSpace is stored here.
12968         * rendering/style/StyleRareInheritedData.cpp:
12969         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
12970         (WebCore::StyleRareInheritedData::operator==):
12971         * rendering/style/StyleRareInheritedData.h:
12973         All of these call sites call GraphicsContext functions which now 
12974         require ColorSpaces.
12975         * editing/SelectionController.cpp:
12976         (WebCore::SelectionController::paintCaret):
12977         * html/canvas/CanvasRenderingContext2D.cpp:
12978         (WebCore::CanvasRenderingContext2D::drawTextInternal):
12979         * html/canvas/CanvasStyle.cpp:
12980         (WebCore::CanvasStyle::applyStrokeColor):
12981         (WebCore::CanvasStyle::applyFillColor):
12982         * inspector/InspectorController.cpp:
12983         (WebCore::drawOutlinedQuad):
12984         * page/FrameView.cpp:
12985         (WebCore::FrameView::paintContents):
12986         * platform/ScrollbarTheme.h:
12987         (WebCore::ScrollbarTheme::paintScrollCorner):
12988         * platform/ScrollbarThemeComposite.cpp:
12989         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
12990         * platform/graphics/Image.cpp:
12991         (WebCore::Image::fillWithSolidColor):
12992         * platform/graphics/mac/FontMac.mm:
12993         (WebCore::Font::drawGlyphs):
12994         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
12995         (WebCore::MediaPlayerPrivate::paint):
12996         * rendering/EllipsisBox.cpp:
12997         (WebCore::EllipsisBox::paint):
12998         * rendering/InlineFlowBox.cpp:
12999         (WebCore::InlineFlowBox::paintTextDecorations):
13000         * rendering/InlineTextBox.cpp:
13001         (WebCore::updateGraphicsContext):
13002         (WebCore::paintTextWithShadows):
13003         (WebCore::InlineTextBox::paint):
13004         (WebCore::InlineTextBox::paintSelection):
13005         (WebCore::InlineTextBox::paintCompositionBackground):
13006         (WebCore::InlineTextBox::paintDecoration):
13007         (WebCore::InlineTextBox::paintTextMatchMarker):
13008         (WebCore::InlineTextBox::paintCompositionUnderline):
13009         * rendering/InlineTextBox.h:
13010         * rendering/RenderBlock.cpp:
13011         (WebCore::RenderBlock::fillHorizontalSelectionGap):
13012         (WebCore::RenderBlock::fillVerticalSelectionGap):
13013         (WebCore::RenderBlock::fillLeftSelectionGap):
13014         (WebCore::RenderBlock::fillRightSelectionGap):
13015         * rendering/RenderBoxModelObject.cpp:
13016         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
13017         (WebCore::RenderBoxModelObject::paintBoxShadow):
13018         * rendering/RenderFileUploadControl.cpp:
13019         (WebCore::RenderFileUploadControl::paintObject):
13020         * rendering/RenderFrameSet.cpp:
13021         (WebCore::RenderFrameSet::paintColumnBorder):
13022         (WebCore::RenderFrameSet::paintRowBorder):
13023         * rendering/RenderImage.cpp:
13024         (WebCore::RenderImage::paintReplaced):
13025         * rendering/RenderLayer.cpp:
13026         (WebCore::RenderLayer::paintScrollCorner):
13027         (WebCore::RenderLayer::paintResizer):
13028         * rendering/RenderListBox.cpp:
13029         (WebCore::RenderListBox::paintItemForeground):
13030         (WebCore::RenderListBox::paintItemBackground):
13031         * rendering/RenderListMarker.cpp:
13032         (WebCore::RenderListMarker::paint):
13033         * rendering/RenderObject.cpp:
13034         (WebCore::RenderObject::drawLineForBoxSide):
13035         (WebCore::RenderObject::drawArcForBoxSide):
13036         * rendering/RenderReplaced.cpp:
13037         (WebCore::RenderReplaced::paint):
13038         * rendering/RenderScrollbarTheme.cpp:
13039         (WebCore::RenderScrollbarTheme::paintScrollCorner):
13040         * rendering/RenderThemeMac.mm:
13041         (WebCore::RenderThemeMac::paintMenuListButton):
13042         * rendering/RenderView.cpp:
13043         (WebCore::RenderView::paintBoxDecorations):
13044         * rendering/RenderWidget.cpp:
13045         (WebCore::RenderWidget::paint):
13046         * rendering/SVGInlineTextBox.cpp:
13047         (WebCore::SVGInlineTextBox::paintSelection):
13048         * svg/graphics/SVGPaintServerGradient.cpp:
13049         (WebCore::SVGPaintServerGradient::setup):
13050         * svg/graphics/SVGPaintServerSolid.cpp:
13051         (WebCore::SVGPaintServerSolid::setup):
13053 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
13055         Reviewed by Timothy Hatcher.
13057         Web Inspector: Speed up syntax highlighter
13058         https://bugs.webkit.org/show_bug.cgi?id=31291
13060         * inspector/front-end/SourceFrame.js:
13061         (WebInspector.SourceFrame.prototype._loaded):
13062         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
13063         (WebInspector.SourceSyntaxHighlighter.prototype.process):
13064         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
13065         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
13066         (WebInspector.CSSSourceSyntaxHighlighter):
13067         (WebInspector.JavaScriptSourceSyntaxHighlighter):
13069 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
13071         Reviewed by Eric Seidel.
13073         Remove session storage setting
13074         https://bugs.webkit.org/show_bug.cgi?id=31279
13076         Remove session storage from Settings.  It was added temporarily so we could
13077         disable it by default at runtime in Chromium.  We now disable these things in a
13078         different way, so it's time to remove it.  Qt also depended on this setting for
13079         a short period of time, but after talking to them we agreed that it should be
13080         removed.
13082         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
13084         * page/DOMWindow.cpp:
13085         (WebCore::DOMWindow::sessionStorage):
13086         * page/Settings.cpp:
13087         (WebCore::Settings::Settings):
13088         * page/Settings.h:
13090 2009-11-10  Dan Bernstein  <mitz@apple.com>
13092         Reviewed by Eric Carlson and Darin Adler.
13094         WebCore part of making full-screen video pause during scrubbing.
13096         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
13097         and HTMLMediaElement::endScrubbing().
13099 2009-11-10  Anton Muhin  <antonm@chromium.org>
13101         Reviewed by Adam Barth.
13103         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
13104         https://bugs.webkit.org/show_bug.cgi?id=31051
13106         * bindings/v8/V8GCController.cpp:
13107         (WebCore::V8GCController::gcEpilogue):
13108         (WebCore::V8GCController::checkMemoryUsage):
13109         * bindings/v8/V8GCController.h:
13110         * bindings/v8/V8Proxy.cpp:
13111         (WebCore::V8Proxy::evaluate):
13112         (WebCore::V8Proxy::runScript):
13113         (WebCore::V8Proxy::callFunction):
13115 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
13117         Reviewed by Darin Adler.
13119         Allow custom memory allocation control for the part of loader directory in WebCore
13120         https://bugs.webkit.org/show_bug.cgi?id=31161
13122         Inherits the following classes from Noncopyable because these are instantiated
13123         by 'new' and these are no need to be copyable:
13125         class Request - WebCore/loader/loader.cpp:100
13126         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
13127         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
13128         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
13129         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
13130         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
13132         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
13133         MainThreadBridge is instantiated by 'new' in 
13134         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
13136         ThreadableLoaderClient's inheriting has been changed to public.
13138         * loader/ImageLoader.cpp:
13139         * loader/ProgressTracker.cpp:
13140         * loader/RedirectScheduler.cpp:
13141         * loader/Request.h:
13142         * loader/ThreadableLoaderClient.h:
13143         * loader/WorkerThreadableLoader.h:
13144         * loader/appcache/ApplicationCacheHost.h:
13145         * loader/appcache/ApplicationCacheStorage.h:
13147 2009-11-10  Philippe Normand  <pnormand@igalia.com>
13149         Reviewed by Eric Seidel.
13151         https://bugs.webkit.org/show_bug.cgi?id=31047
13152         [GTK] Failing test media/video-played-ranges-1.html
13154         WebKit coding style fixes.
13156         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
13157         (WebCore::mediaPlayerPrivateMessageCallback):
13158         (WebCore::MediaPlayerPrivate::naturalSize):
13159         (WebCore::MediaPlayerPrivate::paint):
13160         (WebCore::mimeTypeCache):
13162 2009-11-10  Oliver Hunt  <oliver@apple.com>
13164         Remove build failure introduced by earlier build fix.
13166         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
13168 2009-11-10  Oliver Hunt  <oliver@apple.com>
13170         Is this the last build fix? grep tells me yes.
13172         * bindings/v8/custom/V8DocumentCustom.cpp:
13173         (WebCore::CALLBACK_FUNC_DECL):
13175 2009-11-10  Oliver Hunt  <oliver@apple.com>
13177         Hopefully the last one.  Why aren't these autogenerated?
13179         * bindings/v8/V8DOMWrapper.cpp:
13180         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
13181         (WebCore::V8DOMWrapper::getTemplate):
13182         (WebCore::V8DOMWrapper::convertToV8Object):
13184 2009-11-10  Oliver Hunt  <oliver@apple.com>
13186         Another chrome build fix.
13188         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
13189         (WebCore::CALLBACK_FUNC_DECL):
13191 2009-11-10  Oliver Hunt  <oliver@apple.com>
13193         Yet another chrome buildfix
13195         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
13196         (WebCore::CALLBACK_FUNC_DECL):
13197         * bindings/v8/custom/V8WebGLArrayCustom.h:
13198         (WebCore::constructCanvasArray):
13199         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
13200         (WebCore::CALLBACK_FUNC_DECL):
13201         (WebCore::INDEXED_PROPERTY_GETTER):
13202         (WebCore::INDEXED_PROPERTY_SETTER):
13203         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
13204         (WebCore::CALLBACK_FUNC_DECL):
13205         (WebCore::INDEXED_PROPERTY_GETTER):
13206         (WebCore::INDEXED_PROPERTY_SETTER):
13207         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
13208         (WebCore::CALLBACK_FUNC_DECL):
13209         (WebCore::INDEXED_PROPERTY_GETTER):
13210         (WebCore::INDEXED_PROPERTY_SETTER):
13211         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
13212         (WebCore::CALLBACK_FUNC_DECL):
13213         (WebCore::vertexAttribAndUniformHelperf):
13214         (WebCore::uniformHelperi):
13215         (WebCore::uniformMatrixHelper):
13216         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
13217         (WebCore::CALLBACK_FUNC_DECL):
13218         (WebCore::INDEXED_PROPERTY_GETTER):
13219         (WebCore::INDEXED_PROPERTY_SETTER):
13220         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
13221         (WebCore::CALLBACK_FUNC_DECL):
13222         (WebCore::INDEXED_PROPERTY_GETTER):
13223         (WebCore::INDEXED_PROPERTY_SETTER):
13224         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
13225         (WebCore::CALLBACK_FUNC_DECL):
13226         (WebCore::INDEXED_PROPERTY_GETTER):
13227         (WebCore::INDEXED_PROPERTY_SETTER):
13228         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
13229         (WebCore::CALLBACK_FUNC_DECL):
13230         (WebCore::INDEXED_PROPERTY_GETTER):
13231         (WebCore::INDEXED_PROPERTY_SETTER):
13233 2009-11-10  Oliver Hunt  <oliver@apple.com>
13235         Chrome build fix.
13237         * bindings/v8/V8Index.h:
13239 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
13241         Reviewed by Reviewed by Jan Alonzo.
13243         https://bugs.webkit.org/show_bug.cgi?id=30901
13244         [Gtk] Need to de-lint the Atk a11y code
13246         Removal of various and sundry style-violating nits.
13248         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
13250 2009-11-10  Philippe Normand  <pnormand@igalia.com>
13252         Reviewed by Jan Alonzo.
13254         https://bugs.webkit.org/show_bug.cgi?id=31047
13255         [GTK] Failing test media/video-played-ranges-1.html
13257         Fix playback rate setter by remembering the rate was changed. Also
13258         correctly handle reverse playback by doing a seek from end to
13259         beginning of the media.
13261         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
13262         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
13263         (WebCore::MediaPlayerPrivate::currentTime):
13264         (WebCore::MediaPlayerPrivate::seek):
13265         (WebCore::MediaPlayerPrivate::hasAudio):
13266         (WebCore::MediaPlayerPrivate::setVolume):
13267         (WebCore::MediaPlayerPrivate::setRate):
13268         (WebCore::MediaPlayerPrivate::updateStates):
13269         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
13271 2009-11-10  Oliver Hunt  <oliver@apple.com>
13273         Reviewed by Maciej Stachowiak.
13275         Rename 3D Canvas related classes to use WebGL prefix
13276         https://bugs.webkit.org/show_bug.cgi?id=29095
13278         Automatic rename of all WebGL related types from Canvas* to
13279         WebGL* per more recent version of the WebGL spec.
13281         Due to the automatic rename I've removed the 600+ line change list.
13283 2009-11-09  Dirk Schulze  <krit@webkit.org>
13285         Reviewed by Oliver Hunt.
13287         SVG feDisplacementMap is not implemented
13288         [https://bugs.webkit.org/show_bug.cgi?id=31255]
13290         This is the implementation of the SVG filter effect
13291         feDisplacementMap. 
13293         Test: svg/filters/feDisplacementMap.svg
13295         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
13296         (WebCore::FEDisplacementMap::apply):
13298 2009-11-09  Kent Tamura  <tkent@chromium.org>
13300         Reviewed by Darin Adler.
13302         Add a comment about null strings and hash functions.
13303         https://bugs.webkit.org/show_bug.cgi?id=29118
13305         * platform/text/StringHash.h:
13307 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
13309         Reviewed by Darin Adler.
13311         Compiler warnings in InspectorResource.h
13312         https://bugs.webkit.org/show_bug.cgi?id=29231
13314         Fix compilation warnings by removing addition operation on an enum type.
13316         * inspector/InspectorResource.h:
13317         (WebCore::InspectorResource::):
13318         (WebCore::InspectorResource::Changes::hasChange):
13319         (WebCore::InspectorResource::Changes::set):
13320         (WebCore::InspectorResource::Changes::setAll):
13322 2009-11-09  Anders Carlsson  <andersca@apple.com>
13324         Reviewed by Darin Adler and Dan Bernstein.
13326         <rdar://problem/7328395>
13327         https://bugs.webkit.org/show_bug.cgi?id=31277
13329         When an object tag's style changes (for example when child nodes are added/removed),
13330         reuse its Frame (if it has one) instead of creating multiple Frames.
13332         Test: fast/dom/HTMLObjectElement/children-changed.html
13334         * loader/FrameLoader.cpp:
13335         (WebCore::FrameLoader::requestObject):
13337 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
13339         Reviewed by Kenneth Rohde Christiansen.
13341         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
13342         since adjustment of RW-section base address will be needed for all new symbian
13343         tool chains, specifically for arm and gcc compilation targets.
13344         Also, change target address to 0xE00000 to be sufficient for all targets.
13346         * WebCore.pro:
13348 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
13350         Reviewed by Timothy Hatcher.
13352         Web Inspector: Crash when inspecting
13353         WebCore\manual-tests\inspector\dom-mutation.html
13355         https://bugs.webkit.org/show_bug.cgi?id=31259
13357         * inspector/InspectorDOMAgent.cpp:
13358         (WebCore::InspectorDOMAgent::handleEvent):
13360 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13362         Reviewed by Kenneth Rohde Christiansen.
13364         [Qt] Few classes have virtual functions but non-virtual destructor
13365         https://bugs.webkit.org/show_bug.cgi?id=31269
13367         No new tests as there is no functional change.
13369         * platform/qt/QWebPageClient.h:
13370         (QWebPageClient::~QWebPageClient): Add virtual destructor.
13372 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
13374         Reviewed by Kenneth Rohde Christiansen.
13376         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
13377         https://bugs.webkit.org/show_bug.cgi?id=31140
13379         QtNetwork interprets null string as request to remove the header, not add it.
13380         Replace null values with empty values before passing them to QtNetwork.
13382         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
13384         * platform/network/qt/ResourceRequestQt.cpp:
13385         (WebCore::ResourceRequest::toNetworkRequest):
13387 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
13389         Reviewed by Kevin Ollivier.
13391         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
13392         simply ignored before resulting in transparent areas being black in PNG
13393         images for example.
13394         
13395         https://bugs.webkit.org/show_bug.cgi?id=30823
13397         * platform/image-decoders/wx/ImageDecoderWx.cpp:
13398         (WebCore::RGBA32Buffer::asNewNativeImage):
13400 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13402         Reviewed by Kenneth Rohde Christiansen.
13404         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
13405         https://bugs.webkit.org/show_bug.cgi?id=31040
13407         No new tests as there is no functional change.
13409         * dom/Document.cpp:
13410         (WebCore::Document::recalcStyleSelector):
13411         * editing/TextIterator.cpp:
13412         (WebCore::pushFullyClippedState):
13413         * editing/VisibleSelection.cpp:
13414         (WebCore::VisibleSelection::appendTrailingWhitespace):
13415         * html/HTMLLinkElement.cpp:
13416         (WebCore::HTMLLinkElement::process):
13417         * loader/RedirectScheduler.cpp:
13418         (WebCore::RedirectScheduler::mustLockBackForwardList):
13419         * loader/appcache/ApplicationCacheGroup.cpp:
13420         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
13421         * platform/graphics/qt/FontCacheQt.cpp:
13422         (WebCore::FontPlatformDataCacheKey::computeHash):
13423         * rendering/RenderBlock.cpp:
13424         (WebCore::RenderBlock::handleRunInChild):
13425         * rendering/RenderBox.cpp:
13426         (WebCore::RenderBox::calcHeight):
13427         * rendering/RenderTextControlMultiLine.cpp:
13428         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
13429         * rendering/style/RenderStyle.cpp:
13430         (WebCore::RenderStyle::diff):
13431         * svg/SVGAnimateElement.cpp:
13432         (WebCore::parseNumberValueAndUnit):
13433         * svg/SVGAnimationElement.cpp:
13434         (WebCore::SVGAnimationElement::startedActiveInterval):
13435         * svg/SVGPreserveAspectRatio.cpp:
13436         (WebCore::SVGPreserveAspectRatio::getCTM):
13438 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
13440         Reviewed by Dimitri Glazkov.
13442         Win chromium is slow to draw transparent texts
13443         https://bugs.webkit.org/show_bug.cgi?id=31258
13445         Clip graphics context to reduce calculation.
13447         No new tests because this change only affects performance.
13449         * platform/graphics/chromium/FontChromiumWin.cpp:
13450         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
13451         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
13453 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
13455         Reviewed by Darin Adler.
13457         showTree(CounterNode*) generates too little info and has too many spaces.
13458         https://bugs.webkit.org/show_bug.cgi?id=31212
13460         No new tests as the change has no functional effect it is just for
13461         improved debugging.
13463         * rendering/CounterNode.cpp:
13464         (WebCore::showTreeAndMark):
13465         Changed to also show addresses of parent, next and previous
13466         siblings.
13468 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
13470         Reviewed by Darin Adler.
13472         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
13473         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
13475         https://bugs.webkit.org/show_bug.cgi?id=31083
13477         No new tests; implementation is unchanged.
13479         * page/Frame.cpp:
13480         (WebCore::Frame::setUseSecureKeyboardEntry):
13481         * page/mac/FrameMac.mm:
13483 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13485         Reviewed by Jan Alonzo.
13487         Make XP_UNIX tests consistent
13488         https://bugs.webkit.org/show_bug.cgi?id=31250
13490         No new tests as there is no functional change.
13492         * plugins/PluginView.cpp:
13493         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
13494         instead of the value of the macro
13496         * plugins/gtk/PluginViewGtk.cpp:
13497         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
13498         defined instead of using the PLATFORM macro to be consistent
13499         (WebCore::PluginView::getValue): Ditto.
13501 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
13503         Reviewed by Darin Adler.
13505         Thunk to the main thread from ~Database to deref Database's m_document.
13507         If the Database was the Document's last referrer, then ~Document occurs on the
13508         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
13509         ASSERT in debug builds.
13511         * storage/Database.cpp:
13512         (WebCore::derefDocument):
13513         (WebCore::Database::~Database):
13515 2009-11-09  Mark Mentovai  <mark@chromium.org>
13517         Reviewed by Dan Bernstein.
13519         Track "can have scrollbar" state within FrameView independently of the
13520         individual scrollbar states in ScrollView.
13522         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
13523         REGRESSION (r48064): mint.com loses scrollbars after coming out of
13524         edit mode.
13526         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
13527         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
13529         Test: fast/overflow/scrollbar-restored.html
13531         * WebCore.base.exp:
13532         * page/FrameView.cpp:
13533         (WebCore::FrameView::FrameView):
13534         (WebCore::FrameView::resetScrollbars):
13535         (WebCore::FrameView::setCanHaveScrollbars):
13536         (WebCore::FrameView::updateCanHaveScrollbars):
13537         (WebCore::FrameView::layout):
13538         * page/FrameView.h:
13539         * platform/ScrollView.h:
13541 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
13543         Reviewed by Timothy Hatcher.
13545         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
13546         https://bugs.webkit.org/show_bug.cgi?id=31257
13548         * inspector/front-end/SourceFrame.js:
13550 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
13552         Reviewed by Timothy Hatcher.
13554         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
13555         https://bugs.webkit.org/show_bug.cgi?id=31252
13557         Route F1-F12 keypresses in the Console view to the current panel if there is one.
13559         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
13561         * inspector/front-end/ConsoleView.js:
13562         (WebInspector.ConsoleView.prototype._promptKeyDown):
13563         * inspector/front-end/utilities.js:
13564         ():
13565         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
13567 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
13569         Reviewed by Kenneth Rohde Christiansen.
13571         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
13572         https://bugs.webkit.org/show_bug.cgi?id=31208
13574         After r42483, the credentials are no longer passed to the network request
13575         in the URL of the request.
13576         Pass the credentials from XMLHTTPRequest to the network request, the same
13577         way that other ports do.
13579         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
13581         * platform/network/qt/ResourceHandleQt.cpp:
13582         (WebCore::ResourceHandle::start):
13583         (WebCore::ResourceHandle::loadResourceSynchronously):
13585 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
13587         Unreviewed.
13589         https://bugs.webkit.org/show_bug.cgi?id=31161
13591         Roll back r50657 because it breaks the MAC builds.
13593         * loader/ImageLoader.cpp:
13594         * loader/ProgressTracker.cpp:
13595         * loader/RedirectScheduler.cpp:
13596         * loader/Request.h:
13597         * loader/ThreadableLoaderClient.h:
13598         * loader/WorkerThreadableLoader.h:
13599         * loader/appcache/ApplicationCacheHost.h:
13600         * loader/appcache/ApplicationCacheStorage.h:
13601         * loader/icon/IconDatabaseClient.h:
13603 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
13605         Reviewed by Darin Adler.
13607         Allow custom memory allocation control for the part of loader directory in WebCore
13608         https://bugs.webkit.org/show_bug.cgi?id=31161
13610         Inherits the following classes from Noncopyable because these are instantiated
13611         by 'new' and these are no need to be copyable:
13613         class Request - WebCore/loader/loader.cpp:100
13614         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
13615         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
13616         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
13617         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
13618         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
13619         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
13621         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
13622         MainThreadBridge is instantiated by 'new' in 
13623         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
13625         ThreadableLoaderClient's inheriting has been changed to public.
13627         * loader/ImageLoader.cpp:
13628         * loader/ProgressTracker.cpp:
13629         * loader/RedirectScheduler.cpp:
13630         * loader/Request.h:
13631         * loader/ThreadableLoaderClient.h:
13632         * loader/WorkerThreadableLoader.h:
13633         * loader/appcache/ApplicationCacheHost.h:
13634         * loader/appcache/ApplicationCacheStorage.h:
13635         * loader/icon/IconDatabaseClient.h:
13637 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
13639         Reviewed by Darin Adler.
13641         Allow custom memory allocation control for WebCore's DocLoader
13642         https://bugs.webkit.org/show_bug.cgi?id=31163
13644         Inherits DocLoader class from Noncopyable because it is
13645         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
13646         it is no need to be copyable.
13648         * loader/DocLoader.h:
13650 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
13652         Reviewed by Darin Adler.
13654         Allow custom memory allocation control for WebCore's Tokenizer
13655         https://bugs.webkit.org/show_bug.cgi?id=31162
13657         Inherits Tokenizer class from Noncopyable because (its child class)
13658         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
13659         and it is no need to be copyable.
13661         * dom/Tokenizer.h:
13663 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
13665         Reviewed by Darin Adler.
13667         Allow custom memory allocation control for WebCore's DeleteButtonController
13668         https://bugs.webkit.org/show_bug.cgi?id=31105
13670         Inherits DeleteButtonController class from Noncopyable because it is 
13671         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
13672         it is no need to be copyable.  
13674         * editing/DeleteButtonController.h:
13676 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
13678         Reviewed by Jan Alonzo.
13680         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
13681         https://bugs.webkit.org/show_bug.cgi?id=30482
13683         Expose Page::tabKeyCyclesThroughElements as a property of
13684         WebKitWebView.
13686         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
13688         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
13689         (WebCore::singleCharacterString):
13691 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
13693         Reviewed by Xan Lopez.
13695         https://bugs.webkit.org/show_bug.cgi?id=25415
13696         [GTK][ATK] Please implement support for get_text_at_offset
13698         Fix a crasher that occurred with text which included newline
13699         chars in the markup.
13701         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
13702         (convertUniCharToUTF8):
13704 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
13706         Reviewed by Holger Freyther.
13708         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
13709         https://bugs.webkit.org/show_bug.cgi?id=31144
13711         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
13712         documents that end prematurely but are not considered invalid by QXmlStream.
13713         This is to stay compatible with the libxml2 implementation.
13714         However, that code path would be also hit in situations when it should not,
13715         i.e. the error would have already been caught and handled. As a result, the
13716         same error would be reported twice.
13718         No new tests, because the problem is already covered by
13719         fast/parser/xml-declaration-missing-ending-mark.html.
13721         * dom/XMLTokenizerQt.cpp:
13722         (WebCore::XMLTokenizer::doEnd):
13724 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
13726         Reviewed by Pavel Feldman.
13728         Web Inspector: Inspector should support copy() in the command line
13729         https://bugs.webkit.org/show_bug.cgi?id=31238
13731         * inspector/InspectorBackend.cpp:
13732         (WebCore::InspectorBackend::copyText): Added.
13733         * inspector/InspectorBackend.h: Added copyText
13734         * inspector/InspectorBackend.idl: Added copyText
13735         * inspector/front-end/InjectedScript.js:
13736         (InjectedScript._copy): Added.
13737         (InjectedScript._ensureCommandLineAPIInstalled):
13739 2009-11-08  Drew Wilson  <atwilson@chromium.org>
13741         Reviewed by Dimitri Glazkov.
13743         V8 WorkerContextExecutionProxy does not handle SharedWorkers
13744         https://bugs.webkit.org/show_bug.cgi?id=31226
13746         Now checks to see what type of context is active and creates the
13747         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
13749         Added support for converting to SharedWorkers and SharedWorkerContexts.
13751         Test: Existing layout tests cover this case (start passing in Chrome).
13753         * bindings/v8/WorkerContextExecutionProxy.cpp:
13754         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
13755         Now generates the right type of DOMWrapper for SharedWorkerContexts.
13756         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
13757         Added support for SHAREDWORKERCONTEXT.
13758         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
13759         Added support for SharedWorker and SharedWorkerContext.
13761 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
13763         Reviewed by Dimitri Glazkov.
13765         https://bugs.webkit.org/show_bug.cgi?id=31224
13766         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
13768         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
13770         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
13771         (WebCore::NAMED_PROPERTY_GETTER):
13773 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
13775         Reviewed by Timothy Hatcher.
13777         Web Inspector: "Search again" on scripts panel switches
13778         to the script this search started with.
13780         https://bugs.webkit.org/show_bug.cgi?id=31243
13782         * inspector/front-end/Panel.js:
13783         (WebInspector.Panel.prototype.jumpToNextSearchResult):
13785 2009-11-08  Kent Tamura  <tkent@chromium.org>
13787         Reviewed by Darin Adler.
13789         Simplify Icon interface.
13790         https://bugs.webkit.org/show_bug.cgi?id=31154
13792         - Remove Icon::createIconForFile().  createIconForFiles() covers
13793           createIconForFile()'s role.
13794         - Remove FileChooser::chooseIcon()
13795         - Change the parameter types of FileChooser constructor and the
13796           factory method, String -> const Vector<String>&, in order to
13797           support initialization with multiple files.
13798         - Remove the icon loading code in IconChromiumWin.cpp, which
13799           doesn't work because of the sandbox.
13801         No tests because it's just a refactoring.
13803         * platform/FileChooser.cpp:
13804         (WebCore::FileChooser::FileChooser):
13805         (WebCore::FileChooser::create):
13806         (WebCore::FileChooser::chooseFile):
13807         (WebCore::FileChooser::chooseFiles):
13808         * platform/FileChooser.h:
13809         * platform/graphics/Icon.h:
13810         * platform/graphics/chromium/IconChromiumLinux.cpp:
13811         * platform/graphics/chromium/IconChromiumMac.cpp:
13812         * platform/graphics/chromium/IconChromiumWin.cpp:
13813         (WebCore::Icon::createIconForFiles):
13814         * platform/graphics/gtk/IconGtk.cpp:
13815         (WebCore::Icon::createIconForFiles):
13816         * platform/graphics/haiku/IconHaiku.cpp:
13817         * platform/graphics/mac/IconMac.mm:
13818         (WebCore::Icon::createIconForFiles):
13819         * platform/graphics/qt/IconQt.cpp:
13820         (WebCore::Icon::createIconForFiles):
13821         * platform/graphics/win/IconWin.cpp:
13822         (WebCore::Icon::createIconForFiles):
13823         * platform/graphics/wx/IconWx.cpp:
13824         * rendering/RenderFileUploadControl.cpp:
13825         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
13827 2009-11-08  Daniel Bates  <dbates@webkit.org>
13829         Reviewed by Adam Barth.
13831         https://bugs.webkit.org/show_bug.cgi?id=31098
13833         Allows same-origin plugin-based content to load.
13835         Test: http/tests/security/xssAuditor/object-src-inject.html
13837         * page/XSSAuditor.cpp:
13838         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
13839         (WebCore::XSSAuditor::canLoadObject): Ditto.
13840         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
13841         (WebCore::XSSAuditor::isSameOriginResource): Added.
13842         * page/XSSAuditor.h:
13844 2009-11-08  David Levin  <levin@chromium.org>
13846         Reviewed by NOBODY (chromium build fix).
13848         * platform/network/HTTPParsers.cpp:
13849         (WebCore::parseDate): Changed this to not
13850         use a date parser that needs ExecState passed.
13851         
13852 2009-11-08  David Levin  <levin@chromium.org>
13854         Unreviewed build fix for chromium.
13856         * platform/graphics/skia/GraphicsContextSkia.cpp:
13857         (WebCore::GraphicsContext::fillPath):
13858         (WebCore::GraphicsContext::fillRect):
13859         (WebCore::GraphicsContext::strokePath):
13860         (WebCore::GraphicsContext::strokeRect):
13862 2009-11-08  David Levin  <levin@chromium.org>
13864         Unreviewed build fix for chromium.
13866         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
13867         Clean up GraphicsContext's current concept of ColorSpace
13869         * platform/graphics/skia/GraphicsContextSkia.cpp:
13870         (WebCore::GraphicsContext::fillPath):
13871         (WebCore::GraphicsContext::fillRect):
13872         (WebCore::GraphicsContext::strokePath):
13873         (WebCore::GraphicsContext::strokeRect):
13875 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
13877         Reviewed by Timothy Hatcher.
13879         Web Inspector: [REGRESSION] committing style edit
13880         clears elements panel selection.
13882         https://bugs.webkit.org/show_bug.cgi?id=31242
13884         * inspector/front-end/ElementsTreeOutline.js:
13885         (WebInspector.ElementsTreeOutline.prototype.update):
13886         * inspector/front-end/StylesSidebarPane.js:
13887         (WebInspector.StylePropertyTreeElement.prototype.):
13888         (WebInspector.StylePropertyTreeElement.prototype):
13890 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
13892         Reviewed by Holger Freyther.
13894         ResourceRequest to be class instead of struct
13895         https://bugs.webkit.org/show_bug.cgi?id=30670
13897         Started as a compilation fix for Symbian where the compiler makes a distinction between
13898         class and struct in function argument signatures.
13899         Changed all forward declarations of ResourceRequest to have class in the forward
13900         declaration instead of struct and changed the definition of ResourceRequest to be class
13901         and added access qualifiers where missing. Additionally two references of friend
13902         struct ResourceRequestBase changed to class instead.
13904         * history/HistoryItem.h:
13905         * inspector/InspectorController.h:
13906         * inspector/InspectorResource.h:
13907         * loader/DocumentThreadableLoader.h:
13908         * loader/FrameLoaderClient.h:
13909         * loader/MainResourceLoader.h:
13910         * loader/ResourceLoadNotifier.h:
13911         * loader/SubresourceLoader.h:
13912         * loader/SubresourceLoaderClient.h:
13913         * loader/ThreadableLoader.h:
13914         * loader/WorkerThreadableLoader.h:
13915         * loader/appcache/ApplicationCache.h:
13916         * loader/appcache/ApplicationCacheHost.h:
13917         * platform/CrossThreadCopier.h:
13918         * platform/network/ResourceHandle.h:
13919         * platform/network/ResourceHandleClient.h:
13920         * platform/network/ResourceRequestBase.h:
13921         * platform/network/cf/ResourceRequest.h:
13922         * platform/network/cf/ResourceRequestCFNet.h:
13923         * platform/network/chromium/ResourceRequest.h:
13924         * platform/network/curl/ResourceRequest.h:
13925         * platform/network/qt/ResourceRequest.h:
13926         * platform/network/soup/ResourceRequest.h:
13927         * xml/XMLHttpRequest.h:
13929 2009-11-08  Dan Bernstein  <mitz@apple.com>
13931         Reviewed by Simon Fraser.
13933         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
13934         below FrameView::layout
13935         https://bugs.webkit.org/show_bug.cgi?id=31093
13937         Test: fast/block/positioning/relative-positioned-inline-container.html
13939         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
13940         to mark the object for layout, doing so without marking its ancestors.
13941         However, RenderBlock::skipLeadingWhitespace and
13942         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
13943         positioned inline container, causing it to be marked for layout without
13944         ever going back to give it layout, and thus layout could end with a
13945         dirty object still in the tree, leading to all sorts of badness.
13947         The fix is to revert setStaticY() to not marking the object dirty, and
13948         instead do it in the call sites that require it, which are in
13949         RenderBlock and RenderFlexibleBox.
13951         * rendering/RenderBlock.cpp:
13952         (WebCore::RenderBlock::adjustPositionedBlock):
13953         * rendering/RenderFlexibleBox.cpp:
13954         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
13955         (WebCore::RenderFlexibleBox::layoutVerticalBox):
13956         * rendering/RenderLayer.cpp:
13957         * rendering/RenderLayer.h:
13958         (WebCore::RenderLayer::setStaticY):
13960 2009-11-07  Daniel Bates  <dbates@webkit.org>
13962         Reviewed by Darin Adler.
13964         https://bugs.webkit.org/show_bug.cgi?id=20780
13965         
13966         Fixes an issue where the onchange event handler is not fired when the 
13967         input field is autocompleted.
13968         
13969         We cannot test this using DRT since DRT cannot emulate autocompletion.
13970         So, a manual-test is included.
13972         Tests: manual-tests/autocompletion-fire-onchange.html
13974         * manual-tests/autocompletion-fire-onchange.html: Added.
13975         * rendering/RenderTextControl.cpp:
13976         (WebCore::RenderTextControl::setInnerTextValue):
13978 2009-11-07  Benjamin Otte  <otte@gnome.org>
13980         Reviewed by Holger Freyther.
13982         Mark redrawn areas on image surfaces as dirty.
13984         This is required to conform to the Cairo API, but is currently only
13985         used by debugging tools like cairo-trace.
13987         * platform/graphics/cairo/ImageBufferCairo.cpp:
13988         (WebCore::ImageBuffer::platformTransformColorSpace):
13989         (WebCore::putImageData):
13991 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
13993         Reviewed by Xan Lopez.
13995         https://bugs.webkit.org/show_bug.cgi?id=30878
13996         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
13998         If the end_offset is -1, use the String length as the end_offset.
14000         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
14001         (webkit_accessible_text_get_text):
14003 2009-11-06  Beth Dakin  <bdakin@apple.com>
14005         Reviewed by Adele Peterson.
14007         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
14008         GraphicsContext's current concept of ColorSpace
14010         ColorSpace is now called ColorType. The variables on the state we 
14011         appropriately re-named as well. I removed strokeColorSpace() and 
14012         fillColorSpace() from GraphicsContext since they were never called. 
14014         * platform/graphics/GraphicsContext.cpp:
14015         (WebCore::GraphicsContext::setStrokeColor):
14016         (WebCore::GraphicsContext::setFillColor):
14017         (WebCore::GraphicsContext::setStrokePattern):
14018         (WebCore::GraphicsContext::setFillPattern):
14019         (WebCore::GraphicsContext::setStrokeGradient):
14020         (WebCore::GraphicsContext::setFillGradient):
14021         * platform/graphics/GraphicsContext.h:
14022         (WebCore::):
14023         * platform/graphics/GraphicsContextPrivate.h:
14024         (WebCore::GraphicsContextState::GraphicsContextState):
14025         * platform/graphics/cairo/GraphicsContextCairo.cpp:
14026         (WebCore::GraphicsContext::fillPath):
14027         (WebCore::GraphicsContext::strokePath):
14028         * platform/graphics/cg/GraphicsContextCG.cpp:
14029         (WebCore::calculateDrawingMode):
14030         (WebCore::GraphicsContext::drawPath):
14031         (WebCore::GraphicsContext::fillPath):
14032         (WebCore::GraphicsContext::strokePath):
14033         (WebCore::GraphicsContext::fillRect):
14034         (WebCore::GraphicsContext::strokeRect):
14035         * platform/graphics/qt/GraphicsContextQt.cpp:
14036         (WebCore::GraphicsContext::fillPath):
14037         (WebCore::GraphicsContext::strokePath):
14038         (WebCore::GraphicsContext::fillRect):
14039         * platform/graphics/wince/GraphicsContextWince.cpp:
14040         (WebCore::GraphicsContext::fillPath):
14041         (WebCore::GraphicsContext::fillRect):
14043 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
14045         Reviewed by Tim Hatcher.
14047         Fixes <http://webkit.org/b/31177>.
14048         Web Inspector: Bind backspace to delete cookies and DOM Storage.
14049         
14050         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
14051         places in the inspector can use editing in DataGrid (added a FIXME for
14052         some stuff that needs to be generalized).
14053         
14054         Also added deleting functionality to DataGrid, and implemented it for
14055         Cookies and DOM Storage. The reason this patch is so big is because of
14056         the refactoring of editing code, which won't be used yet in a cross-datagrid
14057         way, but should be able to.
14058         
14059         Additionally, moved the callbacks members from DOMStorageDataGrid to
14060         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
14061         make the architecture of DOM Storage look a lot more like the Cookies view.
14062         
14063         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
14064         inspector from beeping at you when you delete an element.
14066         * WebCore.gypi: Removed DOMStorageDataGrid.
14067         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
14068         * inspector/front-end/CookieItemsView.js:
14069         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
14070         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
14071         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
14072         * inspector/front-end/DOMStorageDataGrid.js: Removed.
14073         * inspector/front-end/DOMStorageItemsView.js:
14074         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
14075         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
14076         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
14077         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
14078         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
14079         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
14080         * inspector/front-end/DataGrid.js:
14081         (WebInspector.DataGrid):
14082         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
14083         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
14084         (WebInspector.DataGrid.prototype._startEditing): Ditto.
14085         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
14086         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
14087         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
14088         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
14089         * inspector/front-end/ElementsTreeOutline.js:
14090         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
14091         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
14092         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
14094 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
14096         Qt build fix: added an ExecState parameter.
14098         * bridge/qt/qt_runtime.cpp:
14099         (JSC::Bindings::convertValueToQVariant):
14100         (JSC::Bindings::convertQVariantToValue):
14102 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
14104         https://bugs.webkit.org/show_bug.cgi?id=31197
14105         Implemented a timezone cache not based on Mac OS X's notify_check API.
14107         Updated for JavaScriptCore internal API change.
14109         * bridge/qt/qt_runtime.cpp:
14110         (JSC::Bindings::convertValueToQVariant):
14111         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
14113         * platform/network/HTTPParsers.cpp:
14114         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
14115         (This function probably shouldn't be using a JavaScript date parser
14116         to begin with, but oh well.)
14118 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
14120         Reviewed by Adam Barth.
14122         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
14123         which affects Chromium only.
14124         
14125         Changes to V8HTMLDocumentCustom.cpp are as below:-
14126         1. The HTMLDocumentOpen function would cause a crash in Chromium if
14127            there was no calling javascript context. We now check for this case
14128            and pass in NULL to the HTMLDocument::open function which can handle
14129            a NULL document parameter.
14130         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
14131            had ASSERTS for a NULL caller frame, which was bogus as it would crash
14132            anyway. We now check for this case and return a failure.
14133            
14134         Changes to V8DOMWindowCustom.cpp are as below:-
14135         1. Instead of failing the window.open call made by NPAPI for lack of a
14136            calling javascript context, we now use the entered context as the calling
14137            context.
14139         Tests: plugins/document-open.html
14140                plugins/window-open.html
14142         * bindings/v8/custom/V8DOMWindowCustom.cpp:
14143         (WebCore::CALLBACK_FUNC_DECL):
14144         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
14145         (WebCore::CALLBACK_FUNC_DECL):
14147 2009-11-06  Steve Block  <steveblock@google.com>
14149         Reviewed by Eric Seidel.
14151         Geolocation error code UNKNOWN_ERROR is deprecated.
14152         https://bugs.webkit.org/show_bug.cgi?id=31184
14154         Remove this error code from PositionError, both for use from C++ code and from the JS object.
14156         Updated fast/dom/Geolocation/error.html to test this.
14158         * page/PositionError.h: Modified.
14159         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
14160         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
14161         * page/Geolocation.cpp: Modified.
14162         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
14163         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
14164         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
14166 2009-11-06  Dirk Schulze  <krit@webkit.org>
14168         Reviewed by Nikolas Zimmermann.
14170         feMorphology filter is not implemented
14171         [https://bugs.webkit.org/show_bug.cgi?id=5863]
14173         The Implementation of feMorphology.
14174         
14175         Test: We have allready a test for feMorphology
14176               svg/W3C-SVG-1.1/filters-morph-01-f.svg
14178         * svg/graphics/filters/SVGFEMorphology.cpp:
14179         (WebCore::FEMorphology::apply):
14181 2009-11-06  Steve Block  <steveblock@google.com>
14183         Reviewed by Eric Seidel.
14185         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
14186         https://bugs.webkit.org/show_bug.cgi?id=31209
14188         Build fix only. No new tests possible.
14190         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
14192 2009-11-06  Drew Wilson  <atwilson@chromium.org>
14194         Reviewed by David Levin.
14196         V8 bindings do not support SharedWorkers as event targets
14197         https://bugs.webkit.org/show_bug.cgi?id=31199
14199         No new tests because existing layout tests suffice (they currently
14200         crash on Chromium)
14202         * bindings/v8/V8DOMWrapper.cpp:
14203         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
14204         Added clause to create a DOM wrapper for SharedWorkers.
14206 2009-11-06  Anton Muhin  <antonm@chromium.org>
14208         Reviewed by Adam Barth.
14210         Do not unnecessarly synchronzie in weak reference callbacks.
14211         https://bugs.webkit.org/show_bug.cgi?id=31191
14213         * bindings/v8/DOMData.h:
14214         (WebCore::DOMData::handleWeakObject):
14216 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
14218         Reviewed by Pavel Feldman.
14220         Fix resource content search.
14221         https://bugs.webkit.org/show_bug.cgi?id=31202
14223         * inspector/front-end/AbstractTimelinePanel.js:
14224         (WebInspector.AbstractTimelinePanel.prototype.refresh):
14225         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
14226         * inspector/front-end/TimelinePanel.js:
14227         (WebInspector.TimelineGraph.prototype.refresh):
14229 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
14231         Reviewed by Eric Seidel.
14233         Fix ASSERT(currentStyle = renderStyle()).
14234         https://bugs.webkit.org/show_bug.cgi?id=31152
14236         * dom/Element.cpp:
14237         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
14239 2009-11-05  Alpha Lam  <hclam@chromium.org>
14241         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
14243         * bindings/v8/V8GCController.cpp:
14244         (WebCore::V8GCController::gcEpilogue):
14245         * bindings/v8/V8GCController.h:
14246         * bindings/v8/V8Proxy.cpp:
14247         (WebCore::V8Proxy::evaluate):
14248         (WebCore::V8Proxy::runScript):
14249         (WebCore::V8Proxy::callFunction):
14251 2009-11-05  Adam Barth  <abarth@webkit.org>
14253         Reviewed by Sam Weinig.
14255         Cross-domain access to stylesheet text should not be allowed
14256         https://bugs.webkit.org/show_bug.cgi?id=20527
14258         Check whether whether the current document can read the cssRules from
14259         the style sheet.  Firefox throws a security error here, but we return
14260         null instead because that's what we usually do in these cases.
14262         Test: http/tests/security/cannot-read-cssrules-redirect.html
14263               http/tests/security/cannot-read-cssrules.html
14265         * css/CSSStyleSheet.cpp:
14266         (WebCore::CSSStyleSheet::cssRules):
14268 2009-11-05  Steve Block  <steveblock@google.com>
14270         Reviewed by Eric Seidel.
14272         If the Geolocation service fails to start, invoke the error callback asynchronously.
14273         https://bugs.webkit.org/show_bug.cgi?id=28276
14275         All Geolocation callbacks must be invoked asynchronously.
14276         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
14278         No new tests possible with current LayoutTestController.
14280         * page/Geolocation.cpp:
14281         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
14282         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
14283         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
14285 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
14287         Reviewed by Eric Seidel.
14289         Removed the "this is part of the KDE project" comments from 
14290         all *.h, *.cpp, *.idl, and *.pm files.
14291         
14292         https://bugs.webkit.org/show_bug.cgi?id=31167
14293         
14294         The maintenance and architecture page in the project wiki lists
14295         this as a task.
14296         
14297         This change includes no changes or additions to test cases 
14298         since the change affects only comments.
14300         * bindings/scripts/CodeGeneratorV8.pm:
14301         * bindings/scripts/IDLParser.pm:
14302         * bindings/scripts/IDLStructure.pm:
14303         * css/CSSInheritedValue.cpp:
14304         * css/CSSInitialValue.cpp:
14305         * css/CSSMediaRule.cpp:
14306         * css/CSSNamespace.h:
14307         * css/CSSProperty.cpp:
14308         * css/CSSProperty.h:
14309         * css/CSSRuleList.cpp:
14310         * css/CSSRuleList.h:
14311         * css/CSSSelector.h:
14312         * css/CSSValueList.cpp:
14313         * css/FontValue.cpp:
14314         * css/MediaFeatureNames.cpp:
14315         * css/MediaFeatureNames.h:
14316         * css/Pair.h:
14317         * css/SVGCSSStyleSelector.cpp:
14318         * css/ShadowValue.cpp:
14319         * css/StyleSheet.cpp:
14320         * css/StyleSheetList.cpp:
14321         * css/maketokenizer:
14322         * dom/BeforeUnloadEvent.cpp:
14323         * dom/BeforeUnloadEvent.h:
14324         * dom/CSSMappedAttributeDeclaration.cpp:
14325         * dom/EventNames.cpp:
14326         * dom/EventTarget.cpp:
14327         * dom/MappedAttributeEntry.h:
14328         * dom/MouseRelatedEvent.h:
14329         * dom/RangeException.h:
14330         * dom/StyleElement.h:
14331         * dom/Tokenizer.h:
14332         * html/HTMLHeadElement.h:
14333         * html/HTMLHeadingElement.cpp:
14334         * html/HTMLHeadingElement.h:
14335         * html/HTMLHtmlElement.h:
14336         * html/HTMLImageLoader.h:
14337         * html/HTMLMetaElement.h:
14338         * html/HTMLModElement.cpp:
14339         * html/HTMLModElement.h:
14340         * html/HTMLOptionsCollection.cpp:
14341         * html/HTMLPlugInElement.cpp:
14342         * html/HTMLPreElement.cpp:
14343         * html/HTMLPreElement.h:
14344         * html/HTMLTableCellElement.cpp:
14345         * html/HTMLTableCellElement.h:
14346         * html/HTMLTableColElement.cpp:
14347         * html/HTMLTableColElement.h:
14348         * html/HTMLTablePartElement.cpp:
14349         * html/HTMLTablePartElement.h:
14350         * html/HTMLTitleElement.h:
14351         * page/MouseEventWithHitTestResults.h:
14352         * platform/StaticConstructors.h:
14353         * platform/text/AtomicStringImpl.h:
14354         * platform/text/qt/TextBreakIteratorQt.cpp:
14355         * rendering/AutoTableLayout.h:
14356         * rendering/CounterNode.cpp:
14357         * rendering/EllipsisBox.cpp:
14358         * rendering/EllipsisBox.h:
14359         * rendering/FixedTableLayout.cpp:
14360         * rendering/FixedTableLayout.h:
14361         * rendering/HitTestRequest.h:
14362         * rendering/HitTestResult.h:
14363         * rendering/InlineRunBox.h:
14364         * rendering/PointerEventsHitRules.cpp:
14365         * rendering/PointerEventsHitRules.h:
14366         * rendering/RenderBR.cpp:
14367         * rendering/RenderBR.h:
14368         * rendering/RenderButton.cpp:
14369         * rendering/RenderButton.h:
14370         * rendering/RenderFieldset.cpp:
14371         * rendering/RenderFrameSet.cpp:
14372         * rendering/RenderListItem.cpp:
14373         * rendering/RenderTableRow.cpp:
14374         * rendering/RenderView.h:
14375         * rendering/RootInlineBox.h:
14376         * rendering/SVGInlineTextBox.cpp:
14377         * rendering/SVGInlineTextBox.h:
14378         * rendering/TableLayout.h:
14379         * rendering/break_lines.h:
14380         * rendering/style/SVGRenderStyle.cpp:
14381         * rendering/style/SVGRenderStyle.h:
14382         * rendering/style/SVGRenderStyleDefs.cpp:
14383         * rendering/style/SVGRenderStyleDefs.h:
14384         * svg/GradientAttributes.h:
14385         * svg/LinearGradientAttributes.h:
14386         * svg/PatternAttributes.h:
14387         * svg/RadialGradientAttributes.h:
14388         * svg/SVGAElement.cpp:
14389         * svg/SVGAngle.idl:
14390         * svg/SVGAnimateColorElement.cpp:
14391         * svg/SVGAnimateColorElement.h:
14392         * svg/SVGAnimateElement.cpp:
14393         * svg/SVGAnimateElement.h:
14394         * svg/SVGAnimateTransformElement.h:
14395         * svg/SVGAnimatedPathData.cpp:
14396         * svg/SVGAnimatedPathData.h:
14397         * svg/SVGAnimatedPoints.cpp:
14398         * svg/SVGAnimatedPoints.h:
14399         * svg/SVGAnimationElement.cpp:
14400         * svg/SVGCircleElement.cpp:
14401         * svg/SVGClipPathElement.cpp:
14402         * svg/SVGColor.cpp:
14403         * svg/SVGColor.idl:
14404         * svg/SVGComponentTransferFunctionElement.cpp:
14405         * svg/SVGComponentTransferFunctionElement.h:
14406         * svg/SVGCursorElement.cpp:
14407         * svg/SVGDefsElement.cpp:
14408         * svg/SVGDescElement.cpp:
14409         * svg/SVGDescElement.h:
14410         * svg/SVGDocument.idl:
14411         * svg/SVGElement.idl:
14412         * svg/SVGElementInstanceList.cpp:
14413         * svg/SVGElementInstanceList.h:
14414         * svg/SVGEllipseElement.cpp:
14415         * svg/SVGExternalResourcesRequired.cpp:
14416         * svg/SVGFEBlendElement.cpp:
14417         * svg/SVGFEBlendElement.h:
14418         * svg/SVGFEColorMatrixElement.cpp:
14419         * svg/SVGFEColorMatrixElement.h:
14420         * svg/SVGFEComponentTransferElement.cpp:
14421         * svg/SVGFEComponentTransferElement.h:
14422         * svg/SVGFECompositeElement.cpp:
14423         * svg/SVGFECompositeElement.h:
14424         * svg/SVGFEFloodElement.cpp:
14425         * svg/SVGFEFloodElement.h:
14426         * svg/SVGFEFuncAElement.cpp:
14427         * svg/SVGFEFuncAElement.h:
14428         * svg/SVGFEFuncBElement.cpp:
14429         * svg/SVGFEFuncBElement.h:
14430         * svg/SVGFEFuncGElement.cpp:
14431         * svg/SVGFEFuncGElement.h:
14432         * svg/SVGFEFuncRElement.cpp:
14433         * svg/SVGFEFuncRElement.h:
14434         * svg/SVGFEGaussianBlurElement.cpp:
14435         * svg/SVGFEGaussianBlurElement.h:
14436         * svg/SVGFEImageElement.cpp:
14437         * svg/SVGFEMergeElement.cpp:
14438         * svg/SVGFEMergeElement.h:
14439         * svg/SVGFEMergeNodeElement.cpp:
14440         * svg/SVGFEOffsetElement.cpp:
14441         * svg/SVGFEOffsetElement.h:
14442         * svg/SVGFETileElement.cpp:
14443         * svg/SVGFETileElement.h:
14444         * svg/SVGFETurbulenceElement.cpp:
14445         * svg/SVGFETurbulenceElement.h:
14446         * svg/SVGFilterElement.cpp:
14447         * svg/SVGGElement.cpp:
14448         * svg/SVGGradientElement.cpp:
14449         * svg/SVGHKernElement.idl:
14450         * svg/SVGLangSpace.cpp:
14451         * svg/SVGLangSpace.h:
14452         * svg/SVGLength.cpp:
14453         * svg/SVGLength.h:
14454         * svg/SVGLength.idl:
14455         * svg/SVGLengthList.cpp:
14456         * svg/SVGLengthList.h:
14457         * svg/SVGLineElement.cpp:
14458         * svg/SVGLinearGradientElement.h:
14459         * svg/SVGList.h:
14460         * svg/SVGListTraits.h:
14461         * svg/SVGLocatable.h:
14462         * svg/SVGMaskElement.cpp:
14463         * svg/SVGMatrix.idl:
14464         * svg/SVGMetadataElement.cpp:
14465         * svg/SVGMetadataElement.h:
14466         * svg/SVGMetadataElement.idl:
14467         * svg/SVGNumber.idl:
14468         * svg/SVGNumberList.cpp:
14469         * svg/SVGNumberList.h:
14470         * svg/SVGPaint.cpp:
14471         * svg/SVGPathElement.cpp:
14472         * svg/SVGPathSeg.h:
14473         * svg/SVGPathSegArc.cpp:
14474         * svg/SVGPathSegArc.h:
14475         * svg/SVGPathSegClosePath.cpp:
14476         * svg/SVGPathSegClosePath.h:
14477         * svg/SVGPathSegCurvetoCubic.cpp:
14478         * svg/SVGPathSegCurvetoCubic.h:
14479         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
14480         * svg/SVGPathSegCurvetoCubicSmooth.h:
14481         * svg/SVGPathSegCurvetoQuadratic.cpp:
14482         * svg/SVGPathSegCurvetoQuadratic.h:
14483         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
14484         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
14485         * svg/SVGPathSegLineto.cpp:
14486         * svg/SVGPathSegLineto.h:
14487         * svg/SVGPathSegLinetoHorizontal.cpp:
14488         * svg/SVGPathSegLinetoHorizontal.h:
14489         * svg/SVGPathSegLinetoVertical.cpp:
14490         * svg/SVGPathSegLinetoVertical.h:
14491         * svg/SVGPathSegMoveto.cpp:
14492         * svg/SVGPathSegMoveto.h:
14493         * svg/SVGPatternElement.cpp:
14494         * svg/SVGPoint.idl:
14495         * svg/SVGPointList.cpp:
14496         * svg/SVGPointList.h:
14497         * svg/SVGPolyElement.cpp:
14498         * svg/SVGPolygonElement.cpp:
14499         * svg/SVGPolygonElement.h:
14500         * svg/SVGPolylineElement.cpp:
14501         * svg/SVGPolylineElement.h:
14502         * svg/SVGPreserveAspectRatio.cpp:
14503         * svg/SVGPreserveAspectRatio.h:
14504         * svg/SVGRadialGradientElement.h:
14505         * svg/SVGRect.idl:
14506         * svg/SVGRectElement.cpp:
14507         * svg/SVGRenderingIntent.h:
14508         * svg/SVGSVGElement.idl:
14509         * svg/SVGScriptElement.cpp:
14510         * svg/SVGSetElement.cpp:
14511         * svg/SVGSetElement.h:
14512         * svg/SVGStopElement.cpp:
14513         * svg/SVGStringList.cpp:
14514         * svg/SVGStringList.h:
14515         * svg/SVGStylable.cpp:
14516         * svg/SVGStylable.h:
14517         * svg/SVGStyleElement.cpp:
14518         * svg/SVGStyleElement.h:
14519         * svg/SVGStyledElement.h:
14520         * svg/SVGStyledLocatableElement.cpp:
14521         * svg/SVGStyledLocatableElement.h:
14522         * svg/SVGStyledTransformableElement.cpp:
14523         * svg/SVGStyledTransformableElement.h:
14524         * svg/SVGSwitchElement.cpp:
14525         * svg/SVGSymbolElement.cpp:
14526         * svg/SVGTRefElement.cpp:
14527         * svg/SVGTSpanElement.cpp:
14528         * svg/SVGTSpanElement.h:
14529         * svg/SVGTests.h:
14530         * svg/SVGTextElement.cpp:
14531         * svg/SVGTextElement.h:
14532         * svg/SVGTextPathElement.cpp:
14533         * svg/SVGTextPositioningElement.cpp:
14534         * svg/SVGTextPositioningElement.h:
14535         * svg/SVGTitleElement.cpp:
14536         * svg/SVGTitleElement.h:
14537         * svg/SVGTransform.cpp:
14538         * svg/SVGTransform.h:
14539         * svg/SVGTransform.idl:
14540         * svg/SVGTransformList.cpp:
14541         * svg/SVGTransformList.h:
14542         * svg/SVGTransformable.h:
14543         * svg/SVGURIReference.h:
14544         * svg/SVGUnitTypes.h:
14545         * svg/SVGUseElement.cpp:
14546         * svg/SVGViewElement.cpp:
14547         * svg/SVGZoomAndPan.cpp:
14548         * svg/SVGZoomAndPan.h:
14549         * svg/SVGZoomEvent.cpp:
14551 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
14553         Reviewed by Dimitri Glazkov.
14555         REGRESSION Clean up security origin usage in DOM Storage.
14556         https://bugs.webkit.org/show_bug.cgi?id=31188
14558         Clean up security origin usage in DOM Storage.  This fixes a bug in my
14559         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
14561         Instead of having StorageAreaSync's constructor (which is called in the
14562         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
14563         database identifier, simply have StorageAreaImpl pass the identifier into
14564         StorageAreaSync.
14566         No test because there's no change in externally observable behavior.
14568         * storage/StorageAreaImpl.cpp:
14569         (WebCore::StorageAreaImpl::StorageAreaImpl):
14570         * storage/StorageAreaImpl.h:
14571         * storage/StorageAreaSync.cpp:
14572         (WebCore::StorageAreaSync::create):
14573         (WebCore::StorageAreaSync::StorageAreaSync):
14574         * storage/StorageAreaSync.h:
14576 2009-11-05  Scott Violet  <sky@google.com>
14578         Reviewed by Dimitri Glazkov.
14580         Need notification of scrolling frame
14581         https://bugs.webkit.org/show_bug.cgi?id=31145
14583         Adds FrameLoaderClient::didChangeScrollOffset that is called when
14584         the frame scrolls. This will be used to know when history state
14585         needs to be updated.
14587         * loader/FrameLoaderClient.h:
14588         (WebCore::FrameLoaderClient::didChangeScrollOffset):
14589         * page/FrameView.cpp:
14590         (WebCore::FrameView::valueChanged):
14592 2009-11-05  Kenneth Russell  <kbr@google.com>
14594         Reviewed by Dimitri Glazkov.
14596         [V8] Update bindings to use new API for external arrays
14597         https://bugs.webkit.org/show_bug.cgi?id=31181
14599         No new tests; covered by existing WebGL tests.
14601         * bindings/v8/V8DOMWrapper.cpp:
14602         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
14603         (WebCore::V8DOMWrapper::getTemplate):
14604         (WebCore::V8DOMWrapper::convertToV8Object):
14605         * bindings/v8/V8DOMWrapper.h:
14606         * bindings/v8/custom/V8CanvasArrayCustom.h:
14607         (WebCore::constructCanvasArray):
14609 2009-11-05  Alpha Lam  <hclam@chromium.org>
14611         Not reviewed, Chromium build fix.
14613         50561 introduces a custom method for SVGMatrix, we need to implement
14614         this in V8.
14616         * bindings/v8/custom/V8CustomBinding.h:
14617         Adding definition for V8SVGMatrixMultiply.
14618         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
14619         (WebCore::CALLBACK_FUNC_DECL):
14620         Implement V8SVGMatrixMultiply according to the same method in JSC.
14622 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
14624         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
14626         * page/DOMWindow.cpp:
14627         (WebCore::DOMWindow::sessionStorage):
14628         * page/Settings.cpp:
14629         (WebCore::Settings::Settings):
14630         (WebCore::Settings::setSessionStorageEnabled):
14631         * page/Settings.h:
14632         (WebCore::Settings::sessionStorageEnabled):
14634 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
14636         Reviewed by Timothy Hatcher.
14638         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
14640         https://bugs.webkit.org/show_bug.cgi?id=30884
14642         Test: inspector/styles-iframe.html
14644         * inspector/front-end/DOMAgent.js:
14645         (WebInspector.DOMNode):
14646         * inspector/front-end/InjectedScript.js:
14647         (InjectedScript.getStyles):
14648         (InjectedScript.getComputedStyle):
14649         (InjectedScript.addStyleSelector):
14650         * inspector/front-end/TestController.js:
14651         (WebInspector.TestController.prototype.notifyDone):
14652         (WebInspector.TestController.prototype.runAfterPendingDispatches):
14653         (WebInspector.evaluateForTestInFrontend.invokeMethod):
14654         (WebInspector.evaluateForTestInFrontend):
14656 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
14658         Reviewed by Geoffrey Garen and Dimitri Glazkov.
14660         Rehashing of EventListenerMap leads to loss of EvenListenerList.
14661         https://bugs.webkit.org/show_bug.cgi?id=31027
14663         Tested by new fast/events/event-listener-map-rehash-crash.html.
14665         EventListenerMap modified to store pointers to listener vectors:
14666         * dom/EventTarget.cpp:
14667         (WebCore::EventTargetData::~EventTargetData):
14668         (WebCore::EventTarget::addEventListener):
14669         (WebCore::EventTarget::removeEventListener):
14670         (WebCore::EventTarget::fireEventListeners):
14671         (WebCore::EventTarget::getEventListeners):
14672         (WebCore::EventTarget::removeAllEventListeners):
14673         * dom/EventTarget.h:
14675         Usages updated after interface changes:
14676         * inspector/InspectorDOMAgent.cpp:
14677         (WebCore::InspectorDOMAgent::getEventListenersForNode):
14678         * svg/SVGUseElement.cpp:
14679         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
14681 2009-11-05  Dan Kegel  <dank@chromium.org>
14683         Reviewed by Dmitri Titov.
14685         Add missing initialization for m_createdByParser.
14686         https://bugs.webkit.org/show_bug.cgi?id=31089
14688         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
14690         * dom/ProcessingInstruction.cpp:
14691         (WebCore::ProcessingInstruction::ProcessingInstruction):
14693 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
14695         Reviewed by Adam Barth.
14697         DOM Storage runtime flag changes
14698         https://bugs.webkit.org/show_bug.cgi?id=30602
14700         Part 2/2.
14702         Revert my changes to Settings and instead implement DOM Storage enabling via
14703         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
14705         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
14706         LayoutTest visible changes and thus no tests.
14708         * bindings/v8/custom/V8CustomBinding.h:
14709         * bindings/v8/custom/V8DOMWindowCustom.cpp:
14710         (WebCore::ACCESSOR_RUNTIME_ENABLER):
14711         * page/DOMWindow.cpp:
14712         (WebCore::DOMWindow::sessionStorage):
14713         * page/DOMWindow.idl:
14714         * page/Settings.cpp:
14715         (WebCore::Settings::Settings):
14716         * page/Settings.h:
14717         * storage/Storage.cpp:
14718         (WebCore::Storage::setLocalStorageAvailable):
14719         (WebCore::Storage::localStorageAvailable):
14720         (WebCore::Storage::setSessionStorageAvailable):
14721         (WebCore::Storage::sessionStorageAvailable):
14722         * storage/Storage.h:
14724 2009-11-05  Jian Li  <jianli@chromium.org>
14726         Reviewed by Pavel Feldman.
14728         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
14729         https://bugs.webkit.org/show_bug.cgi?id=31108
14731         * bindings/v8/V8AbstractEventListener.cpp:
14732         (WebCore::V8AbstractEventListener::invokeEventHandler):
14733         * bindings/v8/V8Utilities.cpp:
14734         (WebCore::reportException):
14736 2009-11-05  Jian Li  <jianli@chromium.org>
14738         Reviewed by Dmitri Titov.
14740         We should not bubble up events if we drag something to an iframe that
14741         has an invalid source.
14742         https://bugs.webkit.org/show_bug.cgi?id=30469
14744         Test: http/tests/misc/bubble-drag-events.html
14746         * page/EventHandler.cpp:
14747         (WebCore::EventHandler::handleDragAndDropForTarget):
14748         (WebCore::EventHandler::updateDragAndDrop):
14749         (WebCore::EventHandler::cancelDragAndDrop):
14750         (WebCore::EventHandler::performDragAndDrop):
14751         * page/EventHandler.h:
14752         (WebCore::EventHandler::):
14754 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
14756         Reviewed by Timothy Hatcher.
14758         Web Inspector: speed up Timelines Clear by a factor of thousands.
14760         https://bugs.webkit.org/show_bug.cgi?id=31160
14762         * inspector/front-end/utilities.js:
14763         (Element.prototype.removeChildren):
14765 2009-11-05  Anton Muhin  <antonm@chromium.org>
14767         Reviewed by Adam Barth.
14769         If high memory usage is detected, hint to V8 that it might be due
14770         to external objects retained by V8 objects.
14771         https://bugs.webkit.org/show_bug.cgi?id=31051
14773         * bindings/v8/V8GCController.cpp:
14774         (WebCore::GetMemoryUsageInMB):
14775         (WebCore::V8GCController::gcEpilogue):
14776         (WebCore::V8GCController::checkMemoryUsage):
14777         * bindings/v8/V8GCController.h:
14778         * bindings/v8/V8Proxy.cpp:
14779         (WebCore::V8Proxy::evaluate):
14780         (WebCore::V8Proxy::runScript):
14781         (WebCore::V8Proxy::callFunction):
14783 2009-11-05  Jeff Schiller  <codedread@gmail.com>
14785         Reviewed by Simon Fraser.
14787         Correct order of matrix multiplication for SVGMatrix.
14788         https://bugs.webkit.org/show_bug.cgi?id=16062
14790         Test: svg/dom/SVGMatrix-interface.xhtml
14792         * bindings/js/JSSVGMatrixCustom.cpp:
14793         (WebCore::JSSVGMatrix::multiply):
14794         * svg/SVGMatrix.idl:
14796 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
14798         Reviewed by Timothy Hatcher.
14800         Web Inspector: Make resource-related records in timeline
14801         actually take some time.
14803         https://bugs.webkit.org/show_bug.cgi?id=31139
14805         * English.lproj/localizedStrings.js:
14806         * inspector/front-end/TimelinePanel.js:
14807         (WebInspector.TimelinePanel):
14808         (WebInspector.TimelinePanel.prototype._formatRecord):
14809         (WebInspector.TimelinePanel.prototype._getRecordDetails):
14810         (WebInspector.TimelinePanel.prototype.reset):
14812 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
14814         Reviewed by Darin Fisher.
14816         Simplify LocalStorageThread
14817         https://bugs.webkit.org/show_bug.cgi?id=30935
14819         This is a re-submit of 50519.  LocalStorageTask should have never been ref
14820         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
14822         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
14823         of the method names a bit more clear. Assert proper thread usage. Join rather
14824         than detaching the thread and doing an ad-hoc form of join. Avoid touching
14825         variables on the background thread when simple to do so.  Also create a generic
14826         scheduleTask function rather than one for each task.
14828         No behavior should have changed.
14830         * storage/LocalStorageTask.h:
14831         * storage/LocalStorageThread.cpp:
14832         (WebCore::LocalStorageThread::create):
14833         (WebCore::LocalStorageThread::LocalStorageThread):
14834         (WebCore::LocalStorageThread::~LocalStorageThread):
14835         (WebCore::LocalStorageThread::start):
14836         (WebCore::LocalStorageThread::threadEntryPointCallback):
14837         (WebCore::LocalStorageThread::threadEntryPoint):
14838         (WebCore::LocalStorageThread::scheduleTask):
14839         (WebCore::LocalStorageThread::terminate):
14840         (WebCore::LocalStorageThread::performTerminate):
14841         * storage/LocalStorageThread.h:
14842         * storage/StorageSyncManager.cpp:
14843         (WebCore::StorageSyncManager::StorageSyncManager):
14844         (WebCore::StorageSyncManager::~StorageSyncManager):
14845         (WebCore::StorageSyncManager::scheduleImport):
14846         (WebCore::StorageSyncManager::scheduleSync):
14847         * storage/StorageSyncManager.h:
14849 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
14851         Reviewed by Darin Fisher.
14853         Calling databaseIdentifier on LocalStorage's background thread is not safe.
14854         https://bugs.webkit.org/show_bug.cgi?id=31149
14856         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
14857         is not safe.  databaseIdentifier does a bunch of string concatenation which
14858         ref-counts StringImpls in some cases.  This was caught by valgrind thread
14859         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
14861         There's no way to test for such racyness, unfortunately.
14863         * storage/StorageAreaSync.cpp:
14864         (WebCore::StorageAreaSync::StorageAreaSync):
14865         (WebCore::StorageAreaSync::performImport):
14866         * storage/StorageAreaSync.h:
14867         * storage/StorageSyncManager.cpp:
14868         (WebCore::StorageSyncManager::fullDatabaseFilename):
14869         * storage/StorageSyncManager.h:
14871 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
14873         Reviewed by Darin Fisher.
14875         Clean up StorageAreaSync
14876         https://bugs.webkit.org/show_bug.cgi?id=31100
14878         Major fixes: Break the ref count cycle for StorageArea on the main
14879         thread, not the background thread since the latter is not safe.
14880         Length() needs to block on the import completing.
14882         Small fixes: setItem needs to handle the copy on write case even if it
14883         has an exception.  setItem and removeItem should just bail from the
14884         the function if the value hasn't changed rather than wrapping the end
14885         in an if block.  Clear should only send an event if it wasn't already
14886         cleared.  StorageAreaSync should assert that the final sync was
14887         scheduled.
14889         * storage/StorageAreaImpl.cpp:
14890         (WebCore::StorageAreaImpl::length):
14891           Forgot to block on the import.
14892         (WebCore::StorageAreaImpl::key):
14893         (WebCore::StorageAreaImpl::setItem):
14894           Handle the copy on write case even when there's an exception.
14895         (WebCore::StorageAreaImpl::removeItem):
14896         (WebCore::StorageAreaImpl::clear):
14897         * storage/StorageAreaSync.cpp:
14898         (WebCore::StorageAreaSync::~StorageAreaSync):
14899         (WebCore::StorageAreaSync::scheduleFinalSync):
14900         (WebCore::StorageAreaSync::performImport):
14901         (WebCore::StorageAreaSync::markImported):
14902         (WebCore::StorageAreaSync::blockUntilImportComplete):
14903         * storage/StorageAreaSync.h:
14905 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
14907         Reviewed by Eric Seidel.
14909         Allow custom memory allocation control for WebCore's CachedResource
14910         https://bugs.webkit.org/show_bug.cgi?id=31114
14912         Inherits CachedResource class from Noncopyable because its (its child
14913         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
14914         and it is no need to be copyable.
14916         * loader/CachedResource.h:
14918 2009-11-04  Mark Mentovai  <mark@chromium.org>
14920         Reviewed by Mark Rowe.
14922         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
14923         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
14924         which is true when targeting 10.6 or later.
14926         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
14927         is present in the CGInterpolationQuality enum, and must be handled
14928         by a switch that has cases for each enumerated value.
14930         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
14931         on 10.6 or later, and that CoreGraphics will understand when
14932         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
14934         * platform/graphics/cg/GraphicsContextCG.cpp:
14935         (WebCore::GraphicsContext::setImageInterpolationQuality):
14936         (WebCore::GraphicsContext::imageInterpolationQuality):
14938 2009-11-04  Dan Kegel  <dank@chromium.org>
14940         Reviewed by Alexey Proskuryakov.
14942         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
14943         https://bugs.webkit.org/show_bug.cgi?id=31138
14945         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
14947         * page/Page.cpp:
14948         (WebCore::Page::userStyleSheetLocationChanged):
14950 2009-11-04  Timothy Hatcher  <timothy@apple.com>
14952         Update the Web Inspector Timeline panel to better match the mock-up.
14954         https://bugs.webkit.org/show_bug.cgi?id=31150
14956         Reviewed by Pavel Feldman.
14958         * inspector/front-end/TimelinePanel.js:
14959         (WebInspector.TimelinePanel.prototype._getRecordDetails):
14960         (WebInspector.TimelinePanel.prototype._dragWindow):
14961         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
14962         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
14963         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
14964         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
14965         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
14966         (WebInspector.TimelineCategoryGraph):
14967         * inspector/front-end/inspector.css:
14969 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
14971         Reviewed by Adele Peterson.
14973         https://bugs.webkit.org/show_bug.cgi?id=25439
14974         Deleting when in front of a block image removes character from previous paragraph
14976         Added editing/deleting/25439-{1,2,3}.html
14978         * editing/DeleteSelectionCommand.cpp:
14979         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
14980         be made inline with other content.  Instead of merging, just move the caret to just before 
14981         the selection we deleted.
14982         * editing/htmlediting.cpp:
14983         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
14984         doesn't necessarily contain pos (suppose pos was [img, 0]).
14985         (WebCore::lastInSpecialElement): Ditto.
14986         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
14987         * editing/htmlediting.h:
14988         * editing/visible_units.cpp:
14989         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
14990         5027702 is now squarely in first/lastInSpecialElement
14991         (WebCore::endOfParagraph): Ditto.
14992         
14993 2009-11-04  Enrica Casucci  <enrica@apple.com>
14995         Reviewed by Adele Peterson.
14997         Hang in Mail on attempting to change indent level.
14998         <rdar://problem/7131805>
14999         https://bugs.webkit.org/show_bug.cgi?id=31127
15001         The hang was caused by an infinite loop inside outdentRegion.
15002         The code did not account for the fact that, when a list item
15003         contains multiple paragraphs, outdent moves all paragraphs at
15004         once, invalidating some of the positions we keep track of in the loop.
15005         Some code refactoring has also been done to minimize duplicated code.
15006         
15007         Test: editing/execCommand/outdent-multiparagraph-list.html
15009         * editing/IndentOutdentCommand.cpp:
15010         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
15011         outdentRegion to doApply.
15012         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
15013         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
15014         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
15015         indentRegion and outdentRegion.
15017 2009-11-04  Alpha Lam  <hclam@chromium.org>
15019         Reviewed by Eric Carlson.
15021         Volume slider doesn't have a thumb
15022         https://bugs.webkit.org/show_bug.cgi?id=31135
15024         Fixed an incorrect if statement that prevents volume slider
15025         being updated.
15027         The statement checks if the slider value equals to the current
15028         volume value of the media control to avoid updating the volume
15029         slider. Updating the volume slider control shouldn't be within
15030         this condition because we explicitly set them to be equals
15031         during creation of the controls and also when mouse events are
15032         received on the volume control.
15034         No new tests because existing code breaks:
15035         LayoutTests/media/video-volume-slider.html
15037         It should now start passing on Chromium.
15039         * rendering/MediaControlElements.cpp:
15040         (WebCore::MediaControlVolumeSliderElement::update):
15041         Update the volume slider regardless of the current volume value
15042         of the media control.
15044 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
15046         Reviewed by David Levin.
15048         Need to properly disable applicationCache at runtime
15049         https://bugs.webkit.org/show_bug.cgi?id=30417
15051         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
15053         No new exposed functionality, so no new tests.
15055         * bindings/v8/RuntimeEnabledFeatures.cpp:
15056         * bindings/v8/RuntimeEnabledFeatures.h:
15057         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
15058         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
15059         * bindings/v8/custom/V8CustomBinding.h:
15060         * bindings/v8/custom/V8DOMWindowCustom.cpp:
15061         (WebCore::ACCESSOR_RUNTIME_ENABLER):
15062         * page/DOMWindow.idl:
15064 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
15066         Reviewed by Dan Bernstein.
15068         https://bugs.webkit.org/show_bug.cgi?id=31143
15069         Assertion failure in CredentialStorage::set() when proxy credentials are being set
15071         No test, cannot test proxy behavior.
15073         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
15074         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
15075         add "://" to origin set, which is weird, but safe.
15077 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
15079         Reviewed by Timothy Hatcher.
15081         Web Inspector: Leftover Breakpoints in the Sidebar Pane
15082         https://bugs.webkit.org/show_bug.cgi?id=30659
15084         No new tests.
15086         * inspector/front-end/ScriptsPanel.js:
15087         (WebInspector.ScriptsPanel.prototype.addScript):
15089 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15091         Reviewed by Timothy Hatcher.
15093         WebInspector: Use a different method to identify the webkit port in
15094         InspectorBackent::platform().
15095         This corrects the inspector expected behavior with Qt on Windows.
15096         https://bugs.webkit.org/show_bug.cgi?id=31116
15098         * inspector/InspectorBackend.cpp:
15099         (WebCore::InspectorBackend::platform):
15100         (WebCore::InspectorBackend::port):
15101         * inspector/InspectorBackend.h:
15102         * inspector/InspectorBackend.idl:
15103         * inspector/front-end/InspectorControllerStub.js:
15104         (.WebInspector.InspectorControllerStub.prototype.port):
15105         * inspector/front-end/inspector.css:
15106         * inspector/front-end/inspector.js:
15107         (WebInspector.loaded):
15108         (WebInspector.toolbarDragStart):
15110 2009-11-04  Benjamin Otte  <otte@gnome.org>
15112         Reviewed by Gustavo Noronha.
15114         Update Cairo requirement to 1.6.
15116         Also remove all conditional code and workarounds for older versions of
15117         Cairo.
15118         In particular, gain image quality by removing the use of
15119         CAIRO_FILTER_NEAREST when rendering images and use the default
15120         bilinear filter instead.
15121         https://bugs.webkit.org/show_bug.cgi?id=19266
15123         * platform/graphics/cairo/GraphicsContextCairo.cpp:
15124         (WebCore::GraphicsContext::clipOut):
15125         * platform/graphics/cairo/ImageCairo.cpp:
15126         (WebCore::BitmapImage::draw):
15127         (WebCore::BitmapImage::drawPattern):
15128         * platform/graphics/cairo/PathCairo.cpp:
15129         (WebCore::Path::isEmpty):
15130         (WebCore::Path::boundingRect):
15131         * platform/gtk/RenderThemeGtk.cpp:
15132         (WebCore::paintMozWidget):
15134 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
15136         wx build fix. Restore removed string conversion after cleanup.
15138         * platform/graphics/wx/FontPlatformDataWx.cpp:
15139         (WebCore::FontPlatformData::computeHash):
15141 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
15143         Reviewed by Beth Dakin.
15145         Need to implement ARIA role="combobox"
15146         https://bugs.webkit.org/show_bug.cgi?id=31096
15148         Test: accessibility/aria-combobox.html
15150         * accessibility/AccessibilityObject.h:
15151         (WebCore::AccessibilityObject::isComboBox):
15152         (WebCore::AccessibilityObject::isExpanded):
15153         (WebCore::AccessibilityObject::expandObject):
15154         (WebCore::AccessibilityObject::increment):
15155         (WebCore::AccessibilityObject::decrement):
15156         * accessibility/AccessibilityRenderObject.cpp:
15157         (WebCore::AccessibilityRenderObject::expandObject):
15158         (WebCore::AccessibilityRenderObject::isExpanded):
15159         (WebCore::createARIARoleMap):
15160         * accessibility/AccessibilityRenderObject.h:
15161         * accessibility/mac/AccessibilityObjectWrapper.mm:
15162         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
15163         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
15164         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
15165         * html/HTMLAttributeNames.in:
15167 2009-11-04  Kelly Norton  <knorton@google.com>
15169         Reviewed by Pavel Feldman.
15171         Fixes naming inconsistencies in TimelineRecordFactory.
15172         https://bugs.webkit.org/show_bug.cgi?id=31132
15174         * inspector/InspectorTimelineAgent.cpp:
15175         (WebCore::InspectorTimelineAgent::willPaint):
15176         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
15177         (WebCore::InspectorTimelineAgent::willLoadXHR):
15178         (WebCore::InspectorTimelineAgent::willEvaluateScript):
15179         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
15180         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
15181         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
15182         * inspector/TimelineRecordFactory.cpp:
15183         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
15184         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
15185         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
15186         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
15187         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
15188         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
15189         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
15190         (WebCore::TimelineRecordFactory::createPaintRecord):
15191         * inspector/TimelineRecordFactory.h:
15193 2009-11-04  Eric Z. Ayers  <zundel@google.com>
15195         Reviewed by Pavel Feldman.
15197         Followon to bug 31080, which protects Timeline
15198         instrumentation in the case where InspectorTimelineAgent
15199         is enabled or disabled during an event dispatch.
15200         
15201         https://bugs.webkit.org/show_bug.cgi?id=31121
15203         * bindings/v8/V8Proxy.cpp:
15204         (WebCore::V8Proxy::evaluate):
15205         * dom/Document.cpp:
15206         (WebCore::Document::recalcStyle):
15207         * dom/Node.cpp:
15208         (WebCore::Node::dispatchGenericEvent):
15209         * html/HTMLTokenizer.cpp:
15210         (WebCore::HTMLTokenizer::write):
15211         * page/DOMWindow.cpp:
15212         (WebCore::DOMWindow::inspectorTimelineAgent):
15213         (WebCore::DOMWindow::dispatchEvent):
15214         * page/DOMWindow.h:
15215         * page/FrameView.cpp:
15216         (WebCore::FrameView::layout):
15217         (WebCore::FrameView::paintContents):
15218         * xml/XMLHttpRequest.cpp:
15219         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
15221 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
15223         Revert 50519 while I work out what went wrong.
15225         * storage/LocalStorageThread.cpp:
15226         (WebCore::LocalStorageThread::create):
15227         (WebCore::LocalStorageThread::LocalStorageThread):
15228         (WebCore::LocalStorageThread::start):
15229         (WebCore::LocalStorageThread::localStorageThreadStart):
15230         (WebCore::LocalStorageThread::localStorageThread):
15231         (WebCore::LocalStorageThread::scheduleImport):
15232         (WebCore::LocalStorageThread::scheduleSync):
15233         (WebCore::LocalStorageThread::terminate):
15234         (WebCore::LocalStorageThread::performTerminate):
15235         * storage/LocalStorageThread.h:
15236         * storage/StorageSyncManager.cpp:
15237         (WebCore::StorageSyncManager::StorageSyncManager):
15238         (WebCore::StorageSyncManager::~StorageSyncManager):
15239         (WebCore::StorageSyncManager::scheduleImport):
15240         (WebCore::StorageSyncManager::scheduleSync):
15241         * storage/StorageSyncManager.h:
15243 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
15245         Reviewed by Timothy Hatcher.
15247         Web Inspector: Add basic support for resource events and marks.
15248         Couple of drive-by fixes. Enabling the panel!
15250         https://bugs.webkit.org/show_bug.cgi?id=31130
15252         * English.lproj/localizedStrings.js:
15253         * inspector/front-end/TimelinePanel.js:
15254         (WebInspector.TimelinePanel):
15255         (WebInspector.TimelinePanel.prototype._formatRecord):
15256         (WebInspector.TimelinePanel.prototype._getRecordDetails):
15257         (WebInspector.TimelinePanel.prototype.reset):
15258         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
15259         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
15260         * inspector/front-end/inspector.js:
15261         (WebInspector._createPanels):
15263 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
15265         Reviewed by Darin Fisher.
15267         Simplify LocalStorageThread
15268         https://bugs.webkit.org/show_bug.cgi?id=30935
15270         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
15271         of the method names a bit more clear. Assert proper thread usage. Join rather
15272         than detaching the thread and doing an ad-hoc form of join. Avoid touching
15273         variables on the background thread when simple to do so.  Also create a generic
15274         scheduleTask function rather than one for each task.
15276         No behavior should have changed.
15278         * storage/LocalStorageThread.cpp:
15279         (WebCore::LocalStorageThread::create):
15280         (WebCore::LocalStorageThread::LocalStorageThread):
15281         (WebCore::LocalStorageThread::~LocalStorageThread):
15282         (WebCore::LocalStorageThread::start):
15283         (WebCore::LocalStorageThread::threadEntryPointCallback):
15284         (WebCore::LocalStorageThread::threadEntryPoint):
15285         (WebCore::LocalStorageThread::scheduleTask):
15286         (WebCore::LocalStorageThread::terminate):
15287         (WebCore::LocalStorageThread::performTerminate):
15288         * storage/LocalStorageThread.h:
15289         * storage/StorageSyncManager.cpp:
15290         (WebCore::StorageSyncManager::StorageSyncManager):
15291         (WebCore::StorageSyncManager::~StorageSyncManager):
15292         (WebCore::StorageSyncManager::scheduleImport):
15293         (WebCore::StorageSyncManager::scheduleSync):
15294         * storage/StorageSyncManager.h:
15296 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
15298         Reviewed by Eric Seidel.
15300         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
15302         * platform/graphics/wx/FontPlatformDataWx.cpp:
15303         (WebCore::FontPlatformData::computeHash):
15305 2009-11-04  Kelly Norton  <knorton@google.com>
15307         Reviewed by Pavel Feldman.
15309         Adds lightweight network resources to InspectorTimelineAgent.
15310         https://bugs.webkit.org/show_bug.cgi?id=31065
15312         * inspector/InspectorController.cpp:
15313         (WebCore::InspectorController::willSendRequest):
15314         (WebCore::InspectorController::didReceiveResponse):
15315         (WebCore::InspectorController::didFinishLoading):
15316         (WebCore::InspectorController::didFailLoading):
15317         * inspector/InspectorTimelineAgent.cpp:
15318         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
15319         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
15320         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
15321         * inspector/InspectorTimelineAgent.h:
15322         (WebCore::):
15323         * inspector/TimelineRecordFactory.cpp:
15324         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
15325         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
15326         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
15327         * inspector/TimelineRecordFactory.h:
15328         * inspector/front-end/TimelineAgent.js:
15330 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
15332         Reviewed by Tor Arne Vestbø.
15334         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
15335         https://bugs.webkit.org/show_bug.cgi?id=31077
15337         Allow sending the response body under the same conditions that we
15338         allow it to finish without reporting an error.
15340         * platform/network/qt/QNetworkReplyHandler.cpp:
15341         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
15343 2009-11-04  Adam Roben  <aroben@apple.com>
15345         Sort WebCore.base.exp
15347         Rubber-stamped by Dan Bernstein.
15349         * WebCore.base.exp: Sorted.
15351 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
15353         Unreviewed rollout.
15355         Revert r50496 because it broke all layout tests on QtBuildBot.
15357         * WebCore.pro:
15358         * platform/graphics/qt/FontCacheQt.cpp:
15359         (WebCore::fontCache):
15360         (WebCore::FontCache::FontCache):
15361         (WebCore::FontCache::getTraitsInFamily):
15362         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
15363         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
15364         (WebCore::FontPlatformDataCacheKey::):
15365         (WebCore::FontPlatformDataCacheKey::operator==):
15366         (WebCore::FontPlatformDataCacheKey::hash):
15367         (WebCore::FontPlatformDataCacheKey::computeHash):
15368         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
15369         (WebCore::FontPlatformDataCacheKeyHash::hash):
15370         (WebCore::FontPlatformDataCacheKeyHash::equal):
15371         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
15372         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
15373         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
15374         (WebCore::FontCache::getCachedFontPlatformData):
15375         (WebCore::FontCache::getCachedFontData):
15376         (WebCore::FontCache::getLastResortFallbackFont):
15377         (WebCore::FontCache::releaseFontData):
15378         (WebCore::FontCache::purgeInactiveFontData):
15379         (WebCore::FontCache::addClient):
15380         (WebCore::FontCache::removeClient):
15381         (WebCore::FontCache::invalidate):
15382         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
15383         (WebCore::FontFallbackList::FontFallbackList):
15384         (WebCore::FontFallbackList::invalidate):
15385         (WebCore::FontFallbackList::releaseFontData):
15386         (WebCore::FontFallbackList::determinePitch):
15387         (WebCore::FontFallbackList::fontDataAt):
15388         (WebCore::FontFallbackList::fontDataForCharacters):
15389         (WebCore::FontFallbackList::setPlatformFont):
15390         * platform/graphics/qt/FontPlatformData.h:
15391         (WebCore::FontPlatformData::pixelSize):
15392         * platform/graphics/qt/FontPlatformDataQt.cpp:
15393         (WebCore::FontPlatformData::FontPlatformData):
15395 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
15397         Reviewed by Jan Alonzo.
15399         https://bugs.webkit.org/show_bug.cgi?id=31044
15400         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
15402         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
15403         (atkParentOfWebView):
15404         (webkit_accessible_get_index_in_parent):
15405         (webkit_accessible_get_parent):
15407 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
15409         Reviewed by Eric Seidel.
15411         https://bugs.webkit.org/show_bug.cgi?id=15914
15412         [GTK] Implement Unicode functionality using GLib
15414         Initial version of this patch by Jürg Billeter and Naiem Shaik.
15415         Patch 2/4 - Moving TextCodecs to GLib
15416         
15417         Added probing for a hard-coded lists of text encodings.
15418         The basis of this list is taken from the encodings supported by iconv,
15419         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
15420         a number of Chinese ones.
15422         Probing is necessary with the current design of text codecs
15423         as iconv/GLib do not support enumerating available encodings.
15425         * GNUmakefile.am:
15426         * platform/ThreadGlobalData.cpp:
15427         (WebCore::ThreadGlobalData::ThreadGlobalData):
15428         (WebCore::ThreadGlobalData::~ThreadGlobalData):
15429         * platform/text/TextEncoding.cpp:
15430         (WebCore::TextEncoding::encode):
15431         * platform/text/TextEncodingRegistry.cpp:
15432         (WebCore::buildBaseTextCodecMaps):
15433         (WebCore::extendTextCodecMaps):
15434         * platform/text/gtk/TextCodecGtk.cpp: Added.
15435         (WebCore::):
15436         (WebCore::newTextCodecGtk):
15437         (WebCore::TextCodecGtk::isEncodingAvailable):
15438         (WebCore::TextCodecGtk::registerEncodingNames):
15439         (WebCore::TextCodecGtk::registerCodecs):
15440         (WebCore::TextCodecGtk::registerBaseEncodingNames):
15441         (WebCore::TextCodecGtk::registerBaseCodecs):
15442         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
15443         (WebCore::TextCodecGtk::registerExtendedCodecs):
15444         (WebCore::TextCodecGtk::TextCodecGtk):
15445         (WebCore::TextCodecGtk::~TextCodecGtk):
15446         (WebCore::TextCodecGtk::releaseIConv):
15447         (WebCore::TextCodecGtk::createIConvDecoder):
15448         (WebCore::TextCodecGtk::createIConvEncoder):
15449         (WebCore::TextCodecGtk::decode):
15450         (WebCore::TextCodecGtk::encode):
15451         * platform/text/gtk/TextCodecGtk.h: Added.
15453 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
15455         Reviewed by Jan Alonzo.
15457         [GTK] Enable DOM clipboard and drag-and-drop access
15458         https://bugs.webkit.org/show_bug.cgi?id=30623
15460         Unify redudant methods which will always return the same value.
15462         * platform/gtk/PasteboardGtk.cpp:
15463         (WebCore::Pasteboard::writeSelection):
15464         * platform/gtk/PasteboardHelper.h:
15466 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
15468         Reviewed by Jan Alonzo.
15470         https://bugs.webkit.org/show_bug.cgi?id=31035
15471         [GTK] some accessibility tests hitting assertion in debug builds
15473         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
15474         Any app or AT can attempt to ref a child at a bogus index.
15476         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
15477         (webkit_accessible_ref_child):
15479 2009-11-04  Benjamin Otte  <otte@gnome.org>
15481         Reviewed by Jan Alonzo.
15483         [gtk] Use gst_element_class_set_details_simple()
15485         Cosmetic change, just code simplification
15487         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
15488         (webkit_video_sink_base_init):
15489 2009-11-04  Kelly Norton  <knorton@google.com>
15491         Reviewed by Timothy Hatcher.
15493         Adds paint rectangle information to TimelineAgent's didPaint callback.
15494         https://bugs.webkit.org/show_bug.cgi?id=31087
15496         * inspector/InspectorTimelineAgent.cpp:
15497         (WebCore::InspectorTimelineAgent::willPaint):
15498         * inspector/InspectorTimelineAgent.h:
15499         * inspector/TimelineRecordFactory.cpp:
15500         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
15501         * inspector/TimelineRecordFactory.h:
15502         * page/FrameView.cpp:
15503         (WebCore::FrameView::paintContents):
15505 2009-11-04  Jaime Yap  <jaimeyap@google.com>
15507         Reviewed by Timothy Hatcher.
15509         This patch adds API to the console object for annotating the
15510         inspector timeline. This allows developers to mark logical
15511         checkpoints in their apps and have them overlaid in the event
15512         record tree.
15514         tests updated: LayoutTests/fast/dom/Window/window-properties.html
15515         https://bugs.webkit.org/show_bug.cgi?id=31082
15518         * inspector/InspectorController.cpp:
15519         (WebCore::InspectorController::markTimeline):
15520         * inspector/InspectorController.h:
15521         * inspector/InspectorTimelineAgent.cpp:
15522         (WebCore::InspectorTimelineAgent::didMarkTimeline):
15523         * inspector/InspectorTimelineAgent.h:
15524         (WebCore::):
15525         * inspector/TimelineRecordFactory.cpp:
15526         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
15527         * inspector/TimelineRecordFactory.h:
15528         * inspector/front-end/TimelineAgent.js:
15529         * page/Console.cpp:
15530         (WebCore::Console::markTimeline):
15531         * page/Console.h:
15532         * page/Console.idl:
15534 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
15536         Unreviewed build fix for WebInspector with Qt build.
15538         Simply re-generate the Qt resource file by running
15539         WebKitTools/Scripts/generate-qt-inspector-resource
15541         * inspector/front-end/WebKit.qrc:
15543 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
15545         Reviewed by Simon Hausmann.
15547         [Qt] Handle fonts like the other ports
15549         Remove FontFallbackListQt and rely on the common FontFallbackList
15550         to handle the fonts. FontCache and FontPlatformData have been
15551         updated to work with the common FontFallbackList.
15553         In the previous implementation, FontPlatformDataCacheKey
15554         was a clone of FontPlatformData with the hashing
15555         capabilities added in order to use it as a key in the cache's
15556         hashmap. FontPlatformData has been modified to handle the hashing
15557         function directly so the data are not copied twice in memory.
15559         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
15560         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
15561         The behavior is similar except currFamily->family().length() was
15562         not tested and the fallback fonts selector were not used.
15564         https://bugs.webkit.org/show_bug.cgi?id=29856
15566         Test: svg/text/text-font-invalid.html
15568         * WebCore.pro:
15569         * platform/graphics/qt/FontCacheQt.cpp:
15570         (WebCore::FontCache::platformInit):
15571         (WebCore::FontCache::getFontDataForCharacters):
15572         (WebCore::FontCache::getSimilarFontPlatformData):
15573         (WebCore::FontCache::getLastResortFallbackFont):
15574         (WebCore::FontCache::getTraitsInFamily):
15575         (WebCore::FontCache::createFontPlatformData):
15576         * platform/graphics/qt/FontFallbackListQt.cpp:
15577         Removed. We now use the implementation from FontFallbackList.cpp
15578         * platform/graphics/qt/FontPlatformData.h:
15579         Add hashing capabilities to be able to use the data with the FontCache.
15580         This was previously done in FontCacheQt.cpp
15581         (WebCore::FontPlatformData::FontPlatformData):
15582         Added a boolean to identify deleted value in the hash table.
15583         (WebCore::FontPlatformData::isHashTableDeletedValue):
15584         (WebCore::FontPlatformData::hash):
15585         (WebCore::FontPlatformData::operator==):
15586         * platform/graphics/qt/FontPlatformDataQt.cpp:
15587         (WebCore::FontPlatformData::FontPlatformData):
15589 2009-11-03  Dan Bernstein  <mitz@apple.com>
15591         Leopard build fix
15593         * platform/network/mac/AuthenticationMac.mm:
15594         (WebCore::mac):
15595         (WebCore::core):
15597 2009-11-03  Dan Bernstein  <mitz@apple.com>
15599         Reviewed by Alexey Proskuryakov.
15601         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
15602         authentication in AuthenticationMac
15604         * platform/network/mac/AuthenticationMac.mm:
15606 2009-11-03  Eric Z. Ayers  <zundel@google.com>
15608         Reviewed by Timothy Hatcher.
15610         Fixes a problem where the timeline instrumentation crashes if
15611         timeline profiling is enabled or disabled in the middle of an
15612         event dispatch.
15614         https://bugs.webkit.org/show_bug.cgi?id=31080
15616         Test: inspector/timeline-trivial.html
15618         * bindings/js/ScriptController.cpp:
15619         (WebCore::ScriptController::evaluateInWorld):
15620         (WebCore::ScriptController::processingUserGestureEvent):
15621         * inspector/InspectorTimelineAgent.cpp:
15622         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
15623         * page/DOMTimer.cpp:
15624         (WebCore::DOMTimer::fired):
15626 2009-11-03  Dan Bernstein  <mitz@apple.com>
15628         Reviewed by Dave Hyatt.
15630         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
15632         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
15633         would not matter. That is not the case if the only reason for the slow-scrolling is
15634         being overlapped.
15636         * page/FrameView.cpp:
15637         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
15638         reason besides being overlapped that the frame would need to fully repaint on scroll.
15639         * page/FrameView.h:
15640         * rendering/RenderWidget.cpp:
15641         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
15643 2009-11-03  Dmitry Titov  <dimich@chromium.org>
15645         Not reviewed, Qt build fix.
15647         Need to use right capitalization for include file.
15649         * page/Navigator.cpp:
15651 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
15653         Reviewed by Timothy Hatcher.
15655         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
15657         https://bugs.webkit.org/show_bug.cgi?id=31081
15659         * inspector/front-end/AbstractTimelinePanel.js:
15660         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
15661         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
15662         (WebInspector.AbstractTimelinePanel.prototype.filter):
15663         * inspector/front-end/TimelinePanel.js:
15664         (WebInspector.TimelinePanel):
15665         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
15666         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
15667         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
15668         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
15669         * inspector/front-end/inspector.css:
15671 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
15673         Reviewed by Timothy Hatcher.
15675         Web Inspector: clear overview on Clear action and panel reset.
15677         https://bugs.webkit.org/show_bug.cgi?id=31078
15679         * inspector/front-end/TimelinePanel.js:
15680         (WebInspector.TimelinePanel.prototype._getRecordDetails):
15681         (WebInspector.TimelinePanel.prototype.reset):
15683 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
15685         Reviewed by Dimitri Glazkov.
15687         Imported action and rules python files that WebCore.gyp depends on. 
15688         These files used to live in chromium.org and deal mostly with auto-generation
15689         of code by wrapping existing webkit perl scripts.
15691         https://bugs.webkit.org/show_bug.cgi?id=31071
15693         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
15694         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
15695         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
15696         * WebCore.gyp/scripts/action_makenames.py: Added.
15697         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
15698         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
15699         * WebCore.gyp/scripts/rule_binding.py: Added.
15700         * WebCore.gyp/scripts/rule_bison.py: Added.
15701         * WebCore.gyp/scripts/rule_gperf.py: Added.
15703 2009-11-03  Bradley Green  <brg@chromium.org>
15705         Reviewed by Dmitry Titov.
15707         Implement window.navigator.registerProtocolHandler in webkit,
15708         https://bugs.webkit.org/b/29651
15710         Also implemented its sister API window.navigator.registerContentHandler.
15712         These methods are as described in the HTML5 specification which can be
15713         found here,
15714         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
15715         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
15717         As specified in the document, the behavior of the browser is determined
15718         by the current registered handler.  The state of a registered handler
15719         can change at any time, with the user clearing a registered handler,
15720         registering a different page as handler, or deferring the hander to the
15721         OS.  If webkit was to track the state of the currently registered
15722         handlers, it would need more APIs and complexity to keep in sync with
15723         user actions reported to webkit from the UA.  For simplicity, the state
15724         of protocol handlers should be kept isolated from webkit and webkit only
15725         notifies the UA that a page has made the call.  The UA is then
15726         responsible for correctly handling the registerProtocolHandler call and
15727         the redirects which result from registration.
15729         We do however follow the specification in insuring that the reserved
15730         schemes and mimeTypes are not passed to the UA as custom handler
15731         registration tests.  We also insure that the "%s" token is present as
15732         required by the specification.
15734         Updated test expectations for window.clientInformation and navigator
15735         objects.
15737         Tests: fast/dom/registerContentHandler.html
15738                fast/dom/registerProtocolHandler.html
15740         * page/Chrome.cpp:
15741         (WebCore::Chrome::registerProtocolHandler):
15742         (WebCore::Chrome::registerContentHandler):
15743         * page/Chrome.h:
15744         * page/ChromeClient.h:
15745         (WebCore::ChromeClient::registerProtocolHandler):
15746         (WebCore::ChromeClient::registerContentHandler):
15747         * page/Navigator.cpp:
15748         (WebCore::verifyCustomHandlerURL):
15749         (WebCore::verifyProtocolHandlerScheme):
15750         (WebCore::Navigator::registerProtocolHandler):
15751         (WebCore::verifyProtocolHandlerMimeType):
15752         (WebCore::Navigator::registerContentHandler):
15753         * page/Navigator.h:
15754         * page/Navigator.idl:
15756 2009-11-03  Brady Eidson  <beidson@apple.com>
15758         Reviewed by Darin Adler.
15760         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
15762         No new tests. (No change in functionality)
15764         * dom/Document.cpp:
15765         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
15766         * dom/Document.h:
15768         Include "Page.h" directly:
15769         * html/HTMLVideoElement.cpp:
15770         * loader/RedirectScheduler.cpp:
15771         * page/History.cpp:
15772         * rendering/MediaControlElements.cpp:
15773         * storage/StorageAreaImpl.cpp:
15775 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
15777         Reviewed by Timothy Hatcher.
15779         Web Inspector: hover over JS "things" in source and see their values
15780         https://bugs.webkit.org/show_bug.cgi?id=30913
15782         * inspector/front-end/SourceFrame.js:
15784 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
15786         Reviewed by Timothy Hatcher.
15788         Web Inspector: update timeline content boundaries on timer.
15790         https://bugs.webkit.org/show_bug.cgi?id=31072
15792         * inspector/front-end/TimelinePanel.js:
15793         (WebInspector.TimelinePanel.prototype.refresh):
15794         (WebInspector.TimelinePanel.prototype._setWindowPosition):
15796 2009-11-03  Dan Bernstein  <mitz@apple.com>
15798         Reviewed by Anders Carlsson and Beth Dakin.
15800         https://bugs.webkit.org/show_bug.cgi?id=31070
15801         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
15802         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
15804         Tests: plugins/attach-during-destroy.html
15805                plugins/destroy-reentry.html
15807         These crashes were caused by plug-in code running during detach(),
15808         causing re-entry into RenderWidget::destroy() in one case and a call
15809         into attach() in the other. The fix is to prevent plug-in code from
15810         being called at certain unsafe times (during attach(), detach(), and
15811         recalcStyle()) by deferring changes to the widget hierarchy.
15813         * dom/Document.cpp:
15814         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
15815             during style recalculation.
15817         * dom/Element.cpp:
15818         (WebCore::Element::attach): Suspend widget hierarchy updates during
15819             attach().
15820         (WebCore::Element::detach): Suspend widget hierarchy updates during
15821             detach().
15823         * rendering/RenderWidget.cpp:
15824         (WebCore::widgetNewParentMap): Returns a static map of pending changes
15825             to the widget hierarchy.
15826         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
15827             suspend count.
15828         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
15829             suspend count. If the count is going to be zero, updates the widget
15830             hierarchy by executing the pending changes stored in the map.
15831         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
15832             immediately or makes or updates an entry in the map, depending on
15833             whether updates are suspended.
15834         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
15835             <rdar://problem/6937089>.
15836         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
15837             are not suspended, because this function updates the widget’s
15838             bounds, which can result in arbitrary native and JavaScript code
15839             execution. I think this assertion is true thanks to some deferred-
15840             update mechanisms that have already been deployed in other places
15841             in the code.
15842         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
15843             of changing the widget hierarchy directly.
15844         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
15845             and resumeWidgetHierarchyUpdates().
15847 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
15849         Reviewed by Timothy Hatcher.
15851         Web Inspector: only show timeline records that contribute
15852         to the current window.
15854         https://bugs.webkit.org/show_bug.cgi?id=31069
15856         * inspector/front-end/TimelinePanel.js:
15857         (WebInspector.TimelinePanel.prototype.refresh):
15858         (WebInspector.TimelineGraph):
15859         (WebInspector.TimelineGraph.prototype.refresh):
15861 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
15863         Reviewed by Timothy Hatcher.
15865         Watch expression editor should stay open after Add button was clicked
15866         https://bugs.webkit.org/show_bug.cgi?id=31049
15868         No new tests, was a regression, use existing manual test.
15870         * inspector/front-end/WatchExpressionsSidebarPane.js:
15871         (WebInspector.WatchExpressionsSection.prototype.update):
15872         (WebInspector.WatchExpressionsSection.prototype.addExpression):
15874 2009-11-03  Evan Martin  <evan@chromium.org>
15876         Reviewed by Darin Adler.
15878         Fix an off-by-one in the CSS lexer that causes memory corruption in
15879         hard-to-trigger circumstances.
15881         https://bugs.webkit.org/show_bug.cgi?id=30827
15883         Test: fast/css/end-of-buffer-crash.html
15885         * css/maketokenizer: Add comments, fix off-by-one.
15887 2009-11-02  Darin Adler  <darin@apple.com>
15889         Reviewed by Dan Bernstein.
15891         Crash due to double-destroy related to CSS run-in property
15892         https://bugs.webkit.org/show_bug.cgi?id=31034
15893         rdar://problem/7328458
15895         Test: fast/css/run-in-crash.html
15897         * rendering/RenderBlock.cpp:
15898         (WebCore::RenderBlock::destroy): Reorder destruction so the
15899         continuation is destroyed after anonymous children. See comment
15900         in the code for more details of why this is right.
15901         * rendering/RenderInline.cpp:
15902         (WebCore::RenderInline::destroy): Ditto.
15904 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
15906         Reviewed by Pavel Feldman.
15908         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
15910         There might be no new node under mouse if the pointer is moved out of the window
15911         in which case we get an exception.
15912         https://bugs.webkit.org/show_bug.cgi?id=31061
15914         * inspector/front-end/ElementsPanel.js:
15915         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
15917 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
15919         Reviewed by Darin Adler.
15921         Allow custom memory allocation control for the dom directory of WebCore
15922         https://bugs.webkit.org/show_bug.cgi?id=31053
15924         Inherits the following classes from Noncopyable because these are
15925         instantiated by 'new' and these are no need to be copyable:
15927         class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
15928         struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
15929         class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
15930         struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
15931         struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
15932         class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
15934         Inherits QualifiedName class from FastAllocBase because it is
15935         instantiated by 'new' in WebCore/editing/markup.cpp:319
15937         * dom/Document.cpp:
15938         * dom/EventNames.h:
15939         * dom/EventTarget.h:
15940         * dom/MessagePortChannel.h:
15941         * dom/NodeRareData.h:
15942         * dom/QualifiedName.h:
15944 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
15946         Reviewed by Timothy Hatcher.
15948         Web Inspector: Implement timeline summary panel.
15950         https://bugs.webkit.org/show_bug.cgi?id=31064
15952         * inspector/front-end/TimelinePanel.js:
15953         (WebInspector.TimelinePanel.prototype._createOverview):
15954         (WebInspector.TimelinePanel.prototype.refresh):
15955         (WebInspector.TimelineCategoryGraph):
15956         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
15957         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
15958         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
15959         (WebInspector.TimelineGraph.prototype.refresh):
15960         * inspector/front-end/inspector.css:
15962 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
15964         Reviewed by Timothy Hatcher.
15966         Toggle off 'Search for node' when the Inspector window is closing
15968         Searching for node should be toggled off when the Inspector window is closed,
15969         in a platform-independent manner.
15970         https://bugs.webkit.org/show_bug.cgi?id=31059
15972         * inspector/InspectorController.cpp:
15973         (WebCore::InspectorController::setWindowVisible):
15975 2009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
15977         Reviewed by Timothy Hatcher.
15979         Prepare for heap profiles upstreaming:
15980         - pass profile type id from InspectorController;
15981         - this makes WebInspector.CPUProfile redundant---removed;
15982         - support multiple profile types when populating profiles.
15984         https://bugs.webkit.org/show_bug.cgi?id=31052
15986         * inspector/InspectorController.cpp:
15987         (WebCore::InspectorController::createProfileHeader):
15988         * inspector/front-end/ProfileView.js:
15989         (WebInspector.CPUProfileView.profileCallback):
15990         (WebInspector.CPUProfileView):
15991         (WebInspector.CPUProfileView.prototype._sortData):
15992         * inspector/front-end/ProfilesPanel.js:
15993         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
15994         * inspector/front-end/inspector.js:
15995         (WebInspector.addProfileHeader):
15997 2009-11-03  Dan Kegel  <dank@chromium.org>
15999         Reviewed by Dimitri Glazkov.
16001         UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
16002         https://bugs.webkit.org/show_bug.cgi?id=31063
16004         * accessibility/AccessibilityRenderObject.cpp:
16005         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
16007 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
16009         Reviewed by Timothy Hatcher.
16011         Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
16013         https://bugs.webkit.org/show_bug.cgi?id=31056
16015         * English.lproj/localizedStrings.js:
16016         * inspector/front-end/AbstractTimelinePanel.js:
16017         (WebInspector.AbstractTimelinePanel.prototype.get items):
16018         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
16019         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
16020         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
16021         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
16022         (WebInspector.AbstractTimelinePanel.prototype.refresh):
16023         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
16024         (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
16025         (WebInspector.TimelineGrid):
16026         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
16027         (WebInspector.TimelineGrid.prototype.updateDividers):
16028         (WebInspector.TimelineGrid.prototype.addExtraDivider):
16029         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
16030         * inspector/front-end/ResourcesPanel.js:
16031         (WebInspector.ResourcesPanel):
16032         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
16033         (WebInspector.ResourcesPanel.prototype.get _resources):
16034         * inspector/front-end/TimelinePanel.js:
16035         (WebInspector.TimelinePanel):
16036         (WebInspector.TimelinePanel.prototype.get categories):
16037         (WebInspector.TimelinePanel.prototype._formatRecord):
16038         (WebInspector.TimelinePanel.prototype.reset):
16039         (WebInspector.TimelinePanel.prototype._createOverview):
16040         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
16041         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
16042         (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
16043         (WebInspector.TimelinePanel.prototype.refresh):
16044         (WebInspector.TimelinePanel.prototype._resizeWindow):
16045         (WebInspector.TimelinePanel.prototype._windowResizeDragging):
16046         (WebInspector.TimelinePanel.prototype._dragWindow):
16047         (WebInspector.TimelinePanel.prototype._windowDragging):
16048         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
16049         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
16050         (WebInspector.TimelinePanel.prototype._setWindowPosition):
16051         (WebInspector.TimelinePanel.prototype._endWindowDragging):
16052         (WebInspector.TimelineCategoryTreeElement):
16053         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
16054         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
16055         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
16056         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
16057         (WebInspector.TimelineCalculator.prototype.reset):
16058         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
16059         (WebInspector.TimelineCalculator.prototype.formatValue):
16060         * inspector/front-end/inspector.css:
16062 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
16064         Reviewed by Tor Arne Vestbø.
16066         Make QWebPluginDatabase private API for now.
16068         https://bugs.webkit.org/show_bug.cgi?id=30775
16070         * WebCore.pro:
16072 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
16074         Reviewed by Tor Arne Vestbø.
16076         Extended the conversion of the WebCore ResourceRequest to the
16077         QNetworkRequest with a mandatory originating object argument,
16078         which is meant to be the QWebFrame the request belongs to.
16080         https://bugs.webkit.org/show_bug.cgi?id=29975
16082         * platform/network/qt/QNetworkReplyHandler.cpp:
16083         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
16084         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
16085         (WebCore::QNetworkReplyHandler::start):
16086         * platform/network/qt/ResourceRequest.h:
16087         * platform/network/qt/ResourceRequestQt.cpp:
16088         (WebCore::ResourceRequest::toNetworkRequest):
16090 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
16092         Reviewed by Pavel Feldman.
16094         Web Inspector: monitorEvent should be monitorEvents
16095         https://bugs.webkit.org/show_bug.cgi?id=31042
16097         * inspector/front-end/InjectedScript.js:
16098         (InjectedScript._ensureCommandLineAPIInstalled):
16100 2009-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
16102         Rubber-stamped by Antti Koivisto.
16104         [Qt] Build fix for Windows CE
16106         * plugins/PluginDatabase.cpp:
16108 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
16110         Reviewed by David Levin.
16112         fix accessibility webkit-style-check errors
16113         https://bugs.webkit.org/show_bug.cgi?id=29672
16115         * accessibility/AXObjectCache.cpp:
16116         (WebCore::AXObjectCache::getOrCreate):
16117         (WebCore::AXObjectCache::remove):
16118         (WebCore::AXObjectCache::platformGenerateAXID):
16119         (WebCore::AXObjectCache::removeAXID):
16120         * accessibility/AXObjectCache.h:
16121         (WebCore::AXObjectCache::enableAccessibility):
16122         (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
16123         (WebCore::AXObjectCache::accessibilityEnabled):
16124         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
16125         (WebCore::AXObjectCache::isIDinUse):
16126         (WebCore::AXObjectCache::objectFromAXID):
16127         (WebCore::AXObjectCache::):
16128         (WebCore::AXObjectCache::handleActiveDescendantChanged):
16129         (WebCore::AXObjectCache::handleAriaRoleChanged):
16130         (WebCore::AXObjectCache::detachWrapper):
16131         (WebCore::AXObjectCache::attachWrapper):
16132         (WebCore::AXObjectCache::selectedChildrenChanged):
16133         (WebCore::AXObjectCache::postNotification):
16134         (WebCore::AXObjectCache::postPlatformNotification):
16135         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
16136         (WebCore::AXObjectCache::handleScrolledToAnchor):
16137         * accessibility/AccessibilityARIAGrid.cpp:
16138         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
16139         * accessibility/AccessibilityAllInOne.cpp:
16140         * accessibility/AccessibilityImageMapLink.cpp:
16141         * accessibility/AccessibilityList.h:
16142         (WebCore::AccessibilityList::isList):
16143         * accessibility/AccessibilityListBox.cpp:
16144         * accessibility/AccessibilityListBox.h:
16145         (WebCore::AccessibilityListBox::isListBox):
16146         * accessibility/AccessibilityListBoxOption.cpp:
16147         * accessibility/AccessibilityListBoxOption.h:
16148         (WebCore::AccessibilityListBoxOption::isListBoxOption):
16149         * accessibility/AccessibilityMediaControls.h:
16150         (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl):
16151         (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline):
16152         (WebCore::AccessibilityMediaTimeline::isMediaTimeline):
16153         (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer):
16154         (WebCore::AccessibilityMediaControlsContainer::roleValue):
16155         (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored):
16156         (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay):
16157         (WebCore::AccessibilityMediaTimeDisplay::roleValue):
16158         * accessibility/AccessibilityObject.cpp:
16159         (WebCore::AccessibilityObject::parentObjectUnignored):
16160         (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
16161         (WebCore::replacedNodeNeedsCharacter):
16162         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
16163         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
16164         (WebCore::AccessibilityObject::actionVerb):
16165         * accessibility/AccessibilityObject.h:
16166         (WebCore::PlainTextRange::isNull):
16167         (WebCore::AccessibilityObject::isAccessibilityRenderObject):
16168         (WebCore::AccessibilityObject::isAnchor):
16169         (WebCore::AccessibilityObject::isAttachment):
16170         (WebCore::AccessibilityObject::isHeading):
16171         (WebCore::AccessibilityObject::isLink):
16172         (WebCore::AccessibilityObject::isImage):
16173         (WebCore::AccessibilityObject::isNativeImage):
16174         (WebCore::AccessibilityObject::isImageButton):
16175         (WebCore::AccessibilityObject::isPasswordField):
16176         (WebCore::AccessibilityObject::isTextControl):
16177         (WebCore::AccessibilityObject::isNativeTextControl):
16178         (WebCore::AccessibilityObject::isWebArea):
16179         (WebCore::AccessibilityObject::isCheckboxOrRadio):
16180         (WebCore::AccessibilityObject::isListBox):
16181         (WebCore::AccessibilityObject::isFileUploadButton):
16182         (WebCore::AccessibilityObject::isProgressIndicator):
16183         (WebCore::AccessibilityObject::isSlider):
16184         (WebCore::AccessibilityObject::isControl):
16185         (WebCore::AccessibilityObject::isList):
16186         (WebCore::AccessibilityObject::isDataTable):
16187         (WebCore::AccessibilityObject::isTableRow):
16188         (WebCore::AccessibilityObject::isTableColumn):
16189         (WebCore::AccessibilityObject::isTableCell):
16190         (WebCore::AccessibilityObject::isFieldset):
16191         (WebCore::AccessibilityObject::isGroup):
16192         (WebCore::AccessibilityObject::isChecked):
16193         (WebCore::AccessibilityObject::isEnabled):
16194         (WebCore::AccessibilityObject::isSelected):
16195         (WebCore::AccessibilityObject::isFocused):
16196         (WebCore::AccessibilityObject::isHovered):
16197         (WebCore::AccessibilityObject::isIndeterminate):
16198         (WebCore::AccessibilityObject::isLoaded):
16199         (WebCore::AccessibilityObject::isMultiSelect):
16200         (WebCore::AccessibilityObject::isOffScreen):
16201         (WebCore::AccessibilityObject::isPressed):
16202         (WebCore::AccessibilityObject::isReadOnly):
16203         (WebCore::AccessibilityObject::isVisited):
16204         (WebCore::AccessibilityObject::isRequired):
16205         (WebCore::AccessibilityObject::canSetFocusAttribute):
16206         (WebCore::AccessibilityObject::canSetTextRangeAttributes):
16207         (WebCore::AccessibilityObject::canSetValueAttribute):
16208         (WebCore::AccessibilityObject::hasIntValue):
16209         (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
16210         (WebCore::AccessibilityObject::accessibilityIsIgnored):
16211         * accessibility/AccessibilityRenderObject.cpp:
16212         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
16213         (WebCore::AccessibilityRenderObject::parentObject):
16214         (WebCore::AccessibilityRenderObject::isMenuRelated):
16215         (WebCore::AccessibilityRenderObject::accessibilityDescription):
16216         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
16217         (WebCore::AccessibilityRenderObject::isFocused):
16218         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
16219         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
16220         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
16221         (WebCore::AccessibilityRenderObject::doAXStringForRange):
16222         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
16223         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
16224         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
16225         (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
16226         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
16227         (WebCore::AccessibilityRenderObject::canHaveChildren):
16228         (WebCore::AccessibilityRenderObject::actionVerb):
16229         (WebCore::shouldReturnTagNameAsRoleForMSAA):
16230         * accessibility/AccessibilityRenderObject.h:
16231         (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
16232         * accessibility/AccessibilitySlider.cpp:
16233         (WebCore::AccessibilitySlider::orientation):
16234         * accessibility/AccessibilitySlider.h:
16235         (WebCore::AccessibilitySlider::~AccessibilitySlider):
16236         (WebCore::AccessibilitySlider::roleValue):
16237         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
16238         (WebCore::AccessibilitySlider::isSlider):
16239         (WebCore::AccessibilitySlider::canSetValueAttribute):
16240         (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
16241         (WebCore::AccessibilitySliderThumb::roleValue):
16242         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
16243         (WebCore::AccessibilitySliderThumb::setParentObject):
16244         (WebCore::AccessibilitySliderThumb::parentObject):
16245         * accessibility/AccessibilityTable.cpp:
16246         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16247         * accessibility/AccessibilityTableColumn.cpp:
16248         * accessibility/AccessibilityTableHeaderContainer.cpp:
16249         (WebCore::AccessibilityTableHeaderContainer::addChildren):
16250         * accessibility/AccessibilityTableRow.cpp:
16251         * accessibility/mac/AccessibilityObjectWrapper.h:
16253 2009-11-02  Darin Fisher  <darin@chromium.org>
16255         Fixing JSC build bustage.
16257         * bindings/js/ScriptController.cpp: Added missing #include
16259 2009-10-30  Darin Fisher  <darin@chromium.org>
16261         Reviewed by Adam Barth.
16263         Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled.
16264         https://bugs.webkit.org/show_bug.cgi?id=30967
16266         * bindings/js/ScriptController.cpp:
16267         (WebCore::ScriptController::isEnabled):
16268         * bindings/v8/ScriptController.cpp:
16269         (WebCore::ScriptController::isEnabled):
16270         * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController
16271         * bindings/v8/V8Proxy.h: Ditto
16272         * loader/FrameLoaderClient.h:
16273         (WebCore::FrameLoaderClient::allowJavaScript):
16274         * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function
16276 2009-11-02  Brady Eidson  <beidson@apple.com>
16278         Rubberstamped by Mark Rowe.
16280         Fix a typo in Mark's last commit.
16282         * loader/archive/ArchiveFactory.cpp:
16283         (WebCore::archiveMIMETypes):
16285 2009-11-02  Mark Rowe  <mrowe@apple.com>
16287         Rubber-stamped by Brady Eidson.
16289         Re-enable support for web archives on Windows.  It was mistakenly disabled in r50438.
16291         * loader/archive/ArchiveFactory.cpp:
16292         (WebCore::archiveMIMETypes):
16294 2009-11-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16296         Reviewed by Darin Adler.
16298         PLATFORM(CF) should be set when building for Qt on Darwin
16299         https://bugs.webkit.org/show_bug.cgi?id=23671
16301         * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp
16302         to the Darwin build.
16303         * loader/archive/ArchiveFactory.cpp: Change the support for 
16304         legacy WebArchive from all CF platforms to Mac and Chromium 
16305         CF platforms.
16306         (WebCore::archiveMIMETypes):
16307         * platform/text/AtomicString.h: Remove PLATFORM(QT) &&
16308         PLATFORM(DARWIN) test as it is redundant now.
16309         * platform/text/PlatformString.h: Ditto.
16310         * platform/text/StringImpl.h: Ditto.
16311         * platform/text/cf/StringCF.cpp: Ditto.
16312         * platform/text/cf/StringImplCF.cpp: Ditto.
16314 2009-11-02  Adam Barth  <abarth@webkit.org>
16316         Reviewed by David Levin.
16318         [Chromium] Actually declare getPluginMimeTypeFromExtension in a header.
16319         https://bugs.webkit.org/show_bug.cgi?id=30985
16321         Our current code does not conform to our style guide.
16323         * WebCore.gyp/WebCore.gyp:
16324         * WebCore.gypi:
16325         * platform/chromium/MIMETypeRegistryChromium.cpp:
16326         * plugins/chromium/PluginDataChromium.cpp:
16327         * plugins/chromium/PluginDataChromium.h: Added.
16329 2009-11-02  Adele Peterson  <adele@apple.com>
16331         Reviewed by Darin Adler.
16333         Fix for <rdar://problem/7038305> REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button)
16335         This bug is timing dependent, and not always reproducible.  I could not think of a way to add a 
16336         layout test that would demonstrate the problem and fix.
16338         * platform/mac/ThemeMac.mm:
16339         (WebCore::checkbox): Update style.
16340         (WebCore::paintCheckbox): ditto.
16341         (WebCore::radio): ditto.
16342         (WebCore::paintRadio): ditto.
16343         (WebCore::setupButtonCell): Added convenience method.
16344         (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons.
16345         (WebCore::paintButton): Don't check for the key window here.  Consider that when deciding if the button should have the default style in RenderTheme.
16346         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active.  This fixes 
16347         a problem I noticed where the button would flicker crazily if the page with the default button was in the background.
16349 2009-11-02  Dan Bernstein  <mitz@apple.com>
16351         Reviewed by Anders Carlsson.
16353         Minor RenderWidget clean-up in preparation for deferring widget tree
16354         mutation when it is not safe.
16356         * rendering/RenderWidget.cpp:
16357         (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1
16358         instead of calling ref().
16359         (WebCore::RenderWidget::destroy): Call setWidget(0) instead of
16360         repeating what it does.
16361         (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean
16362         indicating whether the bounds have changed.
16363         (WebCore::RenderWidget::setWidget): Replaced all-encompassing if
16364         statement with an early return.
16365         (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry().
16366         * rendering/RenderWidget.h:
16368 2009-11-02  Dumitru Daniliuc  <dumi@chromium.org>
16370         Reviewed by Dimitri Glazkov.
16372         Adding Chromium's DatabaseTracker and SQLTransactionClient
16373         implementations.
16375         https://bugs.webkit.org/show_bug.cgi?id=30701
16377         * storage/chromium: Added.
16378         * storage/chromium/DatabaseObserver.h: Added.
16379         * storage/chromium/DatabaseTrackerChromium.cpp: Added.
16380         * storage/chromium/QuotaTracker.cpp: Added.
16381         * storage/chromium/QuotaTracker.h: Added.
16382         * storage/chromium/SQLTransactionClientChromium.cpp: Added.
16384 2009-11-02  Enrica Casucci  <enrica@apple.com>
16386         Reviewed by Adele Peterson and Dan Bernstein.
16388         Safari crashes when calling execCommand on formatted html in special case
16389         <rdar://problem/7318656>
16390         https://bugs.webkit.org/show_bug.cgi?id=31023
16392         Test: editing/execCommand/align-in-span.html
16394         * rendering/RenderObject.cpp:
16395         (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL.
16396         * rendering/RenderText.cpp:
16397         (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock,
16398         since it is possible when dealing with orphaned trees.
16400 2009-11-02  Chris Marrin  <cmarrin@apple.com>
16402         Reviewed by Oliver Hunt.
16404         Exception checks were being too aggressive
16405         https://bugs.webkit.org/show_bug.cgi?id=31005
16407         Several calls in CanvasRenderingContext3D are allowed to
16408         have a null value passed, which indicated that the 
16409         object is being unbound. Handle this case and the corresponding
16410         null handling in GraphicsContext3DMac.
16412         * html/canvas/CanvasRenderingContext3D.cpp:
16413         (WebCore::CanvasRenderingContext3D::bindBuffer):
16414         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
16415         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
16416         (WebCore::CanvasRenderingContext3D::bindTexture):
16417         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
16418         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
16419         * platform/graphics/mac/GraphicsContext3DMac.cpp:
16420         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
16421         (WebCore::GraphicsContext3D::framebufferTexture2D):
16423 2009-11-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
16425         Reviewed by Timothy Hatcher.
16427         Each JS execution in console adds extra item into "scripts" combo
16428         https://bugs.webkit.org/show_bug.cgi?id=30212
16430         Added manual test
16432         * inspector/front-end/ScriptsPanel.js:
16433         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
16434         * manual-tests/inspector/hidden-evals.html: Added.
16436 2009-11-02  Kelly Norton  <knorton@google.com>
16438         Reviewed by Timothy Hatcher.
16440         Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events.
16441         https://bugs.webkit.org/show_bug.cgi?id=31030
16443         * dom/Node.cpp:
16444         (WebCore::eventHasListeners): Checks DOMWindow for listeners.
16445         (WebCore::Node::dispatchGenericEvent):
16447 2009-11-02  Dmitry Titov  <dimich@chromium.org>
16449         Reviewed by David Levin.
16451         Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
16452         https://bugs.webkit.org/show_bug.cgi?id=30612
16454         No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this.
16456         There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with
16457         OwnPtr and PassOwnPtr when dealing with Tasks.
16459         ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer
16460         threadsafe refcounted, but simply Noncopyable.
16462         * dom/Document.cpp:
16463         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
16464         (WebCore::PerformTaskContext::PerformTaskContext):
16465         (WebCore::Document::postTask):
16466         * dom/Document.h:
16467         * dom/ScriptExecutionContext.cpp:
16468         (WebCore::ProcessMessagesSoonTask::create):
16469         * dom/ScriptExecutionContext.h:
16470         * dom/default/PlatformMessagePortChannel.cpp:
16471         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
16472         * dom/default/PlatformMessagePortChannel.h:
16473         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
16474         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
16475         * loader/FrameLoader.cpp:
16476         (WebCore::HashChangeEventTask::create):
16477         * loader/appcache/ApplicationCacheGroup.cpp:
16478         (WebCore::CallCacheListenerTask::create):
16479         * storage/Database.cpp:
16480         (WebCore::Database::openAndVerifyVersion):
16481         (WebCore::Database::markAsDeletedAndClose):
16482         (WebCore::Database::scheduleTransaction):
16483         (WebCore::Database::scheduleTransactionStep):
16484         (WebCore::Database::tableNames):
16485         * storage/DatabaseTask.h:
16486         (WebCore::DatabaseOpenTask::create):
16487         (WebCore::DatabaseCloseTask::create):
16488         (WebCore::DatabaseTransactionTask::create):
16489         (WebCore::DatabaseTableNamesTask::create):
16490         * storage/DatabaseThread.cpp:
16491         (WebCore::DatabaseThread::databaseThread):
16492         (WebCore::DatabaseThread::scheduleTask):
16493         (WebCore::DatabaseThread::scheduleImmediateTask):
16494         (WebCore::SameDatabasePredicate::operator()):
16495         * storage/DatabaseThread.h:
16496         * storage/LocalStorageTask.h:
16497         (WebCore::LocalStorageTask::createImport):
16498         (WebCore::LocalStorageTask::createSync):
16499         (WebCore::LocalStorageTask::createTerminate):
16500         * storage/LocalStorageThread.cpp:
16501         (WebCore::LocalStorageThread::localStorageThread):
16502         * storage/LocalStorageThread.h:
16503         * websockets/WebSocket.cpp:
16504         (WebCore::ProcessWebSocketEventTask::create):
16505         * workers/DefaultSharedWorkerRepository.cpp:
16506         (WebCore::SharedWorkerProxy::postTaskToLoader):
16507         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
16508         (WebCore::SharedWorkerConnectTask::create):
16509         * workers/GenericWorkerTask.h:
16510         (WebCore::GenericWorkerTask1::create):
16511         (WebCore::GenericWorkerTask2::create):
16512         (WebCore::GenericWorkerTask3::create):
16513         (WebCore::GenericWorkerTask4::create):
16514         (WebCore::GenericWorkerTask5::create):
16515         (WebCore::GenericWorkerTask6::create):
16516         (WebCore::GenericWorkerTask7::create):
16517         (WebCore::GenericWorkerTask8::create):
16518         (WebCore::createCallbackTask):
16519         * workers/WorkerContext.cpp:
16520         (WebCore::WorkerContext::postTask):
16521         * workers/WorkerContext.h:
16522         * workers/WorkerLoaderProxy.h:
16523         * workers/WorkerMessagingProxy.cpp:
16524         (WebCore::MessageWorkerContextTask::create):
16525         (WebCore::MessageWorkerTask::create):
16526         (WebCore::WorkerExceptionTask::create):
16527         (WebCore::WorkerContextDestroyedTask::create):
16528         (WebCore::WorkerTerminateTask::create):
16529         (WebCore::WorkerThreadActivityReportTask::create):
16530         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
16531         (WebCore::WorkerMessagingProxy::postTaskToLoader):
16532         (WebCore::WorkerMessagingProxy::workerThreadCreated):
16533         * workers/WorkerMessagingProxy.h:
16534         * workers/WorkerRunLoop.cpp:
16535         (WebCore::ModePredicate::operator()):
16536         (WebCore::WorkerRunLoop::runInMode):
16537         (WebCore::WorkerRunLoop::postTask):
16538         (WebCore::WorkerRunLoop::postTaskForMode):
16539         (WebCore::WorkerRunLoop::Task::create):
16540         (WebCore::WorkerRunLoop::Task::performTask):
16541         (WebCore::WorkerRunLoop::Task::Task):
16542         * workers/WorkerRunLoop.h:
16543         (WebCore::WorkerRunLoop::Task::~Task):
16544         (WebCore::WorkerRunLoop::Task::mode):
16546 2009-11-02  Philippe Normand  <pnormand@igalia.com>
16548         Reviewed by Jan Alonzo.
16550         [GTK] Failing media/video-played-reset.html
16551         https://bugs.webkit.org/show_bug.cgi?id=30589
16553         new m_seekTime attribute to keep track of the seek position
16555         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
16556         (WebCore::MediaPlayerPrivate::currentTime):
16557         (WebCore::MediaPlayerPrivate::seek):
16558         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
16560 2009-11-02  Xan Lopez  <xlopez@igalia.com>
16562         Reviewed by Jan Alonzo.
16564         [GTK] Remove Referer when redirecting to non-secure site
16565         https://bugs.webkit.org/show_bug.cgi?id=31021
16567         Remove referer from HTTP headers when redirecting to a non-secure
16568         site.
16570         * platform/network/soup/ResourceHandleSoup.cpp:
16571         (WebCore::restartedCallback):
16573 2009-11-02  Alexey Proskuryakov  <ap@apple.com>
16575         Reviewed by Dan Bernstein.
16577         https://bugs.webkit.org/show_bug.cgi?id=18539
16578         multipart/form-data not being parsed correctly on server due to '+' in boundary string
16580         No test - the characters that the boundary is made of are not deterministic.
16582         * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString):
16583         Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once
16584         GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as
16585         they cause problems on many web sites.
16587 2009-10-30  Alexey Proskuryakov  <ap@apple.com>
16589         Reviewed by Darin Adler.
16591         https://bugs.webkit.org/show_bug.cgi?id=30969
16592         A no-prefix XPath node test should not match no-namespace elements in HTML document
16594         Test: fast/xpath/null-namespace-in-html.html
16596         * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements
16597         in HTML documents (as these are the ones that can have null namespace).
16599 2009-11-02  Pavel Feldman  <pfeldman@chromium.org>
16601         Reviewed by Timothy Hatcher.
16603         Web Inspector: [REGRESSION] No timeline marks on resources panel.
16605         https://bugs.webkit.org/show_bug.cgi?id=31013
16607         * inspector/front-end/AbstractTimelinePanel.js:
16608         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
16610 2009-11-02  David Levin  <levin@chromium.org>
16612         Reviewed by Dan Bernstein.
16614         Possible crash in RenderSlider::layout.
16615         https://bugs.webkit.org/show_bug.cgi?id=31016
16617         Fix out of place line of code.
16619         Test: scrollbars/overflow-scrollbar-combinations.html
16620         This crash only seems to repro when WebKit draws the play controls,
16621         so the crash repros in chromium running this test but not WebKit
16622         nightlies which use QuickTime to draw the controls.
16624         * rendering/RenderSlider.cpp:
16625         (WebCore::RenderSlider::layout):
16627 2009-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16629         Reviewed by Tor Arne Vestbø.
16631         [Qt] Fix Qt build on Windows.
16632         https://bugs.webkit.org/show_bug.cgi?id=30905
16634         * WebCore.pro:
16635         * platform/graphics/BitmapImage.h:
16636         * platform/graphics/qt/ImageQt.cpp:
16637         (WebCore::BitmapImage::BitmapImage):
16638         (WebCore::BitmapImage::create):
16640 2009-11-02  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
16642         Reviewed by Adam Barth.
16644         QWebView crash fix.
16646         The QWebView should not crash if the stop() method is called from
16647         a function triggered by the loadProgress signal.
16649         A null pointer protection was added in the ProgressTracker::incrementProgress.
16651         New autotest was created.
16653         https://bugs.webkit.org/show_bug.cgi?id=29425
16655         * loader/ProgressTracker.cpp:
16656         (WebCore::ProgressTracker::incrementProgress):
16658 2009-11-02  Mikhail Naganov  <mnaganov@chromium.org>
16660         Reviewed by Pavel Feldman.
16662         Fix a leftover from profiles panel generalization.
16664         https://bugs.webkit.org/show_bug.cgi?id=31010
16666         * inspector/front-end/ProfilesPanel.js:
16667         (WebInspector.ProfilesPanel.prototype.get searchableViews):
16669 2009-11-02  Kai Koehne  <kai.koehne@nokia.com>
16671         Reviewed by Holger Freyther.
16673         Remove implementation of ImageDecocerQt::clearFrameBufferCache.
16674         The implementation was buggy, and will visually break repeating
16675         animations anyway.
16677         https://bugs.webkit.org/show_bug.cgi?id=31009
16679         * platform/graphics/qt/ImageDecoderQt.cpp:
16680         (WebCore::ImageDecoderQt::clearFrameBufferCache):
16682 2009-11-02  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
16684         Reviewed by Jan Alonzo.
16686         https://bugs.webkit.org/show_bug.cgi?id=30964
16687         [Gtk] Implemment AtkDocument
16689         Provides access to the reported content language.
16691         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
16692         (webkit_accessible_document_get_locale):
16694 2009-11-02  Keishi Hattori  <casey.hattori@gmail.com>
16696         Reviewed by Timothy Hatcher.
16698         Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code
16699         https://bugs.webkit.org/show_bug.cgi?id=30907
16701         Test: inspector/css-syntax-highlight.html
16703         * inspector/front-end/ElementsTreeOutline.js:
16704         * inspector/front-end/SourceFrame.js:
16705         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
16706         (WebInspector.SourceSyntaxHighlighter):
16707         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
16708         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
16709         (WebInspector.SourceSyntaxHighlighter.prototype.process):
16710         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
16711         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
16712         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
16713         (WebInspector.CSSSourceSyntaxHighlighter):
16714         * inspector/front-end/inspectorSyntaxHighlight.css:
16716 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
16718         Reviewed by Beth Dakin.
16720         Support ARIA "tab" roles
16721         https://bugs.webkit.org/show_bug.cgi?id=30842
16723         Implement support for ARIA "tab", "tabpanel" and "tablist".
16724         As a consequence, we also needed to implement aria-selected
16725         and aria-controls.
16727         Tests: accessibility/aria-controls-with-tabs.html
16728                accessibility/aria-tab-roles.html
16730         * accessibility/AXObjectCache.cpp:
16731         * accessibility/AccessibilityObject.h:
16732         * accessibility/AccessibilityRenderObject.cpp:
16733         * accessibility/AccessibilityRenderObject.h:
16734         * accessibility/mac/AccessibilityObjectWrapper.mm:
16735         * html/HTMLAttributeNames.in:
16737 2009-10-27  Stephen White  <senorblanco@chromium.org>
16739         Reviewed by Dmitry Titov.
16741         This is the WebKit-side change needed to fix canvas.getImageData() for
16742         Chromium.  The unpremultiply code in Skia assumes that unpremultiplied
16743         values should be rounded, while CG does not.  In addition, the fixed
16744         point inversion used by Skia introduces slight inaccuracies that make
16745         us fail this test.  This change brings Chromium in line with
16746         the CG path.
16747         https://bugs.webkit.org/show_bug.cgi?id=30825
16749         Covered by LayoutTests/fast/canvas/canvas-getImageData.html
16751         * platform/graphics/skia/ImageBufferSkia.cpp:
16752         (WebCore::getImageData):
16754 2009-11-01  Kelly Norton  <knorton@google.com>
16756         Reviewed by Timothy Hatcher.
16758         Adds window event dispatches to InspectorTimelineAgent.
16759         https://bugs.webkit.org/show_bug.cgi?id=31002
16761         * English.lproj/localizedStrings.js:
16762         * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent.
16763         (WebCore::Node::dispatchGenericEvent):
16764         * inspector/InspectorTimelineAgent.cpp:
16765         (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed.
16766         (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed.
16767         * inspector/InspectorTimelineAgent.h:
16768         (WebCore::):
16769         * inspector/TimelineRecordFactory.cpp:
16770         (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed.
16771         * inspector/TimelineRecordFactory.h:
16772         * inspector/front-end/TimelineAgent.js:
16773         * inspector/front-end/TimelinePanel.js:
16774         (WebInspector.TimelinePanel.prototype._formatRecord):
16775         (WebInspector.TimelinePanel.prototype._getRecordDetails):
16776         * page/DOMWindow.cpp:
16777         (WebCore::DOMWindow::dispatchEvent):
16779 2009-11-01  Pavel Feldman  <pfeldman@chromium.org>
16781         Reviewed by Timothy Hatcher.
16783         Web Inspector: Convert script tag event into a more generic
16784         script eval event in timeline.
16786         https://bugs.webkit.org/show_bug.cgi?id=30999
16788         * bindings/js/ScriptController.cpp:
16789         (WebCore::ScriptController::evaluateInWorld):
16790         * bindings/v8/V8Proxy.cpp:
16791         (WebCore::V8Proxy::evaluate):
16792         * html/HTMLTokenizer.cpp:
16793         (WebCore::HTMLTokenizer::scriptExecution):
16794         * inspector/InspectorTimelineAgent.cpp:
16795         (WebCore::InspectorTimelineAgent::willEvaluateScript):
16796         (WebCore::InspectorTimelineAgent::didEvaluateScript):
16797         * inspector/InspectorTimelineAgent.h:
16798         (WebCore::):
16799         * inspector/TimelineRecordFactory.cpp:
16800         (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord):
16801         * inspector/TimelineRecordFactory.h:
16802         * inspector/front-end/TimelineAgent.js:
16803         * inspector/front-end/TimelinePanel.js:
16804         (WebInspector.TimelinePanel.prototype._formatRecord):
16805         (WebInspector.TimelinePanel.prototype._getRecordDetails):
16807 2009-11-01  Brian Weinstein  <bweinstein@apple.com>
16809         Rubber-stamped by Mark Rowe.
16811         Fix for loop to use an size_t instead of unsigned and some spacing
16812         style fixes.
16814         * dom/Node.cpp:
16815         (WebCore::eventHasListeners):
16817 2009-11-01  Kelly Norton  <knorton@google.com>
16819         Reviewed by Timothy Hatcher.
16821         Does not send DOM dispatches to the InspectorTimelineAgent if there
16822         are no event listeners.
16823         https://bugs.webkit.org/show_bug.cgi?id=30995
16825         * dom/Node.cpp:
16826         (WebCore::eventHasListeners):
16827         (WebCore::Node::dispatchGenericEvent):
16828         * xml/XMLHttpRequest.cpp:
16829         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
16831 2009-11-01  Roland Steiner  <rolandsteiner@chromium.org>
16833         No review (build fix).
16835         Add missing files for Ruby implementation to WebCore.vcproj
16836         (Fix build break after 50397)
16837         https://bugs.webkit.org/show_bug.cgi?id=31001
16839         No new tests. (No functional change)
16841         * WebCore.vcproj/WebCore.vcproj:
16843 2009-11-02  Roland Steiner  <rolandsteiner@chromium.org>
16845         Reviewed by Dave Hyatt.
16847         Bug 28420 -  Implement HTML5 <ruby> rendering
16848         (https://bugs.webkit.org/show_bug.cgi?id=28420)
16850         First rudimentary implementation of HTML5 ruby rendering support.
16852         Following the HTML 5 spec, the box object model for a <ruby> element allows several runs of ruby
16853         bases with their respective ruby texts looks as follows:
16855         1 RenderRuby object, corresponding to the whole <ruby> HTML element
16856              1+ RenderRubyRun (anonymous)
16857                  0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting
16858                      0-n inline object(s)
16859                  0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base
16860                      1-n inline object(s)
16862         Note: <rp> elements are defined as having 'display:none' and thus normally are not assigned a renderer.
16863         
16864         New layout tests will be committed in a follow-up patch under fast/ruby.
16866         Makefiles, etc.
16867         * GNUmakefile.am:
16868         * WebCore.gypi:
16869         * WebCore.pro:
16870         * WebCore.xcodeproj/project.pbxproj:
16872         CSS
16873         * css/html.css: Added <ruby> and <rt>
16875         Existing render files:
16876         * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo
16877         (WebCore::RenderBlock::moveChildTo):
16878         (WebCore::RenderBlock::makeChildrenNonInline):
16879         (WebCore::RenderBlock::removeChild):
16880         * rendering/RenderBlock.h:
16881         * rendering/RenderObject.cpp:
16882         (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name
16883         * rendering/RenderObject.h: add query methods for ruby renderers
16884         (WebCore::RenderObject::isRuby):
16885         (WebCore::RenderObject::isRubyBase):
16886         (WebCore::RenderObject::isRubyRun):
16887         (WebCore::RenderObject::isRubyText):
16889         New ruby renderers:
16890         * rendering/RenderRuby.cpp: Added.
16891         (WebCore::lastRubyRun):
16892         (WebCore::findRubyRunParent):
16893         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
16894         (WebCore::RenderRubyAsInline::~RenderRubyAsInline):
16895         (WebCore::RenderRubyAsInline::isChildAllowed):
16896         (WebCore::RenderRubyAsInline::addChild):
16897         (WebCore::RenderRubyAsInline::removeChild):
16898         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
16899         (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock):
16900         (WebCore::RenderRubyAsBlock::isChildAllowed):
16901         (WebCore::RenderRubyAsBlock::addChild):
16902         (WebCore::RenderRubyAsBlock::removeChild):
16903         * rendering/RenderRuby.h: Added.
16904         (WebCore::RenderRubyAsInline::renderName):
16905         (WebCore::RenderRubyAsInline::isRuby):
16906         (WebCore::RenderRubyAsBlock::renderName):
16907         (WebCore::RenderRubyAsBlock::isRuby):
16908         * rendering/RenderRubyBase.cpp: Added.
16909         (WebCore::RenderRubyBase::RenderRubyBase):
16910         (WebCore::RenderRubyBase::~RenderRubyBase):
16911         (WebCore::RenderRubyBase::isChildAllowed):
16912         (WebCore::RenderRubyBase::splitToLeft):
16913         (WebCore::RenderRubyBase::mergeWithRight):
16914         * rendering/RenderRubyBase.h: Added.
16915         (WebCore::RenderRubyBase::renderName):
16916         (WebCore::RenderRubyBase::isRubyBase):
16917         * rendering/RenderRubyRun.cpp: Added.
16918         (WebCore::RenderRubyRun::RenderRubyRun):
16919         (WebCore::RenderRubyRun::~RenderRubyRun):
16920         (WebCore::RenderRubyRun::hasRubyText):
16921         (WebCore::RenderRubyRun::hasRubyBase):
16922         (WebCore::RenderRubyRun::isEmpty):
16923         (WebCore::RenderRubyRun::rubyText):
16924         (WebCore::RenderRubyRun::rubyBase):
16925         (WebCore::RenderRubyRun::rubyBaseSafe):
16926         (WebCore::RenderRubyRun::firstLineBlock):
16927         (WebCore::RenderRubyRun::updateFirstLetter):
16928         (WebCore::RenderRubyRun::isChildAllowed):
16929         (WebCore::RenderRubyRun::addChild):
16930         (WebCore::RenderRubyRun::removeChild):
16931         (WebCore::RenderRubyRun::createRubyBase):
16932         (WebCore::RenderRubyRun::staticCreateRubyRun):
16933         * rendering/RenderRubyRun.h: Added.
16934         (WebCore::RenderRubyRun::renderName):
16935         (WebCore::RenderRubyRun::isRubyRun):
16936         * rendering/RenderRubyText.cpp: Added.
16937         (WebCore::RenderRubyText::RenderRubyText):
16938         (WebCore::RenderRubyText::~RenderRubyText):
16939         (WebCore::RenderRubyText::isChildAllowed):
16940         * rendering/RenderRubyText.h: Added.
16941         (WebCore::RenderRubyText::renderName):
16942         (WebCore::RenderRubyText::isRubyText):
16944 2009-11-01  Alexey Proskuryakov  <ap@apple.com>
16946         Reviewed by Dan Bernstein.
16948         https://bugs.webkit.org/show_bug.cgi?id=30992
16949         Node.isDefaultNamespace doesn't convert empty strings to null
16951         Test: fast/dom/Node/default-namespace-empty-argument.html
16953         * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input
16954         as null.
16956 2009-11-01  Yael Aharon  <yael.aharon@nokia.com>
16958         Reviewed by Darin Adler.
16960         Don't add '/' to the URL path if the it does not include '/' after the protocol component
16961         https://bugs.webkit.org/show_bug.cgi?id=30971
16963         Match IE8 behaviour, that does not add '/' if there is none after the protocol component.
16965         * platform/KURL.cpp:
16966         (WebCore::KURL::parse):
16968 2009-10-31  Oliver Hunt  <oliver@apple.com>
16970         Reviewed by Darin Adler.
16972         Fix layering violations in GraphicsContext3D
16973         https://bugs.webkit.org/show_bug.cgi?id=30986
16975         Remove uses of HTMLImageElement and HTMLCanvasElement
16977         * html/canvas/CanvasRenderingContext3D.cpp:
16978         (WebCore::CanvasRenderingContext3D::texImage2D):
16979         (WebCore::CanvasRenderingContext3D::texSubImage2D):
16980         * platform/graphics/GraphicsContext3D.h:
16981         * platform/graphics/mac/GraphicsContext3DMac.cpp:
16982         (WebCore::GraphicsContext3D::texImage2D):
16983         (WebCore::GraphicsContext3D::texSubImage2D):
16985 2009-11-01  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
16987         Reviewed by Jan Alonzo.
16989         https://bugs.webkit.org/show_bug.cgi?id=30964
16990         [Gtk] Implemment AtkDocument
16992         Provides access to expected document attributes.
16994         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
16995         (documentAttributeValue):
16996         (webkit_accessible_document_get_document_attribute_value):
16997         (webkit_accessible_document_get_document_attributes):
16999 2009-11-03  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
17001         Reviewed by Jan Alonzo.
17003         https://bugs.webkit.org/show_bug.cgi?id=30964
17004         [Gtk] Implemment AtkDocument
17006         Implements what has been implemented in AT-SPI.
17008         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
17009         (GetAtkInterfaceTypeFromWAIType):
17010         (getInterfaceMaskFromObject):
17011         (atk_document_interface_init):
17012         (webkit_accessible_document_get_document_attribute_value):
17013         (webkit_accessible_document_get_document_attributes):
17014         (webkit_accessible_document_get_locale):
17016 2009-11-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17018         Reviewed by Eric Seidel.
17020         Turn on warnings for QtWebKit for gcc
17021         https://bugs.webkit.org/show_bug.cgi?id=30958
17023         No new tests as there is no functional change.
17025         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
17026         (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder 
17027         initialization list to fix compiler warnings.
17030 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
17032         Reviewed by Pavel Feldman.
17034         [Regression] monitorEvent doesn't work
17036         * inspector/front-end/InjectedScript.js:
17037         (InjectedScript._ensureCommandLineAPIInstalled):
17039 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
17041         Reviewed by Pavel Feldman.
17043         Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter
17044         https://bugs.webkit.org/show_bug.cgi?id=30990
17046         * inspector/front-end/SourceFrame.js:
17048 2009-10-31  Alexey Proskuryakov  <ap@apple.com>
17050         Reviewed by John Sullivan.
17052         https://bugs.webkit.org/show_bug.cgi?id=30982
17053         createHTMLDocument doesn't escape ampersand and less-than in title
17055         Test: fast/dom/DOMImplementation/createHTMLDocument-title.html
17057         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument):
17058         Set document title after creating the document, avoiding parser intricacies.
17060 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
17062         Reviewed by Timothy Hatcher.
17064         Web Inspector: Double clicking on a breakpoints should not select text
17065         https://bugs.webkit.org/show_bug.cgi?id=30950
17067         * inspector/front-end/SourceFrame.js:
17068         (WebInspector.SourceFrame.prototype._documentMouseDown):
17070 2009-11-01  Yuta Kitamura  <yutak@chromium.org>
17072         Reviewed by Darin Adler.
17074         Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent().
17076         [Crash (debug)] Combination of list-item and :after causes assertion failure
17077         https://bugs.webkit.org/show_bug.cgi?id=30944
17079         Test: fast/css/list-item-pseudo-nocrash.html
17081         * rendering/RenderObjectChildList.cpp:
17082         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
17084 2009-11-01  Philippe Normand  <pnormand@igalia.com>
17086         Reviewed by Eric Seidel.
17088         https://bugs.webkit.org/show_bug.cgi?id=30586
17089         [GTK] Failing test media/video-src-empty.html
17091         Correctly set network/ready state depending on GStreamer errors
17092         received on the bus.
17094         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
17095         (WebCore::mediaPlayerPrivateMessageCallback):
17097 2009-10-31  Oliver Hunt  <oliver@apple.com>
17099         Build fix
17101         * platform/graphics/mac/GraphicsContext3DMac.cpp:
17102         (WebCore::GraphicsContext3D::attachShader):
17104 2009-10-31  Oliver Hunt  <oliver@apple.com>
17106         Reviewed by Darin Adler.
17108         Remove obsolete null checks from CanvasRenderingContext3DMac
17109         https://bugs.webkit.org/show_bug.cgi?id=30983
17111         * platform/graphics/mac/GraphicsContext3DMac.cpp:
17112         (WebCore::GraphicsContext3D::attachShader):
17113         (WebCore::GraphicsContext3D::bindAttribLocation):
17114         (WebCore::GraphicsContext3D::compileShader):
17115         (WebCore::GraphicsContext3D::detachShader):
17116         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
17117         (WebCore::GraphicsContext3D::framebufferTexture2D):
17118         (WebCore::GraphicsContext3D::linkProgram):
17119         (WebCore::GraphicsContext3D::shaderSource):
17120         (WebCore::GraphicsContext3D::useProgram):
17121         (WebCore::GraphicsContext3D::validateProgram):
17122         (WebCore::GraphicsContext3D::getProgramInfoLog):
17123         (WebCore::GraphicsContext3D::getShaderi):
17124         (WebCore::GraphicsContext3D::getShaderiv):
17125         (WebCore::GraphicsContext3D::getShaderInfoLog):
17126         (WebCore::GraphicsContext3D::getShaderSource):
17127         (WebCore::GraphicsContext3D::getUniformLocation):
17129 2009-10-31  Oliver Hunt  <oliver@apple.com>
17131         Reviewed by Jon Honeycutt.
17133         WebGL allows objects to be used with the wrong context
17134         https://bugs.webkit.org/show_bug.cgi?id=30981
17136         Simply add null checks and a few context guards to ensure we don't
17137         deref null or attempt to use an object from a different context.
17139         Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html
17140                fast/canvas/webgl/null-object-behaviour.html
17142         * html/canvas/CanvasRenderingContext3D.cpp:
17143         (WebCore::CanvasRenderingContext3D::attachShader):
17144         (WebCore::CanvasRenderingContext3D::bindAttribLocation):
17145         (WebCore::CanvasRenderingContext3D::bindBuffer):
17146         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
17147         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
17148         (WebCore::CanvasRenderingContext3D::bindTexture):
17149         (WebCore::CanvasRenderingContext3D::compileShader):
17150         (WebCore::CanvasRenderingContext3D::detachShader):
17151         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
17152         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
17153         (WebCore::CanvasRenderingContext3D::getProgrami):
17154         (WebCore::CanvasRenderingContext3D::getProgramiv):
17155         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
17156         (WebCore::CanvasRenderingContext3D::getShaderi):
17157         (WebCore::CanvasRenderingContext3D::getShaderiv):
17158         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
17159         (WebCore::CanvasRenderingContext3D::getShaderSource):
17160         (WebCore::CanvasRenderingContext3D::getUniformf):
17161         (WebCore::CanvasRenderingContext3D::getUniformfv):
17162         (WebCore::CanvasRenderingContext3D::getUniformi):
17163         (WebCore::CanvasRenderingContext3D::getUniformiv):
17164         (WebCore::CanvasRenderingContext3D::getUniformLocation):
17165         (WebCore::CanvasRenderingContext3D::isBuffer):
17166         (WebCore::CanvasRenderingContext3D::linkProgram):
17167         (WebCore::CanvasRenderingContext3D::shaderSource):
17168         * html/canvas/CanvasRenderingContext3D.h:
17169         * html/canvas/CanvasRenderingContext3D.idl:
17171 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17173         Reviewed by Darin Adler.
17175         Allow custom memory allocation control for WebCore's MediaQueryResult
17176         https://bugs.webkit.org/show_bug.cgi?id=30857
17178         Inherits MediaQueryResult class from Noncopyable because it is
17179         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and
17180         it is no need to be copyable.
17182         * css/CSSStyleSelector.h:
17184 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17186         Reviewed by Darin Adler.
17188         Allow custom memory allocation control for WebCore's MediaQueryEvaluator
17189         https://bugs.webkit.org/show_bug.cgi?id=30854
17191         Inherits MediaQueryEvaluator class from Noncopyable because it is
17192         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and   
17193         it is no need to be copyable.
17195         * css/MediaQueryEvaluator.h:
17197 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17199         Reviewed by Darin Adler.
17201         Allow custom memory allocation control for WebCore's CSSRuleSet
17202         https://bugs.webkit.org/show_bug.cgi?id=30852
17204         Inherits CSSRuleSet class from Noncopyable because it is
17205         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and
17206         it is no need to be copyable.
17208         * css/CSSStyleSelector.cpp:
17210 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17212         Reviewed by Darin Adler.
17214         Allow custom memory allocation control for WebCore's CSSRuleData
17215         https://bugs.webkit.org/show_bug.cgi?id=30851
17217         Inherits CSSRuleData class from Noncopyable because it is
17218         instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and
17219         it is no need to be copyable.
17221         * css/CSSStyleSelector.h:
17223 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17225         Reviewed by Darin Adler.
17227         Allow custom memory allocation control for WebCore's CSSRuleDataList
17228         https://bugs.webkit.org/show_bug.cgi?id=30850
17230         Inherits CSSRuleDataList class from Noncopyable because it has been
17231         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and
17232         it is no need to be copyable.
17234         * css/CSSStyleSelector.h:
17236 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17238         Reviewed by Darin Adler.
17240         Allow custom memory allocation control for WebCore's CSSNamespace
17241         https://bugs.webkit.org/show_bug.cgi?id=30849
17243         Inherits CSSNamespace struct from Noncopyable because it is
17244         instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and
17245         it is no need to be copyable.
17247         * css/CSSNamespace.h:
17249 2009-10-30  Dmitry Titov  <dimich@chromium.org>
17251         Reviewed by David Levin.
17253         Refactor DatabaseTask in preparation for removing threadsafe refcounting from it.
17254         Move the synchronizer object out of the DatabaseTask so there is no need to keep
17255         the pointer to Databasetask around after passing it to MessageQueue.
17256         Also pass the references to return parameters to the task so it can update them.
17257         https://bugs.webkit.org/show_bug.cgi?id=30941
17259         No new tests, since this is just moving the code around, no change in functionality.
17261         * storage/Database.cpp:
17262         (WebCore::Database::Database):
17263         (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion.
17264         (WebCore::Database::markAsDeletedAndClose): Ditto.
17265         (WebCore::Database::tableNames): Ditto.
17266         (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue.
17267         (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction.
17268         * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue.
17269         * storage/DatabaseTask.cpp:
17270         (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
17271         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
17272         (WebCore::DatabaseTaskSynchronizer::taskCompleted):
17273         (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0.
17274         (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it.
17275         (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor.
17276         (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto.
17277         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto.
17278         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto.
17279         * storage/DatabaseTask.h:
17280         (WebCore::DatabaseOpenTask::create):
17281         (WebCore::DatabaseCloseTask::create):
17282         (WebCore::DatabaseTransactionTask::create):
17283         (WebCore::DatabaseTableNamesTask::create):
17285 2009-10-30  Enrica Casucci  <enrica@apple.com>
17287         Reviewed by Darin Adler.
17289         REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line
17290         https://bugs.webkit.org/show_bug.cgi?id=30955
17291         <rdar://problem/7067033>
17292         
17293         When the command is deleteWordBackward or deleteWordForward
17294         we should not add to the open typing command, but
17295         create a new one.
17296         
17297         Test: editing/undo/undo-deleteWord.html
17299         * editing/TypingCommand.cpp:
17300         (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is
17301         not CharacterGranularity. 
17302         (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is
17303         not CharacterGranularity. 
17305 2009-10-30  Eric Carlson  <eric.carlson@apple.com>
17307         Reviewed by Darin Adler.
17309         Make MediaPlayer constructor private
17310         https://bugs.webkit.org/show_bug.cgi?id=30965
17312         * html/HTMLMediaElement.cpp:
17313         (WebCore::HTMLMediaElement::loadResource): 
17314         (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create.
17316         * platform/graphics/MediaPlayer.h:
17317         (WebCore::MediaPlayer::create): New.
17319 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
17321         MSAA: Accessibility of headings is not correct
17323         https://bugs.webkit.org/show_bug.cgi?id=30937
17325         Reviewed by Alice Liu.
17327         * accessibility/AccessibilityObject.h:
17328         (WebCore::AccessibilityObject::stringRoleForMSAA):
17329         (WebCore::AccessibilityObject::descriptionForMSAA):
17331         * accessibility/AccessibilityRenderObject.cpp:
17332         (WebCore::shouldReturnTagNameAsRoleForMSAA):
17333         If the element's tag name is one of h1, h2, h3, h4, h5, h6, return
17334         true.
17335         (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
17336         If the element should return its tag name as the role, return the tag
17337         name.
17338         (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA):
17339         If the object is a heading, return the string "L" followed by the
17340         heading level.
17341         (WebCore::AccessibilityRenderObject::descriptionForMSAA):
17342         If the object has a positional description, return it. Otherwise, get
17343         the accessibility description, and prefix it with "Description" so that
17344         MSAA clients know that it's not a positional description.
17346         * accessibility/AccessibilityRenderObject.h:
17348 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
17350         MSAA: Accessibility of links is wrong
17352         https://bugs.webkit.org/show_bug.cgi?id=30928
17354         Reviewed by Darin Adler.
17356         * accessibility/AccessibilityImageMapLink.cpp:
17357         (WebCore::AccessibilityImageMapLink::stringValueForMSAA):
17358         Return the URL.
17359         (WebCore::AccessibilityImageMapLink::nameForMSAA):
17360         Return the alt text.
17362         * accessibility/AccessibilityImageMapLink.h:
17363         (WebCore::AccessibilityImageMapLink::isLinked):
17364         Return true.
17366         * accessibility/AccessibilityObject.h:
17367         (WebCore::AccessibilityObject::isLinked):
17368         (WebCore::AccessibilityObject::stringValueForMSAA):
17369         (WebCore::AccessibilityObject::nameForMSAA):
17371         * accessibility/AccessibilityRenderObject.cpp:
17372         (WebCore::isLinkable):
17373         Return true if the element is considered "linkable" with respect to
17374         accessibility.
17375         (WebCore::AccessibilityRenderObject::stringValueForMSAA):
17376         If the element is linkable, check whether it has a parent anchor
17377         element. If so, return the anchor element's href.
17378         (WebCore::AccessibilityRenderObject::isLinked):
17379         Return true if the element is linkable and if it's parent anchor tag's
17380         href is non-empty.
17381         (WebCore::AccessibilityRenderObject::nameForMSAA):
17382         For text nodes, return the text.
17384         * accessibility/AccessibilityRenderObject.h:
17386 2009-10-30  Evan Stade  <estade@chromium.org>
17388         Reviewed by David Levin.
17390         Notify the chrome when the focused node has changed.
17391         https://bugs.webkit.org/show_bug.cgi?id=30832
17393         This is similar to AX code that is already in place, except that this also informs the
17394         chrome when there stops being a focused node. This is needed for a browser to show the
17395         anchor for links that have keyboard focus.
17397         * dom/Document.cpp:
17398         (WebCore::Document::setFocusedNode):
17399         * loader/EmptyClients.h:
17400         (WebCore::EmptyChromeClient::focusedNodeChanged):
17401         * page/Chrome.cpp:
17402         (WebCore::Chrome::focusedNodeChanged):
17403         * page/Chrome.h:
17404         * page/ChromeClient.h:
17406 2009-10-30  Ben Murdoch  <benm@google.com>
17408         Reviewed by David Kilzer.
17410         openDatabase() with empty version sets db version up incorrectly
17411         https://bugs.webkit.org/show_bug.cgi?id=28417
17413         Test: storage/open-database-set-empty-version.html
17415         * storage/Database.cpp:
17416         (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string.
17418 2009-10-30  John Gregg  <johnnyg@google.com>
17420         Reviewed by David Levin.
17422         Need to turn off notifications properly at runtime
17423         https://bugs.webkit.org/show_bug.cgi?id=30409
17425         Moving the notificationsEnabled bit from NotificationCenter
17426         to the new V8 RuntimeEnabledFeatures object.
17428         Just moving a bit around, so no new tests.
17430         * bindings/v8/RuntimeEnabledFeatures.cpp:
17431         * bindings/v8/RuntimeEnabledFeatures.h:
17432         (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled):
17433         (WebCore::RuntimeEnabledFeatures::notificationsEnabled):
17434         * bindings/v8/custom/V8DOMWindowCustom.cpp:
17435         (WebCore::ACCESSOR_RUNTIME_ENABLER):
17436         * bindings/v8/custom/V8WorkerContextCustom.cpp:
17437         (WebCore::ACCESSOR_RUNTIME_ENABLER):
17438         * notifications/NotificationCenter.cpp:
17439         * notifications/NotificationCenter.h:
17441 2009-10-30  Dmitry Titov  <dimich@chromium.org>
17443         Reviewed by Dimitri Glazkov.
17445         [V8] More cleanup after r49949: remove ListenerGuard.
17446         ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 context.
17447         https://bugs.webkit.org/show_bug.cgi?id=30943
17449         Covered by fast/events/add-event-without-document.html which will now pass in Chromium.
17451         * bindings/v8/V8AbstractEventListener.cpp:
17452         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
17453         (WebCore::V8AbstractEventListener::handleEvent):
17454         * bindings/v8/V8AbstractEventListener.h:
17455         * bindings/v8/V8DOMWrapper.cpp:
17456         (WebCore::V8DOMWrapper::getEventListener):
17457         * bindings/v8/V8EventListenerList.h:
17458         (WebCore::V8EventListenerList::findOrCreateWrapper):
17459         * bindings/v8/V8LazyEventListener.cpp:
17460         (WebCore::V8LazyEventListener::V8LazyEventListener):
17461         * bindings/v8/V8Proxy.cpp:
17462         (WebCore::V8Proxy::V8Proxy):
17463         (WebCore::V8Proxy::disconnectFrame):
17464         (WebCore::V8Proxy::clearForNavigation):
17465         * bindings/v8/V8Proxy.h:
17466         * bindings/v8/V8WorkerContextEventListener.cpp:
17467         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
17468         (WebCore::V8WorkerContextEventListener::handleEvent):
17469         (WebCore::V8WorkerContextEventListener::reportError):
17470         * bindings/v8/V8WorkerContextEventListener.h:
17471         (WebCore::V8WorkerContextEventListener::create):
17472         * bindings/v8/WorkerContextExecutionProxy.cpp:
17473         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
17474         (WebCore::WorkerContextExecutionProxy::dispose):
17475         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
17476         * bindings/v8/WorkerContextExecutionProxy.h:
17477         * bindings/v8/custom/V8CustomEventListener.cpp:
17478         (WebCore::V8EventListener::V8EventListener):
17479         * bindings/v8/custom/V8CustomEventListener.h:
17480         (WebCore::V8EventListener::create):
17482 2009-10-30  Shinichiro Hamaji  <hamaji@chromium.org>
17484         Reviewed by Darin Adler.
17486         counterValueForElementById should return space-separated string for multiple counters
17487         https://bugs.webkit.org/show_bug.cgi?id=30939
17489         Test: fast/css/counters/counterValueForElementById.html
17491         * rendering/RenderTreeAsText.cpp:
17492         (WebCore::writeCounterValuesFromChildren):
17493         (WebCore::counterValueForElement):
17495 2009-10-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
17497         Reviewed by Gustavo Noronha.
17499         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
17500         (WebCore::MediaPlayerPrivate::paint):
17501         Add some comments to explain what is happening here.
17503 2009-10-30  Alexander Pavlov  <apavlov@chromium.org>
17505         Reviewed by Timothy Hatcher.
17507         Fix Web Inspector crash on the errors/warnings counter click
17509         RenderObject::createVisiblePosition(const Position& position)
17510         understands "null Positions", so we can construct such a Position manually.
17512         https://bugs.webkit.org/show_bug.cgi?id=30499
17514         * rendering/RenderBox.cpp:
17515         (WebCore::RenderBox::positionForPoint):
17517 2009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
17519         Reviewed by Xan Lopez.
17521         https://bugs.webkit.org/show_bug.cgi?id=25534
17522         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
17524         Third part of the implementation of AtkTable.
17526         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
17527         (nameFromChildren):
17528         (webkit_accessible_get_name):
17529         New convenience function to construct an object's name using the name(s) of
17530         any children it has.
17532         (atk_table_interface_init):
17533         (webkit_accessible_table_get_column_description):
17534         (webkit_accessible_table_get_row_description):
17535         Implemented.
17537         (webkit_accessible_table_get_column_header):
17538         Stub function added so that webkit_accessible_table_get_column_description
17539         could be implemented in the meantime.
17541 2009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
17543         Reviewed by Xan Lopez.
17545         https://bugs.webkit.org/show_bug.cgi?id=25534
17546         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
17548         Second part of the implementation of AtkTable.
17550         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
17551         (cellAtIndex):
17552         (webkit_accessible_table_get_column_at_index):
17553         (webkit_accessible_table_get_row_at_index):
17554         (webkit_accessible_table_get_caption):
17555         (atk_table_interface_init):
17557 2009-10-30  Pavel Feldman  <pfeldman@chromium.org>
17559         Reviewed by Timothy Hatcher.
17561         Web Inspector: Add TimelinePanel into the panels enum.
17563         https://bugs.webkit.org/show_bug.cgi?id=30915
17565         * inspector/InspectorFrontend.cpp:
17566         (WebCore::InspectorFrontend::showPanel):
17567         * inspector/front-end/inspector.js:
17568         (WebInspector.showTimelinePanel):
17570 2009-10-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17572         Reviewed by Holger Hans Peter Freyther.
17574         If the owner widget of the page has a palette set, we
17575         should use that one. This was only working when the
17576         owner was a QWebView. This patch fixes that.
17578         * platform/qt/RenderThemeQt.cpp:
17579         (WebCore::RenderThemeQt::applyTheme):
17581 2009-10-30  Pavel Feldman  <pfeldman@chromium.org>
17583         Not reviewed: Wire CookieJarChromium to the cookies
17584         backend. This is a final step of a 3-steps raw cookies
17585         access implementation in Chromium.
17587         * platform/network/chromium/CookieJarChromium.cpp:
17588         (WebCore::getRawCookies):
17589         (WebCore::deleteCookie):
17591 2009-10-30  Yury Semikhatsky  <yurys@chromium.org>
17593         Reviewed by Pavel Feldman.
17595         Fix Chromium crash in console.log in "deeply recursive" function 
17597         Check that result of 'frameSourceName' is not null handle
17598         before casting it to String. 
17599       
17600         Allow V8Proxy::sourceName/sourceLineNumber() to report
17601         that they have failed due to JavaScript stack overflow.
17603         https://bugs.webkit.org/show_bug.cgi?id=30904
17605         * bindings/scripts/CodeGeneratorV8.pm:
17606         * bindings/v8/ScriptCallStack.cpp:
17607         (WebCore::ScriptCallStack::create):
17608         (WebCore::ScriptCallStack::ScriptCallStack):
17609         * bindings/v8/ScriptCallStack.h:
17610         * bindings/v8/V8Proxy.cpp:
17611         (WebCore::V8Proxy::sourceLineNumber):
17612         (WebCore::V8Proxy::sourceName):
17613         * bindings/v8/V8Proxy.h:
17614         * bindings/v8/custom/V8WorkerContextCustom.cpp:
17615         (WebCore::CALLBACK_FUNC_DECL):
17617 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17619         Reviewed by Darin Adler.
17621         Allow custom memory allocation control for WebCore's MediaQuery
17622         https://bugs.webkit.org/show_bug.cgi?id=30856
17624         Inherits MediaQuery class from Noncopyable because it is
17625         instantiated by 'new' in WebCore/css/CSSParser.cpp:4905 and
17626         it is no need to be copyable.
17628         * css/CSSStyleSelector.h:
17630 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
17632         Reviewed by Darin Adler.
17634         Allow custom memory allocation control for WebCore's MediaQueryExp
17635         https://bugs.webkit.org/show_bug.cgi?id=30855
17637         Inherits MediaQueryExp class from FastAllocBase because it is
17638         instantiated by 'new' in WebCore/css/CSSParser.cpp:4874.
17640         * css/MediaQueryExp.h:
17642 2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>
17644         Reviewed by Eric Seidel.
17646         Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
17648         Bug 28420 -  Implement HTML5 <ruby> rendering
17649         (https://bugs.webkit.org/show_bug.cgi?id=28420)
17651         No new tests (no functional change).
17653         * Configurations/FeatureDefines.xcconfig:
17654         * DerivedSources.make:
17655         * GNUmakefile.am:
17656         * WebCore.pro:
17657         * WebCore.vcproj/WebCoreCommon.vsprops:
17658         * WebCore.vcproj/build-generated-files.sh:
17660 2009-10-30  Dan Bernstein  <mitz@apple.com>
17662         Reviewed by Adele Peterson.
17664         Removed test for an impossible condition (a glyph in a right-to-left run not having
17665         the RTL flag 0x800)
17667         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
17668         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
17670 2009-10-29  Adam Barth  <abarth@webkit.org>
17672         Reviewed by Dimitri Glazkov.
17674         [V8] Out-of-memory crash in isolated worlds
17675         https://bugs.webkit.org/show_bug.cgi?id=30906
17677         We need to handle the fact that creating a V8:Context might fail.  I
17678         don't know how to test this change because creating a context usually
17679         only fails when V8 decides it's using too much memory.
17681         * bindings/v8/V8IsolatedWorld.cpp:
17682         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
17683         * bindings/v8/V8Proxy.cpp:
17684         (WebCore::V8Proxy::evaluateInIsolatedWorld):
17685         (WebCore::V8Proxy::evaluateInNewContext):
17687 2009-10-29  Erik Arvidsson  <arv@chromium.org>
17689         Reviewed by Eric Seidel.
17691         Make links mouse focusable only on GTK and QT.
17693         Links are now always mouse focusable on GTK and QT. On other platforms
17694         the link needs a tabIndex or it needs to be contentEditable.
17696         https://bugs.webkit.org/show_bug.cgi?id=26856
17698         * html/HTMLAnchorElement.cpp:
17699         (WebCore::HTMLAnchorElement::isMouseFocusable):
17701 2009-10-29  Dan Bernstein  <mitz@apple.com>
17703         Reviewed by Sam Weinig.
17705         Complete the fix for hit-testing and selection highlighting in ligatures for the ATSUI
17706         code path.
17708         * platform/graphics/mac/ComplexTextController.h: Added m_ltr member to ComplexTextRun.
17709         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
17710         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Skip over deleted
17711         glyphs, but update indexes and advances correctly.
17712         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_ltr.
17714 2009-10-29  Enrica Casucci  <enrica@apple.com>
17716         Reviewed by Darin Adler.
17718         REGRESSION(3.2.3 - 4.0.2): Message composing: when I undo a color change to text in Mail, undo/redo behaves strangely
17719         <rdar://problem/7115041>
17720         https://bugs.webkit.org/show_bug.cgi?id=30892
17722         This problem shows in any scenario where it is necessary to split a text
17723         node to apply a style. SplitElementCommand and WrapContentsInDummySpanCommand both
17724         have member variables initialized in the constructor to keep reference to elements
17725         they need to operate upon. These reference are not updated when reapplying the command.
17726         For this reason it is necessary to guarantee that unapply doesn not delete the references
17727         and that these commands implement doReapply to correctly reuse the existing
17728         elements.
17730         Test: editing/undo/redo-style.html
17732         * editing/SplitElementCommand.cpp:
17733         (WebCore::SplitElementCommand::executeApply): Added.
17734         (WebCore::SplitElementCommand::doApply): Modified to call executeApply. 
17735         (WebCore::SplitElementCommand::doUnapply): Doesn't release m_element1.
17736         (WebCore::SplitElementCommand::doReapply): Added.
17737         * editing/SplitElementCommand.h: Added doReapply and executeApply.
17738         * editing/WrapContentsInDummySpanCommand.cpp:
17739         (WebCore::WrapContentsInDummySpanCommand::executeApply): Added.
17740         (WebCore::WrapContentsInDummySpanCommand::doApply): Modified to call executeApply.
17741         (WebCore::WrapContentsInDummySpanCommand::doUnapply): Doesn't release m_dummySpan.
17742         (WebCore::WrapContentsInDummySpanCommand::doReapply): Added.
17743         * editing/WrapContentsInDummySpanCommand.h: Added doReapply and executeApply.
17745 2009-10-29  Jeremy Orlow  <jorlow@chromium.org>
17747         Reviewed by Darin Fisher.
17749         DOM Storage's condition variable needs to handle spurious wakeups
17750         https://bugs.webkit.org/show_bug.cgi?id=30920
17752         Add a boolean to keep track of whether it's been terminated.  Clean
17753         up the locking code a tiny bit to make it easier to read.  There's
17754         no way to reproduce this reliably in a LayoutTest.
17756         * storage/LocalStorageThread.cpp:
17757         (WebCore::LocalStorageThread::LocalStorageThread):
17758         (WebCore::LocalStorageThread::terminate):
17759         (WebCore::LocalStorageThread::performTerminate):
17760         * storage/LocalStorageThread.h:
17762 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
17764         Unreviewed, build fix.
17766         [Chromium] Include ComplextTextController into Chromium Mac project.
17768         * WebCore.gyp/WebCore.gyp: Added include rule for ComplextText* files.
17770 2009-10-29  Timothy Hatcher  <timothy@apple.com>
17772         Fix tabbing through element attributes in the Web Insector.
17774         https://bugs.webkit.org/show_bug.cgi?id=30429
17776         Reviewed by Pavel Feldman.
17778         * inspector/front-end/ElementsTreeOutline.js:
17779         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): Don't call _updateTitle,
17780         it is called for us when removeAttribute succeeds in the back-end.
17781         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto except for nodeValue.
17782         (WebInspector.ElementsTreeElement.prototype._editingCancelled): Don't call _updateTitle, editing code reverts.
17783         (WebInspector.ElementsTreeElement.prototype._updateTitle): Return early if we are editing.
17785 2009-10-29  Dan Bernstein  <mitz@apple.com>
17787         Reviewed by Sam Weinig.
17789         Problem editing or selecting text containing ligatures
17790         https://bugs.webkit.org/show_bug.cgi?id=30025
17792         Test: platform/mac/fast/text/ligature-subdivision.html
17794         * platform/graphics/mac/ComplexTextController.cpp:
17795         (WebCore::ComplexTextController::ComplexTextController): Initialize
17796         m_characterInCurrentGlyph.
17797         (WebCore::ComplexTextController::offsetForPosition): If the hit glyph spans multiple
17798         characters, compute the hit character based on dividing the glyph’s total advance into
17799         a number of equal intervals equal to the number of characters and assigning the hit to the
17800         character corresponding to the hit interval.
17801         (WebCore::ComplexTextController::advance): If the final offset occurs mid-glyph, advance
17802         by a fraction of the glyph’s total advance.
17803         * platform/graphics/mac/ComplexTextController.h: Added m_characterInCurrentGlyph.
17805 2009-10-29  Brian Weinstein  <bweinstein@apple.com>
17807         Reviewed by Timothy Hatcher.
17809         Fixes <http://webkit.org/b/30918>.
17810         Web Inspector: Datagrid Rows on Windows not properly aligned.
17811         
17812         Use line-height for the table rows to make sure the height
17813         of our text and the height of the table rows are consistent.
17815         * inspector/front-end/inspector.css:
17817 2009-10-29  Adam Barth  <abarth@webkit.org>
17819         No review, rolling out r50296.
17820         http://trac.webkit.org/changeset/50296
17822         * bindings/v8/V8IsolatedWorld.cpp:
17823         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
17824         * bindings/v8/V8Proxy.cpp:
17825         (WebCore::V8Proxy::evaluateInIsolatedWorld):
17826         (WebCore::V8Proxy::evaluateInNewContext):
17828 2009-10-29  Adam Barth  <abarth@webkit.org>
17830         Reviewed by Dimitri Glazkov.
17832         [V8] Out-of-memory crash in isolated worlds
17833         https://bugs.webkit.org/show_bug.cgi?id=30906
17835         We need to handle the fact that creating a V8:Context might fail.  I
17836         don't know how to test this change because creating a context usually
17837         only fails when V8 decides it's using too much memory.
17839         * bindings/v8/V8IsolatedWorld.cpp:
17840         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
17841         * bindings/v8/V8Proxy.cpp:
17842         (WebCore::V8Proxy::evaluateInIsolatedWorld):
17843         (WebCore::V8Proxy::evaluateInNewContext):
17845 2009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
17847         Reviewed by Xan Lopez.
17849         Remove build warning introduced by r50284.
17851         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
17852         (WebCore::MediaPlayerPrivate::duration):
17854 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
17856         Reviewed by Adam Barth.
17858         [V8] Remove random crashes by removing retrieval of V8 context during garbage collection.
17860         https://bugs.webkit.org/show_bug.cgi?id=30919
17862         Unfortunately, I haven't been able to trigger this crash explicitly, so no test :(.
17864         * bindings/v8/V8DOMWrapper.cpp:
17865         (WebCore::V8DOMWrapper::jsWrapperForDOMObject): Added new "assume-it's-there" getter.
17866         * bindings/v8/V8DOMWrapper.h: Added getter decl.
17867         * bindings/v8/V8GCController.cpp:
17868         (WebCore::GCPrologueVisitor::visitDOMWrapper): Changed to use explicit getter.
17870 2009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
17872         Unreviewed, build fix.
17874         [Chromium] Adjust the project files to sync up with
17875         http://trac.webkit.org/changeset/50259
17877         * WebCore.gypi: Renamed and added files.
17879 2009-10-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17881         Reviewed by Tor Arne Vestbø.
17883         [Qt] Implement DELETE HTTP method for XmlHttpRequest
17884         https://bugs.webkit.org/show_bug.cgi?id=30894
17886         No new tests as this functionality is already tested by the 
17887         xmlhttprequest LayoutTests. As this patch depends on an unreleased
17888         version of the dependent QtNetwork library and the tests will be
17889         enabled later once the dependent library is released (and the
17890         buildbot is updated).
17892         * platform/network/qt/QNetworkReplyHandler.cpp:
17893         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
17894         (WebCore::QNetworkReplyHandler::start):
17896 2009-10-29  Brian Weinstein  <bweinstein@apple.com>
17898         Reviewed by Timothy Hatcher.
17900         Part of <http://webkit.org/b/30483>.
17901         Web Inspector: Always show the Local and Session Storage Views.
17902         
17903         Even if the length of the DOM Storage entry array is 0, still
17904         generate the Datagrid because users can add things storage items
17905         through the UI, so we should allow them to even if there isn't
17906         anything there currently.
17908         * English.lproj/localizedStrings.js: Removed "This Storage is Empty".
17909         * inspector/front-end/DOMStorageItemsView.js:
17910         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
17912 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
17914         Reviewed by Timothy Hatcher.
17916         Web Inspector: Add TimelinePanel into the panels enum.
17918         https://bugs.webkit.org/show_bug.cgi?id=30915
17920         * inspector/InspectorController.cpp:
17921         (WebCore::InspectorController::specialPanelForJSName):
17922         * inspector/InspectorController.h:
17923         (WebCore::InspectorController::):
17925 2009-10-29  Xan Lopez  <xlopez@igalia.com>
17927         Reviewed by Oliver Hunt.
17929         [GTK] Threading problems with some of the tests
17930         https://bugs.webkit.org/show_bug.cgi?id=30814
17932         Create strings shared among threads with crossThreadString
17933         constructor method.
17935         * storage/Database.cpp:
17936         (WebCore::Database::Database):
17938 2009-10-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
17940         Reviewed by Gustavo Noronha.
17942         https://bugs.webkit.org/show_bug.cgi?id=30308
17943         
17944         Add support for ARGB videos.
17946         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
17947         (WebCore::MediaPlayerPrivate::paint):
17948         Create the Cairo image surface for ARGB32 or RGB24
17949         depending on the buffer's caps.
17950         
17951         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
17952         (webkit_video_sink_timeout_func):
17953         (webkit_video_sink_render):
17954         Handle ARGB video and convert GStreamer's ARGB to
17955         Cairo's for displaying.
17957 2009-10-29  Anton Muhin  <antonm@chromium.org>
17959         Reviewed by David Levin.
17961         [chromium] expose a method to access memory usage information in ChromiumBridge
17962         Declare a static method to be implemented by http://codereview.chromium.org/332010/
17963         https://bugs.webkit.org/show_bug.cgi?id=30829
17965         * platform/chromium/ChromiumBridge.h:
17967 2009-10-29  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
17969         Reviewed by Xan Lopez.
17971         https://bugs.webkit.org/show_bug.cgi?id=25679
17972         [Gtk] Improve accessibility of focusable lists
17974         Implements the AtkSelection interface and enables the corresponding
17975         (and expected) object:selection-changed event.
17977         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
17978         (optionFromList):
17979         (optionFromSelection):
17980         (atk_selection_interface_init):
17981         (webkit_accessible_selection_add_selection):
17982         (webkit_accessible_selection_clear_selection):
17983         (webkit_accessible_selection_ref_selection):
17984         (webkit_accessible_selection_get_selection_count):
17985         (webkit_accessible_selection_is_child_selected):
17986         (webkit_accessible_selection_remove_selection):
17987         (webkit_accessible_selection_select_all_selection):
17988         (GetAtkInterfaceTypeFromWAIType):
17989         * accessibility/gtk/AXObjectCacheAtk.cpp:
17990         (AXObjectCache::postPlatformNotification):
17992 2009-10-29  Jian Li  <jianli@chromium.org>
17994         Reviewed by Darin Adler.
17996         Bug 30655 - Only plain text should be copied to clipboard for TextArea.
17997         https://bugs.webkit.org/show_bug.cgi?id=30655
17999         * editing/Editor.cpp:
18000         (WebCore::nodeIsInTextFormControl):
18001         (WebCore::Editor::cut):
18002         (WebCore::Editor::copy):
18004 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
18006         Reviewed by Timothy Hatcher.
18008         Web Inspector: hide timeline for now - not yet ready.
18010         https://bugs.webkit.org/show_bug.cgi?id=30912
18012         * inspector/front-end/inspector.js:
18013         (WebInspector._createPanels):
18015 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
18017         Not reviewed: deploy Web Inspector's images in WebCore.gypi.
18019         * WebCore.gypi:
18021 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
18023         Reviewed by Timothy Hatcher.
18025         Web Inspector: get rid of timelineProfilerEnabled method.
18027         https://bugs.webkit.org/show_bug.cgi?id=30911
18029         * inspector/InspectorBackend.cpp:
18030         * inspector/InspectorBackend.h:
18031         * inspector/InspectorBackend.idl:
18032         * inspector/InspectorController.cpp:
18033         (WebCore::InspectorController::setWindowVisible):
18034         * inspector/InspectorController.h:
18035         * inspector/front-end/TimelinePanel.js:
18036         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
18038 2009-10-29  Pavel Feldman  <pfeldman@chromium.org>
18040         Reviewed by Darin Fisher.
18042         Create stub methods for raw cookies access in ChromiumBridge.h
18044         https://bugs.webkit.org/show_bug.cgi?id=30910
18046         * platform/chromium/ChromiumBridge.h:
18048 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
18050         Reviewed by Darin Adler.
18052         Allow custom memory allocation control for WebCore's RareData
18053         https://bugs.webkit.org/show_bug.cgi?id=30858
18055         Inherits RareData struct from Noncopyable because it is
18056         instantiated by 'new' in WebCore/css/CSSSelector.h:259 and 
18057         it is no need to be copyable.
18059         * css/CSSSelector.h:
18061 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
18063         Reviewed by Darin Adler.
18065         Allow custom memory allocation control for WebCore's ShorthandScope
18066         https://bugs.webkit.org/show_bug.cgi?id=30859
18068         Inherits ShorthandScope class from FastAllocBase because it is 
18069         instantiated by 'new' in WebCore/css/CSSParser.cpp:902 and 
18070         it is no need to be copyable.        
18072         * css/CSSParser.h:
18074 2009-10-29  Zoltan Horvath  <zoltan@webkit.org>
18076         Reviewed by Darin Adler.
18078         Allow custom memory allocation control for WebCore's AXObjectCache
18079         https://bugs.webkit.org/show_bug.cgi?id=30848
18081         Inherits AXObjectCache class from FastAllocBase because it is
18082         instantiated by 'new' in WebCore/dom/Document.cpp:1537 and                                
18083         it is no need to be copyable.
18085         * accessibility/AXObjectCache.h:
18087 2009-10-28  Adam Barth  <abarth@webkit.org>
18089         Reviewed by Eric Seidel.
18091         Don't run JavaScript URLs in view source mode
18092         https://bugs.webkit.org/show_bug.cgi?id=30881
18094         Just say no.
18096         Test: http/tests/security/view-source-no-javascript-url.html
18098         * bindings/ScriptControllerBase.cpp:
18099         (WebCore::ScriptController::executeIfJavaScriptURL):
18101 2009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
18103         Unreviewed. Fixes style problems pointed out by Evan Martin.
18105         * platform/gtk/Language.cpp:
18106         (WebCore::defaultLanguage):
18108 2009-10-29  Dan Bernstein  <mitz@apple.com>
18110         Rubber-stamped by Mark Rowe.
18112         64-bit Leopard build fix after r50259
18113         
18114         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
18115         Declared ATSUTextInserted in 64-bit.
18116         (WebCore::fontHasMirroringInfo): Use %d format and cast to int.
18117         (WebCore::disableLigatures): Ditto.
18118         (WebCore::initializeATSUStyle): Ditto.
18119         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto.
18121 2009-10-29  Dan Bernstein  <mitz@apple.com>
18123         Tiger build fix after r50259
18125         * platform/graphics/mac/ComplexTextController.h:
18126         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
18128 2009-10-29  Dan Bernstein  <mitz@apple.com>
18130         Attempted Tiger build fix after r50259
18132         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
18134 2009-10-28  Steve Falkenburg  <sfalken@apple.com>
18136         Rubber stamped by Mark Rowe.
18138         https://bugs.webkit.org/show_bug.cgi?id=30899
18139         WebKit fails to build release on 32-bit Windows systems
18141         * WebCore.vcproj/WebCore.vcproj: Excluded files from project.
18142         * bindings/js/JSBindingsAllInOne.cpp: Added.
18144 2009-10-28  Dan Bernstein  <mitz@apple.com>
18146         Reviewed by Jon Honeycutt.
18148         Fixed typos in color names.
18150         * inspector/front-end/Color.js:
18152 2009-10-28  Dan Bernstein  <mitz@apple.com>
18154         Reviewed by Sam Weinig.
18156         Share code between the ATSUI- and Core Text-based Font implementations by doing the
18157         following:
18158         - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific
18159           parts in ComplexTextControllerCoreText.cpp.
18160         - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController
18161         - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI.
18162         - Remove FontMacATSUI.
18164         * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm,
18165         and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h},
18166         ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and
18167         FontComplexTextMac.cpp.
18169         * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and
18170         kept the non-Core Text-specific bits.
18171         (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including
18172         its own.
18173         (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for
18174         m_complexTextRuns holding references instead of objects.
18175         (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including
18176         its own.
18177         (WebCore::ComplexTextController::advance): Updated for renames.
18178         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for
18179         m_complexTextRuns holding references instead of objects, and changed to use the glyphs()
18180         and advances() accessors.
18182         * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and
18183         renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made
18184         the latter RefCounted, added ATSUI-specific members to it, and made some other members
18185         Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references
18186         rather than objects.
18187         (WebCore::ComplexTextController::ComplexTextRun::create):
18188         (WebCore::ComplexTextController::ComplexTextRun::glyphs):
18189         (WebCore::ComplexTextController::ComplexTextRun::advances):
18191         * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific
18192         parts of the ComplexTextController implementation. 
18193         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI
18194         callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked
18195         when the ComplexTextRun constructor calls ATSUGetGlyphBounds().
18196         (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm.
18197         (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm.
18198         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the
18199         ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic,
18200         mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to
18201         get the glyphs, advances and indices vectors populated.
18202         (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm.
18203         (WebCore::disableLigatures): Ditto.
18204         (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified.
18205         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs
18206         ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones.
18208         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from
18209         CoreTextController.cpp and kept the Core Text-specific bits.
18210         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames,
18211         including its own, and moved the code to initialize m_glyphs and m_advances here. Previously
18212         this was done in adjustGlyphsAndAdvances().
18213         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames,
18214         including its own.
18215         * platform/graphics/mac/CoreTextController.cpp: Removed.
18216         * platform/graphics/mac/CoreTextController.h: Removed.
18217         * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this.
18218         (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead
18219         of CoreTextController.
18220         (WebCore::Font::drawComplexText): Ditto.
18221         (WebCore::Font::floatWidthForComplexText): Ditto.
18222         (WebCore::Font::offsetForPositionForComplexText): Ditto.
18223         * platform/graphics/mac/FontMacATSUI.mm: Removed.
18224         * platform/graphics/mac/FontMacCoreText.cpp: Removed.
18226 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
18228         Reviewed by Darin Adler.
18230         WAI-ARIA: add support for 'option' role
18231         https://bugs.webkit.org/show_bug.cgi?id=30843
18233         Test: accessibility/aria-option-role.html
18235         * accessibility/AccessibilityListBoxOption.h:
18236         (WebCore::AccessibilityListBoxOption::canHaveChildren):
18237         * accessibility/AccessibilityRenderObject.cpp:
18238         (WebCore::RoleEntry::):
18239         (WebCore::AccessibilityRenderObject::canHaveChildren):
18241 2009-10-28  Jens Alfke  <snej@chromium.org>
18243         Reviewed by Eric Seidel.
18245         Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build.
18246         https://bugs.webkit.org/show_bug.cgi?id=30716
18248         * WebCore.gyp/WebCore.gyp:  Enable "chromium_code" flag, just on Mac build for now.
18249         * accessibility/AccessibilityRenderObject.cpp:
18250         (WebCore::createARIARoleMap):  Fix struct visibiity warning.
18251         * bindings/v8/ScriptCallStack.h:  Fix out-of-order member initialization warning.
18252         * bindings/v8/V8Collection.h:
18253         (WebCore::getV8Object):  Function in header should not be 'static' (fixes unused-static warning.)
18254         * bindings/v8/V8DOMWrapper.cpp:
18255         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):  Fix signed/unsigned comparison warning.
18256         * bindings/v8/V8GCController.cpp:
18257         (WebCore::ObjectGrouperVisitor::applyGrouping):  Fix unused-variable warning.
18258         * css/CSSPrimitiveValueMappings.h:
18259         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):  Enable ListButtonPart case to avoid
18260             warning about missing cases in 'switch' statement.
18261         * editing/EditorCommand.cpp:
18262         (WebCore::createCommandMap):  Fix struct visibiity warning.
18263         * platform/graphics/skia/PlatformContextSkia.cpp:
18264         (PlatformContextSkia::State::State):  Fix out-of-order member initialization warning.
18265         * rendering/RenderMediaControlsChromium.cpp:
18266         (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart):  Add empty 'default' case in
18267             'switch' statement to avoid missing-case warning.
18268         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):  Ditto.
18269         * xml/XPathFunctions.cpp:
18270         (WebCore::XPath::createFunctionMap):  Fix struct visibiity warning.
18272 2009-10-29  Adam Barth  <abarth@webkit.org>
18274         Reviewed by Darin Adler.
18276         REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer<WebCore::RedirectScheduler>*)
18277         https://bugs.webkit.org/show_bug.cgi?id=30839
18279         Added null check for the case when the frame is detached from the page.
18281         * loader/RedirectScheduler.cpp:
18282         (WebCore::RedirectScheduler::timerFired):
18284 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
18286         Reviewed by Xan Lopez.
18288         https://bugs.webkit.org/show_bug.cgi?id=30817
18289         Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent
18291         Also removes the hack I had originally added to solve bug 25411, because
18292         the fix here is what I should have done in the first place.
18294         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18295         (webkit_accessible_get_parent):
18297 2009-10-28  Dmitry Titov  <dimich@chromium.org>
18299         Reviewed by David Levin.
18301         https://bugs.webkit.org/show_bug.cgi?id=30805
18302         Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
18303         Existing Database tests cover this, no change in functionality.
18305         * storage/DatabaseThread.cpp:
18306         (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database.
18307         (WebCore::SameDatabasePredicate::operator()):
18308         (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method.
18310 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
18312         Reviewed by Timothy Hatcher.
18314         Web Inspector: Glue subsequent timeline records with same category
18315         and title together.
18317         https://bugs.webkit.org/show_bug.cgi?id=30885
18319         * English.lproj/localizedStrings.js:
18320         * inspector/front-end/TimelinePanel.js:
18321         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
18322         (WebInspector.TimelinePanel.prototype._formatRecord):
18323         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
18324         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
18326 2009-10-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
18328         Reviewed by Xan Lopez.
18330         [GTK] Fails new test fast/js/navigator-language.html
18331         https://bugs.webkit.org/show_bug.cgi?id=30440
18333         Reimplement WebCore::defaultLanguage to account for changes in
18334         locale done by setLocale.
18336         Already existing test: fast/js/navigator-language.html
18338         * platform/gtk/Language.cpp:
18339         (WebCore::defaultLanguage):
18341 2009-10-28  Eric Carlson  <eric.carlson@apple.com>
18343         Reviewed by Simon Fraser.
18345         <rdar://problem/7303145> 
18346         Can't exit full screen mode or restart movie after pressing command -R.
18348         * html/HTMLMediaElement.cpp:
18349         (WebCore::HTMLMediaElement::removedFromDocument):
18350         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
18351             Exit from fullscreen if necessary.
18352         * html/HTMLMediaElement.h:
18354 2009-10-28  Alexey Proskuryakov  <ap@apple.com>
18356         Unreviewed - a trivial fix to get Windows bots running.
18358         https://bugs.webkit.org/show_bug.cgi?id=30841
18359         <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
18361         * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to
18362         access empty vector's data.
18364 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
18366         Reviewed by Xan Lopez.
18368         https://bugs.webkit.org/show_bug.cgi?id=25897
18369         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
18371         Remove the extraneous object of ROLE_PANEL.
18373         * accessibility/gtk/AccessibilityObjectAtk.cpp:
18374         (AccessibilityObject::accessibilityPlatformIncludesObject):
18376 2009-10-28  Jonathan Dixon  <joth@chromium.org>
18378         Reviewed by Eric Seidel.
18380         Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius
18381         https://bugs.webkit.org/show_bug.cgi?id=30547
18383         Test: fast/css/text-input-with-webkit-border-radius.html
18385         * rendering/RenderThemeChromiumWin.cpp:
18386         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
18387           Implemented rounded border rendering in Chromium Windows theme renderer.
18389 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
18391         Reviewed by Timothy Hatcher.
18393         Web Inspector: Pull items collections from resources panel and
18394         timeline panel into AbstractTimelinePanel.
18396         https://bugs.webkit.org/show_bug.cgi?id=30875
18398         * inspector/front-end/AbstractTimelinePanel.js:
18399         (WebInspector.AbstractTimelinePanel):
18400         (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
18401         (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement):
18402         (WebInspector.AbstractTimelinePanel.prototype.createItemGraph):
18403         (WebInspector.AbstractTimelinePanel.prototype._showCategory):
18404         (WebInspector.AbstractTimelinePanel.prototype._hideCategory):
18405         (WebInspector.AbstractTimelinePanel.prototype.filter):
18406         (WebInspector.AbstractTimelinePanel.prototype._createGraph):
18407         (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
18408         (WebInspector.AbstractTimelinePanel.prototype.refresh):
18409         (WebInspector.AbstractTimelinePanel.prototype.reset):
18410         (WebInspector.AbstractTimelinePanel.prototype.get calculator):
18411         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
18412         (WebInspector.AbstractTimelinePanel.prototype.addItem):
18413         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
18414         (WebInspector.AbstractTimelinePanel.prototype.refreshItem):
18415         (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem):
18416         (WebInspector.AbstractTimelinePanel.prototype.sortItems):
18417         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
18418         (WebInspector.AbstractTimelineCategory):
18419         (WebInspector.AbstractTimelineCategory.prototype.toString):
18420         * inspector/front-end/ResourceCategory.js:
18421         (WebInspector.ResourceCategory):
18422         * inspector/front-end/ResourcesPanel.js:
18423         (WebInspector.ResourcesPanel):
18424         (WebInspector.ResourcesPanel.prototype.createItemTreeElement):
18425         (WebInspector.ResourcesPanel.prototype.createItemGraph):
18426         (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
18427         (WebInspector.ResourcesPanel.prototype.populateSidebar):
18428         (WebInspector.ResourcesPanel.prototype.get searchableViews):
18429         (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction):
18430         (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction):
18431         (WebInspector.ResourcesPanel.prototype.searchMatchFound):
18432         (WebInspector.ResourcesPanel.prototype.searchCanceled):
18433         (WebInspector.ResourcesPanel.prototype.performSearch):
18434         (WebInspector.ResourcesPanel.prototype.refresh):
18435         (WebInspector.ResourcesPanel.prototype.reset):
18436         (WebInspector.ResourcesPanel.prototype.removeResource):
18437         (WebInspector.ResourcesPanel.prototype.addMessageToResource):
18438         (WebInspector.ResourcesPanel.prototype.clearMessages):
18439         (WebInspector.ResourcesPanel.prototype.refreshResource):
18440         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
18441         (WebInspector.ResourcesPanel.prototype.showResource):
18442         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
18443         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
18444         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
18445         (WebInspector.ResourcesPanel.prototype.get _resources):
18446         (WebInspector.ResourceTimeCalculator.prototype._upperBound):
18447         * inspector/front-end/TimelinePanel.js:
18448         (WebInspector.TimelinePanel):
18449         (WebInspector.TimelinePanel.prototype.get categories):
18450         (WebInspector.TimelinePanel.prototype.populateSidebar):
18451         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
18452         (WebInspector.TimelinePanel.prototype.createItemTreeElement):
18453         (WebInspector.TimelinePanel.prototype.createItemGraph):
18454         (WebInspector.TimelinePanel.prototype._formatRecord):
18455         (WebInspector.TimelineCategory):
18456         * inspector/front-end/inspector.css:
18457         * inspector/front-end/inspector.html:
18459 2009-10-28  Kelly Norton  <knorton@google.com>
18461         Reviewed by Pavel Feldman.
18463         Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so
18464         that it remains active on refreshs and page transitions.
18465         https://bugs.webkit.org/show_bug.cgi?id=30874
18467         * inspector/InspectorController.cpp:
18468         (WebCore::InspectorController::setFrontendProxyObject):
18469         * inspector/InspectorTimelineAgent.cpp:
18470         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
18471         * inspector/InspectorTimelineAgent.h:
18473 2009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>
18475         Reviewed by Darin Adler.
18477         Provide a way to get counter values with layoutTestContoller
18478         https://bugs.webkit.org/show_bug.cgi?id=30555
18480         Expose WebCore::counterValueForElement as a WebCore API.
18482         * WebCore.base.exp:
18483         * rendering/RenderTreeAsText.cpp:
18484         (WebCore::writeCounterValuesFromChildren):
18485         (WebCore::counterValueForElement):
18486         * rendering/RenderTreeAsText.h:
18488 2009-10-28  Nate Chapin  <japhet@chromium.org>
18490         Unreviewed, Chromium build fix for r50225.
18492         * loader/FrameLoader.cpp:
18493         (WebCore::FrameLoader::defaultObjectContentType):
18495 2009-10-28  Eric Z. Ayers  <zundel@google.com>
18497         Reviewed by Pavel Feldman.
18499         Adds InspectorTimelineAgent  instrumentation for encountering a
18500         <SCRIPT> tag when parsing an HTML document. 
18502         https://bugs.webkit.org/show_bug.cgi?id=30861
18504         * bindings/js/ScriptSourceCode.h:
18505         (WebCore::ScriptSourceCode::ScriptSourceCode):
18506         (WebCore::ScriptSourceCode::startLine):
18507         (WebCore::ScriptSourceCode::url):
18508         * html/HTMLTokenizer.cpp:
18509         (WebCore::HTMLTokenizer::scriptHandler):
18510         (WebCore::HTMLTokenizer::scriptExecution):
18511         * inspector/InspectorTimelineAgent.cpp:
18512         (WebCore::InspectorTimelineAgent::willLoadXHR):
18513         (WebCore::InspectorTimelineAgent::willScriptTag):
18514         (WebCore::InspectorTimelineAgent::didScriptTag):
18515         * inspector/InspectorTimelineAgent.h:
18516         (WebCore::):
18517         * inspector/TimelineRecordFactory.cpp:
18518         (WebCore::TimelineRecordFactory::createScriptTagTimelineRecord):
18519         * inspector/TimelineRecordFactory.h:
18520         * inspector/front-end/TimelineAgent.js:
18522 2009-10-28  Steve Block  <steveblock@google.com>
18524         Reviewed by Darin Adler.
18526         Makes sure that Geolocation watch IDs remain positive on overflow.
18527         https://bugs.webkit.org/show_bug.cgi?id=30122
18529         No new tests possible.
18531         * page/Geolocation.cpp: Modified.
18532         (WebCore::Geolocation::watchPosition): Modified. Reset the watch ID to 1 on overflow.
18534 2009-10-28  George Staikos  <george.staikos@torchmobile.com>
18536         Attempt to fix the Mac debug build after 50225.
18538         * loader/FrameLoader.cpp:
18539         (WebCore::FrameLoader::defaultObjectContentType):
18541 2009-10-28  Alexey Proskuryakov  <ap@apple.com>
18543         Reviewed by Darin Adler.
18545         https://bugs.webkit.org/show_bug.cgi?id=30841
18546         <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
18548         Tests: http/tests/ssl/referer-301.html
18549                http/tests/ssl/referer-303.html
18551         * platform/network/mac/ResourceHandleMac.mm:
18552         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
18553         Remove Referer header if redirecting from https to another protocol.
18555         * platform/network/ResourceRequestBase.cpp:
18556         (WebCore::ResourceRequestBase::clearHTTPReferrer): Update request counterparts, as it is
18557         always done when changing or adding header fields.
18558         (WebCore::ResourceRequestBase::clearHTTPOrigin): Ditto.
18560         * platform/network/ResourceRequestBase.h: clearHTTPReferrer() and clearHTTPOrigin() are
18561         no longer inline, since they have non-trivial implementations.
18563         * platform/network/mac/ResourceRequestMac.mm:
18564         (WebCore::ResourceRequest::doUpdatePlatformRequest): Fixed to synchronize header field removals.
18565         (WebCore::ResourceRequest::doUpdateResourceRequest): Ditto.
18567         * platform/network/cf/ResourceHandleCFNet.cpp:
18568         (WebCore::willSendRequest):
18569         * platform/network/cf/ResourceRequestCFNet.cpp:
18570         (WebCore::setHeaderFields):
18571         (WebCore::ResourceRequest::doUpdatePlatformRequest):
18572         (WebCore::ResourceRequest::doUpdateResourceRequest):
18573         Match Mac changes.
18574         
18575 2009-10-28  Joe Mason  <jmason@rim.com>
18577         Reviewed by Adam Treat.
18579         Add FrameLoader::defaultObjectContentType, containing common code for
18580         implementing FrameLoaderClient::objectContentType.  (Currently the gtk
18581         and win ports have copied this code, and the qt port uses similar code
18582         with a few extra clauses.  Moving this to a utility function cuts down
18583         on copied code.)   This causes no behavioural change.
18585         https://bugs.webkit.org/show_bug.cgi?id=30868
18587         * loader/FrameLoader.cpp:
18588         (WebCore::FrameLoader::defaultObjectContentType):
18589         * loader/FrameLoader.h:
18591 2009-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18593         Reviewed by Tor Arne Vestbø.
18595         [Qt] QWebHistory::saveState() is inconsistent with the Qt API
18596         https://bugs.webkit.org/show_bug.cgi?id=30710
18598         Enforce the versioning, by ignoring any version different
18599         from 1.
18601         * history/qt/HistoryItemQt.cpp:
18602         (WebCore::HistoryItem::restoreState):
18603         (WebCore::HistoryItem::saveState):
18605 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
18607         Not reviewed: follow up fix to InspectorControllerStub.
18608         Define it after inspector.js due to namespace
18610         https://bugs.webkit.org/show_bug.cgi?id=30866
18612         * inspector/front-end/inspector.html:
18614 2009-10-28  Pavel Feldman  <pfeldman@chromium.org>
18616         Reviewed by Timothy Hatcher.
18618         Web Inspector: Add InspectorController stub in order to
18619         support opening in standalone mode.
18621         https://bugs.webkit.org/show_bug.cgi?id=30866
18623         * WebCore.gypi:
18624         * WebCore.vcproj/WebCore.vcproj:
18625         * inspector/front-end/InspectorControllerStub.js: Added.
18626         (.WebInspector.InspectorControllerStub):
18627         (.WebInspector.InspectorControllerStub.prototype.wrapCallback):
18628         (.WebInspector.InspectorControllerStub.prototype.isWindowVisible):
18629         (.WebInspector.InspectorControllerStub.prototype.platform):
18630         (.WebInspector.InspectorControllerStub.prototype.closeWindow):
18631         (.WebInspector.InspectorControllerStub.prototype.attach):
18632         (.WebInspector.InspectorControllerStub.prototype.detach):
18633         (.WebInspector.InspectorControllerStub.prototype.storeLastActivePanel):
18634         (.WebInspector.InspectorControllerStub.prototype.clearMessages):
18635         (.WebInspector.InspectorControllerStub.prototype.searchingForNode):
18636         (.WebInspector.InspectorControllerStub.prototype.search):
18637         (.WebInspector.InspectorControllerStub.prototype.toggleNodeSearch):
18638         (.WebInspector.InspectorControllerStub.prototype.setAttachedWindowHeight):
18639         (.WebInspector.InspectorControllerStub.prototype.moveByUnrestricted):
18640         (.WebInspector.InspectorControllerStub.prototype.addResourceSourceToFrame):
18641         (.WebInspector.InspectorControllerStub.prototype.addSourceToFrame):
18642         (.WebInspector.InspectorControllerStub.prototype.getResourceDocumentNode):
18643         (.WebInspector.InspectorControllerStub.prototype.highlightDOMNode):
18644         (.WebInspector.InspectorControllerStub.prototype.hideDOMNodeHighlight):
18645         (.WebInspector.InspectorControllerStub.prototype.inspectedWindow):
18646         (.WebInspector.InspectorControllerStub.prototype.loaded):
18647         (.WebInspector.InspectorControllerStub.prototype.localizedStringsURL):
18648         (.WebInspector.InspectorControllerStub.prototype.windowUnloading):
18649         (.WebInspector.InspectorControllerStub.prototype.hiddenPanels):
18650         (.WebInspector.InspectorControllerStub.prototype.debuggerEnabled):
18651         (.WebInspector.InspectorControllerStub.prototype.enableResourceTracking):
18652         (.WebInspector.InspectorControllerStub.prototype.disableResourceTracking):
18653         (.WebInspector.InspectorControllerStub.prototype.resourceTrackingEnabled):
18654         (.WebInspector.InspectorControllerStub.prototype.enableDebugger):
18655         (.WebInspector.InspectorControllerStub.prototype.disableDebugger):
18656         (.WebInspector.InspectorControllerStub.prototype.addBreakpoint):
18657         (.WebInspector.InspectorControllerStub.prototype.removeBreakpoint):
18658         (.WebInspector.InspectorControllerStub.prototype.updateBreakpoint):
18659         (.WebInspector.InspectorControllerStub.prototype.pauseInDebugger):
18660         (.WebInspector.InspectorControllerStub.prototype.pauseOnExceptions):
18661         (.WebInspector.InspectorControllerStub.prototype.setPauseOnExceptions):
18662         (.WebInspector.InspectorControllerStub.prototype.resumeDebugger):
18663         (.WebInspector.InspectorControllerStub.prototype.profilerEnabled):
18664         (.WebInspector.InspectorControllerStub.prototype.enableProfiler):
18665         (.WebInspector.InspectorControllerStub.prototype.disableProfiler):
18666         (.WebInspector.InspectorControllerStub.prototype.startProfiling):
18667         (.WebInspector.InspectorControllerStub.prototype.stopProfiling):
18668         (.WebInspector.InspectorControllerStub.prototype.getProfileHeaders):
18669         (.WebInspector.InspectorControllerStub.prototype.getProfile):
18670         (.WebInspector.InspectorControllerStub.prototype.takeHeapSnapshot):
18671         (.WebInspector.InspectorControllerStub.prototype.databaseTableNames):
18672         (.WebInspector.InspectorControllerStub.prototype.stepIntoStatementInDebugger):
18673         (.WebInspector.InspectorControllerStub.prototype.stepOutOfFunctionInDebugger):
18674         (.WebInspector.InspectorControllerStub.prototype.stepOverStatementInDebugger):
18675         (.WebInspector.InspectorControllerStub.prototype.setSetting):
18676         (.WebInspector.InspectorControllerStub.prototype.dispatchOnInjectedScript):
18677         (.WebInspector.InspectorControllerStub.prototype.releaseWrapperObjectGroup):
18678         (.WebInspector.InspectorControllerStub.prototype.setting):
18679         * inspector/front-end/inspector.html:
18680         * inspector/front-end/inspector.js:
18681         (WebInspector.UIString):
18683 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
18685         Reviewed by Jan Alonzo.
18687         https://bugs.webkit.org/show_bug.cgi?id=25897
18688         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
18690         Expands upon the new funtionality which allows platforms to indicate
18691         that a particular object should not be ignored, so that they can
18692         specify that an object should be ignored or that it should be left up
18693         to the default handling to decide.
18695         * accessibility/AccessibilityObject.h:
18696         * accessibility/chromium/AccessibilityObjectChromium.cpp:
18697         * accessibility/gtk/AccessibilityObjectAtk.cpp:
18698         * accessibility/mac/AccessibilityObjectMac.mm:
18699         * accessibility/qt/AccessibilityObjectQt.cpp:
18700         * accessibility/win/AccessibilityObjectWin.cpp:
18701         * accessibility/wx/AccessibilityObjectWx.cpp:
18702         (AccessibilityObject::accessibilityPlatformIncludesObject):
18703         * accessibility/AccessibilityRenderObject.cpp:
18704         (AccessibilityRenderObject::accessibilityIsIgnored):
18707 2009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
18709         Reviewed by Jan Alonzo.
18711         https://bugs.webkit.org/show_bug.cgi?id=25534
18712         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
18714         Expose the table summary as the accessible description because there is no summary object.
18716         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18717         (webkit_accessible_get_description):
18719 2009-10-28  Steve Block  <steveblock@google.com>
18721         Reviewed by Eric Seidel.
18723         Adds ScriptController::intializeThreading(), with both JSC and V8 implementations.
18724         https://bugs.webkit.org/show_bug.cgi?id=30678
18726         This new method is used from common code, rather than calling JSC::initializeThreading() (or the V8 equivalent) directly.
18728         Build fix, no new tests required.
18730         * bindings/js/ScriptController.cpp: Modified.
18731         (WebCore::ScriptController::initializeThreading): Added.
18732         * bindings/js/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
18733         * bindings/v8/ScriptController.cpp: Modified.
18734         (WebCore::ScriptController::initializeThreading): Added.
18735         * bindings/v8/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
18736         * loader/icon/IconDatabase.cpp: Modified.
18737         (WebCore::iconDatabase): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
18738         * storage/Database.cpp: Modified.
18739         (WebCore::Database::Database): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
18741 2009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
18743         Reviewed by Darin Adler.
18745         Document a feature of the m_liveDecodedResources list.
18746         https://bugs.webkit.org/show_bug.cgi?id=30209
18748         The code made the assumption that the list is sorted by
18749         the m_lastDecodedAccessTime property of the CachedResource.
18750         The above is not true when CachedResource::setDecodedSize
18751         is called and the item is inserted the first time. In this
18752         case the m_lastDecodedAccessTime is still zero and the
18753         m_liveDecodedResources list becomes unsorted.
18755         It is impossible that Cache::pruneLiveResources will
18756         stop to process the list too early due this feature and
18757         the alternatives of updating m_lastDecodedAccessTime in
18758         CachedResource::setDecodedSize or changing the insert
18759         to search the right position have a negative impact on
18760         performance. The best solution for now is to document
18761         this feature.
18763         * loader/Cache.cpp:
18764         (WebCore::Cache::pruneLiveResources):
18765         * loader/CachedResource.cpp:
18766         (WebCore::CachedResource::setDecodedSize):
18768 2009-10-28  Xan Lopez  <xlopez@igalia.com>
18770         Reviewed by Jan Alonzo.
18772         [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
18773         https://bugs.webkit.org/show_bug.cgi?id=25897
18775         Make text controls always implement the text interface, and the
18776         editable text interface when they are not read only. This is what
18777         ATK-users expect.
18779         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18780         (getInterfaceMaskFromObject):
18782 2009-10-27  Holger Hans Peter Freyther  <zecke@selfish.org>
18784         Reviewed by Simon Fraser.
18786         Change HitTestResult methods to use (3d) transformation aware methods
18787         https://bugs.webkit.org/show_bug.cgi?id=27347
18789         The current HitTestResult methods are not using the (3d)
18790         transformation aware routines. This can lead to an assertion
18791         SVGRenderBase::mapLocalToContainer method.
18793         Change HitTestResult::imageRect to use the (3d) transformation
18794         aware RenderBox::absoluteContentQuad to avoid running into
18795         an assertion with SVG content.
18797         Remove HitTestResult::boundingBox() as it is only used in
18798         two places and conceptually doesn't belong into a HitTest
18799         which is operating on points.
18801         A classic test case is not possible as the methods are not excercised
18802         from within HTML/SVG but from the WebKit API Layer. A unittest
18803         for Qt/Gtk+/Mac would need to be written but Qt/Gtk+ currently
18804         do not support 3d transformations making it impossible to write
18805         a reliable test case and the Mac port is currently not doing
18806         unit testing.
18809         * rendering/HitTestResult.cpp: Remove boundingBox() method
18810         (WebCore::HitTestResult::imageRect): Use transformation aware method
18811         * rendering/HitTestResult.h: Remove boundingBox()
18813 2009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
18815         Reviewed by Eric Seidel.
18817         [Qt] Custom Cursor doesn't use hotspot.
18818         https://bugs.webkit.org/show_bug.cgi?id=30820
18820         Cursors loaded from a QPixmap didn't specifiy the
18821         hotspot. Take the hotspot values from the mac
18822         implementation.
18824         * platform/qt/CursorQt.cpp:
18826 2009-10-27  Pavel Feldman  <pfeldman@chromium.org>
18828         Reviewed by Timothy Hatcher.
18830         Web Inspector: Initial revision of the Timeline grid.
18832         https://bugs.webkit.org/show_bug.cgi?id=30834
18834         * English.lproj/localizedStrings.js:
18835         * WebCore.gypi:
18836         * inspector/front-end/AbstractTimelinePanel.js:
18837         (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
18838         (WebInspector.AbstractTimelinePanel.prototype.refresh):
18839         (WebInspector.AbstractTimelineCalculator):
18840         * inspector/front-end/Images/timelineBarBlue.png: Added.
18841         * inspector/front-end/Images/timelineBarGray.png: Added.
18842         * inspector/front-end/Images/timelineBarGreen.png: Added.
18843         * inspector/front-end/Images/timelineBarOrange.png: Added.
18844         * inspector/front-end/Images/timelineBarPurple.png: Added.
18845         * inspector/front-end/Images/timelineBarRed.png: Added.
18846         * inspector/front-end/Images/timelineBarYellow.png: Added.
18847         * inspector/front-end/Images/timelineCheckmarks.png: Added.
18848         * inspector/front-end/Images/timelineDots.png: Added.
18849         * inspector/front-end/ResourcesPanel.js:
18850         (WebInspector.ResourceTimeCalculator):
18851         (WebInspector.ResourceTransferSizeCalculator):
18852         * inspector/front-end/TimelineAgent.js:
18853         * inspector/front-end/TimelinePanel.js:
18854         (WebInspector.TimelinePanel):
18855         (WebInspector.TimelinePanel.prototype.get statusBarItems):
18856         (WebInspector.TimelinePanel.prototype.get categories):
18857         (WebInspector.TimelinePanel.prototype.populateSidebar):
18858         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
18859         (WebInspector.TimelinePanel.prototype.addItemToTimeline):
18860         (WebInspector.TimelinePanel.prototype.refresh):
18861         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClick):
18862         (WebInspector.TimelinePanel.prototype.reset):
18863         (WebInspector.TimelinePanel.prototype._formatRecord):
18864         (WebInspector.TimelinePanel.prototype.showCategory):
18865         (WebInspector.TimelinePanel.prototype.hideCategory):
18866         (WebInspector.TimelineRecordTreeElement):
18867         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
18868         (WebInspector.TimelineCalculator):
18869         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
18870         (WebInspector.TimelineCalculator.prototype.computePercentageFromEventTime):
18871         (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
18872         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
18873         (WebInspector.TimelineCalculator.prototype.formatValue):
18874         (WebInspector.TimelineGraph):
18875         (WebInspector.TimelineGraph.prototype.get graphElement):
18876         (WebInspector.TimelineGraph.prototype.refreshLabelPositions):
18877         (WebInspector.TimelineGraph.prototype.refresh):
18878         * inspector/front-end/inspector.css:
18879         * inspector/front-end/inspector.js:
18880         (WebInspector._createPanels):
18882 2009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
18884         Reviewed by Pavel Feldman.
18886         Web Inspector: Move runAfterPendingDispatches to TestController for Clarity
18887         https://bugs.webkit.org/show_bug.cgi?id=30844
18889         * inspector/front-end/TestController.js:
18890         (WebInspector.TestController.prototype.runAfterPendingDispatches):
18891         * inspector/front-end/inspector.js: moved runAfterPendingDispatches
18893 2009-10-27  Darin Fisher  <darin@chromium.org>
18895         Reviewed by Dimitri Glazkov.
18897         Add missing forward declaration of FramelessScrollView.
18898         https://bugs.webkit.org/show_bug.cgi?id=30824
18900         * platform/chromium/FramelessScrollViewClient.h:
18902 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
18904         Reviewed by Adele Peterson.
18906         WAI-ARIA: add support for 'presentation' role
18907         https://bugs.webkit.org/show_bug.cgi?id=30806
18909         Test: accessibility/aria-presentational-role.html
18911         * accessibility/AccessibilityObject.h:
18912         (WebCore::):
18913         * accessibility/AccessibilityRenderObject.cpp:
18914         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
18915         (WebCore::RoleEntry::):
18917 2009-10-27  Chris Fleizach  <cfleizach@apple.com>
18919         Reviewed by Darin Adler.
18921         ARIA menu/menu item need AXRoleDescription
18922         https://bugs.webkit.org/show_bug.cgi?id=30804
18924         Make sure that role descriptions will default to the system's first, before
18925         returning an unknown role.
18927         Test: platform/mac/accessibility/aria-menu-role-descriptions.html
18929         * accessibility/mac/AccessibilityObjectWrapper.mm:
18930         (-[AccessibilityObjectWrapper roleDescription]):
18932 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
18934         Qt build fix: migrated away from API that no longer exists.
18936         * bridge/qt/qt_runtime.cpp:
18937         (JSC::Bindings::convertQVariantToValue):
18939 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
18941         Qt build fix: migrated away from API that no longer exists.
18943         * bridge/qt/qt_runtime.cpp:
18944         (JSC::Bindings::convertValueToQVariant):
18946 2009-10-27  Oliver Hunt  <oliver@apple.com>
18948         Fix wording in comment.
18950         * bridge/objc/objc_instance.mm:
18951         (allocateAutoReleasePool):
18953 2009-10-27  Oliver Hunt  <oliver@apple.com>
18955         Reviewed by Darin Adler.
18957         Crash occurs after launching Newsfire 1.6 for the first time
18958         https://bugs.webkit.org/show_bug.cgi?id=30807
18960         We allocate an autorelease pool but then store it off the stack. In a
18961         GC environment this led to it being collected, and thus caused badness
18962         to ensue.  To work around this we simply avoid using a pool at all in
18963         a GC environment as it would be a no-op anyway.
18965         * bridge/objc/objc_instance.mm:
18966         (allocateAutoReleasePool):
18967         (ObjcInstance::virtualBegin):
18969 2009-10-27  Steve Block  <steveblock@google.com>
18971         Reviewed by Darin Adler.
18973         When a Geolocation method is called, immediately calls the error calback asynchronously if permissions
18974         have already been denied.
18975         https://bugs.webkit.org/show_bug.cgi?id=27944.
18977         Tests: fast/dom/Geolocation/permission-denied-already-error.html
18978                fast/dom/Geolocation/permission-denied-already-success.html
18980         * page/Geolocation.cpp: Modified.
18981         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. GeoNotifier takes Geolocation object as constructor argument.
18982         (WebCore::Geolocation::GeoNotifier::setFatalError): Added. Sets a fatal error for this notifier, causing it to terminate immediately and call the error callback asynchronously.
18983         (WebCore::Geolocation::GeoNotifier::timerFired): Added. Used to call the error callback asynchronously on fatal error.
18984         (WebCore::Geolocation::getCurrentPosition): Modified. Calls startRequest.
18985         (WebCore::Geolocation::watchPosition): Modified. Calls startRequest.
18986         (WebCore::Geolocation::startRequest): Added. Common functionality for starting a one-shot or watch request. Sets a fatal error on the notifier if permissions have already been denied.
18987         (WebCore::Geolocation::fatalErrorOccurred): Added. Registers that a notifier has encountered a fatal error and should be destroyed.
18988         (WebCore::Geolocation::setIsAllowed): Modified. Uses a standard error message for the error callback when permissions are denied.
18989         * page/Geolocation.h: Modified.
18990         (WebCore::Geolocation::isDenied): Added. Determines whether permissions have been denied.
18992 2009-10-27  Chris Marrin  <cmarrin@apple.com>
18994         Reviewed by Oliver Hunt.
18996         Fixed a bug where I was using the wrong Canvas pointer to do a cross-domain check
18997         https://bugs.webkit.org/show_bug.cgi?id=30840
18999         * html/canvas/CanvasRenderingContext2D.cpp:
19000         (WebCore::CanvasRenderingContext2D::drawImage):
19002 2009-10-27  Eric Seidel  <eric@webkit.org>
19004         Reviewed by Nikolas Zimmermann.
19006         SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds)
19007         https://bugs.webkit.org/show_bug.cgi?id=29620
19009         SVG was modifying CSSValues cached of off CSSMappedAttributeDeclarations.
19010         This patch fixes the check to make sure that a new CSSMappedAttributeDeclaration is
19011         created before returning a CSSValue that JavaScript can modify.
19013         Test: svg/dom/getPresentationAttribute-cache-corruption.svg
19015         * svg/SVGStyledElement.cpp:
19016         (WebCore::SVGStyledElement::getPresentationAttribute):
19018 2009-10-27  Dan Bernstein  <mitz@apple.com>
19020         Reviewed by Simon Fraser.
19022         Incomplete repaint of text field in relative positioned inline at imdb.com
19023         https://bugs.webkit.org/show_bug.cgi?id=30047
19025         Test: fast/repaint/inline-relative-positioned.html
19027         Implemented offsetFromContainer(), mapLocalToContainer() and
19028         mapAbsoluteToLocalPoint() in RenderInline.
19030         * rendering/RenderBox.h: Fixed argument names in the declaration of
19031         mapLocalToContainer().
19032         * rendering/RenderInline.cpp:
19033         (WebCore::RenderInline::offsetFromContainer):
19034         (WebCore::RenderInline::mapLocalToContainer):
19035         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
19036         * rendering/RenderInline.h:
19038 2009-10-27  Jeremy Orlow  <jorlow@chromium.org>
19040         Speculative build fix for Chromium.
19042         * platform/graphics/GraphicsContext3D.h:
19044 2009-10-27  Chris Marrin  <cmarrin@apple.com>
19046         Reviewed by Simon Fraser.
19047         
19048         Make WebGL context failure more robust and make it succeed in more cases
19049         https://bugs.webkit.org/show_bug.cgi?id=30349
19051         Bubble a failure to get a CGLContext up to HTMLContextElement so it can
19052         return null from getContext. Also added a more robust pixel format choosing 
19053         mechanism and can render correctly when a SW renderer is chosen.
19055         * html/HTMLCanvasElement.cpp:
19056         (WebCore::HTMLCanvasElement::getContext):
19057         * html/canvas/CanvasRenderingContext.h:
19058         * html/canvas/CanvasRenderingContext2D.cpp:
19059         * html/canvas/CanvasRenderingContext3D.cpp:
19060         * html/canvas/CanvasRenderingContext3D.h:
19061         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
19062         (WebCore::CanvasRenderingContext3D::cleanupAfterGraphicsCall):
19063         * platform/graphics/GraphicsContext3D.h:
19064         * platform/graphics/mac/Canvas3DLayer.mm:
19065         (-[Canvas3DLayer copyCGLPixelFormatForDisplayMask:]):
19066         * platform/graphics/mac/GraphicsContext3DMac.cpp:
19067         (WebCore::setPixelFormat):
19068         (WebCore::GraphicsContext3D::create):
19069         (WebCore::GraphicsContext3D::GraphicsContext3D):
19070         (WebCore::GraphicsContext3D::~GraphicsContext3D):
19071         (WebCore::GraphicsContext3D::reshape):
19072         (WebCore::ensureContext):
19074 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
19076         Mac build fix: a forwarding header.
19078         * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
19080 2009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
19082         No Review.
19084         Making fontWeightIsBold static to fix Snow Leopard build.
19086         * editing/ApplyStyleCommand.cpp:
19087         (WebCore::fontWeightIsBold):
19089 2009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
19091         Reviewed by Eric Seidel.
19093         WebKit cannot remove nested bold tags
19094         https://bugs.webkit.org/show_bug.cgi?id=30784
19096         This patch modifies getPropertiesNotInComputedStyle so that it compares font-weight
19097         more flexibly. Instead of comparing cssText, it uses fontWeightIsBold which converts
19098         all font weights to either bold or unbold state.
19100         * editing/ApplyStyleCommand.cpp:
19101         (WebCore::fontWeightIsBold):
19102         (WebCore::getPropertiesNotInComputedStyle): Removes font-weight property
19103         if two style have the same value under getFontWeightValue
19105 2009-10-27  Carol Szabo  <carol.szabo@nokia.com>
19107         Reviewed by Darin Adler.
19109         Give an ability to WebKit to free statically allocated pointers
19110         before quit.
19111         https://bugs.webkit.org/show_bug.cgi?id=27980
19113         No new tests for this as the change does not affect WebKit
19114         functionality, but only memory usage.
19116         * JavaScriptCore/wtf/StdLibExtras.h:
19117         Allowed for the override of DEFINE_STATIC_LOCAL via compiler 
19118         commandline options or elsewhere in the code. Useful for 
19119         implementing custom builds that free resources allocated via
19120         DEFINE_STATIC_LOCAL.
19122 2009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
19124         Build fix, no review needed.
19126         Fixing the BUILD. m_estimatedSize in Database.h should be of type
19127         'unsigned long' instead of 'unsigned long long'.
19129         No tests required.
19131         * storage/Database.h:
19133 2009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
19135         Reviewed by Adam Barth.
19137         Refactoring the Database class to not depend on
19138         OriginQuotaManager. Also, adding a SecurityOrigin copy to each
19139         Database instance, that is safe to use on the file
19140         thread. Finally, adding new simple fields and getters to the
19141         Database object for storing/getting the display name and estimated
19142         size specified by the user in the openDatabase() call.
19144         https://bugs.webkit.org/show_bug.cgi?id=30548
19146         * page/SecurityOrigin.h:
19147         * storage/Database.cpp:
19148         (WebCore::Database::openDatabase): Storing the display name and
19149         the estimated size in the Database object.
19150         (WebCore::Database::Database): Storing the display name and the
19151         estimated size in the Database object, as well as a SecurityOrigin
19152         instance that is safe to use on the DB thread.
19153         (WebCore::Database::maximumSize): Delegate the call to
19154         DatabaseTracker::getMaxSizeForDatabase().
19155         (WebCore::Database::databaseThreadSecurityOrigin): Return the
19156         SecurityOrigin instance that's safe to use on the DB thread.
19157         (WebCore::Database::threadSafeSecurityOrigin): Return the
19158         SecurityOrigin instance that's safe to use on the current thread.
19159         (WebCore::Database::displayName): Return the display name
19160         specified by the user in the openDatabase() call.
19161         (WebCore::Database::estimatedSize): Return the estimated size
19162         specified by the user in the openDatabase() call.
19163         (WebCore::Database::fileName): Return the name of the file where
19164         the current Database is tored.
19165         * storage/Database.h:
19166         * storage/DatabaseTracker.cpp:
19167         (WebCore::DatabaseTracker::getMaxSizeForDatabase): Returns the
19168         maximum size for a DB file based on the current size of that file
19169         and the space available for that origin.
19170         * storage/DatabaseTracker.h:
19171         * storage/SQLTransaction.cpp:
19172         * storage/SQLTransactionClient.cpp:
19173         (WebCore::SQLTransactionClient::didCommitTransaction): Use the
19174         correct SecurityOrigin instance.
19176 2009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
19178         Reviewed by Timothy Hatcher.
19180         Web Inspector: Pretty Print all HTML Collection Types like we do for NodeList
19181         https://bugs.webkit.org/show_bug.cgi?id=30709
19183         Test: inspector/console-format-collections.html
19185         * inspector/front-end/InjectedScript.js:
19186         (Object.type): check for instances of HTMLCollection like we do for NodeList
19187         * inspector/front-end/inspector.js: added WebInspector.pendingDispatches counter
19188         (WebInspector.dispatch): increment and decrement dispatch counter
19189         (WebInspector.runAfterPendingDispatches): run when there are no more dispatches
19191 2009-10-27  Kelly Norton  <knorton@google.com>
19193         Reviewed by Timothy Hatcher.
19195         Adds XMLHttpRequest support to InspectorTimelineAgent.
19196         https://bugs.webkit.org/show_bug.cgi?id=30578
19198         * inspector/InspectorTimelineAgent.cpp:
19199         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
19200         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
19201         (WebCore::InspectorTimelineAgent::willLoadXHR):
19202         (WebCore::InspectorTimelineAgent::didLoadXHR):
19203         * inspector/InspectorTimelineAgent.h:
19204         (WebCore::):
19205         * inspector/TimelineRecordFactory.cpp:
19206         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord):
19207         (WebCore::TimelineRecordFactory::createXHRLoadTimelineRecord):
19208         * inspector/TimelineRecordFactory.h:
19209         * inspector/front-end/TimelineAgent.js:
19210         * xml/XMLHttpRequest.cpp:
19211         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
19213 2009-10-27  Enrica Casucci  <enrica@apple.com>
19215         Reviewed by Adele Peterson.
19217         REGRESSION (Safari 4.0.3-ToT): After pressing Shift-PageDown, pressing Shift-Up 
19218         extends the top of the selection upwards (but should shrink the selection instead)
19219         <rdar://problem/7269075>
19220         https://bugs.webkit.org/show_bug.cgi?id=29981
19222         * editing/SelectionController.cpp:
19223         (WebCore::SelectionController::modify): Added setting m_lastChangeWasHorizontalExtension.
19225 2009-10-27  Brian Weinstein  <bweinstein@apple.com>
19227         Rubber-stamped by Tim Hatcher.
19228         
19229         Removed an extra console.log from ElementsTreeOutline.
19231         * inspector/front-end/ElementsTreeOutline.js:
19233 2009-10-27  Keishi Hattori  <casey.hattori@gmail.com>
19235         Reviewed by Timothy Hatcher.
19237         Rewrote JavaScriptSourceSyntaxHighlighter to be more accurate
19238         https://bugs.webkit.org/show_bug.cgi?id=27147
19240         Tests: LayoutTests/inspector/javascript-syntax-highlight.html
19242         * inspector/front-end/ElementsTreeOutline.js:
19243         * inspector/front-end/SourceFrame.js:
19244         (WebInspector.JavaScriptSourceSyntaxHighlighter.process): Added. Processes 100 tokens at a time.
19245         (WebInspector.JavaScriptSourceSyntaxHighlighter.lex): Added. Scans for a token.
19246         (WebInspector.JavaScriptSourceSyntaxHighlighter.appendNonToken): Added. Appends the non-token characters that lex ignored.
19247         (WebInspector.JavaScriptSourceSyntaxHighlighter.syntaxHighlightNode): Added. To syntax highlight node in ElementsTreeOutline.
19249 2009-10-27  Mads Ager  <ager@chromium.org>
19251         Reviewed by Adam Barth.
19253         [V8] Missing null check after string conversion in error reporting
19254         https://bugs.webkit.org/show_bug.cgi?id=30774
19256         Add null check after string conversion in error reporting code.
19257         ToString conversion can fail for instance when an exception is
19258         thrown during conversion.
19260         Test: fast/dom/error-to-string-stack-overflow.html
19262         * bindings/v8/V8Utilities.cpp:
19263         (WebCore::reportException):
19265 2009-10-27  Steve Block  <steveblock@google.com>
19267         Reviewed by Darin Adler.
19269         Use a pair of maps to store Geolocation watchers.
19270         https://bugs.webkit.org/show_bug.cgi?id=29178
19272         The pair of maps allows us to look up a watcher either by its ID or by its GeoNotifier object.
19273         The ability to look up by a watcher by its GeoNotifier object will be required when implementing
19274         Geolocation::fatalErrorOccurred. See https://bugs.webkit.org/show_bug.cgi?id=27944
19276         * page/Geolocation.cpp: Modified.
19277         (WebCore::Geolocation::Watchers::set): Added. Adds a watcher with the given ID.
19278         (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by ID.
19279         (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by GeoNotifier object.
19280         (WebCore::Geolocation::Watchers::clear): Added. Removes all watchers.
19281         (WebCore::Geolocation::Watchers::isEmpty): Added. Determines if there are no watchers.
19282         (WebCore::Geolocation::Watchers::getNotifiersVector): Added. Gets a vector of the GeoNotifier objects.
19283         (WebCore::Geolocation::watchPosition): Modified. Rename watcher identifier static variable.
19284         (WebCore::Geolocation::stopTimersForWatchers): Modified. Use Watchers::getNotifiersVector.
19285         (WebCore::Geolocation::handleError): Modified. Use Watchers::getNotifiersVector.
19286         (WebCore::Geolocation::makeSuccessCallbacks): Modified. Use Watchers::getNotifiersVector.
19287         * page/Geolocation.h: Modified. Adds Geolocation::Watchers class.
19289 2009-10-27  Jeremy Orlow  <jorlow@chromium.org>
19291         Reviewed by Dimitri Glazkov.
19293         [V8] DOM Storage runtime flag should default to on
19294         https://bugs.webkit.org/show_bug.cgi?id=30828
19296         The DOM Storage runtime flag was supposed to default to on.  I accidentally
19297         changed the logic to default to false when I moved the flag.
19299         * bindings/v8/RuntimeEnabledFeatures.cpp:
19301 2009-10-27  Fumitoshi Ukai  <ukai@chromium.org>
19303         Reviewed by Dimitri Glazkov.
19305         Fix crash found in chromium test_shell.
19306         https://bugs.webkit.org/show_bug.cgi?id=30808
19308         When WebSocket is deleted without close, webkit would crash
19309         when it handles didClose.
19311         Check scriptExecutionContext before post task for event.
19312         Use WebSocketChannel::disconnect() instead of close() in WebSocket
19313         destructor, so that WebSocketChannel should not call deleted WebSocket
19314         back in didClose().
19315         To make sure WebSocketChannel alive while it is processing WebSocket
19316         protocol over SocketStreamHandle, ref() in connect() and deref() in
19317         didClose().
19319         * websockets/WebSocket.cpp:
19320         (WebCore::WebSocket::~WebSocket):
19321         (WebCore::WebSocket::didConnect):
19322         (WebCore::WebSocket::didReceiveMessage):
19323         (WebCore::WebSocket::didClose):
19324         * websockets/WebSocketChannel.cpp:
19325         (WebCore::WebSocketChannel::connect):
19326         (WebCore::WebSocketChannel::disconnect):
19327         (WebCore::WebSocketChannel::didClose):
19328         (WebCore::WebSocketChannel::didReceiveData):
19329         * websockets/WebSocketChannel.h:
19331 2009-10-27  Dan Bernstein  <mitz@apple.com>
19333         Reviewed by Darin Adler.
19335         Updated Apple license
19337         * LICENSE-APPLE:
19339 2009-10-27  Brady Eidson  <beidson@apple.com>
19341         Rubberstamped by Sam Weinig.
19343         Re-enable the check that disallows pages with unload handlers in the page cache.
19345         <rdar://problem/7196485> and http://webkit.org/b/29021 
19347         * loader/FrameLoader.cpp:
19348         (WebCore::FrameLoader::canCachePageContainingThisFrame):
19349         (WebCore::FrameLoader::logCanCacheFrameDecision):
19351 2009-10-27  Timothy Hatcher  <timothy@apple.com>
19353         Remove more empty files that didn't get removed earlier.
19355         * inspector/DOMDispatchTimelineItem.cpp: Removed.
19356         * inspector/DOMDispatchTimelineItem.h: Removed.
19358 2009-10-27  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
19360         Reviewed by Tor Arne Vestbø.
19362         [Qt] Fix assertion crashes introduced by changes made in r50110.
19364         * dom/XMLTokenizerQt.cpp:
19365         (WebCore::XMLTokenizer::parseEndElement): only call popCurrentNode() if there are nodes left in the stack.
19367 2009-10-27  Timothy Hatcher  <timothy@apple.com>
19369         Remove empty files that didn't get removed earlier.
19371         * inspector/TimelineItem.cpp: Removed.
19372         * inspector/TimelineItem.h: Removed.
19374 2009-10-27  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
19376         Reviewed by Xan Lopez.
19378         https://bugs.webkit.org/show_bug.cgi?id=25534
19379         [GTK] Objects of ROLE_TABLE should implement the accessible table interface
19381         First part of the implementation of AtkTable.
19383         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19384         (getCell):
19385         (getCellIndex):
19386         (webkit_accessible_table_ref_at):
19387         (webkit_accessible_table_get_index_at):
19388         (webkit_accessible_table_get_n_columns):
19389         (webkit_accessible_table_get_n_rows):
19390         (webkit_accessible_table_get_column_extent_at):
19391         (webkit_accessible_table_get_row_extent_at):
19392         (webkit_accessible_table_get_row_header):
19393         (atk_table_interface_init):
19394         (AtkInterfacesInitFunctions):
19395         (GetAtkInterfaceTypeFromWAIType):
19397 2009-10-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
19399         Reviewed by Lars Knoll.
19401         [Qt] Don't lose remainder when computing wheel event deltas
19403         * platform/qt/WheelEventQt.cpp:
19405 2009-10-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19407         Reviewed by Antti Koivisto.
19409         Fix QtWebKit build for WIN_OS if Netscape plug-in support
19410         is turned off and refactor some related code
19411         https://bugs.webkit.org/show_bug.cgi?id=30786
19413         No new tests as there is no new functionality introduced.
19415         * platform/FileSystem.h: Refactor to make sure that each different
19416         type definition is only repeated once.
19418         * plugins/PluginPackage.cpp:
19419         (WebCore::PluginPackage::compareFileVersion): Move it out from the
19420         ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH guard and combine it with the
19421         function body from PluginPackageWin.
19423         * plugins/win/PluginPackageWin.cpp: Remove compareFileVersion as
19424         it is now in PluginPackage.cpp.
19426 2009-10-26  Xan Lopez  <xlopez@igalia.com>
19428         Reviewed by Gustavo Noronha.
19430         https://bugs.webkit.org/show_bug.cgi?id=27011
19431         [Gtk] Implement support for get_index_in_parent
19433         Implement atk_object_get_index_in_parent.
19435         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19436         (webkit_accessible_get_index_in_parent):
19438 2009-10-27  Eric Seidel  <eric@webkit.org>
19440         No review, rolling out r50131.
19441         http://trac.webkit.org/changeset/50131
19443         * bridge/objc/objc_instance.h:
19444         * bridge/objc/objc_instance.mm:
19445         (ObjcInstance::ObjcInstance):
19446         (ObjcInstance::virtualEnd):
19448 2009-10-26  Daniel Bates  <dbates@webkit.org>
19450         Reviewed by Darin Adler.
19452         https://bugs.webkit.org/show_bug.cgi?id=30491
19454         Fixes an issue where pressing return/enter on the keyboard 
19455         in <isindex> does not submit it if is not within a <form>.
19457         According to the HTML 2.0 thru HTML 4.01 spec 
19458         (http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5), the 
19459         <isindex> element does not need to be within a <form> element in 
19460         order to submit it. It can submitted on its own. Also, if present,
19461         the href property of the <base> element will dictate where to submit
19462         the value of the <isindex> element (this is analogous to the action 
19463         property of the <form> element).
19465         Tests: http/tests/misc/isindex-with-no-form-base-href.html
19466                http/tests/misc/isindex-with-no-form.html
19468         * html/HTMLInputElement.cpp:
19469         (WebCore::HTMLInputElement::defaultEventHandler): Calls createTemporaryFormForIsIndex()
19470         to create a <form> if none is present and we are an <isindex> element.
19471         (WebCore::HTMLInputElement::createTemporaryFormForIsIndex): Added.
19472         * html/HTMLInputElement.h:
19474 2009-10-26  Oliver Hunt  <oliver@apple.com>
19476         Reviewed by Maciej Stachowiak.
19478         Crash occurs after launching Newsfire 1.6 for the first time
19479         https://bugs.webkit.org/show_bug.cgi?id=30807
19481         Use a RetainPtr in ObjcBinding to ensure that we adequately
19482         protect the autorelease pool from GC in GC'd applications.
19484         * bridge/objc/objc_instance.h:
19485         * bridge/objc/objc_instance.mm:
19486         (ObjcInstance::ObjcInstance):
19487         (ObjcInstance::virtualEnd):
19489 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19491         Unreviewed.
19493         [Qt] Build fix for QtWebKit after r50125.
19495         * WebCore.pro: Rename TimelineItem to TimelineRecord.
19497 2009-10-26  Matt Mueller  <mattm@chromium.org>
19499         Reviewed by Darin Adler.
19501         Refactor synchronizable property handling to store one shouldSynchronize flag per set of properties rather than one per property.
19503         Fixes reading uninitialized memory in SynchronizableProperty hash function as well as simplifying the code.
19505         https://bugs.webkit.org/show_bug.cgi?id=30658
19507         Covered by running various svg tests under valgrind, ex:
19508         LayoutTests/svg/custom/js-late-mask-and-object-creation.svg
19510         * svg/SynchronizablePropertyController.cpp:
19511         (WebCore::SynchronizableProperties::addProperty):
19512         (WebCore::SynchronizableProperties::synchronize):
19513         (WebCore::SynchronizableProperties::startAnimation):
19514         (WebCore::SynchronizableProperties::stopAnimation):
19515         (WebCore::SynchronizablePropertyController::registerProperty):
19516         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
19517         (WebCore::SynchronizablePropertyController::synchronizeProperty):
19518         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
19519         (WebCore::SynchronizablePropertyController::startAnimation):
19520         (WebCore::SynchronizablePropertyController::stopAnimation):
19521         * svg/SynchronizablePropertyController.h:
19522         (WebCore::SynchronizableProperties::SynchronizableProperties):
19523         (WebCore::SynchronizableProperties::setNeedsSynchronization):
19525 2009-10-26  Kelly Norton  <knorton@google.com>
19527         Reviewed by Timothy Hatcher.
19529         Renames TimelineItem to TimelineRecord and updates all call sites.
19530         https://bugs.webkit.org/show_bug.cgi?id=30785
19532         * GNUmakefile.am: 
19533         * WebCore.gypi:
19534         * WebCore.vcproj/WebCore.vcproj:
19535         * WebCore.xcodeproj/project.pbxproj:
19536         * inspector/InspectorFrontend.cpp:
19537         (WebCore::InspectorFrontend::addRecordToTimeline):
19538         * inspector/InspectorFrontend.h:
19539         * inspector/InspectorTimelineAgent.cpp:
19540         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
19541         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
19542         (WebCore::InspectorTimelineAgent::willLayout):
19543         (WebCore::InspectorTimelineAgent::didLayout):
19544         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
19545         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
19546         (WebCore::InspectorTimelineAgent::willPaint):
19547         (WebCore::InspectorTimelineAgent::didPaint):
19548         (WebCore::InspectorTimelineAgent::willWriteHTML):
19549         (WebCore::InspectorTimelineAgent::didWriteHTML):
19550         (WebCore::InspectorTimelineAgent::didInstallTimer):
19551         (WebCore::InspectorTimelineAgent::didRemoveTimer):
19552         (WebCore::InspectorTimelineAgent::willFireTimer):
19553         (WebCore::InspectorTimelineAgent::didFireTimer):
19554         (WebCore::InspectorTimelineAgent::reset):
19555         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
19556         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
19557         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
19558         * inspector/InspectorTimelineAgent.h:
19559         (WebCore::):
19560         (WebCore::InspectorTimelineAgent::RecordEntry::RecordEntry):
19561         * inspector/TimelineItemFactory.cpp: Removed.
19562         * inspector/TimelineItemFactory.h: Removed.
19563         * inspector/TimelineRecordFactory.cpp: Added.
19564         (WebCore::TimelineRecordFactory::createGenericRecord):
19565         (WebCore::TimelineRecordFactory::createDOMDispatchRecord):
19566         (WebCore::TimelineRecordFactory::createGenericTimerRecord):
19567         (WebCore::TimelineRecordFactory::createTimerInstallRecord):
19568         * inspector/TimelineRecordFactory.h: Added.
19569         (WebCore::TimelineRecordFactory::TimelineRecordFactory):
19570         * inspector/front-end/TimelineAgent.js:
19571         (WebInspector.addRecordToTimeline):
19572         * inspector/front-end/TimelinePanel.js:
19573         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
19574         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
19575         (WebInspector.TimelinePanel.prototype.getRecordTypeName):
19576         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
19578 2009-10-26  Girish Ramakrishnan  <girish@forwardbias.in>
19580         Reviewed by Antti Koivisto.
19582         [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
19583         
19584         When printing, QPrinter's preview mode uses a QPicture to capture the output. The
19585         QPicture holds a reference to the X Pixmap. As a result, the print preview would
19586         update itself when the X Pixmap changes. To prevent the print preview from updating
19587         whenever m_drawable is updated (i.e when the view updates), we create a copy.
19588         
19589         We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap
19590         regardless of the graphicssystem. This is taken care of by
19591         commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6)
19592         
19593         The beauty of this patch is that the newly created X Pixmap is managed by Qt and
19594         it will free the Pixmap whenever the user closes the print preview dialog and
19595         handles the case of displaying multiple preview dialogs nicely.
19596         
19597         All credit to Samuel Rødal for suggesting usage of QPixmap::copy().
19598         
19599         https://bugs.webkit.org/show_bug.cgi?id=30714
19601         * plugins/qt/PluginViewQt.cpp:
19602         (WebCore::PluginView::paint):
19604 2009-10-26  Benjamin Otte  <otte@gnome.org>
19606         Reviewed by Gustavo Noronha.
19608         Don't store properties in the MediaPlayerPrivate class
19610         Access them via the MediaPlayer class instead.
19611         https://bugs.webkit.org/show_bug.cgi?id=30462
19613         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
19614         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
19615         (WebCore::MediaPlayerPrivate::seek):
19616         (WebCore::MediaPlayerPrivate::setVolume):
19617         (WebCore::MediaPlayerPrivate::setRate):
19618         (WebCore::MediaPlayerPrivate::setVisible):
19619         (WebCore::MediaPlayerPrivate::paint):
19620         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
19621         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
19623 2009-10-26  Brian Weinstein  <bweinstein@apple.com>
19625         Reviewed by Timothy Hatcher.
19627         Fixes <http://webkit.org/b/30801>.
19628         Web Inspector: Control + ]/[ on Windows doesn't change Panels.
19629         
19630         In my testing, Windows uses "U+00DB" and "U+00DD" to represent
19631         [ and ], so we should honor those as well.
19633         * inspector/front-end/inspector.js:
19634         (WebInspector.documentKeyDown):
19636 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19638         Reviewed by Darin Adler.
19640         Make .rc files compile on Windows without depending on MFC headers
19641         https://bugs.webkit.org/show_bug.cgi?id=30750
19643         * WebCore.vcproj/QTMovieWin.rc: Use winresrc.h because it exists 
19644         even when MFC is not installed, and is all that's needed here.
19646 2009-10-26  Brent Fulgham  <bfulgham@webkit.org>
19648         Reviewed by Darin Adler.
19650         Build corrections for ENABLE_FILTERS in Windows.
19651         https://bugs.webkit.org/show_bug.cgi?id=30797
19653         Build correction for ENABLE_FILTERS feature.  No new tests needed.
19655         * platform/graphics/filters/FEColorMatrix.cpp: Use MathExtras.h and
19656           its piDouble constant.
19657         * platform/graphics/filters/FEGaussianBlur.cpp: Use MathExtras.h and
19658           its piDouble constant.  Remove unnecessary call to floor used in
19659           the division of an unsigned, converting to int.
19660         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Correct include
19661           style for MathExtras.h.
19663 2009-10-26  Brady Eidson  <beidson@apple.com>
19665         Reviewed by Darin Adler.
19667         <rdar://problem/7289467> and http://webkit.org/b/30798 - REGRESSION (r48687): www.myuhc.com doesn't load.
19669         Test: fast/loader/grandparent-completion-starts-redirect.html
19671         * loader/FrameLoader.cpp:
19672         (WebCore::FrameLoader::completed): Notify all descendants that the load completed, not just direct children.
19674 2009-10-26  Dan Bernstein  <mitz@apple.com>
19676         Reviewed by Beth Dakin.
19678         Re-add CSSPropertyWebkitBackgroundSize in one more place
19680         Fixes transitions/multiple-background-size-transitions.html, transitions/background-transitions.html
19682         * page/animation/AnimationBase.cpp:
19683         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
19685 2009-10-26  Jeremy Orlow  <jorlow@chromium.org>
19687         Reviewed by Dimitri Glazkov.
19689         [V8] Tidy up the DOM Storage runtime flag stuff
19690         https://bugs.webkit.org/show_bug.cgi?id=30794
19692         Clean up the DOM Storage runtime flag stuff to match the new way of doing
19693         things.  No behavioral changes.
19695         * bindings/v8/RuntimeEnabledFeatures.cpp:
19696         * bindings/v8/RuntimeEnabledFeatures.h:
19697         (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
19698         (WebCore::RuntimeEnabledFeatures::databaseEnabled):
19699         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
19700         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
19701         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
19702         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
19703         * bindings/v8/custom/V8DOMWindowCustom.cpp:
19704         (WebCore::ACCESSOR_RUNTIME_ENABLER):
19705         * storage/Storage.cpp:
19706         * storage/Storage.h:
19708 2009-10-26  Brady Eidson  <beidson@apple.com>
19710         Reviewed by Darin Adler.
19712         <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
19714         Test: fast/loader/history-forward-in-head.html
19716         * loader/RedirectScheduler.cpp:
19717         (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
19718           This restores the side effect of an invalid history navigation canceling previous scheduled redirects
19719           and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
19720         (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
19721           the redirect is scheduled.
19723 2009-10-26  Alexey Proskuryakov  <ap@apple.com>
19725         Reviewed by Darin Adler.
19727         https://bugs.webkit.org/show_bug.cgi?id=30049
19728         <rdar://problem/7286002> Manipulating DOM from a script while parsing XHTML can cause a crash
19730         Tests: fast/parser/remove-current-node-parent-x-2.xhtml
19731                fast/parser/remove-current-node-parent-x.xhtml
19733         * dom/XMLTokenizer.h: Store the whole stack of parent nodes - element.parentNode() is
19734         unreliable after DOM manipulation.
19736         * dom/XMLTokenizer.cpp:
19737         (WebCore::XMLTokenizer::pushCurrentNode): Push the new node onto stack.
19738         (WebCore::XMLTokenizer::popCurrentNode): This is now called instead of setCurrentNode when
19739         exiting a node.
19740         (WebCore::XMLTokenizer::clearCurrentNodeStack): We're aborting; or just done parsing. This
19741         replaces setCurrentNode(0).
19742         (WebCore::XMLTokenizer::enterText): Call pushCurrentNode().
19743         (WebCore::XMLTokenizer::exitText): Call popCurrentNode(), removing a long-standing FIXME
19744         (not sure if it was ever practical though - how can a parent become null while adding text?)
19746         * dom/XMLTokenizerLibxml2.cpp:
19747         (WebCore::XMLTokenizer::~XMLTokenizer): Call clearCurrentNodeStack().
19748         (WebCore::XMLTokenizer::startElementNs): Call pushCurrentNode().
19749         (WebCore::XMLTokenizer::endElementNs): Call popCurrentNode() to safely get to a parent. Also
19750         added a check fo script element still being in document - Firefox parses those that aren't,
19751         but doesn't execute them.
19753         * dom/XMLTokenizerQt.cpp:
19754         (WebCore::XMLTokenizer::~XMLTokenizer):
19755         (WebCore::XMLTokenizer::parseStartElement):
19756         (WebCore::XMLTokenizer::parseEndElement):
19757         Match libxml2 version changes.
19759 2009-10-26  Dan Bernstein  <mitz@apple.com>
19761         Reviewed by Beth Dakin.
19763         background-size: X treated as background-size: X X, not background-size: X auto
19764         https://bugs.webkit.org/show_bug.cgi?id=28440
19766         Updated fast/backgrounds/size/resources/parsing-background-size-values.js
19767         and fast/backgrounds/size/resources/parsing-inherit.js
19769         Reinstated -webkit-background-size and kept its behavior of filling in
19770         the second value with the first one; and changed background-size to have
19771         the behavior of filling in the second value with 'auto'.
19773         * css/CSSComputedStyleDeclaration.cpp:
19774         (computedProperties): Re-added CSSPropertyWebkitBackgroundSize.
19775         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
19776         * css/CSSParser.cpp:
19777         (WebCore::CSSParser::parseValue): Ditto.
19778         (WebCore::CSSParser::parseFillSize): Adapted for the new parsing rule.
19779         (WebCore::CSSParser::parseFillProperty): Re-added
19780         CSSPropertyWebkitBackgroundSize.
19781         (WebCore::cssPropertyID): Removed mapping of -webkit-background-size to
19782         background-size.
19783         * css/CSSParser.h:
19784         * css/CSSPropertyNames.in: Re-added -webkit-background-size.
19785         * css/CSSStyleSelector.cpp:
19786         (WebCore::CSSStyleSelector::applyProperty): Re-added
19787         CSSPropertyWebkitBackgroundSize.
19789 2009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19791         Reviewed by Eric Seidel.
19793         [Qt] Use "%lli" to format "long long" on WIN_OS to fix HTML5 WebDB crash
19794         https://bugs.webkit.org/show_bug.cgi?id=30777
19796         No new tests as the crash can be reproduced by existing storage
19797         LayoutTests (by hitting an assert in debug mode Webkit on WIN_OS).
19799         * platform/text/String.cpp:
19800         (WebCore::String::number): Qt's QString::vsprintf does not
19801         understand the "%I64u" format string. Always use the "%lli"
19802         format string for Qt port.
19804 2009-10-26  Tony Chang  <tony@chromium.org>
19806         Reviewed by Eric Seidel.
19808         Roll back r50073 because r50041-50043 were reverted.  r50073 was
19809         a chromium side fix for r50041.
19810         https://bugs.webkit.org/show_bug.cgi?id=30789
19812         * bindings/v8/V8Collection.h:
19813         * bindings/v8/custom/V8CustomBinding.h:
19814         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
19815         (WebCore::getNamedItems):
19816         (WebCore::getItem):
19817         (WebCore::NAMED_PROPERTY_GETTER):
19818         (WebCore::CALLBACK_FUNC_DECL):
19819         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
19820         (WebCore::getNamedItems):
19821         (WebCore::getItem):
19822         (WebCore::NAMED_PROPERTY_GETTER):
19823         (WebCore::CALLBACK_FUNC_DECL):
19824         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
19826 2009-10-26  Geoffrey Garen  <ggaren@apple.com>
19828         Reviewed by Dimitri Glazkov.
19830         Fixed https://bugs.webkit.org/show_bug.cgi?id=30765
19831         REGRESSION (r48701): Removing an event listener causes the one added just after it not to fire
19832         
19833         and related bugs.
19835         If the event listener being removed is prior to the current firing event
19836         iterator, we need to decrement the current firing event iterator in
19837         addition to the endpoint. (Otherwise, shrinking the event listener vector
19838         by one implicity moves the current firing event iterator forward by one.
19839         It's like relativity, only without the planets.)
19840         
19841         Also took the opportunity to change some pointers to references, since
19842         they can't be null.
19844         * dom/EventTarget.cpp:
19845         (WebCore::EventTarget::removeEventListener):
19846         (WebCore::EventTarget::removeAllEventListeners): Update iterator in addition
19847         to end, if need be.
19848         (WebCore::EventTarget::fireEventListeners): Updated for interface changes.
19849         Added a comment to explain a behavior that was implicit enough to be
19850         confusing.
19852         * dom/EventTarget.h:
19853         (WebCore::FiringEventIterator::FiringEventIterator):
19854         (WebCore::EventTarget::isFiringEventListeners): Updated for interface changes.
19856 2009-10-26  Brian Weinstein  <bweinstein@apple.com>
19858         Reviewed by Timothy Hatcher.
19860         Fixes <http://webkit.org/b/30792>.
19861         Web Inspector: When changing resource scope, resource graph can get in weird state.
19862         
19863         If the user was scrolled down while looking at All resources, and then just
19864         selects Fonts, or something that doesn't have many resources, then the graph
19865         will stay scrolled down, even when there is no content there.
19866         
19867         When the filter is updated, scroll to the top of the graph view, so this won't
19868         happen.
19870         * inspector/front-end/AbstractTimelinePanel.js:
19871         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
19873 2009-10-26  Sam Weinig  <sam@webkit.org>
19875         Fix mac clean build.
19877         * html/HTMLOptionsCollection.idl:
19879 2009-10-26  Pavel Feldman  <pfeldman@chromium.org>
19881         Reviewed by Timothy Hatcher.
19883         Web Inspector: Extract AbstractTimelinePanel that will be a base
19884         class for ResourcesPanel and TimelinePanel.
19886         https://bugs.webkit.org/show_bug.cgi?id=30776
19888         * WebCore.gypi:
19889         * WebCore.vcproj/WebCore.vcproj:
19890         * inspector/front-end/AbstractTimelinePanel.js: Added.
19891         (WebInspector.AbstractTimelinePanel):
19892         (WebInspector.AbstractTimelinePanel.prototype.get categories):
19893         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
19894         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
19895         (WebInspector.AbstractTimelinePanel.prototype.createTimelinePanels):
19896         (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel.createFilterElement):
19897         (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel):
19898         (WebInspector.AbstractTimelinePanel.prototype.filter):
19899         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
19900         (WebInspector.AbstractTimelinePanel.prototype._createGraph):
19901         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
19902         (WebInspector.AbstractTimelinePanel.prototype._updateSummaryGraph):
19903         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
19904         (WebInspector.AbstractTimelinePanel.prototype.get needsRefresh):
19905         (WebInspector.AbstractTimelinePanel.prototype.set needsRefresh):
19906         (WebInspector.AbstractTimelinePanel.prototype.refreshIfNeeded):
19907         (WebInspector.AbstractTimelinePanel.prototype.show):
19908         (WebInspector.AbstractTimelinePanel.prototype.resize):
19909         (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
19910         (WebInspector.TimelineCalculator):
19911         (WebInspector.TimelineCalculator.prototype.computeSummaryValues):
19912         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
19913         (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
19914         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
19915         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
19916         (WebInspector.TimelineCalculator.prototype.reset):
19917         (WebInspector.TimelineCalculator.prototype._value):
19918         (WebInspector.TimelineCalculator.prototype.formatValue):
19919         * inspector/front-end/ResourceCategory.js:
19920         (WebInspector.ResourceCategory):
19921         * inspector/front-end/ResourcesPanel.js:
19922         (WebInspector.ResourcesPanel):
19923         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get toolbarItemLabel):
19924         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
19925         (WebInspector.ResourcesPanel.prototype.get categories):
19926         (WebInspector.ResourcesPanel.prototype.showCategory):
19927         (WebInspector.ResourcesPanel.prototype.hideCategory):
19928         (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
19929         (WebInspector.ResourcesPanel.prototype.populateSidebar):
19930         (WebInspector.ResourcesPanel.prototype.createPanelEnabler):
19931         (WebInspector.ResourcesPanel.prototype.createStatusbarButtons):
19932         (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
19933         (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
19934         (WebInspector.ResourcesPanel.prototype.show):
19935         (WebInspector.ResourcesPanel.prototype.resize):
19936         (WebInspector.ResourcesPanel.prototype.reset):
19937         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
19938         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
19939         (WebInspector.ResourceTimeCalculator):
19940         (WebInspector.ResourceTransferSizeCalculator):
19941         (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
19942         * inspector/front-end/SummaryBar.js:
19943         (WebInspector.SummaryBar.prototype.update):
19944         * inspector/front-end/WebKit.qrc:
19945         * inspector/front-end/inspector.html:
19946         * inspector/front-end/inspector.js:
19947         (WebInspector.loaded):
19949 2009-10-26  Avi Drissman  <avi@google.com>
19951         Reviewed by Darin Adler.
19953         Use Helvetica in the Inspector as intended.
19954         https://bugs.webkit.org/show_bug.cgi?id=30787
19956         * inspector/front-end/inspector.css:
19958 2009-10-26  Nate Chapin  <japhet@chromium.org>
19960         Reviewed by Alexey Proskuryakov.
19962         Don't set window.opener to 0 for the current FrameLoader if a noreferrer link was clicked, only suppress opener in a new frame.
19963         https://bugs.webkit.org/show_bug.cgi?id=30781
19965         * loader/FrameLoader.cpp:
19966         (WebCore::FrameLoader::urlSelected): Don't suppress opener in the current frame for noreferrer navigations.
19968 2009-10-26  Ryosuke Niwa  <rniwa@webkit.org>
19970         Reviewed by Eric Seidel.
19972         Data loss occurs when unbolding nested bold tags.
19973         https://bugs.webkit.org/show_bug.cgi?id=30083
19975         Fixes the loop in swapInNodePreservingAttributesAndChildren by saving nextSibling() of child
19976         to a temporary valuable.  It was originally calling nextSibling() after appending the child
19977         to new parent, in which case, nextSibling is always 0.
19979         Test: editing/style/unbolding-nested-b.html
19981         * editing/ReplaceNodeWithSpanCommand.cpp:
19982         (WebCore::swapInNodePreservingAttributesAndChildren):
19984 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
19986         Reviewed by Darin Adler.
19988         Storage events should use Document::url() rather than documentURI()
19989         https://bugs.webkit.org/show_bug.cgi?id=30535
19991         Storage events should use Document::url() rather than Document::documentURI()
19992         per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
19994         Test: storage/domstorage/documentURI.html
19996         * storage/StorageEventDispatcher.cpp:
19997         (WebCore::StorageEventDispatcher::dispatch):
19999 2009-10-26  Sam Weinig  <sam@webkit.org>
20001         Rubber-stamped by Darin Adler.
20003         Rollout r50041-50043.  The HTML5 spec changed to make HTMLOptionsCollection
20004         inherit from HTMLCollection.
20006         * GNUmakefile.am:
20007         * WebCore.gypi:
20008         * WebCore.pro:
20009         * WebCore.vcproj/WebCore.vcproj:
20010         * WebCore.xcodeproj/project.pbxproj:
20011         * bindings/js/JSHTMLAllCollectionCustom.cpp:
20012         (WebCore::getNamedItems):
20013         (WebCore::callHTMLAllCollection):
20014         (WebCore::JSHTMLAllCollection::nameGetter):
20015         (WebCore::JSHTMLAllCollection::item):
20016         (WebCore::JSHTMLAllCollection::namedItem):
20017         * bindings/js/JSHTMLCollectionCustom.cpp:
20018         (WebCore::getNamedItems):
20019         (WebCore::callHTMLCollection):
20020         (WebCore::JSHTMLCollection::nameGetter):
20021         (WebCore::JSHTMLCollection::item):
20022         (WebCore::JSHTMLCollection::namedItem):
20023         (WebCore::toJS):
20024         * bindings/js/JSHTMLCollectionFunctions.h: Removed.
20025         * bindings/js/JSHTMLDocumentCustom.cpp:
20026         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
20027         (WebCore::JSHTMLOptionsCollection::length):
20028         (WebCore::JSHTMLOptionsCollection::indexSetter):
20029         * bindings/objc/DOMHTML.mm:
20030         (kitClass):
20031         * bindings/objc/DOMUtility.mm:
20032         (JSC::createDOMWrapper):
20033         * bindings/scripts/CodeGeneratorJS.pm:
20034         * html/HTMLCollection.idl:
20035         * html/HTMLOptionsCollection.idl:
20037 2009-10-26  Brent Fulgham  <bfulgham@webkit.org>
20039         Reviewed by Adam Roben.
20041         Build fix for ENABLE_FILTERS under Windows.
20042         https://bugs.webkit.org/show_bug.cgi?id=30762
20044         Build correction for ENABLE_FILTERS feature.  No new tests needed.
20046         * WebCore.vcproj/WebCore.vcproj:  Make the following changes:
20047           (1) Create a new 'filters' sub-folder of the platform/graphics 
20048               folder to properly show the sources held in this directory.
20049           (2) Move the files that are currently shown in svn/graphics/filters
20050               to platform/graphics/filters (where they actually live on disk).
20051           (3) Add the missing SVGFilter, SVGFilterBuilder, and SVGFETile to
20052               the project so they are built.
20053           (4) Remove SVGFEFloodElement.cpp from the build, since it is already
20054               being compiled by SVGAllInOne.cpp.  Its presence as a separate
20055               entity is causing a linker warning for duplicate symbols.
20056           (5) Add ImageBuffer.cpp to the build to support color space
20057               calculations for non-CG builds.
20058         * WebCore.vcproj/WebCoreCommon.vsprops: Add the platform/graphics/filters
20059           path to the search paths in the project.
20061 2009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
20063         Reviewed by Timothy Hatcher.
20065         console.assert should prefix messages with "Assertion failed: "
20066         https://bugs.webkit.org/show_bug.cgi?id=19135
20068         * English.lproj/localizedStrings.js:
20069         * inspector/front-end/ConsoleView.js:
20070         (WebInspector.ConsoleMessage.prototype.toMessageElement): Append "Assertion failed: " for AssertMessageType.
20071         (WebInspector.ConsoleMessage.prototype.toString):
20072         * page/Console.cpp:
20073         (WebCore::Console::assertCondition): Use AssertMessageType.
20074         * page/Console.h:
20075         (WebCore::MessageType): Added AssertMessageType.
20077 2009-10-26  Rahul Kuchhal  <kuchhal@chromium.org>
20079         Reviewed by Eric Seidel.
20081         Prevent crash when optgroup element is empty by adding a NULL check.
20083         https://bugs.webkit.org/show_bug.cgi?id=30365
20085         Test: fast/forms/select-empty-optgroup.html
20087         * dom/SelectElement.cpp:
20088         (WebCore::SelectElement::appendFormData):
20090 2009-10-21  Steven Knight  <sgk@chromium.org>
20092         Reviewed by David Levin.
20094         Refactor gyp for separate webcore_bindings{,_sources} targets.
20096         https://bugs.webkit.org/show_bug.cgi?id=30447
20098         Handle long link lines by building .idl-generated bindings in a
20099         separate webcore_bindings library target.  Avoid Visual Studio
20100         dependency issues by building additional generated .cpp and .h files
20101         in a separate webcore_bindings_sources target.
20103         Chrome should still build and test successfully.
20105         * WebCore.gyp/WebCore.gyp:
20106         * WebCore.gypi:
20108 2009-10-26  Mike Belshe  <mike@belshe.com>
20110         Reviewed by Darin Fisher.
20112         Make the number of connections for chromium controlled by
20113         chromium rather than by ResourceRequestBase.
20114         https://bugs.webkit.org/show_bug.cgi?id=30661
20116         * platform/network/ResourceRequestBase.cpp:
20117         * platform/network/chromium/ResourceRequest.cpp:
20119 2009-10-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
20121         Unreviewed. make distcheck build fixes.
20123         * GNUmakefile.am:
20125 2009-10-26  Anton Muhin  <antonm@chromium.org>
20127         Reviewed by Dimitri Glazkov.
20129         Unbreak Chromium build: that requires adding custom implementations
20130         for HTMLOptionsCollection's item and namedItem.  Keep v8 binding
20131         close to JSC bindings as well.
20132         https://bugs.webkit.org/show_bug.cgi?id=30780
20134         * bindings/v8/V8Collection.h:
20135         (WebCore::getNamedItemsFromCollection):
20136         (WebCore::getItemFromCollection):
20137         * bindings/v8/custom/V8CustomBinding.h:
20138         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
20139         (WebCore::NAMED_PROPERTY_GETTER):
20140         (WebCore::CALLBACK_FUNC_DECL):
20141         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
20142         (WebCore::NAMED_PROPERTY_GETTER):
20143         (WebCore::CALLBACK_FUNC_DECL):
20144         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
20145         (WebCore::CALLBACK_FUNC_DECL):
20147 2009-10-23  Alexey Proskuryakov  <ap@apple.com>
20149         Reviewed by Adam Barth and Darin Adler.
20151         https://bugs.webkit.org/show_bug.cgi?id=30723
20152         <rdar://problem/6189415> Input names added to multipart/form-data headers need to be escaped.
20154         Test: http/tests/security/escape-form-data-field-names.html
20156         * platform/network/FormDataBuilder.cpp:
20157         (WebCore::appendQuotedString):
20158         (WebCore::FormDataBuilder::beginMultiPartHeader):
20159         (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
20160         Percent-escape line breaks and quotation marks.
20162 2009-10-26  Kelly Norton  <knorton@google.com>
20164         Reviewed by Pavel Feldman.
20166         Adds DOMTimer support to InspectorTimelineAgent.
20167         https://bugs.webkit.org/show_bug.cgi?id=30467
20169         * inspector/InspectorTimelineAgent.cpp: Added timer support and fixed some method names.
20170         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
20171         (WebCore::InspectorTimelineAgent::didLayout):
20172         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
20173         (WebCore::InspectorTimelineAgent::didPaint):
20174         (WebCore::InspectorTimelineAgent::didWriteHTML):
20175         (WebCore::InspectorTimelineAgent::didInstallTimer): Added.
20176         (WebCore::InspectorTimelineAgent::didRemoveTimer): Added.
20177         (WebCore::InspectorTimelineAgent::willFireTimer): Added.
20178         (WebCore::InspectorTimelineAgent::didFireTimer): Added.
20179         (WebCore::InspectorTimelineAgent::addItemToTimeline): Added.
20180         (WebCore::InspectorTimelineAgent::didCompleteCurrentTimelineItem): Renamed.
20181         * inspector/InspectorTimelineAgent.h:
20182         (WebCore::):
20183         * inspector/TimelineItemFactory.cpp: Add methods for timer-related ScriptObjects.
20184         (WebCore::TimelineItemFactory::createGenericTimerTimelineItem):
20185         (WebCore::TimelineItemFactory::createTimerInstallTimelineItem):
20186         * inspector/TimelineItemFactory.h:
20187         * page/DOMTimer.cpp: Added instrumentation points.
20188         (WebCore::DOMTimer::install):
20189         (WebCore::DOMTimer::removeById):
20190         (WebCore::DOMTimer::fired):
20192 2009-10-26  Simon Fraser  <simon.fraser@apple.com>
20194         Reviewed by Sam Weinig.
20196         <rdar://problem/6988966> Hardware layers do not show up in page snapshots
20198         Add a method that gets called when snapshotting Canvas3DLayers for page snapshots,
20199         that allows the layer to return a CGImageRef of its contents.
20200         
20201         * platform/graphics/mac/Canvas3DLayer.h:
20202         * platform/graphics/mac/Canvas3DLayer.mm:
20203         (-[Canvas3DLayer copyImageSnapshotWithColorSpace:]):
20205 2009-10-26  Yury Semikhatsky  <yurys@chromium.org>
20207         Reviewed by Pavel Feldman.
20209         Pass "console" as object group when evaluating selection.
20211         https://bugs.webkit.org/show_bug.cgi?id=30738
20213         * inspector/front-end/SourceFrame.js:
20214         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
20216 2009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
20218         Reviewed by Pavel Feldman.
20220         Fix for Console not showing repeat count when repeatedly logging an Event
20221         https://bugs.webkit.org/show_bug.cgi?id=30324
20223         * inspector/ConsoleMessage.cpp:
20224         (WebCore::ConsoleMessage::addToConsole):
20225         (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
20226         * inspector/ConsoleMessage.h:
20227         * inspector/InspectorController.cpp:
20228         (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
20229         * inspector/InspectorFrontend.cpp:
20230         (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
20231         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
20232         * inspector/InspectorFrontend.h:
20233         * inspector/front-end/ConsoleView.js:
20234         (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
20235         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
20236         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
20237         (WebInspector.ConsoleView.prototype.clearMessages):
20238         (WebInspector.ConsoleMessage):
20239         (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
20240         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
20241         * inspector/front-end/inspector.js:
20242         (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
20243         (WebInspector.updateConsoleMessageRepeatCount): Added.
20245 2009-10-26  Chris Fleizach  <cfleizach@apple.com>
20247         Reviewed by Darin Adler.
20249         crash with AX on when an image map contains an anchor tag
20250         https://bugs.webkit.org/show_bug.cgi?id=30739
20252         Tests: accessibility/crashing-a-tag-in-map.html
20254         * accessibility/AccessibilityRenderObject.cpp:
20255         (WebCore::AccessibilityRenderObject::addChildren):
20257 2009-10-26  Steve Block  <steveblock@google.com>
20259         Reviewed by Eric Seidel.
20261         Adds feature ENABLE guards to V8 bindings.
20262         https://bugs.webkit.org/show_bug.cgi?id=30697
20264         This adds guards for the following features to the V8 bindings,
20265         to allow builds with V8 to succeed when these features are not enabled.
20266         - DATABASE
20267         - WORKERS
20268         - SHARED_WORKERS
20269         - SVG
20270         - XPATH
20271         - XSLT
20272         - INSPECTOR
20274         This is a build fix only, no new tests required.
20276         * bindings/v8/DOMObjectsInclude.h: Modified.
20277         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified.
20278         * bindings/v8/V8Index.cpp: Modified.
20279         * bindings/v8/V8Index.h: Modified.
20281 2009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
20283         Reviewed by Xan Lopez.
20285         https://bugs.webkit.org/show_bug.cgi?id=25679
20286         [Gtk] Improve accessibility of focusable lists
20288         Fixes the issues with the Atk states exposed for ListBoxOption
20290         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
20291         (setAtkStateSetFromCoreObject):
20293 2009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
20295         Reviewed by Xan Lopez.
20297         https://bugs.webkit.org/show_bug.cgi?id=27085
20298         [Gtk] Incorrect rendering of list
20300         Adds a way for platforms to indicate that a particular object
20301         should not be ignored.
20303         * accessibility/AccessibilityObject.h:
20304         * accessibility/chromium/AccessibilityObjectChromium.cpp:
20305         * accessibility/gtk/AccessibilityObjectAtk.cpp:
20306         * accessibility/mac/AccessibilityObjectMac.mm:
20307         * accessibility/qt/AccessibilityObjectQt.cpp:
20308         * accessibility/win/AccessibilityObjectWin.cpp:
20309         * accessibility/wx/AccessibilityObjectWx.cpp:
20310         (AccessibilityObject::accessibilityPlatformIncludesObject):
20311         * accessibility/AccessibilityRenderObject.cpp:
20312         (AccessibilityRenderObject::accessibilityIsIgnored):
20314 2009-10-26  Kinuko Yasuda  <kinuko@google.com>
20316         Reviewed by Jan Alonzo.
20318         Bug 30619: [Linux] Menu key doesn't work
20319         https://bugs.webkit.org/show_bug.cgi?id=30619
20321         Test: manual-tests/keyboard-menukey-event.html
20322         No new layout tests: testing this will require changes in the test
20323         controller in a platform-specific way.
20325         * platform/chromium/KeyCodeConversionGtk.cpp:
20326         (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
20327         GDK_Menu to return VKEY_APPS instead of VKEY_MENU.
20328         * platform/gtk/KeyEventGtk.cpp:
20329         (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
20330         GDK_Menu to return V_APPS instead of VK_MENU.
20332 2009-10-25  Anton Muhin  <antonm@chromium.org>
20334         Reviewed by Adam Barth.
20336         Reuse already fetched proxy.
20337         https://bugs.webkit.org/show_bug.cgi?id=30747
20339         * bindings/v8/V8DOMWrapper.cpp:
20340         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
20342 2009-10-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
20344         Unreviewed build fix.
20346         Build fix for WIN_OS if Netscape plugin support is turned off
20347         https://bugs.webkit.org/show_bug.cgi?id=30753
20349         * plugins/PluginDatabase.cpp:
20351 2009-10-25  Hironori Bono  <hbono@chromium.org>
20353         Reviewed by Darin Adler.
20355         A quick fix for Bug 29103.
20356         Since String::startsWith() cannot fold non-ASCII characters, this change folds the prefix string
20357         and the option string before calling String::startsWith().
20358         https://bugs.webkit.org/show_bug.cgi?id=29103
20360         Tests: fast/forms/listbox-typeahead-cyrillic.html
20361                fast/forms/listbox-typeahead-greek.html
20363         * dom/SelectElement.cpp:
20364         (WebCore::SelectElement::typeAheadFind):
20366 2009-10-25  Keishi Hattori  <casey.hattori@gmail.com>
20368         Reviewed by Timothy Hatcher.
20370         Web Inspector: Expanding a node in the Console should not show the element in Elements panel
20371         https://bugs.webkit.org/show_bug.cgi?id=30749
20373         * inspector/front-end/ElementsTreeOutline.js:
20374         (WebInspector.ElementsTreeElement.prototype.onmousedown): Check if inside disclosure triangle.
20376 2009-10-25  Sam Weinig  <sam@webkit.org>
20378         Reviewed by Dan Bernstein.
20380         Fix for https://bugs.webkit.org/show_bug.cgi?id=30751
20381         HTMLOptionsCollection should not inherit from HTMLCollection
20383         * GNUmakefile.am:
20384         * WebCore.gypi:
20385         * WebCore.pro:
20386         * WebCore.vcproj/WebCore.vcproj:
20387         * WebCore.xcodeproj/project.pbxproj:
20388         Added JSHTMLCollectionFunctions.h
20390         * bindings/js/JSHTMLAllCollectionCustom.cpp:
20391         (WebCore::callHTMLAllCollection):
20392         (WebCore::JSHTMLAllCollection::nameGetter):
20393         (WebCore::JSHTMLAllCollection::item):
20394         (WebCore::JSHTMLAllCollection::namedItem):
20395         * bindings/js/JSHTMLCollectionCustom.cpp:
20396         (WebCore::callHTMLCollection):
20397         (WebCore::JSHTMLCollection::nameGetter):
20398         (WebCore::JSHTMLCollection::item):
20399         (WebCore::JSHTMLCollection::namedItem):
20400         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
20401         (WebCore::callHTMLCollection):
20402         (WebCore::JSHTMLOptionsCollection::getCallData):
20403         (WebCore::JSHTMLOptionsCollection::canGetItemsForName):
20404         (WebCore::JSHTMLOptionsCollection::nameGetter):
20405         (WebCore::JSHTMLOptionsCollection::indexSetter):
20406         (WebCore::JSHTMLOptionsCollection::item):
20407         (WebCore::JSHTMLOptionsCollection::namedItem):
20408         Refactor to use generic implementation of HTMLCollection bindings functions
20409         from JSHTMLCollectionFunctions.h
20411         * bindings/js/JSHTMLCollectionFunctions.h: Added.
20412         (WebCore::getCollectionNamedItems):
20413         (WebCore::getCollectionItems):
20414         (WebCore::callHTMLCollectionGeneric):
20415         Added generic functions that JSHTMLCollection, JSHTMLAllCollection and
20416         JSHTMLOptionsCollection can all use.
20418         * bindings/js/JSHTMLDocumentCustom.cpp: Add include of JSHTMLAllCollection.h
20419         for toJS on document.all.
20421         * bindings/objc/DOMHTML.mm:
20422         * bindings/objc/DOMUtility.mm:
20423         (JSC::createDOMWrapper):
20424         Remove special cases for HTMLOptionsCollection.
20426         * bindings/scripts/CodeGeneratorJS.pm:
20427         * html/HTMLAllCollection.idl:
20428         * html/HTMLCollection.idl:
20429         * html/HTMLOptionsCollection.idl:
20431 2009-10-24  Keishi Hattori  <casey.hattori@gmail.com>
20433         Reviewed by Timothy Hatcher.
20435         WebInspector: Fixed issue with IME inside console
20436         https://bugs.webkit.org/show_bug.cgi?id=30660
20438         * inspector/front-end/ConsoleView.js:
20439         (WebInspector.ConsoleView.prototype._promptKeyDown):
20440         * inspector/front-end/DatabaseQueryView.js:
20441         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
20442         * inspector/front-end/inspector.js:
20443         (WebInspector.loaded):
20444         (WebInspector.searchKeyDown): Moved performSearch here from WebInspector.searchKeyUp.
20445         (WebInspector.startEditing.element.handleKeyEvent):
20446         (WebInspector.startEditing):
20447         * inspector/front-end/utilities.js:
20448         (isEnterKey): Added. Check if in IME.
20450 2009-10-24  Brian Weinstein  <bweinstein@apple.com>
20452         Reviewed by Timothy Hatcher.
20454         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30752>.
20455         Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX.
20456         
20457         Have the scope bars select one scope by default, but if the multiple selection key
20458         is pressed, allow for multiple selection.
20460         * inspector/front-end/ConsoleView.js:
20461         (WebInspector.ConsoleView):
20462         (WebInspector.ConsoleView.prototype._updateFilter):
20463         (WebInspector.ConsoleView.prototype.filter):
20464         * inspector/front-end/ResourcesPanel.js:
20465         (WebInspector.ResourcesPanel):
20466         (WebInspector.ResourcesPanel.prototype.filter):
20467         (WebInspector.ResourcesPanel.prototype._updateFilter):
20469 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20471         Make the scope bars in the Web Inspector match other scope bars in Mac OS X.
20472         Also cleans up the CSS to use classes instead of ID selectors.
20474         https://bugs.webkit.org/show_bug.cgi?id=28186
20476         Reviewed by Dan Bernstein.
20478         * inspector/front-end/ResourcesPanel.js: Add the scope-bar class.
20479         * inspector/front-end/inspector.css: Lots of changes to make it look right.
20480         * inspector/front-end/inspector.html: Add the scope-bar class.
20482 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20484         Fix selecting Resources in the Web Inspector's Resources panel.
20486         https://bugs.webkit.org/show_bug.cgi?id=30743
20488         Reviewed by Pavel Feldman.
20490         * inspector/front-end/ResourcesPanel.js:
20491         (WebInspector.ResourcesPanel.prototype.isCategoryVisible): Added.
20492         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): Call
20493         isCategoryVisible on the ResourcesPanel.
20495 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20497         Fix the Scope Bar in the Web Inspector's Resource panel, so that selecting
20498         All will deselect the other filters.
20500         https://bugs.webkit.org/show_bug.cgi?id=30744
20502         Reviewed by Pavel Feldman.
20504         * inspector/front-end/ResourcesPanel.js:
20505         (WebInspector.ResourcesPanel.createFilterElement): Better syntax.
20506         (WebInspector.ResourcesPanel):
20507         (WebInspector.ResourcesPanel.prototype.filter): Use a normal for loop,
20508         and the child variable instead of target in the loop. Other clean up.
20510 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20512         Make resizing the Web Inspector's Elements panel sidebar work again.
20513         Also makes Resources panel use the sidebar code in Panel.
20515         https://bugs.webkit.org/show_bug.cgi?id=30742
20517         Reviewed by Pavel Feldman.
20519         * inspector/front-end/Panel.js:
20520         (WebInspector.Panel): Don't create the sidebar with an argument.
20521         (WebInspector.Panel.prototype.show): Call updateSidebarWidth.
20522         (WebInspector.Panel.prototype.handleKeyEvent): Call handleSidebarKeyEvent.
20523         (WebInspector.Panel.prototype.handleSidebarKeyEvent): Added.
20524         (WebInspector.Panel.prototype.createSidebar): Renamed from _createSidebar.
20525         (WebInspector.Panel.prototype._sidebarDragging): Call updateSidebarWidth.
20526         (WebInspector.Panel.prototype.updateSidebarWidth): Renamed from _updateSidebarWidth.
20527         (WebInspector.Panel.prototype.setSidebarWidth): Added. Called by updateSidebarWidth.
20528         (WebInspector.Panel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
20529         * inspector/front-end/ProfilesPanel.js:
20530         (WebInspector.ProfilesPanel): Call createSidebar.
20531         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
20532         * inspector/front-end/ResourcesPanel.js:
20533         (WebInspector.ResourcesPanel.prototype.show): Remove call to _updateSidebarWidth.
20534         (WebInspector.ResourcesPanel.prototype.showResource): Call updateSidebarWidth
20535         (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Ditto.
20536         (WebInspector.ResourcesPanel.prototype.setSidebarWidth): Added.
20537         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): Added.
20538         * inspector/front-end/StoragePanel.js:
20539         (WebInspector.StoragePanel): Call createSidebar.
20540         (WebInspector.StoragePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
20541         * inspector/front-end/TimelinePanel.js:
20542         (WebInspector.TimelinePanel): Call createSidebar.
20543         (WebInspector.TimelinePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
20545 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20547         Call updateSelection() in a few places so hovering in the Web Inspector's
20548         Elements panel always has the correct row selection height.
20550         https://bugs.webkit.org/show_bug.cgi?id=30735
20552         Reviewed by Pavel Feldman.
20554         * inspector/front-end/ElementsTreeOutline.js:
20555         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): Call updateSelection().
20556         (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): Ditto.
20557         * inspector/front-end/inspector.css: Prevent text wrapping in the middle of the add attribute text.
20559 2009-10-24  Timothy Hatcher  <timothy@apple.com>
20561         Remove the re-root tree feature from the Web Inspector's
20562         Elements panel. This feature wasn't super useful and gets
20563         in the way of double-click to edit.
20565         https://bugs.webkit.org/show_bug.cgi?id=30736
20567         Reviewed by Pavel Feldman.
20569         * inspector/front-end/ElementsTreeOutline.js:
20570         (WebInspector.ElementsTreeElement.prototype.ondblclick):
20572 2009-10-24  Anton Muhin  <antonm@chromium.org>
20574         Reviewed by Adam Barth.
20576         Implements ReturnsNew hint for V8 bindings generation code.
20577         https://bugs.webkit.org/show_bug.cgi?id=30745
20579         * bindings/scripts/CodeGeneratorV8.pm:
20580         * bindings/v8/V8DOMWrapper.h:
20581         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
20583 2009-10-24  Dan Bernstein  <mitz@apple.com>
20585         Reviewed by Sam Weinig.
20587         Missing images at 350.org due to wrong URLs
20588         https://bugs.webkit.org/show_bug.cgi?id=30748
20590         Test: fast/dom/HTMLImageElement/parse-src.html
20592         * dom/Element.cpp:
20593         (WebCore::Element::getURLAttribute): Pass the attribute value through deprecateParseURL().
20594         This matches what the Objective-C bindings do, as well as what HTMLImageLoader::sourceURI()
20595         and SVGImageLoader::sourceURI() do.
20597 2009-10-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
20599         Unreviewed.
20601         [Qt] Build fix for QtWebKit after r50013.
20603         * WebCore.pro:
20605 2009-10-24  Dimitri Glazkov  <dglazkov@chromium.org>
20607         Unreviewed, build fix.
20609         [V8] Fix up to accommodate for HTMLAllCollection changes in
20610         http://trac.webkit.org/changeset/49998.
20612         * WebCore.gypi:
20613         * bindings/scripts/CodeGeneratorV8.pm:
20614         * bindings/v8/custom/V8CustomBinding.h:
20615         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
20617 2009-10-23  Dan Bernstein  <mitz@apple.com>
20619         Reviewed by Alexey Proskuryakov.
20621         <rdar://problem/7294131> Assertion failure in AuthenticationMac at
20622         mac(const Credential&) after authenticating to MobileMe Gallery movie
20624         * platform/network/Credential.cpp:
20625         (WebCore::Credential::Credential): Initialize m_persistence.
20626         (WebCore::Credential::isEmpty): Made this method const.
20627         * platform/network/Credential.h:
20628         * platform/network/mac/AuthenticationMac.mm:
20629         (WebCore::mac): Return nil if the Credential is empty.
20631 2009-10-23  Brian Weinstein  <bweinstein@apple.com>
20633         Reviewed by Timothy Hatcher.
20635         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30617>.
20636         Web Inspector: Resources Scope Bar Should Allow Combinations.
20637         
20638         Refactor the filtering in ResourcePanel to make it match ConsoleView,
20639         and add a divider between All, and the other choices of Resource types.
20641         * inspector/front-end/ResourcesPanel.js:
20642         (WebInspector.ResourcesPanel):
20643         (WebInspector.ResourcesPanel.prototype.filter):
20644         (WebInspector.ResourcesPanel.prototype._updateFilter):
20645         * inspector/front-end/inspector.css:
20647 2009-10-23  Chris Evans  <cevans@chromium.org>
20649         Reviewed by Adam Barth.
20651         Ignore the Refresh header if we're in view source mode.
20653         https://bugs.webkit.org/show_bug.cgi?id=27239
20655         Test: http/tests/security/view-source-no-refresh.html
20657         * loader/FrameLoader.cpp: ignore Refresh in view-source mode.
20659 2009-10-23  Alexey Proskuryakov  <ap@apple.com>
20661         Reviewed by Sam Weinig.
20663         https://bugs.webkit.org/show_bug.cgi?id=30734
20664         Remove XMLTokenizer::m_currentNodeIsReferenced
20666         No change in behavior, no tests.
20668         * dom/XMLTokenizer.cpp:
20669         (WebCore::XMLTokenizer::setCurrentNode):
20670         * dom/XMLTokenizer.h:
20671         Don't store a boolean for the current node being the document - we can always check for that.
20673         * dom/XMLTokenizerLibxml2.cpp:
20674         (WebCore::XMLTokenizer::XMLTokenizer):
20675         * dom/XMLTokenizerQt.cpp:
20676         (WebCore::XMLTokenizer::XMLTokenizer):
20677         A fragment passed to XMLTokenizer is never null - in fact, the first thing we do is dereference
20678         it unconditionally, and then begin checking it for null, as if it could help.
20680 2009-10-23  Beth Dakin  <bdakin@apple.com>
20682         No review since this is a build fix.
20684         Build fix for the Mac. (Build is only broken when SVG filters are 
20685         enabled.)
20687         Labelled these function static.
20688         * platform/graphics/filters/FEComponentTransfer.cpp:
20689         (WebCore::identity):
20690         (WebCore::table):
20691         (WebCore::discrete):
20692         (WebCore::linear):
20693         (WebCore::gamma):
20694         * platform/graphics/filters/FEGaussianBlur.cpp:
20695         (WebCore::boxBlur):
20697 2009-10-23  Pavel Feldman  <pfeldman@chromium.org>
20699         Reviewed by Timothy Hatcher.
20701         Web Inspector: Implement a Timeline panel.
20703         https://bugs.webkit.org/show_bug.cgi?id=30725
20705         * WebCore.gypi:
20706         * WebCore.vcproj/WebCore.vcproj:
20707         * inspector/front-end/Images/timelineIcon.png: Added.
20708         * inspector/front-end/TimelineAgent.js:
20709         (WebInspector.addItemToTimeline):
20710         (WebInspector.timelineProfilerWasStarted):
20711         (WebInspector.timelineProfilerWasStopped):
20712         * inspector/front-end/TimelinePanel.js: Added.
20713         (WebInspector.TimelinePanel):
20714         (WebInspector.TimelinePanel.prototype.toolbarItemClass.get toolbarItemLabel):
20715         (WebInspector.TimelinePanel.prototype.get statusBarItems):
20716         (WebInspector.TimelinePanel.prototype.handleKeyEvent):
20717         (WebInspector.TimelinePanel.prototype.timelineWasStarted):
20718         (WebInspector.TimelinePanel.prototype.timelineWasStopped):
20719         (WebInspector.TimelinePanel.prototype.addItemToTimeline):
20720         (WebInspector.TimelinePanel.prototype._innerAddItemToTimeline):
20721         (WebInspector.TimelinePanel.prototype._toggleTimelineButton):
20722         (WebInspector.TimelinePanel.prototype.setMainViewWidth):
20723         (WebInspector.TimelinePanel.prototype.getItemTypeName):
20724         (WebInspector.TimelineRecordTreeElement):
20725         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
20726         * inspector/front-end/WebKit.qrc:
20727         * inspector/front-end/inspector.css:
20728         * inspector/front-end/inspector.html:
20729         * inspector/front-end/inspector.js:
20730         (WebInspector._createPanels):
20732 2009-10-23  Joseph Pecoraro  <joepeck@webkit.org>
20734         Reviewed by Timothy Hatcher.
20736         Web Inspector: Clash Between Search's onkeyup and incremental search events
20737         https://bugs.webkit.org/show_bug.cgi?id=30731
20739         * inspector/front-end/inspector.js:
20740         (WebInspector.performSearch): prevent incremental search event from clobbering a forced search
20742 2009-10-23  Kelly Norton  <knorton@google.com>
20744         Reviewed by Pavel Feldman.
20746         Removes the need for C++ Timeline types in InspectorTimelineAgent in favor
20747         of ScriptObjects.
20748         https://bugs.webkit.org/show_bug.cgi?id=30707
20750         * GNUmakefile.am:
20751         * WebCore.vcproj/WebCore.vcproj:
20752         * WebCore.xcodeproj/project.pbxproj:
20753         * inspector/DOMDispatchTimelineItem.cpp: Removed.
20754         * inspector/DOMDispatchTimelineItem.h: Removed.
20755         * inspector/InspectorTimelineAgent.cpp:
20756         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
20757         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
20758         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
20759         (WebCore::InspectorTimelineAgent::willLayout):
20760         (WebCore::InspectorTimelineAgent::didLayout):
20761         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
20762         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
20763         (WebCore::InspectorTimelineAgent::willPaint):
20764         (WebCore::InspectorTimelineAgent::didPaint):
20765         (WebCore::InspectorTimelineAgent::willWriteHTML):
20766         (WebCore::InspectorTimelineAgent::didWriteHTML):
20767         (WebCore::InspectorTimelineAgent::reset):
20768         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
20769         (WebCore::InspectorTimelineAgent::pushCurrentTimelineItem):
20770         * inspector/InspectorTimelineAgent.h:
20771         (WebCore::InspectorTimelineAgent::TimelineItemEntry::TimelineItemEntry):
20772         * inspector/TimelineItem.cpp: Removed.
20773         * inspector/TimelineItem.h: Removed.
20774         * inspector/TimelineItemFactory.cpp: Added.
20775         (WebCore::TimelineItemFactory::createGenericTimelineItem):
20776         (WebCore::TimelineItemFactory::createDOMDispatchTimelineItem):
20777         * inspector/TimelineItemFactory.h: Added.
20778         (WebCore::):
20779         (WebCore::TimelineItemFactory::TimelineItemFactory):
20781 2009-10-23  Gavin Barraclough  <barraclough@apple.com>
20783         Reviewed by Geoff Garen.
20785         https://bugs.webkit.org/show_bug.cgi?id=30729
20786         Provide private API to request the global context for a specific world.
20787         Used to initialize parameters on the global object.
20789         * bindings/js/ScriptController.cpp:
20790         (WebCore::ScriptController::globalObject):
20791         * bindings/js/ScriptController.h:
20793 2009-10-23  Steve Block  <steveblock@google.com>
20795         Reviewed by Eric Seidel.
20797         Fixes style problems in Android-specific files.
20798         https://bugs.webkit.org/show_bug.cgi?id=30717
20800         Style changes only, no new tests possible.
20802         * page/android/EventHandlerAndroid.cpp: Modified.
20803         (WebCore::EventHandler::passMouseDownEventToWidget): Fixes whitespace in method signature.
20804         (WebCore::EventHandler::passSubframeEventToSubframe): Fixes whitespace in method signature.
20805         (WebCore::EventHandler::passWheelEventToWidget): Fixes whitespace in method signature.
20806         (WebCore::EventHandler::passMouseMoveEventToSubframe): Fixes whitespace in method signature.
20807         * platform/android/ClipboardAndroid.h: Modified. Fixes header include order and indenting.
20808         * platform/android/CursorAndroid.cpp: Modified. 
20809         (WebCore::grabCursor): Fixes function braces.
20810         (WebCore::grabbingCursor): Fixes function braces.
20811         * platform/android/FileChooserAndroid.cpp: Modified.
20812         (WebCore::FileChooser::basenameForWidth): Fixes braces on while statement, and updates String::copy to String::threadsafeCopy.
20813         * platform/android/FileSystemAndroid.cpp: Modified. Fixes header include order.
20814         (WebCore::unloadModule): Fixes zero test.
20815         (WebCore::writeToFile): Fixes if statement structure.
20816         * platform/android/KeyEventAndroid.cpp: Modified.
20817         (WebCore::windowsKeyCodeForKeyEvent): Fixes switch statement indenting.
20818         (WebCore::keyIdentifierForAndroidKeyCode): Fixes switch statement indenting.
20819         * platform/android/ScreenAndroid.cpp: Modified. Fixes header include order and switch statement indenting.
20820         * platform/android/TemporaryLinkStubs.cpp: Modified. Fixes header include order.
20822 2009-10-23  Sam Weinig  <sam@webkit.org>
20824         Another shot at a fixed build.
20826         * DerivedSources.cpp:
20828 2009-10-23  Sam Weinig  <sam@webkit.org>
20830         Another shot at a fixed build.
20832         * html/HTMLOptionsCollection.idl:
20834 2009-10-23  Brady Eidson  <beidson@apple.com>
20836         50,000!
20838         * ChangeLog: Point out revision 50,000.
20840 2009-10-23  Sam Weinig  <sam@webkit.org>
20842         Reviewed by Anders Carlsson.
20844         Fix for https://bugs.webkit.org/show_bug.cgi?id=30695
20845         Drop .tags() support from HTMLCollection
20847         - Make .tags() only work for HTMLAllCollections in JS. .tags() is still
20848           available for all HTMLCollection like objects in Objective-C since that
20849           is API.
20850         - Auto-generate HTMLAllCollection.
20852         Test: fast/dom/HTMLDocument/document-all.html
20854         * DerivedSources.make:
20855         * GNUmakefile.am:
20856         * WebCore.gypi:
20857         * WebCore.pro:
20858         * WebCore.vcproj/WebCore.vcproj:
20859         * WebCore.xcodeproj/project.pbxproj:
20860         * bindings/js/JSHTMLAllCollection.cpp: Removed.
20861         * bindings/js/JSHTMLAllCollection.h: Removed.
20862         * bindings/js/JSHTMLAllCollectionCustom.cpp: Added.
20863         (WebCore::getNamedItems):
20864         (WebCore::callHTMLAllCollection):
20865         (WebCore::JSHTMLAllCollection::getCallData):
20866         (WebCore::JSHTMLAllCollection::canGetItemsForName):
20867         (WebCore::JSHTMLAllCollection::nameGetter):
20868         (WebCore::JSHTMLAllCollection::item):
20869         (WebCore::JSHTMLAllCollection::namedItem):
20870         * bindings/js/JSHTMLCollectionCustom.cpp:
20871         (WebCore::toJS):
20872         * bindings/js/JSHTMLDocumentCustom.cpp:
20873         * bindings/scripts/CodeGeneratorJS.pm:
20874         * dom/Document.cpp:
20875         (WebCore::Document::all):
20876         * dom/Document.h:
20877         * dom/HTMLAllCollection.idl: Removed.
20878         * html/HTMLAllCollection.cpp: Added.
20879         (WebCore::HTMLAllCollection::create):
20880         (WebCore::HTMLAllCollection::HTMLAllCollection):
20881         (WebCore::HTMLAllCollection::~HTMLAllCollection):
20882         * html/HTMLAllCollection.h: Added.
20883         * html/HTMLAllCollection.idl: Added.
20884         * html/HTMLCollection.h:
20885         * html/HTMLCollection.idl:
20886         * html/HTMLDocument.idl:
20887         * page/DOMWindow.idl:
20889 2009-10-23  Pavel Feldman  <pfeldman@chromium.org>
20891         Reviewed by Timothy Hatcher.
20893         Web Inspector: pull basic sidebar implementation into the Panel.
20895         https://bugs.webkit.org/show_bug.cgi?id=30720
20897         * inspector/front-end/Panel.js:
20898         (WebInspector.Panel):
20899         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
20900         (WebInspector.Panel.prototype.handleKeyEvent):
20901         (WebInspector.Panel.prototype._createSidebar):
20902         (WebInspector.Panel.prototype._startSidebarDragging):
20903         (WebInspector.Panel.prototype._sidebarDragging):
20904         (WebInspector.Panel.prototype._endSidebarDragging):
20905         (WebInspector.Panel.prototype._updateSidebarWidth):
20906         (WebInspector.Panel.prototype.setCenterViewWidth):
20907         * inspector/front-end/ProfilesPanel.js:
20908         (WebInspector.ProfilesPanel):
20909         (WebInspector.ProfilesPanel.prototype.setCenterViewWidth):
20910         * inspector/front-end/StoragePanel.js:
20911         (WebInspector.StoragePanel):
20912         (WebInspector.StoragePanel.prototype.setCenterViewWidth):
20914 2009-10-23  Jens Alfke  <snej@chromium.org>
20916         Reviewed by Dimitri Glazkov.
20918         Slight optimizations to object returning and exception handling in generated V8 bindings.
20919         https://bugs.webkit.org/show_bug.cgi?id=30599
20921         * bindings/scripts/CodeGeneratorV8.pm: Generate better code
20922         * bindings/v8/V8DOMWrapper.h:
20923         (WebCore::V8DOMWrapper::convertToV8Object): Added overload that takes a Ref<>
20924         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
20925         (WebCore::CALLBACK_FUNC_DECL): Remove unnecessary template param to prevent compile error
20927 2009-10-23  Alpha Lam  <hclam@chromium.org>
20929         Reviewed by Eric Carlson.
20931         Volume slider always starts at half volume
20932         https://bugs.webkit.org/show_bug.cgi?id=28322
20934         Sets the value attribute of volume slider to the volume attribute
20935         of the media element. Also update the value attribute of the
20936         input element for the volume slider when the volume attribute
20937         of the media element is updated.
20939         Test: media/video-volume-slider.html
20941         * rendering/MediaControlElements.cpp:
20942         (WebCore::MediaControlVolumeSliderElement::update):
20943         Set the value attribute of the input element for the volume slider
20944         using the current volume of the media element.
20945         * rendering/MediaControlElements.h:
20946         Add method definition of update().
20947         * rendering/RenderMedia.cpp:
20948         (WebCore::RenderMedia::createVolumeSlider):
20949         Creates a volume slider with value attribute equals to the current
20950         volume attribute of the media element.
20952 2009-10-23  Evan Martin  <evan@chromium.org>
20954         Reviewed by Eric Seidel.
20956         Chrome Linux: fix caret positioning in LTR complex languages
20957         The caret is positioned off by one in languages like Thai.
20959         https://bugs.webkit.org/show_bug.cgi?id=28284
20961         A group of us spent a while trying various approaches to write a test
20962         for this; however, since it is only that the blinking cursor is
20963         displayed incorrectly, we concluded it can not be tested.
20965         (Patch by Hironori Bono.)
20967         * platform/graphics/chromium/FontLinux.cpp:
20968         (WebCore::Font::selectionRectForComplexText):
20970 2009-10-23  Tony Chang  <tony@chromium.org>
20972         Reviewed by David Levin.
20974         Fix Chromium build after IsoldatedWorld change (r49963).
20975         https://bugs.webkit.org/show_bug.cgi?id=30719
20977         * bindings/ScriptControllerBase.cpp:
20978         * bindings/js/ScriptController.cpp:
20979         (WebCore::ScriptController::executeScriptInIsolatedWorld):
20980         * bindings/v8/ScriptController.cpp:
20981         (WebCore::mainThreadNormalWorld):
20982         * bindings/v8/ScriptController.h:
20983         (WebCore::ScriptController::windowShell):
20984         (WebCore::ScriptController::existingWindowShell):
20985         * dom/Document.cpp:
20986         (WebCore::Document::createWrapperCache):
20987         * dom/ScriptExecutionContext.cpp:
20988         * dom/ScriptExecutionContext.h:
20989         * xml/XMLHttpRequest.cpp:
20990         * xml/XMLHttpRequest.h:
20992 2009-10-23  Xiaomei Ji  <xji@chromium.org>
20994         Reviewed by Sam Weinig.
20996         Fix caretRangeFromPoint()/elementFromPoint() returns wrong result 
20997         for a zoomed and scrolled page.
20998         https://bugs.webkit.org/show_bug.cgi?id=30689.
21000         The real cause is the wrong calculation of event.clientX/Y when
21001         page is zoomed and scolled.
21002         After Sam fixed the event.clientX/Y in r49551, the hit test point
21003         should be recalculated (revert r49490).
21005         Test: fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html
21007         * dom/Document.cpp:
21008         (WebCore::Document::elementFromPoint): calculate the correct point
21009         relative to document when page is zoomed and scrolled.
21010         (WebCore::Document::caretRangeFromPoint): calculate the correct point
21011         relative to document when page is zoomed and scrolled.
21013 2009-10-22  Dumitru Daniliuc  <dumi@chromium.org>
21015         Reviewed by Dmitry Titov.
21017         Adding a class that allows us to enable/disable features at
21018         runtime. Adding a flag to enable database support.
21020         https://bugs.webkit.org/show_bug.cgi?id=30653
21022         * WebCore.gypi:
21023         * bindings/v8/RuntimeEnabledFeatures.cpp: Added.
21024         * bindings/v8/RuntimeEnabledFeatures.h: Added.
21025         (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
21026         (WebCore::RuntimeEnabledFeatures::databaseEnabled):
21027         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
21028         * bindings/v8/custom/V8CustomBinding.h:
21029         * bindings/v8/custom/V8DOMWindowCustom.cpp:
21030         (WebCore::ACCESSOR_RUNTIME_ENABLER):
21031         * page/DOMWindow.idl:
21033 2009-10-23  Keishi Hattori  <casey.hattori@gmail.com>
21035         Reviewed by Timothy Hatcher.
21037         Inspector injects _inspectorCommandLineAPI into global object when opened
21038         https://bugs.webkit.org/show_bug.cgi?id=30675
21040         * inspector/front-end/InjectedScript.js:
21041         (InjectedScript.getCompletions):
21042         (InjectedScript._evaluateOn):
21043         (InjectedScript.addInspectedNode):
21044         (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console.
21046 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
21048         Reviewed by Tor Arne Vestbø.
21050         [Qt] don't undef NULL in Symbian emulator
21052         npapi.h way of defining mwerks compiler,__intel__
21053         and win32 are all true for Symbian emulator.
21054         Changed the definions so that NULL won't be undefined
21055         when compiling for Symbian emulator nor target HW.
21057         * bridge/npapi.h:
21059 2009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
21061         Reviewed by Tor Arne Vestbø.
21063         [Qt] Correct linking of sqlite3 for Symbian
21064         https://bugs.webkit.org/show_bug.cgi?id=30569
21066         ".lib" will try to include library as static library
21067         causing the library to be searched from wrong directory and if found
21068         will be statically linked instead of the inteded dynamic linking.
21070         * WebCore.pro:
21072 2009-10-23  Enrica Casucci  <enrica@apple.com>
21074         Reviewed by Adele Peterson.
21076         REGRESSION: Copy is copying incorrect background-color
21077         <rdar://problem/7248529>
21078         https://bugs.webkit.org/show_bug.cgi?id=29697
21080         Test: editing/execCommand/indent-paragraphs.html
21082         This change removes the BackgroundColor from the list 
21083         of inheritable CSS properties and changes significantly
21084         the way we perform indentation.
21085         The new implementation of IndentOutdentCommand uses a new method
21086         defined in CompositeEditCommand called moveParagraphWithClones.
21087         This is an improved version of the original moveParagraph that
21088         is aimed at preserving the original markup of the paragraph being
21089         moved.
21091         * editing/ApplyStyleCommand.cpp:
21092         (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties.
21093         * editing/CompositeEditCommand.cpp:
21094         (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks.
21095         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks.
21096         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added.
21097         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added.
21098         (WebCore::CompositeEditCommand::moveParagraphWithClones): Added.
21099         (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion.
21100         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks.
21101         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks.
21102         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks.
21103         * editing/CompositeEditCommand.h: Added three new methods.
21104         * editing/IndentOutdentCommand.cpp:
21105         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones.
21106         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones.
21107         (WebCore::IndentOutdentCommand::indentRegion): Removed comment.
21108         * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method.
21110 2009-10-23  Steve Block  <steveblock@google.com>
21112         Reviewed by Eric Seidel.
21114         Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled.
21115         https://bugs.webkit.org/show_bug.cgi?id=30677
21117         Build fix, no new tests required.
21119         * page/Console.cpp: Modified. Added UnusedParam.h include.
21120         * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include.
21122 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
21124         Reviewed by Holger Freyther.
21126         [Qt] Plugins : Use window's winId() instead of the widget's.
21128         As per, https://developer.mozilla.org/en/NPN_GetValue
21129         NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
21130         plug-in is displayed; returns Window".
21132         The issue was found because NPNVNetscapeWindow winId() ends up creating
21133         a native window resulting in flicker.
21135         https://bugs.webkit.org/show_bug.cgi?id=30706
21137         * plugins/qt/PluginViewQt.cpp:
21138         (WebCore::PluginView::getValue):
21140 2009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
21142         Reviewed by Holger Freyther.
21144         [Qt] Windowless Plugins : Don't use m_clipRect when painting.
21146         Though it works, it is not correct to use m_clipRect for painting
21147         in Windowless mode. Instead, the rect paramater that is passed
21148         as a part of PluginView::paint() must be used. This change will
21149         also result in some speedup since previously we used to paint all
21150         the visible parts of a windowless plugin (even if those parts were
21151         not dirty).
21153         Also, fix invalidateRect() to compute the correct width and height.
21155         https://bugs.webkit.org/show_bug.cgi?id=30711
21157         * plugins/qt/PluginViewQt.cpp:
21158         (WebCore::PluginView::paint):
21159         (WebCore::PluginView::invalidateRect):
21161 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
21163         Reviewed by Holger Freyther.
21165         Plugins : Use test.swf in the plugins manual tests.
21167         They previously referenced youtube videos which among other things are
21168         cumbersome to use without internet connection. The old youtube link is
21169         just commented out so that testing with youtube can be done with
21170         little effort.
21172         https://bugs.webkit.org/show_bug.cgi?id=30662
21174         * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
21175         * manual-tests/plugins/windowed.html:
21176         * manual-tests/plugins/windowless.html:
21177         * manual-tests/qt/plugin-sibling-frame-include.html:
21179 2009-10-23  Brian Weinstein  <bweinstein@apple.com>
21181         Reviewed by Jon Honeycutt.
21183         Fix the Windows Release build by moving Accessibility files
21184         into all-in-one file and excluding them from the build.
21186         * WebCore.vcproj/WebCore.vcproj:
21187         * accessibility/AccessibilityAllInOne.cpp: Added.
21189 2009-10-16  Gavin Barraclough  <barraclough@apple.com>
21191         Reviewed by Sam Weinig & Geoff Garen.
21193         https://bugs.webkit.org/show_bug.cgi?id=30696
21194         Add support for IsolatedWorlds to JSC bindings.
21196         An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for
21197         a given document.  To support isolation this patch:
21199             * Adds support to the ScriptController to track multiple window shells, one per world.
21200             * Adds support to Document to support multiple separate wrapper-maps, one per world.
21201             * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps,
21202               stored on the (new) IsolatedWorld objects.
21204         In addition to supporting separate copies of these objects, two other features are supported:
21206             * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore
21207               we can determine which world (and as such, set of DOM bindings) we should be operating on.
21208             * EventListeners & Callbacks are run in the world they were registered in.
21209               This requires the handler to retain a reference to the world.
21211         No new tests. (Enabled existing isolated world layout tests.)
21213         * WebCore.base.exp:
21214         * bindings/js/JSAbstractWorkerCustom.cpp:
21215         (WebCore::JSAbstractWorker::addEventListener):
21216         (WebCore::JSAbstractWorker::removeEventListener):
21217         * bindings/js/JSCallbackData.cpp:
21218         (WebCore::JSCallbackData::invokeCallback):
21219         * bindings/js/JSCallbackData.h:
21220         (WebCore::JSCallbackData::JSCallbackData):
21221         * bindings/js/JSCustomXPathNSResolver.cpp:
21222         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
21223         * bindings/js/JSDOMApplicationCacheCustom.cpp:
21224         (WebCore::JSDOMApplicationCache::addEventListener):
21225         (WebCore::JSDOMApplicationCache::removeEventListener):
21226         * bindings/js/JSDOMBinding.cpp:
21227         (WebCore::removeWrappers):
21228         (WebCore::DOMObjectWrapperMap::get):
21229         (WebCore::DOMObjectWrapperMap::set):
21230         (WebCore::DOMObjectWrapperMap::remove):
21231         (WebCore::DOMObjectWrapperMap::take):
21232         (WebCore::IsolatedWorld::IsolatedWorld):
21233         (WebCore::IsolatedWorld::~IsolatedWorld):
21234         (WebCore::EnterIsolatedWorld::EnterIsolatedWorld):
21235         (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld):
21236         (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator):
21237         (WebCore::JSGlobalDataWorldIterator::operator bool):
21238         (WebCore::JSGlobalDataWorldIterator::operator*):
21239         (WebCore::JSGlobalDataWorldIterator::operator->):
21240         (WebCore::JSGlobalDataWorldIterator::operator++):
21241         (WebCore::getCurrentWorld):
21242         (WebCore::getNormalWorld):
21243         (WebCore::commonNormalWorld):
21244         (WebCore::commonCurrentWorld):
21245         (WebCore::DOMObjectHashTableMap::mapFor):
21246         (WebCore::DOMObjectWrapperMap::mapFor):
21247         (WebCore::forgetDOMObject):
21248         (WebCore::getCachedDOMNodeWrapper):
21249         (WebCore::forgetDOMNode):
21250         (WebCore::cacheDOMNodeWrapper):
21251         (WebCore::forgetAllDOMNodesForDocument):
21252         (WebCore::forgetWorldOfDOMNodesForDocument):
21253         (WebCore::isObservableThroughDOM):
21254         (WebCore::markDOMNodesForDocument):
21255         (WebCore::markActiveObjectsForContext):
21256         (WebCore::takeWrappers):
21257         (WebCore::updateDOMNodeDocument):
21258         (WebCore::markDOMObjectWrapper):
21259         (WebCore::allowsAccessFromFrame):
21260         (WebCore::printErrorMessageForFrame):
21261         (WebCore::JSC_DebuggerCallFrame_evaluateInWorld):
21262         (WebCore::JSC_callInWorld):
21263         (WebCore::JSC_constructInWorld):
21264         (WebCore::JSC_evaluateInWorld):
21265         * bindings/js/JSDOMBinding.h:
21266         (WebCore::IsolatedWorld::rememberDocument):
21267         (WebCore::IsolatedWorld::forgetDocument):
21268         (WebCore::IsolatedWorld::rememberScriptController):
21269         (WebCore::IsolatedWorld::forgetScriptController):
21270         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
21271         (WebCore::DOMObjectHashTableMap::get):
21272         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
21273         (WebCore::WebCoreJSClientData::currentWorld):
21274         (WebCore::WebCoreJSClientData::normalWorld):
21275         (WebCore::WebCoreJSClientData::rememberWorld):
21276         (WebCore::WebCoreJSClientData::forgetWorld):
21277         (WebCore::debuggerWorld):
21278         (WebCore::pluginWorld):
21279         * bindings/js/JSDOMGlobalObject.cpp:
21280         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
21281         (WebCore::toJSDOMGlobalObject):
21282         * bindings/js/JSDOMGlobalObject.h:
21283         * bindings/js/JSDOMWindowBase.cpp:
21284         (WebCore::JSDOMWindowBase::printErrorMessage):
21285         (WebCore::JSDOMWindowBase::commonJSGlobalData):
21286         (WebCore::toJS):
21287         (WebCore::toJSDOMWindow):
21288         * bindings/js/JSDOMWindowBase.h:
21289         * bindings/js/JSDOMWindowCustom.cpp:
21290         (WebCore::createWindow):
21291         (WebCore::JSDOMWindow::open):
21292         (WebCore::JSDOMWindow::showModalDialog):
21293         (WebCore::JSDOMWindow::setTimeout):
21294         (WebCore::JSDOMWindow::setInterval):
21295         (WebCore::JSDOMWindow::addEventListener):
21296         (WebCore::JSDOMWindow::removeEventListener):
21297         * bindings/js/JSDOMWindowShell.cpp:
21298         (WebCore::toJS):
21299         (WebCore::toJSDOMWindowShell):
21300         * bindings/js/JSDOMWindowShell.h:
21301         * bindings/js/JSDesktopNotificationsCustom.cpp:
21302         (WebCore::JSNotification::addEventListener):
21303         (WebCore::):
21304         * bindings/js/JSEventListener.cpp:
21305         (WebCore::JSEventListener::JSEventListener):
21306         (WebCore::JSEventListener::handleEvent):
21307         (WebCore::JSEventListener::reportError):
21308         * bindings/js/JSEventListener.h:
21309         (WebCore::JSEventListener::create):
21310         * bindings/js/JSEventSourceCustom.cpp:
21311         (WebCore::JSEventSource::addEventListener):
21312         (WebCore::JSEventSource::removeEventListener):
21313         * bindings/js/JSEventTarget.cpp:
21314         (WebCore::toJS):
21315         * bindings/js/JSHTMLDocumentCustom.cpp:
21316         (WebCore::JSHTMLDocument::open):
21317         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
21318         (WebCore::JSHTMLFrameSetElement::nameGetter):
21319         * bindings/js/JSInspectorBackendCustom.cpp:
21320         (WebCore::JSInspectorBackend::databaseForId):
21321         (WebCore::JSInspectorBackend::inspectedWindow):
21322         (WebCore::JSInspectorBackend::nodeForId):
21323         * bindings/js/JSLazyEventListener.cpp:
21324         (WebCore::JSLazyEventListener::JSLazyEventListener):
21325         (WebCore::JSLazyEventListener::parseCode):
21326         * bindings/js/JSLazyEventListener.h:
21327         (WebCore::JSLazyEventListener::create):
21328         * bindings/js/JSMessageChannelCustom.cpp:
21329         (WebCore::JSMessageChannel::markChildren):
21330         * bindings/js/JSMessagePortCustom.cpp:
21331         (WebCore::JSMessagePort::markChildren):
21332         (WebCore::JSMessagePort::addEventListener):
21333         (WebCore::JSMessagePort::removeEventListener):
21334         * bindings/js/JSNodeCustom.cpp:
21335         (WebCore::JSNode::addEventListener):
21336         (WebCore::JSNode::removeEventListener):
21337         (WebCore::JSNode::markChildren):
21338         * bindings/js/JSNodeFilterCondition.cpp:
21339         (WebCore::JSNodeFilterCondition::acceptNode):
21340         * bindings/js/JSQuarantinedObjectWrapper.cpp:
21341         (WebCore::JSQuarantinedObjectWrapper::construct):
21342         (WebCore::JSQuarantinedObjectWrapper::call):
21343         * bindings/js/JSSVGElementInstanceCustom.cpp:
21344         (WebCore::JSSVGElementInstance::addEventListener):
21345         (WebCore::JSSVGElementInstance::removeEventListener):
21346         * bindings/js/JSSharedWorkerCustom.cpp:
21347         (WebCore::JSSharedWorker::markChildren):
21348         * bindings/js/JSWebSocketCustom.cpp:
21349         (WebCore::JSWebSocket::addEventListener):
21350         (WebCore::JSWebSocket::removeEventListener):
21351         * bindings/js/JSWorkerContextCustom.cpp:
21352         (WebCore::JSWorkerContext::addEventListener):
21353         (WebCore::JSWorkerContext::removeEventListener):
21354         (WebCore::JSWorkerContext::setTimeout):
21355         (WebCore::JSWorkerContext::setInterval):
21356         * bindings/js/JSXMLHttpRequestConstructor.cpp:
21357         (WebCore::constructXMLHttpRequest):
21358         * bindings/js/JSXMLHttpRequestCustom.cpp:
21359         (WebCore::JSXMLHttpRequest::markChildren):
21360         (WebCore::JSXMLHttpRequest::addEventListener):
21361         (WebCore::JSXMLHttpRequest::removeEventListener):
21362         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
21363         (WebCore::JSXMLHttpRequestUpload::markChildren):
21364         (WebCore::JSXMLHttpRequestUpload::addEventListener):
21365         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
21366         * bindings/js/ScheduledAction.cpp:
21367         (WebCore::ScheduledAction::create):
21368         (WebCore::ScheduledAction::ScheduledAction):
21369         (WebCore::ScheduledAction::executeFunctionInContext):
21370         (WebCore::ScheduledAction::execute):
21371         * bindings/js/ScheduledAction.h:
21372         (WebCore::ScheduledAction::ScheduledAction):
21373         * bindings/js/ScriptCachedFrameData.cpp:
21374         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
21375         (WebCore::ScriptCachedFrameData::restore):
21376         * bindings/js/ScriptController.cpp:
21377         (WebCore::ScriptController::~ScriptController):
21378         (WebCore::ScriptController::evaluateInWorld):
21379         (WebCore::ScriptController::evaluate):
21380         (WebCore::ScriptController::evaluateInIsolatedWorld):
21381         (WebCore::ScriptController::clearWindowShell):
21382         (WebCore::ScriptController::initScript):
21383         (WebCore::ScriptController::processingUserGestureEvent):
21384         (WebCore::ScriptController::attachDebugger):
21385         (WebCore::ScriptController::updateDocument):
21386         (WebCore::ScriptController::bindingRootObject):
21387         (WebCore::ScriptController::createRootObject):
21388         (WebCore::ScriptController::windowScriptNPObject):
21389         (WebCore::ScriptController::jsObjectForPluginElement):
21390         * bindings/js/ScriptController.h:
21391         (WebCore::ScriptController::windowShell):
21392         (WebCore::ScriptController::existingWindowShell):
21393         (WebCore::ScriptController::globalObject):
21394         (WebCore::ScriptController::forgetWorld):
21395         * bindings/js/ScriptControllerMac.mm:
21396         (WebCore::ScriptController::windowScriptObject):
21397         * bindings/js/ScriptEventListener.cpp:
21398         (WebCore::createAttributeEventListener):
21399         * bindings/js/ScriptFunctionCall.cpp:
21400         (WebCore::ScriptFunctionCall::call):
21401         (WebCore::ScriptFunctionCall::construct):
21402         * bindings/js/ScriptObjectQuarantine.cpp:
21403         (WebCore::getQuarantinedScriptObject):
21404         * bindings/js/ScriptState.cpp:
21405         (WebCore::scriptStateFromNode):
21406         (WebCore::scriptStateFromPage):
21407         * bindings/js/ScriptState.h:
21408         * bindings/js/WorkerScriptController.cpp:
21409         (WebCore::WorkerScriptController::WorkerScriptController):
21410         (WebCore::WorkerScriptController::evaluate):
21411         * bindings/objc/DOMInternal.mm:
21412         (-[WebScriptObject _initializeScriptDOMNodeImp]):
21413         * bindings/objc/WebScriptObject.mm:
21414         (-[WebScriptObject callWebScriptMethod:withArguments:]):
21415         (-[WebScriptObject evaluateWebScript:]):
21416         * bindings/scripts/CodeGeneratorJS.pm:
21417         * bridge/NP_jsobject.cpp:
21418         (_NPN_InvokeDefault):
21419         (_NPN_Invoke):
21420         (_NPN_Evaluate):
21421         (_NPN_Construct):
21422         * bridge/jni/jni_jsobject.mm:
21423         (JavaJSObject::call):
21424         (JavaJSObject::eval):
21425         * dom/Document.cpp:
21426         (WebCore::Document::createWrapperCache):
21427         * dom/Document.h:
21428         (WebCore::Document::wrapperCacheMap):
21429         (WebCore::Document::getWrapperCache):
21430         * inspector/InspectorController.cpp:
21431         (WebCore::InspectorController::startUserInitiatedProfiling):
21432         (WebCore::InspectorController::stopUserInitiatedProfiling):
21433         * inspector/JavaScriptCallFrame.cpp:
21434         (WebCore::JavaScriptCallFrame::evaluate):
21435         * loader/FrameLoader.cpp:
21436         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
21437         * platform/network/mac/AuthenticationMac.mm:
21438         * xml/XMLHttpRequest.cpp:
21439         (WebCore::XMLHttpRequest::XMLHttpRequest):
21440         (WebCore::XMLHttpRequest::dropProtection):
21441         * xml/XMLHttpRequest.h:
21442         (WebCore::XMLHttpRequest::create):
21444 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
21446         Reviewed by Timothy Hatcher.
21448         Web Inspector: EventListenersSidebarPane TODO No Longer Needed
21449         https://bugs.webkit.org/show_bug.cgi?id=30705
21451         * inspector/front-end/EventListenersSidebarPane.js:
21453 2009-10-22  Alexey Proskuryakov  <ap@apple.com>
21455         Reviewed by Tim Hatcher.
21457         https://bugs.webkit.org/show_bug.cgi?id=30506
21458         <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown
21459         in the inspectors resource pane
21461         I don't know how to make a test for this.
21463         The issue here was that preloaded resources weren't added to DocLoader document resource set,
21464         but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document
21465         parser eventually requested the same resource for real and it got added to resource set, it
21466         was too late - the Inspector wasn't updated.
21468         * inspector/InspectorResource.cpp:
21469         (WebCore::InspectorResource::cachedResource):
21470         (WebCore::InspectorResource::type):
21471         (WebCore::InspectorResource::resourceData):
21472         * inspector/InspectorResource.h:
21473         Fix the issue by trying to fetch corresponding CachedResource harder - also look in global
21474         cache. This seems safe, and easier than updating the Inspector on transitions between
21475         resource states (revalidate vs. revalidate done and preload vs. non-preload).
21477 2009-10-22  Beth Dakin  <bdakin@apple.com>
21479         Reviewed by Dan Bernstein.
21481         Fix for <rdar://problem/6942706> ER: Add a CSS property that allows 
21482         shadows to work for SVG content
21483         -and corresponding-
21484         https://bugs.webkit.org/show_bug.cgi?id=30479
21486         This patch adds a new SVG-specific CSS property called -webkit-
21487         shadow that has the same syntax as -webkit-box-shadow
21489         Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and 
21490         make valueForShadow a member function rather than a static function 
21491         * css/CSSComputedStyleDeclaration.cpp:
21492         (WebCore::):
21493         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
21494         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
21495         * css/CSSComputedStyleDeclaration.h:
21497         Call valueForShadow for CSSPropertyWebkitShadow
21498         * css/SVGCSSComputedStyleDeclaration.cpp:
21499         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
21501         Do standard CSS stuff for CSSPropertyWebkitShadow
21502         * css/SVGCSSParser.cpp:
21503         (WebCore::CSSParser::parseSVGValue):
21504         * css/SVGCSSPropertyNames.in:
21505         * css/SVGCSSStyleSelector.cpp:
21506         (WebCore::CSSStyleSelector::applySVGProperty):
21508         Set the appropriate shadow on the paint context if we have one. 
21509         This seems to be all we have to do to have an SVG-shaped shadow.
21510         * rendering/SVGRenderSupport.cpp:
21511         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
21513         Add shadow to SVGRenderStyle. I added a new macro that I don't like 
21514         just because that's the way things are done here right now.
21515         * rendering/style/SVGRenderStyle.cpp:
21516         (WebCore::SVGRenderStyle::SVGRenderStyle):
21517         (WebCore::SVGRenderStyle::operator==):
21518         * rendering/style/SVGRenderStyle.h:
21519         * rendering/style/SVGRenderStyleDefs.cpp:
21520         (StyleShadowSVGData::StyleShadowSVGData):
21521         (StyleShadowSVGData::operator==):
21522         * rendering/style/SVGRenderStyleDefs.h:
21523         (WebCore::StyleShadowSVGData::create):
21524         (WebCore::StyleShadowSVGData::copy):
21525         (WebCore::StyleShadowSVGData::operator!=):
21527 2009-10-22  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
21529         Reviewed by Xan Lopez.
21531         https://bugs.webkit.org/show_bug.cgi?id=25530
21532         [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels
21534         Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY.
21535         Also causes the accessible name for labeled controls to be based on
21536         the label as expected, rather than based on the contents.
21538         * accessibility/AccessibilityRenderObject.h:
21539         * accessibility/AccessibilityRenderObject.cpp:
21540         (correspondingLabelForControlElement):
21541         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
21542         (setAtkRelationSetFromCoreObject):
21543         (webkit_accessible_ref_relation_set):
21544         (webkit_accessible_class_init):
21545         (webkit_accessible_get_name):
21547 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
21549         Reviewed by Timothy Hatcher.
21551         Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive"
21552         https://bugs.webkit.org/show_bug.cgi?id=30663
21554           Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames.
21556         * inspector/front-end/inspector.js:
21557         (WebInspector.windowFocused): fix for inner iframes
21558         (WebInspector.windowBlurred): fix for inner iframes
21559         (WebInspector.addMainEventListeners): change useCapture to false
21561 2009-10-22  Jaime Yap  <jaimeyap@google.com>
21563         Reviewed by Timothy Hatcher.
21565         Makes a page reload optional when activating resource monitoring in
21566         InspectorController. It leaves the default behavior as performing the reload.
21567         Reload is an optional param so callsites do not have to change.
21569         https://bugs.webkit.org/show_bug.cgi?id=30684
21571         No new tests added.
21573         * inspector/InspectorController.cpp:
21574         (WebCore::InspectorController::enableResourceTracking):
21575         * inspector/InspectorController.h:
21577 2009-10-22  Shu Chang  <Chang.Shu@nokia.com>
21579         Reviewed by Eric Seidel.
21581         [Qt] Fix memory leak in QNetworkReplyHandler::abort().
21582         In QNetworkReplyHandler::release(), m_reply should no longer point to its parent
21583         after being released.
21584         https://bugs.webkit.org/show_bug.cgi?id=30167
21586         No layout test available as a non-functional fix.
21588         * platform/network/qt/QNetworkReplyHandler.cpp:
21589         (WebCore::QNetworkReplyHandler::abort):
21590         (WebCore::QNetworkReplyHandler::release):
21592 2009-10-22  Pavel Feldman  <pfeldman@chromium.org>
21594         Reviewed by Timothy Hatcher.
21596         Web Inspector: Fix DOMAgent leak.
21598         https://bugs.webkit.org/show_bug.cgi?id=30615
21600         * inspector/InspectorController.cpp:
21601         (WebCore::InspectorController::~InspectorController):
21602         (WebCore::InspectorController::setFrontendProxyObject):
21603         (WebCore::InspectorController::close):
21604         (WebCore::InspectorController::releaseDOMAgent):
21605         * inspector/InspectorController.h:
21606         * inspector/InspectorDOMAgent.h:
21607         (WebCore::InspectorDOMAgent::create):
21609 2009-10-22  Dimitri Glazkov  <dglazkov@chromium.org>
21611         Reviewed by Adam Barth.
21613         [V8] Rework event listeners to not hold references to frame or V8 context.
21615         https://bugs.webkit.org/show_bug.cgi?id=30648
21617         Covered by existing layout tests: fast/events/attribute-listener*
21619         * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
21620             to event listener handling code.
21621         * bindings/v8/DateExtension.cpp:
21622         (WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
21623         * bindings/v8/ScriptEventListener.cpp:
21624         (WebCore::createAttributeEventListener): Reworked to match JSC logic.
21625         (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
21626         * bindings/v8/V8AbstractEventListener.cpp:
21627         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
21628             and usage.
21629         (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
21630         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
21631         * bindings/v8/V8AbstractEventListener.h:
21632         (WebCore::V8AbstractEventListener::getListenerObject): Ditto.
21633         (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
21634         * bindings/v8/V8DOMWrapper.cpp:
21635         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):  Added ScriptExecutionContext* param.
21636         (WebCore::V8DOMWrapper::getEventListener): Ditto.
21637         * bindings/v8/V8DOMWrapper.h:
21638         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
21639         * bindings/v8/V8EventListenerList.h:
21640         (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
21641             because it's no longer needed.
21642         * bindings/v8/V8IsolatedWorld.h:
21643         (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
21644         * bindings/v8/V8LazyEventListener.cpp:
21645         (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage.
21646         (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param.
21647         (WebCore::V8LazyEventListener::prepareListenerObject): Ditto.
21648         * bindings/v8/V8LazyEventListener.h:
21649         (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl.
21650         * bindings/v8/V8Proxy.cpp:
21651         (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style.
21652         (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly.
21653         (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto.
21654         (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto.
21655         (WebCore::V8Proxy::isContextInitialized): Ditto.
21656         (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto.
21657         (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto.
21658         (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context. 
21659         (WebCore::V8Proxy::clearForClose): Changed to use m_context directly.
21660         (WebCore::V8Proxy::clearForNavigation): Ditto.
21661         (WebCore::V8Proxy::setSecurityToken): Ditto.
21662         (WebCore::V8Proxy::updateDocument): Ditto.
21663         (WebCore::V8Proxy::initContextIfNeeded): Ditto.
21664         (WebCore::V8Proxy::context): Changed to use v8::Local.
21665         (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly. 
21666         (WebCore::V8Proxy::setContextDebugId): Ditto.
21667         (WebCore::toV8Context):
21668         * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight
21669             v8::Persistent for m_context.
21670         * bindings/v8/V8WorkerContextEventListener.cpp:
21671         (WebCore::workerProxy): Added.
21672         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed
21673             WorkerContextExecutionProxy* param.
21674         (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*.
21675         (WebCore::V8WorkerContextEventListener::reportError): Ditto.
21676         (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto.
21677         (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto.
21678         * bindings/v8/V8WorkerContextEventListener.h:
21679         (WebCore::V8WorkerContextEventListener::create): Removed
21680             WorkerContextExecutionProxy* param.
21681         * bindings/v8/WorkerContextExecutionProxy.cpp:
21682         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType*
21683             template param.
21684         * bindings/v8/custom/V8CustomEventListener.cpp:
21685         (WebCore::V8EventListener::V8EventListener): Removed Frame* param.
21686         (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*.
21687         (WebCore::V8EventListener::callListenerFunction): Ditto.
21688         * bindings/v8/custom/V8CustomEventListener.h:
21689         (WebCore::V8EventListener::create): Removed Frame* param.
21691 2009-10-14  Gaurav Shah  <gauravsh@google.com>
21693         Reviewed by Darin Fisher.
21695         Replaces temporary link stub for <keygen> tag handler for the Chromium
21696         browser with a call via the Chromium Bridge.
21698         https://bugs.webkit.org/show_bug.cgi?id=30360
21700         * platform/SSLKeyGenerator.h:
21701         * platform/chromium/ChromiumBridge.h:
21702         * platform/chromium/SSLKeyGeneratorChromium.cpp:
21703         (WebCore::getSupportedKeySizes):
21704         (WebCore::signedPublicKeyAndChallengeString):
21705         * platform/chromium/TemporaryLinkStubs.cpp:
21706         (WebCore::KURL::fileSystemPath):
21707         (WebCore::SharedBuffer::createWithContentsOfFile):
21709 2009-10-22  Avi Drissman  <avi@chromium.org>
21711         Reviewed by Eric Seidel.
21713         Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms.
21715         https://bugs.webkit.org/show_bug.cgi?id=30591
21717         * platform/chromium/ChromiumBridge.h:
21718         * platform/chromium/PasteboardChromium.cpp:
21719         (WebCore::Pasteboard::writeImage):
21721 2009-10-20  Simon Fraser  <simon.fraser@apple.com>
21723         Reviewed by Darin Adler.
21725         Make accelerated compositing debug indicators work in release builds
21726         https://bugs.webkit.org/show_bug.cgi?id=30588
21727         
21728         Allow some debug indicators, that show which page elements go into compositing layers,
21729         to work in release builds, when the runtime prefs are set.
21731         * platform/graphics/GraphicsLayer.cpp:
21732         (WebCore::GraphicsLayer::GraphicsLayer):
21733         (WebCore::GraphicsLayer::setZPosition):
21734         * platform/graphics/GraphicsLayer.h:
21735         * platform/graphics/mac/GraphicsLayerCA.h:
21736         * platform/graphics/mac/GraphicsLayerCA.mm:
21737         (WebCore::clearBorderColor):
21738         (WebCore::GraphicsLayer::showRepaintCounter):
21739         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
21740         (WebCore::GraphicsLayerCA::updateMasksToBounds):
21741         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
21742         (WebCore::GraphicsLayerCA::setDebugBorder):
21743         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
21744         (WebCore::GraphicsLayerCA::setupContentsLayer):
21745         * platform/graphics/mac/WebLayer.mm:
21747 2009-10-22  Keishi Hattori  <casey.hattori@gmail.com>
21749         Reviewed by Pavel Feldman.
21751         Inspector should support monitorEvents/un monitorEvents() in the command line
21752         https://bugs.webkit.org/show_bug.cgi?id=19879
21754         * inspector/front-end/EventListenersSidebarPane.js:
21755         (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent
21756         * inspector/front-end/InjectedScript.js:
21757         (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes, 
21758         _normalizeEventTypes, monitorEvent, unmonitorEvent.
21760 2009-10-21  Joseph Pecoraro  <joepeck@webkit.org>
21762         Reviewed by Pavel Feldman.
21764         Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive"
21765         https://bugs.webkit.org/show_bug.cgi?id=30663
21767         * inspector/front-end/inspector.js:
21768         (WebInspector.windowFocused):
21769         (WebInspector.windowBlurred):
21771 2009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
21773         Reviewed by Pavel Feldman.
21775         Web Inspector: Error - requestContentType [undefined] is not an object
21776         https://bugs.webkit.org/show_bug.cgi?id=30666
21778         * inspector/front-end/ResourceView.js:
21779         (WebInspector.ResourceView.prototype._refreshFormData):
21781 2009-10-22  Maxime Simon  <simon.maxime@gmail.com>
21783         Reviewed by Holger Freyther.
21785         [Haiku] Correction of the accented letter width (they were 2 characters long).
21786         https://bugs.webkit.org/show_bug.cgi?id=30629
21788         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
21789         (WebCore::SimpleFontData::platformWidthForGlyph):
21791 2009-10-21  Jon Honeycutt  <jhoneycutt@apple.com>
21793         <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
21794         <rdar://problem/7270314> After halting a transparent PluginView on
21795         Windows, the transparency is applied twice
21797         Replace use of Frame::nodeImage() with a function that takes a snapshot
21798         of a PluginView.
21800         Reviewed by Dan Bernstein.
21802         * plugins/PluginView.h:
21803         Made paintWindowedPluginIntoContext() non-const, as it now calls
21804         paintIntoTransformedContext(). Declare paintIntoTransformedContext()
21805         and snapshot() for Windows platforms.
21807         * plugins/win/PluginViewWin.cpp:
21808         (WebCore::PluginView::paintIntoTransformedContext):
21809         Paints into the passed HDC without applying any coordinate translations.
21810         Code moved from paintWindowedPluginIntoContext() and paint(). Removed
21811         the memset() of windowpos in lieu of assignment.
21812         (WebCore::PluginView::paintWindowedPluginIntoContext):
21813         Code moved to paintIntoTransformedContext().
21814         (WebCore::PluginView::paint):
21815         Ditto.
21816         (WebCore::PluginView::snapshot):
21817         Create a context, and if the plug-in is windowless, translate it so the
21818         plug-in will draw at the correct location. Create a bitmap, and select
21819         it into the context. Paint the plug-in, and create a BitmapImage from
21820         the bitmap.
21821         (WebCore::PluginView::halt):
21822         Use snapshot().
21824 2009-10-22  Fumitoshi Ukai  <ukai@chromium.org>
21826         Reviewed by Alexey Proskuryakov.
21828         Fix calculation of length in WebSocketChannel.cpp
21829         https://bugs.webkit.org/show_bug.cgi?id=30656
21831         * websockets/WebSocketChannel.cpp:
21832         (WebCore::WebSocketChannel::didReceiveData):
21834 2009-10-21  Dumitru Daniliuc  <dumi@chromium.org>
21836         Reviewed by Dimitri Glazkov.
21838         Adding the ability to enable/disable functions in V8 at runtime.
21840         https://bugs.webkit.org/show_bug.cgi?id=30650
21842         * bindings/scripts/CodeGeneratorV8.pm:
21844 2009-10-21  Darin Adler  <darin@apple.com>
21846         Swedish search (and other languages as well) is broken while fixing Japanese search
21847         https://bugs.webkit.org/show_bug.cgi?id=30646
21849         Rolled Japanese tailoring out that was done to fix
21850         https://bugs.webkit.org/show_bug.cgi?id=30437 earlier.
21851         It was overriding the locale-specific tailoring.
21852         We'll land a fix once we figure out how to add the
21853         Japanese tailoring without removing anything.
21855         * editing/TextIterator.cpp: Rolled out r49924.
21857 2009-10-21  Pavel Feldman  <pfeldman@chromium.org>
21859         Not reviewed: chromium build fix - add missing image to gypi.
21861         * WebCore.gypi:
21863 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
21865         Reviewed by Eric Seidel.
21867         Fixes part of <http://webkit.org/b/30522>.
21868         Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
21870         Expose the description attribute that is now a member of
21871         ExceptionBase as of r49723, so when a user logs an exception, they
21872         can see the description in the Web Inspector.
21874         Test: fast/dom/dom-exception-description.html
21876         * dom/DOMCoreException.idl:
21877         * dom/EventException.idl:
21878         * dom/RangeException.idl:
21879         * svg/SVGException.idl:
21880         * xml/XMLHttpRequestException.idl:
21881         * xml/XPathException.idl:
21883 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
21885         Reviewed by Timothy Hatcher.
21887         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
21888         REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
21889         
21890         Add a check to make sure a function we need to calculate percentages is
21891         defined before we use it.
21893         * inspector/front-end/ResourcesPanel.js:
21894         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
21896 2009-10-21  Keishi Hattori  <casey.hattori@gmail.com>
21898         Reviewed by Timothy Hatcher.
21900         REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
21901         https://bugs.webkit.org/show_bug.cgi?id=27231
21903         * inspector/front-end/ConsoleView.js:
21904         (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
21905         * inspector/front-end/ElementsTreeOutline.js:
21906         (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
21907         (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 
21908         treeOutline.showInElementsPanelEnabled is true.
21910 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
21912         Reviewed by Eric Seidel.
21914         https://bugs.webkit.org/show_bug.cgi?id=30637
21915         Fix a compiler warning in windows.
21917         * loader/ResourceLoadNotifier.h:
21919 2009-10-21  Dmitry Titov  <dimich@chromium.org>
21921         Reviewed by Darin Adler.
21923         Fix the crash when a node not in a document receives dispatchEvent.
21924         https://bugs.webkit.org/show_bug.cgi?id=30611
21926         Test: fast/events/dispatch-event-no-document.html
21928         * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
21929         (WebCore::EventTarget::dispatchEvent):
21931 2009-10-21  Adam Langley  <agl@google.com>
21933         Reviewed by Eric Seidel.
21935         Chromium Linux: disable subpixel text on layers.
21937         https://bugs.webkit.org/show_bug.cgi?id=30635
21938         http://code.google.com/p/chromium/issues/detail?id=25365
21940         With the addition of layers for drawing rounded corners in r49641,
21941         subpixel text on rounded rectangles broke. This is because the layer
21942         only contains a single alpha channel and this is insufficient to
21943         compose subpixel text correctly.
21945         On Windows, a large body of code in TransparencyWin.cpp exists to try
21946         to deal with this. Even then, in some cases, it downgrades to
21947         anti-aliased text. We need a fix for the grevious effects quickly thus
21948         this patch disables subpixel text when rendering into a layer.
21950         This would be covered by existing tests except that subpixel text is
21951         disabled for pixel tests on Chromium Linux.
21953         * platform/graphics/chromium/FontLinux.cpp:
21954         (WebCore::isCanvasMultiLayered):
21955         (WebCore::adjustTextRenderMode):
21956         (WebCore::Font::drawGlyphs):
21957         (WebCore::Font::drawComplexText):
21959 2009-10-21  Kevin Ollivier  <kevino@theolliviers.com>
21961         wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
21962         it will use the sqlite3 system library rather than WebCoreSQLite3.
21964         * wscript:
21966 2009-10-21  Dan Bernstein  <mitz@apple.com>
21968         Reviewed by Sam Weinig.
21970         Fixed background-clip parsing regressions introduced in r46240.
21972         Test: fast/css/background-clip-text.html
21974         * css/CSSParser.cpp:
21975         (WebCore::parseBackgroundClip): Added this helper method.
21976         (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
21977         reparse the value. The old code called parseFillProperty() again, which
21978         didn’t work, because parseFillProperty() advances the value list.
21979         (WebCore::CSSParser::parseFillProperty): Changed to use
21980         parseBackgroundClip().
21981         * css/CSSPrimitiveValueMappings.h:
21982         (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
21983         CSSValueWebkitText.
21985 2009-10-21  Alexander Pavlov  <apavlov@chromium.org>
21987         Reviewed by Timothy Hatcher.
21989         Enable creation of custom SidebarTreeElements for different ProfileTypes
21991         ProfileTypes can now create sidebar tree elements of custom types.
21992         https://bugs.webkit.org/show_bug.cgi?id=30520
21994         * inspector/front-end/ProfileView.js:
21995         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
21996         (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
21997         (WebInspector.CPUProfileType.prototype.createView):
21998         (WebInspector.CPUProfile.prototype.get head):
21999         * inspector/front-end/ProfilesPanel.js:
22000         (WebInspector.ProfileType.prototype.buttonClicked):
22001         (WebInspector.ProfileType.prototype.viewForProfile):
22002         (WebInspector.ProfileType.prototype.createView):
22003         (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
22004         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
22005         (WebInspector.ProfilesPanel.prototype.showProfile):
22007 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
22009         Reviewed by Timothy Hatcher.
22011         Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
22012         https://bugs.webkit.org/show_bug.cgi?id=17126
22014         * inspector/front-end/ElementsPanel.js:
22015         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
22016         * inspector/front-end/StylesSidebarPane.js:
22017         (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
22018         * inspector/front-end/ElementsTreeOutline.js:
22019         (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
22021 2009-10-20  Pavel Feldman  <pfeldman@chromium.org>
22023         Reviewed by Timothy Hatcher.
22025         Web Inspector: Fix DOM Agent leak.
22027         https://bugs.webkit.org/show_bug.cgi?id=30615
22029         * inspector/InspectorController.cpp:
22030         (WebCore::InspectorController::~InspectorController):
22032 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
22034         Reviewed by Holger Freyther.
22036         Plugins: Create manual tests for testing plugins
22037         
22038         Create two test files:
22039         1. windowed.html - Test plugin in windowed mode.
22040         2. windowless.html - Test plugin in windowless mode.
22042         https://bugs.webkit.org/show_bug.cgi?id=30503
22044         * manual-tests/plugins/windowed.html: Added.
22045         * manual-tests/plugins/windowless.html: Added.
22047 2009-10-21  Satoshi Nakagawa  <psychs@limechat.net>
22049         Reviewed by Darin Adler.
22051         Fixed Japanese text search problems.
22052         Treat small kana letters and kana letters as different characters in search.
22053         Do not ignore diacritic marks in search for Japanese texts.
22055         https://bugs.webkit.org/show_bug.cgi?id=30437
22057         Test: fast/text/international/japanese-kana-letters.html
22059         * editing/TextIterator.cpp:
22060         (WebCore::createCollator):
22061         (WebCore::collator):
22062         (WebCore::createSearcher):
22064 2009-10-20  Eric Z. Ayers  <zundel@google.com>
22066         Reviewed by Timothy Hatcher.
22068         Changes TimelineItems to be created with raw timestamps as opposed
22069         to a time relative to a start of session.  Normalized timestamps cause
22070         problems when monitoring a browsing session across multiple page
22071         transitions.
22073         * inspector/InspectorTimelineAgent.cpp:
22074         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
22075         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
22076         (WebCore::InspectorTimelineAgent::willLayout):
22077         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
22078         (WebCore::InspectorTimelineAgent::willPaint):
22079         (WebCore::InspectorTimelineAgent::willWriteHTML):
22080         (WebCore::InspectorTimelineAgent::reset):
22081         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
22082         * inspector/InspectorTimelineAgent.h:
22084 2009-10-20  Mark Rowe  <mrowe@apple.com>
22086         Reviewed by Oliver Hunt.
22088         Fix leak of WebSocketChannel by adopting the newly-created reference.
22090         * websockets/WebSocketChannel.h:
22091         (WebCore::WebSocketChannel::create):
22093 2009-10-20  Jeremy Orlow  <jorlow@chromium.org>
22095         Reviewed by Adam Barth.
22097         DOM Storage runtime flag changes
22098         https://bugs.webkit.org/show_bug.cgi?id=30602
22100         Part 1/2.  Removing sessionStorageEnabled in next patch after the
22101         Chromium side of the changes lands.
22103         Revert my changes to Settings and instead implement DOM Storage enabling via
22104         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
22106         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
22107         LayoutTest visible changes and thus no tests.
22109         * bindings/v8/custom/V8CustomBinding.h:
22110         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22111         (WebCore::ACCESSOR_RUNTIME_ENABLER):
22112         * page/DOMWindow.idl:
22113         * storage/Storage.cpp:
22114         (WebCore::Storage::setLocalStorageAvailable):
22115         (WebCore::Storage::localStorageAvailable):
22116         (WebCore::Storage::setSessionStorageAvailable):
22117         (WebCore::Storage::sessionStorageAvailable):
22118         * storage/Storage.h:
22120 2009-10-20  John Gregg  <johnnyg@google.com>
22122         Reviewed by David Levin.
22124         Need to turn off notifications properly at runtime
22125         https://bugs.webkit.org/show_bug.cgi?id=30409
22127         This code only affects chromium, and is all behind a compile time
22128         flag current turned off, so no new tests.
22130         * bindings/v8/custom/V8CustomBinding.h:
22131         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22132         (WebCore::ACCESSOR_RUNTIME_ENABLER):
22133         * bindings/v8/custom/V8WorkerContextCustom.cpp:
22134         (WebCore::ACCESSOR_RUNTIME_ENABLER):
22135         * notifications/NotificationCenter.cpp:
22136         (WebCore::NotificationCenter::setIsAvailable):
22137         (WebCore::NotificationCenter::isAvailable):
22138         * notifications/NotificationCenter.h:
22139         * page/DOMWindow.idl:
22140         * workers/WorkerContext.idl:
22142 2009-10-20  James Robinson  <jamesr@chromium.org>
22144         Reviewed by Adam Barth.
22146         Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
22147         use adoptRef() properly.  I failed to read the RefPtr docs the first time through :(
22149         No new tests, error was caught by valgrind on the Chromium builders.
22151         * bindings/v8/ScriptString.h:
22152         (WebCore::ScriptString::ScriptString):
22153         (WebCore::ScriptString::operator=):
22154         * bindings/v8/ScriptStringImpl.h:
22155         (WebCore::ScriptStringImpl::create):
22157 2009-10-20  Mikhail Naganov  <mnaganov@chromium.org>
22159         Reviewed by Pavel Feldman.
22161         Web Inspector: populate child nodes before sorting them.
22163         https://bugs.webkit.org/show_bug.cgi?id=29673
22165         * inspector/front-end/BottomUpProfileDataGridTree.js:
22166         (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
22167         (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
22168         (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
22169         (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
22170         (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
22171         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
22172         (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
22173         * inspector/front-end/ProfileDataGridTree.js:
22174         (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
22175         (WebInspector.ProfileDataGridNode.prototype.get _parent):
22176         (WebInspector.ProfileDataGridNode.prototype._populate):
22177         * inspector/front-end/TopDownProfileDataGridTree.js:
22178         (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
22180 2009-10-20  Jens Alfke  <snej@chromium.org>
22182         Reviewed by Eric Seidel.
22184         Remove redundant String ref/deref calls in generated V8 bindings.
22185         https://bugs.webkit.org/show_bug.cgi?id=30579
22187         * bindings/v8/V8Binding.h:
22188         (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
22189             instead of constructing/destructing a String.
22191 2009-10-20  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
22193         Reviewed by Xan Lopez.
22195         https://bugs.webkit.org/show_bug.cgi?id=25411
22196         [GTK] ATK accessible ancestry broken
22198         Work around for the problem of bogus additional objects in the ancestry.
22199         We now set the parent when we ref the child, then ask the Atk child if
22200         it knows its parent. This solves the bulk of the cases. For those it
22201         doesn't, fall back to the existing logic.
22203         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22204         (webkit_accessible_get_parent):
22205         (webkit_accessible_ref_child):
22207 2009-10-20  Brian Weinstein  <bweinstein@apple.com>
22209         Reviewed by Alice Liu.
22211         Fixes <http://webkit.org/b/30421>.
22212         Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
22214         When a page like Google generates an about:blank, it shows up as a local file on
22215         the list of Cookie domains, but has all of the cookies of Google. When we are adding
22216         cookie domains to the inspector, we should only add the domain is the URL of the resource
22217         is in the HTTP protocol family or a file URL.
22219         * inspector/InspectorController.cpp:
22220         (WebCore::InspectorController::populateScriptObjects):
22221         (WebCore::InspectorController::didFinishLoading):
22223 2009-10-20  Mark Mentovai  <mark@chromium.org>
22225         Reviewed by Darin Fisher.
22227         Use a version of libWebKitSystemInterface with global symbols marked
22228         private_extern for Chromium Mac.
22230         https://bugs.webkit.org/show_bug.cgi?id=30590
22232         * WebCore.gyp/WebCore.gyp:
22233         * WebCore.gyp/mac: Added.
22234         * WebCore.gyp/mac/Empty.cpp: Added.
22235         * WebCore.gyp/mac/adjust_visibility.sh: Added.
22237 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
22239         Reviewed by Eric Seidel.
22241         Allow custom memory allocation control for WebCore's CSSProperty
22242         https://bugs.webkit.org/show_bug.cgi?id=30564
22244         Inherits CSSProperty class from FastAllocBase because it has been
22245         instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
22247         * css/CSSProperty.h:
22249 2009-10-20  Andrew Scherkus  <scherkus@chromium.org>
22251         Reviewed by Eric Seidel.
22253         Hide Chromium's media slider thumb if no source has been loaded.
22255         https://bugs.webkit.org/show_bug.cgi?id=30529
22257         Covered by existing layout tests, notably:
22258             LayoutTests/media/controls-rendering.html
22259             LayoutTests/media/unsupported-tracks.html
22260             LayoutTests/media/video-src-none.html
22262         * rendering/RenderMediaControlsChromium.cpp:
22263         (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
22264         (WebCore::paintMediaMuteButton): Refactored to use hasSource().
22265         (WebCore::paintMediaPlayButton): Ditto.
22266         (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
22268 2009-10-20  Nate Chapin  <japhet@chromium.org>
22270         Reviewed by Adam Barth.
22272         Added getter for FrameLoader:m_suppressOpenerInNewFrame.
22273         This will allow Chromium to more intelligently detect
22274         noreferrer links and therefore open them in a new process.
22276         https://bugs.webkit.org/show_bug.cgi?id=30581
22278         * loader/FrameLoader.h:
22279         (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
22281 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
22283         Reviewed by Darin Adler.
22285         Allow custom memory allocation control for WebCore's CSSParserFunction
22286         https://bugs.webkit.org/show_bug.cgi?id=30563
22288         Inherits CSSParserFunction struct from FastAllocBase because it has been
22289         instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
22291         * css/CSSProperty.h:
22293 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
22295         Reviewed by Timothy Hatcher.
22297         Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
22298         https://bugs.webkit.org/show_bug.cgi?id=30554
22300         * inspector/front-end/inspector.css: added style to pane buttons
22302 2009-10-20  Yury Semikhatsky  <yurys@chromium.org>
22304         Reviewed by Pavel Feldman.
22306         Set debug id for contexts of isolated worlds to distinguish them in debugger.
22308         https://bugs.webkit.org/show_bug.cgi?id=30559
22310         * bindings/v8/V8Proxy.cpp:
22311         (WebCore::V8Proxy::evaluateInIsolatedWorld):
22312         (WebCore::V8Proxy::evaluateInNewContext):
22313         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
22314         * bindings/v8/V8Proxy.h:
22316 2009-10-20  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
22318         Unreviewed buildfix.
22319         [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
22321         * WebCore.pro:
22323 2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
22325         Reviewed by David Levin.
22327         Set EnabledAtRuntime for WebSocket in DOMWindow
22328         https://bugs.webkit.org/show_bug.cgi?id=29896
22330         Supported by chromium/v8 only.
22331         Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
22332         bindings.
22333         Remove Settings::experimentalWebSocketsEnabled() and
22334         setExperimentalWebSocketsEnabled(bool).
22336         * WebCore.base.exp:
22337         * bindings/js/JSDOMWindowCustom.cpp:
22338         (WebCore::JSDOMWindow::webSocket):
22339         * bindings/v8/V8DOMWrapper.cpp:
22340         (WebCore::V8DOMWrapper::getConstructor):
22341         * bindings/v8/custom/V8CustomBinding.h:
22342         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22343         (WebCore::ACCESSOR_RUNTIME_ENABLER):
22344         * page/DOMWindow.idl:
22345         * page/Settings.cpp:
22346         (WebCore::Settings::Settings):
22347         * page/Settings.h:
22348         * websockets/WebSocket.cpp:
22349         (WebCore::WebSocket::setIsAvailable):
22350         (WebCore::WebSocket::isAvailable):
22351         * websockets/WebSocket.h:
22353 2009-10-19  Oliver Hunt  <oliver@apple.com>
22355         Reviewed by Sam Weinig.
22357         REGRESSION: Dromaeo DOM test is 14% slower
22358         https://bugs.webkit.org/show_bug.cgi?id=30273
22360         Whoops, make prototype bindings actually use the StructureFlags.
22362         * bindings/scripts/CodeGeneratorJS.pm:
22364 2009-10-19  James Robinson  <jamesr@chromium.org>
22366         Reviewed by Adam Barth.
22368         Better implementation of WebCore::ScriptString for the V8 bindings.
22370         https://bugs.webkit.org/show_bug.cgi?id=29909
22372         WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is
22373         shared with JavaScript.  Thus, simply using a WebCore::String and copying the value
22374         is pretty inefficient, especially since responseText is built up with a sequence of
22375         operator+= calls.  JSC builds use a JSC::UString to share the buffer when possible,
22376         this patch adopts a similar approach for V8.
22378         No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest
22380         * WebCore.gypi:
22381         * bindings/v8/ScriptString.h:
22382         (WebCore::ScriptString::ScriptString):
22383         (WebCore::ScriptString::operator String):
22384         (WebCore::ScriptString::isNull):
22385         (WebCore::ScriptString::size):
22386         (WebCore::ScriptString::operator=):
22387         (WebCore::ScriptString::operator+=):
22388         (WebCore::ScriptString::v8StringOrNull):
22389         * bindings/v8/ScriptStringImpl.cpp: Added.
22390         (WebCore::ScriptStringImpl::ScriptStringImpl):
22391         (WebCore::ScriptStringImpl::~ScriptStringImpl):
22392         (WebCore::ScriptStringImpl::toString):
22393         (WebCore::ScriptStringImpl::isNull):
22394         (WebCore::ScriptStringImpl::size):
22395         (WebCore::ScriptStringImpl::append):
22396         * bindings/v8/ScriptStringImpl.h: Added.
22397         (WebCore::ScriptStringImpl::ScriptStringImpl):
22398         (WebCore::ScriptStringImpl::v8StringHandle):
22399         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
22400         (WebCore::ACCESSOR_GETTER):
22402 2009-10-19  Adam Barth  <abarth@webkit.org>
22404         No review, rolling out r49837.
22405         http://trac.webkit.org/changeset/49837
22407         * page/Settings.cpp:
22408         (WebCore::Settings::setStandardFontFamily):
22409         (WebCore::Settings::setFixedFontFamily):
22410         (WebCore::Settings::setSerifFontFamily):
22411         (WebCore::Settings::setSansSerifFontFamily):
22412         (WebCore::Settings::setCursiveFontFamily):
22413         (WebCore::Settings::setFantasyFontFamily):
22414         * page/Settings.h:
22415         (WebCore::Settings::standardFontFamily):
22416         (WebCore::Settings::fixedFontFamily):
22417         (WebCore::Settings::serifFontFamily):
22418         (WebCore::Settings::sansSerifFontFamily):
22419         (WebCore::Settings::cursiveFontFamily):
22420         (WebCore::Settings::fantasyFontFamily):
22421         * platform/text/UScriptCode.h: Removed.
22423 2009-10-19  Kwang Yul Seo  <skyul@company100.net>
22425         Reviewed by Eric Seidel.
22427         Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf.
22428         https://bugs.webkit.org/show_bug.cgi?id=30473
22430         vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of
22431         PLALTFORM(WIN_OS) guards.
22433         * dom/XMLTokenizerLibxml2.cpp:
22434         (WebCore::XMLTokenizer::error):
22436 2009-10-19  Jungshik Shin  <jshin@chromium.org>
22438         Reviewed by Eric Seidel.
22440         https://bugs.webkit.org/show_bug.cgi?id=20797
22442         Make generic font family getters/setters accept an additional
22443         argument (script code). It has a default value so that if an embedder
22444         does not have/want a per-script font family setting, call-sites
22445         don't have to be changed.
22446         This is to prepare for fixing bug 10874 (font selection is not
22447         language-dependent) and bug 18085.
22449         There should be no change in layout and no new layout test
22450         is added.
22452         * WebCore.base.exp:
22453         * page/Settings.cpp:
22454         * page/Settings.h:
22455         * platform/text/UScriptCode.h: Added. This is for ports that
22456           do not use ICU. the part of ICU's common/unicode/uscript.h
22457           that defines script code enum was copied. To keep enums compatible
22458           with those in ICU, we don't generate the list out of Scripts.txt
22459           of the Unicode Data base or CLDR's data.
22461 2009-10-19  Evan Stade  <estade@chromium.org>
22463         Reviewed by Darin Adler.
22465         Clarify usage of SuddenTermination API. No code change.
22467         * platform/SuddenTermination.h:
22469 2009-10-19  Oliver Hunt  <oliver@apple.com>
22471         Reviewed by Gavin Barraclough.
22473         REGRESSION: Dromaeo DOM test is 14% slower
22474         https://bugs.webkit.org/show_bug.cgi?id=30273
22476         Make DOM bindings automatically inherit correct structure
22477         flags rather than being needlessly conservative.  This is
22478         done by making the bindings generator use the same model
22479         for TypeInfo flags that we now use in JSC.
22481         This gains us about 1% of this regression back.
22483         * bindings/js/JSDOMBinding.h:
22484         (WebCore::DOMObjectWithGlobalPointer::createStructure):
22485         (WebCore::DOMConstructorObject::createStructure):
22486         * bindings/js/JSDOMWindowShell.h:
22487         (WebCore::JSDOMWindowShell::createStructure):
22488         * bindings/js/JSHTMLAllCollection.h:
22489         (WebCore::JSHTMLAllCollection::createStructure):
22490         * bindings/js/JSQuarantinedObjectWrapper.h:
22491         (WebCore::JSQuarantinedObjectWrapper::createStructure):
22492         * bindings/scripts/CodeGeneratorJS.pm:
22493         * bridge/objc/objc_runtime.h:
22494         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
22495         * bridge/runtime_array.h:
22496         (JSC::RuntimeArray::createStructure):
22497         * bridge/runtime_method.h:
22498         (JSC::RuntimeMethod::createStructure):
22499         * bridge/runtime_object.h:
22500         (JSC::RuntimeObjectImp::createStructure):
22502 2009-10-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
22504         Reviewed by Nikolas Zimmermann.
22506         Fixed a bug on nested SVG <use> elements.
22507         https://bugs.webkit.org/show_bug.cgi?id=26117
22508         When a <use> element refer to another <use> element which has
22509         child/children, the instance tree built for this <use> element
22510         is incorrect (more nodes than expected).
22512         Test: svg/dom/use-on-use-with-child.svg
22514         * svg/SVGUseElement.cpp:
22515         (WebCore::SVGUseElement::buildInstanceTree):
22517 2009-10-19  Oliver Hunt  <oliver@apple.com>
22519         Small changes to fully invalidate and update the JavaScriptCallFrame.
22521         <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint
22522         https://bugs.webkit.org/show_bug.cgi?id=27146
22524         Reviewed by Timothy Hatcher.
22526         * inspector/JavaScriptCallFrame.h:
22527         (WebCore::JavaScriptCallFrame::invalidate):
22528         (WebCore::JavaScriptCallFrame::update):
22530 2009-10-19  Jeremy Orlow  <jorlow@chromium.org>
22532         Reviewed by Dmitri Titov.
22534         Remove "source" from storage events
22535         https://bugs.webkit.org/show_bug.cgi?id=30536
22537         Remove "source" from storage events per
22538         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
22540         This was removed because it makes it introduces synchronous access that can
22541         cross the event loop boundry (since a storage event can fire from one process
22542         and be handled in another).
22544         * inspector/InspectorDOMStorageResource.cpp:
22545         (WebCore::InspectorDOMStorageResource::handleEvent):
22546         * storage/StorageEvent.cpp:
22547         (WebCore::StorageEvent::create):
22548         (WebCore::StorageEvent::StorageEvent):
22549         (WebCore::StorageEvent::initStorageEvent):
22550         * storage/StorageEvent.h:
22551         (WebCore::StorageEvent::uri):
22552         * storage/StorageEvent.idl:
22553         * storage/StorageEventDispatcher.cpp:
22554         (WebCore::StorageEventDispatcher::dispatch):
22556 2009-10-19  Adam Barth  <abarth@webkit.org>
22558         Reviewed by Eric Seidel.
22560         Remove ResourceLoadNotifier::activeDocumentLoader
22561         https://bugs.webkit.org/show_bug.cgi?id=30533
22563         Removing this method from ResourceLoadNotifier better decouples the
22564         notifier from FrameLoader.
22566         * loader/FrameLoader.cpp:
22567         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
22568         (WebCore::FrameLoader::requestFromDelegate):
22569         * loader/ResourceLoadNotifier.cpp:
22570         (WebCore::ResourceLoadNotifier::didReceiveResponse):
22571         * loader/ResourceLoadNotifier.h:
22572         * loader/ResourceLoader.cpp:
22573         (WebCore::ResourceLoader::willSendRequest):
22575 2009-10-19  Adam Barth  <abarth@webkit.org>
22577         Reviewed by Eric Seidel.
22579         Move sendRemainingDelegateMessages to ResourceLoadNotifier
22580         https://bugs.webkit.org/show_bug.cgi?id=30531
22582         This method is about notifying folks and doesn't interact with the rest
22583         of FrameLoader.
22585         * loader/FrameLoader.cpp:
22586         (WebCore::FrameLoader::willLoadMediaElementURL):
22587         (WebCore::FrameLoader::commitProvisionalLoad):
22588         (WebCore::FrameLoader::loadResourceSynchronously):
22589         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
22590         * loader/FrameLoader.h:
22591         * loader/ResourceLoadNotifier.cpp:
22592         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
22593         * loader/ResourceLoadNotifier.h:
22595 2009-10-19  Adam Barth  <abarth@webkit.org>
22597         Reviewed by Eric Seidel.
22599         Bypass popup blocker using click event
22600         https://bugs.webkit.org/show_bug.cgi?id=21501
22602         Keep track of which events were generated by JavaScript and use that
22603         inforation when figuring out if we're processing a user gesture.
22605         Test: http/tests/security/popup-blocked-from-fake-event.html
22607         * bindings/js/ScriptController.cpp:
22608         (WebCore::ScriptController::processingUserGestureEvent):
22609         * bindings/v8/ScriptController.cpp:
22610         (WebCore::ScriptController::processingUserGesture):
22611         * dom/Document.cpp:
22612         (WebCore::Document::createEvent):
22613         * dom/Event.cpp:
22614         (WebCore::Event::Event):
22615         * dom/Event.h:
22616         (WebCore::Event::createdByDOM):
22617         (WebCore::Event::setCreatedByDOM):
22619 2009-10-19  Dumitru Daniliuc  <dumi@chromium.org>
22621         Reviewed by Darin Adler.
22623         Fixing a typo.
22625         https://bugs.webkit.org/show_bug.cgi?id=30543
22627         * platform/sql/SQLiteDatabase.h:
22629 2009-10-19  Dmitry Titov  <dimich@chromium.org>
22631         Reviewed by Darin Adler.
22633         Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
22634         https://bugs.webkit.org/show_bug.cgi?id=30544
22636         * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
22638 2009-10-19  Simon Fraser  <simon.fraser@apple.com>
22640         Reviewed by Darin Adler.
22642         Flash at end of opacity/transform transition sometimes
22643         https://bugs.webkit.org/show_bug.cgi?id=30501
22644         
22645         When a transition finishes, there window of time between when the animation is
22646         removed, and the final style set on the GraphicsLayer. This caused the layer to revert
22647         to its old appearance for one or two frames. To avoid this, we set the final
22648         transform or opacity at the start of the transition; we know that the animation
22649         will override the final value for as long as its running.
22650         
22651         No test because this is a very transient effect that can't be captured
22652         in a test.
22654         * rendering/RenderLayerBacking.cpp:
22655         (WebCore::RenderLayerBacking::createGraphicsLayer):
22656         (WebCore::RenderLayerBacking::updateLayerOpacity):
22657         (WebCore::RenderLayerBacking::updateLayerTransform):
22658         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
22659         (WebCore::RenderLayerBacking::startTransition):
22660         * rendering/RenderLayerBacking.h:
22662 2009-10-19  Pavel Feldman  <pfeldman@chromium.org>
22664         Reviewed by Timothy Hatcher.
22666         Web Inspector: Add more stop characters into console completions.
22668         https://bugs.webkit.org/show_bug.cgi?id=30477
22670         * inspector/front-end/ConsoleView.js:
22671         (WebInspector.ConsoleView.prototype.completions):
22672         (WebInspector.ConsoleView.prototype._reportCompletions):
22674 2009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
22676         Reviewed by Adam Roben.
22678         implemented ClipboardWin::files()
22679         https://bugs.webkit.org/show_bug.cgi?id=29666
22681         * platform/win/ClipboardWin.cpp:
22682         (WebCore::ClipboardWin::files):
22684 2009-10-19  Nate Chapin  <japhet@chromium.org>
22686         Reviewed by Alexey Proskuryakov.
22688         Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
22690         https://bugs.webkit.org/show_bug.cgi?id=28986
22692         Tests: http/tests/navigation/no-referrer-reset.html
22693                http/tests/navigation/no-referrer-same-window.html
22694                http/tests/navigation/no-referrer-subframe.html
22695                http/tests/navigation/no-referrer-target-blank.html
22697         * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
22698         * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
22699         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
22700         (WebCore::HTMLAnchorElement::defaultEventHandler):
22701         (WebCore::HTMLAnchorElement::parseMappedAttribute):
22702         (WebCore::HTMLAnchorElement::hasRel):
22703         (WebCore::HTMLAnchorElement::setRel):
22704         * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
22705         * loader/FrameLoader.cpp:
22706         (WebCore::FrameLoader::FrameLoader):
22707         (WebCore::FrameLoader::createWindow):
22708         (WebCore::FrameLoader::changeLocation):
22709         (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
22710         (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
22711         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
22712         * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
22713         * loader/FrameLoaderTypes.h: Add enum for referrer policy
22714         * loader/RedirectScheduler.cpp:
22715         (WebCore::RedirectScheduler::timerFired):
22716         * page/ContextMenuController.cpp:
22717         (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
22718         * svg/SVGAElement.cpp:
22719         (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
22722 2009-10-19  Alpha Lam  <hclam@chromium.org>
22724         Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
22726         [v8] typeof(HTMLMediaElement) should return undefined if media
22727         engine is not available
22728         https://bugs.webkit.org/show_bug.cgi?id=30343
22730         Check for availability of the media engine to disable
22731         HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
22732         in runtime.
22734         Try runs and review in Chromium:
22735         http://codereview.chromium.org/276011
22737         Test: manual-tests/chromium/media-player-not-available.html
22739         The above test can work work in Chromium. Testing procedures:
22740         1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
22741         2. Open Chromium with above test page
22742         3. Verify the test results according to the test page
22744         * bindings/v8/custom/V8CustomBinding.h:
22745         Declare enabler methods.
22746         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22747         Report enabled only if media player is available.
22748         * manual-tests/chromium/media-player-not-available.html: Added.
22749         Manual test, following instruction in this test for procedures.
22750         * page/DOMWindow.idl:
22751         Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
22752         as enabled at runtime.
22754 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
22756         Reviewed by David Hyatt.
22758         Refactor out some of the code in paint() into paintPanScrollIcon()
22759         and paintScrollbars() in preparation of some Qt API changes.
22761         * platform/ScrollView.cpp:
22762         (WebCore::ScrollView::paint):
22763         * platform/ScrollView.h:
22765 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
22767         Reviewed by Adam Roben.
22769         Make the local static panScrollIcon into a Image* instead
22770         of a RefPtr<Image>.
22772         * platform/ScrollView.cpp:
22773         (WebCore::ScrollView::wheelEvent):
22775 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
22777         Reviewed by David Levin.
22779         Forcefully set antialiasing for Chromium media controls.
22781         https://bugs.webkit.org/show_bug.cgi?id=30521
22783         Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
22785         Covered by existing layout tests.
22787         * rendering/RenderMediaControlsChromium.cpp:
22788         (WebCore::paintMediaSlider): Added setShouldAntialias(true).
22790 2009-10-19  Jens Alfke  <jens@mooseyard.com>
22792         Reviewed by Darin Adler.
22794         Optimize string upper/lowercasing
22795         https://bugs.webkit.org/show_bug.cgi?id=30261
22796         
22797         - Added AtomicString::upper() and lower()
22798         - Further optimized StringImpl::lower()
22799         - Removed StringImpl::isLower()
22800         - Added QualifiedName::localNameUpper(), which is cached, thereby saving
22801           thousands of upper() calls and string allocations.
22803          * dom/Element.cpp:
22804          (WebCore::Element::setAttribute): Call AtomicString::lower()
22805          * dom/QualifiedName.cpp:
22806          (WebCore::QualifiedName::localNameUpper): New method
22807          * dom/QualifiedName.h: Added localNameUpper() method
22808          * dom/StyledElement.cpp:
22809          (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
22810          * html/HTMLDocument.cpp:
22811          (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
22812          * html/HTMLElement.cpp:
22813          (WebCore::HTMLElement::nodeName): Call localNameUpper()
22814          * platform/text/AtomicString.cpp:
22815          (WebCore::AtomicString::lower): New method
22816          (WebCore::AtomicString::upper): New method
22817          * platform/text/AtomicString.h: Added lower() and upper()
22818          * platform/text/StringImpl.cpp: Removed isLower()
22819          (WebCore::StringImpl::lower): Further optimization of initial loop
22820          * platform/text/StringImpl.h: Removed isLower()
22822 2009-10-19  Nate Chapin  <japhet@chromium.org>
22824         Reviewed by Adam Barth.
22826         If a call to a plugin's invokeMethod, invokeDefault or construct
22827         returns false, throw an exception into JS.        
22829         https://bugs.webkit.org/show_bug.cgi?id=30239
22831         Test: plugins/netscape-invoke-failure.html
22833         * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
22834         (npObjectInvokeImpl):
22835         * bridge/c/c_instance.cpp:
22836         (JSC::Bindings::CInstance::invokeMethod): Check return value
22837         (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
22838         (JSC::Bindings::CInstance::invokeConstruct): Check return value
22840 2009-10-16  Stephen White  <senorblanco@chromium.org>
22842         Reviewed by Adam Barth.
22844         Fix for chromium/skia canvas arc start/end positions, when the arc is
22845         >= 360 degrees.
22846         https://bugs.webkit.org/show_bug.cgi?id=30449
22848         Covered by new test:
22849         LayoutTests/fast/canvas/arc360.html
22851         * platform/graphics/skia/PathSkia.cpp:
22852         (WebCore::Path::addArc):
22854 2009-10-19  Kent Tamura  <tkent@chromium.org>
22856         Reviewed by Alexey Proskuryakov.
22858         Fix uninitialized variable reference in Element::removeAttribute().
22859         https://bugs.webkit.org/show_bug.cgi?id=30502
22861         * dom/Element.cpp:
22862         (WebCore::Element::removeAttribute):
22864 2009-10-19  Eric Carlson  <eric.carlson@apple.com>
22866         Reviewed by Simon Fraser.
22868         https://bugs.webkit.org/show_bug.cgi?id=30463
22869         Remove HTML5 media element 'loadend' event
22871         * dom/EventNames.h:
22872         * html/HTMLMediaElement.cpp:
22873         (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
22874         (WebCore::HTMLMediaElement::loadInternal): Ditto.
22875         (WebCore::HTMLMediaElement::noneSupported): Ditto.
22876         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
22877         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
22878         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
22880 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
22882         Reviewed by Adam Barth.
22884         [Qt] Remove deletion of outgoing FormData object when reply is finished.
22885         The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
22886         Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
22888         * platform/network/qt/QNetworkReplyHandler.cpp:
22889         * platform/network/qt/QNetworkReplyHandler.h:
22891 2009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
22893         Reviewed by Darin Adler.
22895         Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
22896         fastRealloc edge case.
22897         https://bugs.webkit.org/show_bug.cgi?id=29313
22899         No test, the crash shows up occasionally in crash dumps, we weren't able
22900         to reproduce it locally.
22902         * html/HTMLTokenizer.cpp:
22903         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
22904             avoid calling fastRealloc with the size of 0.
22906 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
22908         Reviewed by Eric Seidel.
22910         Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
22912         https://bugs.webkit.org/show_bug.cgi?id=30371
22914         Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
22916         * rendering/RenderMediaControlsChromium.cpp:
22917         (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
22919 2009-10-19  Dmitry Titov  <dimich@chromium.org>
22921         Reviewed by Adam Barth.
22923         Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
22924         https://bugs.webkit.org/show_bug.cgi?id=29832
22926         Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
22927         This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
22929         I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
22931         * page/Frame.cpp:
22932         (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
22934 2009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
22936         Unreviewed build warning fix.
22937         [Qt] Apply changes to WebCore.pro introduced in r49778
22939         * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
22941 2009-10-19  Dirk Schulze  <krit@webkit.org>
22943         Reviewed by Darin Adler.
22945         Move feGaussianBlur from WebCore/svg to WebCore/platform
22946         [https://bugs.webkit.org/show_bug.cgi?id=30495]
22948         This patch moves SVGFRGaussianBlur from svg/graphics/filters
22949         to platform/graphics/filters/FEGaussianBlur. This is needed
22950         for shadow support on Qt and Cairo.
22951         No change in functionality, therfore no new test case needed.
22953         * GNUmakefile.am:
22954         * WebCore.gypi:
22955         * WebCore.pro:
22956         * WebCore.vcproj/WebCore.vcproj:
22957         * WebCore.xcodeproj/project.pbxproj:
22958         * platform/graphics/filters/FEGaussianBlur.cpp: Added.
22959         * platform/graphics/filters/FEGaussianBlur.h: Added.
22960         * svg/SVGFEGaussianBlurElement.h:
22961         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
22962         * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
22964 2009-10-19  Yael Aharon  <yael.aharon@nokia.com>
22966         Unreviewed.
22968         Added reviewer name to r49574.
22970 2009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
22972         Reviewed by Xan Lopez.
22974         https://bugs.webkit.org/show_bug.cgi?id=30489
22975         [Gtk] The document frame/html container claims to be parentless
22977         Work around for the parentless claim made by the accessible associated
22978         with the embedded WebView. When we identify this condition, get the
22979         widget's parent, and then get the AtkObject from that. Admittedly an ugly
22980         hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
22981         plan to switch over to WebKit.
22983         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22984         (webkit_accessible_get_parent):
22986 2009-10-19  Benjamin Otte  <otte@gnome.org>
22988         Reviewed by Jan Alonzo.
22990         Handle duration queries properly
22991         https://bugs.webkit.org/show_bug.cgi?id=29999
22993         Previously duration queries failed to handle unknown duration
22994         and didn't treat the returned duration as an unsigned.
22996         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
22997         (WebCore::MediaPlayerPrivate::duration):
22999 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23001         Reviewed by Tor Arne Vestbø.
23003         [Qt] Fix build on Windows.
23005         * plugins/win/PluginViewWin.cpp:
23006         (windowHandleForPageClient):
23008 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
23010         Reviewed by Holger Freyther.
23012         [Qt] Windowed Plugins: Don't crash when client is 0.
23013         
23014         Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
23015         In addition, setFrameRect()/updatePluginWidget() is called even if the
23016         plugin was not succesfully loaded. updatePluginWidget() updates the
23017         window rect which is, in theory, useful to draw something that indicates
23018         that we didn't load successfully.
23019         
23020         So, a status check is added to setNPWindowIfNeeded.
23022         https://bugs.webkit.org/show_bug.cgi?id=30380
23024         * plugins/qt/PluginViewQt.cpp:
23025         (WebCore::PluginView::setNPWindowIfNeeded):
23026         (WebCore::PluginView::platformStart):
23028 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
23030         Reviewed by Holger Freyther.
23032         [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
23033         
23034         Fixes various sources of crashes:
23035         1. The PluginContainer is a child of QWebView. When the view gets deleted,
23036         the PluginView is not notified about the deletion of PluginContainer.
23037         2. QWebView destructor does not set client to 0.
23038         3. Sometimes pending paint events are sent after the plugin has died, so add
23039         a check in PluginView::setNPWindowIfNeeded.
23041         https://bugs.webkit.org/show_bug.cgi?id=30354
23043         * plugins/qt/PluginContainerQt.cpp:
23044         (PluginContainerQt::~PluginContainerQt):
23045         * plugins/qt/PluginViewQt.cpp:
23046         (WebCore::PluginView::setNPWindowIfNeeded):
23048 2009-10-19  Jakob Truelsen  <antialize@gmail.com>
23050         Reviewed by Adam Barth.
23052         https://bugs.webkit.org/show_bug.cgi?id=29042
23053         Allow one to customize the minimal and maximal shrink factors used when printing.
23055         * page/PrintContext.cpp:
23056         (WebCore::PrintContext::begin):
23057         * page/Settings.cpp:
23058         (WebCore::Settings::Settings):
23059         (WebCore::Settings::setPrintingMinimumShrinkFactor):
23060         (WebCore::Settings::setPrintingMaximumShrinkFactor):
23061         * page/Settings.h:
23062         (WebCore::Settings::printingMinimumShrinkFactor):
23063         (WebCore::Settings::printingMaximumShrinkFactor):
23065 2009-10-18  Erik Arvidsson  <arv@chromium.org>
23067         Reviewed by Adam Barth.
23069         Fixes issue where doubleclicking a word could select following adjacent newlines.
23070         https://bugs.webkit.org/show_bug.cgi?id=30234
23072         Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
23073                platform/mac/editing/selection/script-tests/TEMPLATE.html
23074                platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
23075                platform/win/editing/selection/script-tests/TEMPLATE.html
23077         * editing/VisibleSelection.cpp:
23078         (WebCore::VisibleSelection::appendTrailingWhitespace):
23080 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
23082         CURL build fix, use proper header name.
23084         * platform/network/curl/ResourceHandleManager.h:
23086 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
23088         Reviewed by Timothy Hatcher.
23090         Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
23092         https://bugs.webkit.org/show_bug.cgi?id=30485
23094         * inspector/front-end/ConsoleView.js:
23095         (WebInspector.ConsoleView.prototype._formatarray):
23096         (WebInspector.ConsoleView.prototype._printArray):
23098 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
23100         Not reviewed: touching WebCore so that it
23101         initiated inspector frontend deployment on Windows.
23103         Web Inspector: frontend files are not deployed in Windows
23104         incremental build.
23106         * inspector/InspectorDOMAgent.cpp:
23107         (WebCore::InspectorDOMAgent::unbind):
23109 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
23111         Reviewed by Timothy Hatcher.
23113         Web Inspector: Title of dir(["test", "test2"]) should be Array
23115         https://bugs.webkit.org/show_bug.cgi?id=30486
23117         Test: inspector/console-tests.html
23119         * inspector/front-end/InjectedScript.js:
23121 2009-10-18  Dirk Schulze  <krit@webkit.org>
23123         Reviewed by Nikolas Zimmermann.
23125         REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
23126         [https://bugs.webkit.org/show_bug.cgi?id=30480]
23128         Patch for SVGMaskElement landed in r49598 should correct the location of
23129         the mask image graphics context. It only corrects the location for userSpaceOnUse
23130         mode in maskContentUnits but breaks objectBoundingBoxMode.
23131         The maskDestRect shouldn't be moved. It is not responsible for the correct context
23132         postioin but for the correct position of the mask image.
23133         This patch calculates the context postion independently from the maskDestRect.
23134         It also uses lineareRGB color space for masking on CG now. This is the default
23135         color space for masking operations.
23136         We already have tests for both maskContentUnits modes.
23138             *svg/W3C-SVG-1.1/masking-intro-01-f.svg
23139             *svg/custom/mask-with-default-value.svg
23141         Some tests needed new pixel tests because of the new color space.
23143         * svg/SVGMaskElement.cpp:
23144         (WebCore::SVGMaskElement::drawMaskerContent):
23146 2009-10-18  Anton Muhin  <antonm@chromium.org>
23148         Reviewed by Adam Barth.
23150         Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
23151         That is notably faster for small numbers (most common case).
23152         https://bugs.webkit.org/show_bug.cgi?id=30493
23154         * bindings/scripts/CodeGeneratorV8.pm:
23156 2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
23158         Reviewed by Holger Freyther.
23160         [GTK] Add MathML to the build system
23161         https://bugs.webkit.org/show_bug.cgi?id=30487
23163         Add MathML sources if MathML support is enabled.
23165         * GNUmakefile.am:
23167 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
23169         Non-PCH build fix. Added missing header.
23171         * bridge/runtime_root.h:
23173 2009-10-18  Simon Fraser  <simon.fraser@apple.com>
23175         Reviewed by Dan Bernstein.
23177         Compositing layers not correctly updated after partial layout
23178         https://bugs.webkit.org/show_bug.cgi?id=30425
23179         
23180         When a partial layout happened, for example as the result of a postion-change-only
23181         layout, then some compositing layer positions were not correctly updated. To fix
23182         this, updateLayerPositions() now carries along a flag that is set at the rootmost
23183         layer being updated, and used to determine when we hit the first compositing layer
23184         in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
23185         to do a full geometry update on that layer, which is thus the rootmost compositing
23186         layer that is being updated.
23188         Test: compositing/geometry/partial-layout-update.html
23190         * page/FrameView.cpp:
23191         (WebCore::FrameView::layout):
23192         * rendering/RenderLayer.cpp:
23193         (WebCore::RenderLayer::updateLayerPositions):
23194         (WebCore::RenderLayer::scrollToOffset):
23195         * rendering/RenderLayer.h:
23196         (WebCore::RenderLayer::):
23197         * rendering/RenderLayerBacking.cpp:
23198         (WebCore::RenderLayerBacking::updateAfterLayout):
23199         * rendering/RenderLayerBacking.h:
23201 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
23203         Reviewed by Kevin Ollivier.
23205         Add support for proxies in CURL.
23207         https://bugs.webkit.org/show_bug.cgi?id=30446
23209         * platform/network/curl/ResourceHandleManager.cpp:
23210         (WebCore::ResourceHandleManager::setProxyInfo):
23211         (WebCore::ResourceHandleManager::initializeHandle):
23212         * platform/network/curl/ResourceHandleManager.h:
23213         (WebCore::ResourceHandleManager::):
23215 2009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
23217         Reviewed by Xan Lopez
23219         https://bugs.webkit.org/show_bug.cgi?id=25901
23220         Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
23222         Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
23224         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
23225         (webkit_accessible_get_role):
23227 2009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
23229         Reviewed by George Staikos.
23231         Cleanup SVGElement code, preparing for animVal support
23232         https://bugs.webkit.org/show_bug.cgi?id=30466
23234         Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
23235         from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
23236         be used to control the start/end state of an animated property.
23238         We're currently tracking animated properties that need synchronization, generalize this concept and use
23239         it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
23240         of synchronization (no SVG DOM object wrappers, no synchronization needed).
23242         No change in functionality, thus no tests.
23244         * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
23245         * WebCore.gypi: Ditto.
23246         * WebCore.pro: Ditto.
23247         * WebCore.vcproj/WebCore.vcproj: Ditto.
23248         * WebCore.xcodeproj/project.pbxproj: Ditto.
23249         * svg/SVGAllInOne.cpp: Ditto.
23250         * svg/SVGAnimatedProperty.h: Add registerProperty() function 
23251         (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
23252         (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
23253         * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
23254         (WebCore::lookupOrCreateWrapper):
23255         * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
23256         (WebCore::SVGElement::updateAnimatedSVGAttribute):
23257         * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
23258         (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
23259         * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
23260         (WebCore::SVGViewSpec::SVGViewSpec):
23261         (WebCore::SVGViewSpec::viewTarget):
23262         * svg/SVGViewSpec.h: Ditto.
23263         (WebCore::SVGViewSpec::contextElement):
23264         * svg/SynchronizablePropertyController.cpp: Added.
23265         (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
23266         (WebCore::SynchronizablePropertyController::registerProperty):
23267         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
23268         (WebCore::SynchronizablePropertyController::synchronizeProperty):
23269         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
23270         (WebCore::SynchronizablePropertyController::startAnimation):
23271         (WebCore::SynchronizablePropertyController::stopAnimation):
23272         * svg/SynchronizablePropertyController.h: Added.
23273         (WebCore::SynchronizableProperty::SynchronizableProperty):
23274         (WebCore::SynchronizableProperty::isHashTableDeletedValue):
23275         (WebCore::SynchronizableProperty::operator==):
23276         (WebCore::SynchronizablePropertyHash::hash):
23277         (WebCore::SynchronizablePropertyHash::equal):
23278         (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
23279         (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
23281 2009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
23283         Reviewed by Xan Lopez.
23285         https://bugs.webkit.org/show_bug.cgi?id=25413
23286         [GTK] Please expose the level of headings
23288         Exposes the heading level as an attribute of the AtkObject.
23290         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
23291         (addAttributeToSet):
23292         (webkit_accessible_get_attributes):
23293         (webkit_accessible_class_init):
23295 2009-10-17  Kwang Yul Seo  <skyul@company100.net>
23297         Reviewed by Eric Seidel.
23299         EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
23300         https://bugs.webkit.org/show_bug.cgi?id=30472
23302         Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
23303         in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
23305         * page/EventHandler.cpp:
23307 2009-10-17  Alpha Lam  <hclam@chromium.org>
23309         Reviewed by Eric Seidel.
23311         [chromium] Video controls not zoomed / transformed correctly
23312         https://bugs.webkit.org/show_bug.cgi?id=30461
23314         Draw the images in the controls scaled.
23316         No new tests. With this change Chromium will pass the following tests:
23317         LayoutTests/media/video-controls-zoomed.html
23318         LayoutTests/media/video-controls-transformed.html
23320         * rendering/RenderMediaControlsChromium.cpp:
23321         (WebCore::paintMediaButton):
23322         Pass along the target rect directly.
23323         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
23324         Adjust the thumb slide applied with the scale factor.
23326 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
23328         Unreviewed.
23330         [Gtk] Build fix for WebKitGtk after r49723.
23332         Add bindings/js/JSExceptionBase.* to the build.
23334         * GNUmakefile.am:
23336 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
23338         Unreviewed.
23340         [Qt] Build fix for QtWebKit after r49723.
23342         Add bindings/js/JSExceptionBase.cpp to the build.
23344         * WebCore.pro:
23346 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
23348         Reviewed by Dan Bernstein.
23350         https://bugs.webkit.org/show_bug.cgi?id=30456
23351         Fixes for new Debug_All Windows build configuration.
23353         * platform/network/cf/ResourceRequestCFNet.cpp:
23354         (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
23355         * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
23356         * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
23357         * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
23359 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
23361         Add SPI to determine whether a plug-in has ever been halted.
23363         Part of <rdar://problem/7312158>.
23365         Reviewed by Dan Bernstein.
23367         * plugins/PluginView.cpp:
23368         (WebCore::PluginView::PluginView):
23369         Initialize m_hasBeenHalted.
23371         * plugins/PluginView.h:
23372         (WebCore::PluginView::hasBeenHalted):
23373         Return m_hasBeenHalted.
23375         * plugins/win/PluginViewWin.cpp:
23376         (WebCore::PluginView::halt):
23377         Set m_hasBeenHalted.
23379 2009-10-16  Adam Barth  <abarth@webkit.org>
23381         Reviewed by Alexey Proskuryakov.
23383         @charset rule after the first byte causes the rest of css to be ignored
23384         https://bugs.webkit.org/show_bug.cgi?id=18265
23386         Apparently we're supposed to tolerate whitespace before the charset
23387         rule so folks can write code like this:
23389         <style>
23390         @charset "utf-8"
23391         ...
23392         </style>
23394         I'm told this is one of the top compatability problems in China.
23395         Tests: fast/css/comment-before-charset-external.html
23396                fast/css/comment-before-charset.html
23397                fast/css/many-spaces-before-charset.html
23398                fast/css/space-before-charset-external.html
23399                fast/css/space-before-charset.html
23401         * css/CSSGrammar.y:
23403 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
23405         Reviewed by Darin Adler.
23407         Fixes part of <http://webkit.org/b/30412>.
23408         Web Inspector should get human readable DOM Exceptions.
23410         Add a description field to ExceptionBase, and call it through 
23411         reportException which allows the user/developer to get a more detailed
23412         and coherent error explanation through the Web Inspector.
23414         This only applies to exceptions that come from a script on the page when
23415         it is run. DOM Exceptions that come from the code run in the console, or DOM
23416         exceptions that are caught and logged will come in a future patch.
23418         Tests: inspector/uncaught-dom1-exception.html
23419                inspector/uncaught-dom3-exception.html
23420                inspector/uncaught-dom8-exception.html
23422         * WebCore.gypi:
23423         * WebCore.vcproj/WebCore.vcproj:
23424         * WebCore.xcodeproj/project.pbxproj:
23425         * bindings/js/JSDOMBinding.cpp:
23426         (WebCore::reportException):
23427         * bindings/js/JSExceptionBase.cpp: Added.
23428         (WebCore::toExceptionBase):
23429         * bindings/js/JSExceptionBase.h: Added.
23430         * dom/ExceptionBase.cpp:
23431         (WebCore::ExceptionBase::ExceptionBase):
23432         * dom/ExceptionBase.h:
23433         (WebCore::ExceptionBase::description):
23434         * dom/ExceptionCode.cpp:
23435         (WebCore::):
23436         (WebCore::getExceptionCodeDescription):
23437         * dom/ExceptionCode.h:
23439 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
23441         Build fix: forgot to check in this #include.
23443         * bridge/runtime_root.h:
23445 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
23447         Reviewed by Dan Bernstein.
23449         Transform layer gets stuck with the wrong transform after an animation ends
23450         <rdar://problem/7311662>
23452         Work around a CoreAnimation bug which causes an animated transform layer to
23453         end up with a stale transform.
23454         
23455         Test: compositing/animation/state-at-end-event-transform-layer.html
23457         * platform/graphics/mac/GraphicsLayerCA.mm:
23458         (WebCore::bug7311367Workaround):
23459         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
23461 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
23463         Reviewed by Dan Bernstein.
23465         After running a transition with an end event listener, can't change the transform
23466         https://bugs.webkit.org/show_bug.cgi?id=30454
23467         
23468         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
23469         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
23470         
23471         Now, we always clean up the animations right after queuing up the end events.
23473         Tests: animations/state-at-end-event.html
23474                transitions/move-after-transition.html
23476         * page/animation/ImplicitAnimation.cpp:
23477         (WebCore::ImplicitAnimation::onAnimationEnd):
23478         * page/animation/KeyframeAnimation.cpp:
23479         (WebCore::KeyframeAnimation::onAnimationEnd):
23481 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
23483         Reviewed by Timothy Hatcher.
23485         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
23486         https://bugs.webkit.org/show_bug.cgi?id=30428
23488         TextNode => Edit Text Node
23489         Has Attributes => Edit First Attribute
23490         No Attributes => Start Editing New Attribute
23492         * inspector/front-end/ElementsTreeOutline.js:
23493         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
23494         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
23495         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
23496         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
23497         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
23499 2009-10-16  Adam Barth  <abarth@webkit.org>
23501         Reviewed by Eric Seidel.
23503         Fix header indent style for FrameLoader and friends
23504         https://bugs.webkit.org/show_bug.cgi?id=30430
23506         * loader/FrameLoader.h:
23507         (WebCore::FrameLoader::frame):
23508         (WebCore::FrameLoader::policyChecker):
23509         (WebCore::FrameLoader::history):
23510         (WebCore::FrameLoader::notifier):
23511         (WebCore::FrameLoader::isLoadingMainResource):
23512         (WebCore::FrameLoader::documentLoader):
23513         (WebCore::FrameLoader::policyDocumentLoader):
23514         (WebCore::FrameLoader::provisionalDocumentLoader):
23515         (WebCore::FrameLoader::state):
23516         (WebCore::FrameLoader::client):
23517         (WebCore::FrameLoader::url):
23518         (WebCore::FrameLoader::isLoadingFromCachedPage):
23519         (WebCore::FrameLoader::committingFirstRealLoad):
23520         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
23521         (WebCore::FrameLoader::creatingInitialEmptyDocument):
23522         * loader/HistoryController.h:
23523         (WebCore::HistoryController::currentItem):
23524         (WebCore::HistoryController::provisionalItem):
23525         * loader/PolicyCallback.h:
23526         (WebCore::PolicyCallback::request):
23527         * loader/PolicyChecker.h:
23528         (WebCore::PolicyChecker::loadType):
23529         (WebCore::PolicyChecker::setLoadType):
23530         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
23531         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
23532         * loader/RedirectScheduler.h:
23533         * loader/ResourceLoadNotifier.h:
23535 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
23537         Reviewed by Adam Roben.
23539         Add a Debug_All configuration to build entire stack as debug.
23540         Change Debug_Internal to:
23541         - stop using _debug suffix for all WebKit/Safari binaries
23542         - not use _debug as a DLL naming suffix
23543         - use non-debug C runtime lib.
23545         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
23546         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
23547         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
23548         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
23549         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
23550         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
23552 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
23554         No review, rolling out r49693, because it broke Chromium build.
23555         http://trac.webkit.org/changeset/49693
23557         * WebCore.gyp/WebCore.gyp:
23558         * WebCore.gypi:
23560 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
23562         Reviewed by Eric Carlson.
23564         Updated media resource selection algorithm to reflect latest HTML 5 specification.
23566         Noticable changes:
23567             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
23568             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
23570         Tests: media/video-src-empty.html
23571                media/video-src-none.html
23573         https://bugs.webkit.org/show_bug.cgi?id=30407
23575         * html/HTMLMediaElement.cpp:
23576         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
23578 2009-10-16  Adam Barth  <abarth@webkit.org>
23580         Reviewed by Eric Seidel.
23582         Insecure plug-ins don't trigger mixed content
23583         https://bugs.webkit.org/show_bug.cgi?id=30431
23585         Added the missing check.
23587         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
23589         * loader/FrameLoader.cpp:
23590         (WebCore::FrameLoader::loadPlugin):
23592 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
23594         Reviewed by Eric Carlson.
23596         Set autobuffer to true and schedule load in V8 audio element constructor.
23598         https://bugs.webkit.org/show_bug.cgi?id=30448
23600         Covered by existing tests.
23602         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
23603         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
23605 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
23607         Reviewed by Eric Seidel.
23609         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
23611         https://bugs.webkit.org/show_bug.cgi?id=30422
23613         Covered by existing media layout tests.
23615         * rendering/RenderMediaControlsChromium.cpp:
23616         (WebCore::paintMediaSlider): Removed round() and FIXME.
23618 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
23620         Reviewed by Eric Seidel.
23622         Fix Chromium media controls to render a disabled play button when the element is unintialized.
23624         https://bugs.webkit.org/show_bug.cgi?id=30410
23626         Covered by existing layout tests.
23628         * rendering/RenderMediaControlsChromium.cpp:
23629         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
23631 2009-10-16  Oliver Hunt  <oliver@apple.com>
23633         Reviewed by Gavin Barraclough.
23635         Make typeinfo flags default to false
23636         https://bugs.webkit.org/show_bug.cgi?id=30372
23638         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
23639         flag.
23641         * bindings/js/JSDOMWindowShell.h:
23642         (WebCore::JSDOMWindowShell::createStructure):
23643         * bindings/js/JSHTMLAllCollection.h:
23644         (WebCore::JSHTMLAllCollection::createStructure):
23645         * bindings/js/JSQuarantinedObjectWrapper.h:
23646         (WebCore::JSQuarantinedObjectWrapper::createStructure):
23647         * bindings/scripts/CodeGeneratorJS.pm:
23648         * bridge/runtime_array.h:
23649         (JSC::RuntimeArray::createStructure):
23650         * bridge/runtime_object.h:
23651         (JSC::RuntimeObjectImp::createStructure):
23653 2009-10-16  Steven Knight  <sgk@chromium.org>
23655         Reviewed by David Levin.
23657         https://bugs.webkit.org/show_bug.cgi?id=30447
23658         Handle long link lines by building .idl-generated bindings in a
23659         separate webcore_bindings library target.  Avoid Visual Studio
23660         dependency issues by building additional generated .cpp and .h files
23661         in a separate webcore_bindings_sources target.
23663         Chrome should still build and test successfully.
23665         * WebCore.gyp/WebCore.gyp:
23666         * WebCore.gypi:
23668 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
23670         Reviewed by Eric Carlson.
23672         Transform transitions that used to be accelerated are no longer so
23673         https://bugs.webkit.org/show_bug.cgi?id=30453
23675         The change in r49633, to not run accelerated animations/transitions on layers that
23676         are not attached, broke accelerated transitions/animations in many cases where they start
23677         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
23678         attached.
23679         
23680         No test, because it's not possible from a test to know whether a transition is accelerated or not.
23682         * rendering/RenderLayerBacking.cpp:
23683         (WebCore::RenderLayerBacking::startAnimation):
23684         (WebCore::RenderLayerBacking::startTransition):
23686 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
23688         wxMSW build fix, build the MSW source to get methods that use the MSW version of
23689         PlatformModuleVersion.
23691         * wscript:
23693 2009-10-16  Adam Barth  <abarth@webkit.org>
23695         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
23696         casing.
23698         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
23699         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
23700         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
23701         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
23702         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
23703         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
23704         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
23705         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
23706         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
23707         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
23708         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
23709         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
23710         (WebCore::dummyHashSet):
23711         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
23712         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
23713         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
23714         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
23715         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
23717 2009-10-16  Adam Barth  <abarth@webkit.org>
23719         Reviewed by Darin Adler.
23721         MimeTypeRegistryChromium is mis-casen
23722         https://bugs.webkit.org/show_bug.cgi?id=30441
23724         Change the case of MimeTypeRegistryChromium to match other platforms.
23726         * WebCore.gypi:
23727         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
23728         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
23730 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
23732         Reviewed by Eric Seidel.
23734         Change EmptyPluginHalterClient in SVGImage to be non-static, to
23735         match changes made http://trac.webkit.org/changeset/49385.
23736         https://bugs.webkit.org/show_bug.cgi?id=30403
23738         Run the following layout test sequence:
23739           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
23740           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
23741           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
23742           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
23743           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
23744           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
23745           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
23746           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
23747           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
23748           LayoutTests/svg/carto.net/scrollbar.svg
23749           LayoutTests/svg/carto.net/selectionlist.svg
23751         selectionlist.svg should not crash.
23753         * svg/graphics/SVGImage.cpp:
23754         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
23756 2009-10-16  Victor Wang  <victorw@chromium.org>
23758         Reviewed by David Levin.
23760         Add beforeload event support to V8DOMWrapper
23762         https://bugs.webkit.org/show_bug.cgi?id=30413
23764         LayoutTests/fast/dom/beforeload/frame-before-load.html
23766         * bindings/v8/V8DOMWrapper.cpp:
23767         (WebCore::V8DOMWrapper::convertEventToV8Object):
23769 2009-10-16  Adam Barth  <abarth@webkit.org>
23771         Reviewed by Darin Adler.
23773         MimeTypeRegistryChromium is mis-casen
23774         https://bugs.webkit.org/show_bug.cgi?id=30441
23776         Change the case of MimeTypeRegistryChromium to match other platforms.
23778         * WebCore.gypi:
23779         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
23780         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
23782 2009-10-16  Adam Barth  <abarth@webkit.org>
23784         Reviewed by Mark Rowe.
23786         Chrome doesn't set Content-Type for file upload when the file extension
23787         is not recognized
23788         https://bugs.webkit.org/show_bug.cgi?id=30433
23790         Apparently, getMIMETypeForPath is supposed to return
23791         application/octet-stream when it doesn't have a better MIME type.
23793         * platform/chromium/MimeTypeRegistryChromium.cpp:
23794         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
23796 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
23798         Pull out r49676 as it caused build breakges on Symbian
23800         * plugins/symbian/PluginViewSymbian.cpp:
23802 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
23804         Reviewed by Ariya Hidayat.
23806         Crash fix when loading NPAPI plugins on Qt/Mac
23808         There's no guarantee that the plist will be valid even if we
23809         ask the plugin to create it. Crash obverved with iGetter.
23811         * plugins/mac/PluginPackageMac.cpp:
23813 2009-10-15  Stephen White  <senorblanco@chromium.org>
23815         Reviewed by David Levin.
23817         Fix for Chromium/skia's implementation of canvas's isPointInPath().
23818         https://bugs.webkit.org/show_bug.cgi?id=30402
23820         Covered by LayoutTests/fast/canvas/pointInPath.html.
23822         * platform/graphics/skia/SkiaUtils.cpp:
23823         (WebCore::SkPathContainsPoint):
23825 2009-10-15  Adam Barth  <abarth@webkit.org>
23827         Reviewed by Darin Adler.
23829         Factor ResourceLoadNotifier out of FrameLoader
23830         https://bugs.webkit.org/show_bug.cgi?id=30379
23832         These methods have virtually no interaction with the rest of
23833         FrameLoader.
23835         * GNUmakefile.am:
23836         * WebCore.gypi:
23837         * WebCore.pro:
23838         * WebCore.vcproj/WebCore.vcproj:
23839         * WebCore.xcodeproj/project.pbxproj:
23840         * WebCoreSources.bkl:
23841         * dom/Document.cpp:
23842         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
23843         * loader/FrameLoader.cpp:
23844         (WebCore::FrameLoader::FrameLoader):
23845         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
23846         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
23847         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
23848         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
23849         (WebCore::ResourceLoadNotifier::willSendRequest):
23850         (WebCore::ResourceLoadNotifier::didReceiveResponse):
23851         (WebCore::ResourceLoadNotifier::didReceiveData):
23852         (WebCore::ResourceLoadNotifier::didFailToLoad):
23853         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
23854         (WebCore::FrameLoader::sendRemainingDelegateMessages):
23855         (WebCore::FrameLoader::requestFromDelegate):
23856         (WebCore::ResourceLoadNotifier::didFinishLoad):
23857         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
23858         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
23859         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
23860         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
23861         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
23862         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
23863         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
23864         * loader/FrameLoader.h:
23865         (WebCore::FrameLoader::notifier):
23866         * loader/MainResourceLoader.cpp:
23867         (WebCore::MainResourceLoader::receivedError):
23868         * loader/ResourceLoadNotifier.cpp: Added.
23869         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
23870         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
23871         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
23872         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
23873         (WebCore::ResourceLoadNotifier::willSendRequest):
23874         (WebCore::ResourceLoadNotifier::didReceiveResponse):
23875         (WebCore::ResourceLoadNotifier::didReceiveData):
23876         (WebCore::ResourceLoadNotifier::didFinishLoad):
23877         (WebCore::ResourceLoadNotifier::didFailToLoad):
23878         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
23879         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
23880         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
23881         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
23882         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
23883         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
23884         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
23885         * loader/ResourceLoadNotifier.h: Added.
23886         * loader/ResourceLoader.cpp:
23887         (WebCore::ResourceLoader::willSendRequest):
23888         (WebCore::ResourceLoader::didReceiveResponse):
23889         (WebCore::ResourceLoader::didReceiveData):
23890         (WebCore::ResourceLoader::didFinishLoadingOnePart):
23891         (WebCore::ResourceLoader::didFail):
23892         (WebCore::ResourceLoader::didCancel):
23893         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
23894         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
23896 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
23898         Reviewed by Darin Fisher.
23900         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
23901         (https://bugs.webkit.org/show_bug.cgi?id=30427)
23902         
23903         Remove no longer needed methods from ChromiumDataObject.
23905         No new tests (no functional change)
23907         * platform/chromium/ChromiumDataObject.h:
23909 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
23911         Reviewed by Tor Arne Vestbø.
23913         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
23914         https://bugs.webkit.org/show_bug.cgi?id=30179
23916         Inform the application when a plugin is created or destroyed, but only if the 
23917         application registered for these notifications.
23919         * plugins/symbian/PluginViewSymbian.cpp:
23920         (WebCore::PluginView::platformStart):
23921         (WebCore::PluginView::platformDestroy):
23923 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
23925         Reviewed by Eric Seidel.
23927         Default language translation should be determined by locale settings,
23928         e.g., "en-US".
23929         https://bugs.webkit.org/show_bug.cgi?id=29653
23931         Test: fast/js/navigator-language.html
23933         * platform/qt/Localizations.cpp:
23934         (WebCore::defaultLanguage):
23936 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
23938         Reviewed by Ariya Hidayat.
23940         Crash fix when loading NPAPI plugins on Qt/Mac
23942         There's no guarantee that the plist will be valid even if we
23943         ask the plugin to create it. Crash obverved with iGetter.
23945         * plugins/mac/PluginPackageMac.cpp:
23947 2009-10-15  Stephen White  <senorblanco@chromium.org>
23949         Reviewed by David Levin.
23951         Fix for Chromium/skia's implementation of canvas's isPointInPath().
23952         https://bugs.webkit.org/show_bug.cgi?id=30402
23954         Covered by LayoutTests/fast/canvas/pointInPath.html.
23956         * platform/graphics/skia/SkiaUtils.cpp:
23957         (WebCore::SkPathContainsPoint):
23959 2009-10-15  Adam Barth  <abarth@webkit.org>
23961         Reviewed by Darin Adler.
23963         Factor ResourceLoadNotifier out of FrameLoader
23964         https://bugs.webkit.org/show_bug.cgi?id=30379
23966         These methods have virtually no interaction with the rest of
23967         FrameLoader.
23969         * GNUmakefile.am:
23970         * WebCore.gypi:
23971         * WebCore.pro:
23972         * WebCore.vcproj/WebCore.vcproj:
23973         * WebCore.xcodeproj/project.pbxproj:
23974         * WebCoreSources.bkl:
23975         * dom/Document.cpp:
23976         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
23977         * loader/FrameLoader.cpp:
23978         (WebCore::FrameLoader::FrameLoader):
23979         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
23980         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
23981         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
23982         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
23983         (WebCore::ResourceLoadNotifier::willSendRequest):
23984         (WebCore::ResourceLoadNotifier::didReceiveResponse):
23985         (WebCore::ResourceLoadNotifier::didReceiveData):
23986         (WebCore::ResourceLoadNotifier::didFailToLoad):
23987         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
23988         (WebCore::FrameLoader::sendRemainingDelegateMessages):
23989         (WebCore::FrameLoader::requestFromDelegate):
23990         (WebCore::ResourceLoadNotifier::didFinishLoad):
23991         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
23992         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
23993         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
23994         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
23995         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
23996         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
23997         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
23998         * loader/FrameLoader.h:
23999         (WebCore::FrameLoader::notifier):
24000         * loader/MainResourceLoader.cpp:
24001         (WebCore::MainResourceLoader::receivedError):
24002         * loader/ResourceLoadNotifier.cpp: Added.
24003         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
24004         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
24005         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
24006         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
24007         (WebCore::ResourceLoadNotifier::willSendRequest):
24008         (WebCore::ResourceLoadNotifier::didReceiveResponse):
24009         (WebCore::ResourceLoadNotifier::didReceiveData):
24010         (WebCore::ResourceLoadNotifier::didFinishLoad):
24011         (WebCore::ResourceLoadNotifier::didFailToLoad):
24012         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
24013         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
24014         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
24015         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
24016         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
24017         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
24018         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
24019         * loader/ResourceLoadNotifier.h: Added.
24020         * loader/ResourceLoader.cpp:
24021         (WebCore::ResourceLoader::willSendRequest):
24022         (WebCore::ResourceLoader::didReceiveResponse):
24023         (WebCore::ResourceLoader::didReceiveData):
24024         (WebCore::ResourceLoader::didFinishLoadingOnePart):
24025         (WebCore::ResourceLoader::didFail):
24026         (WebCore::ResourceLoader::didCancel):
24027         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
24028         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
24030 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
24032         Reviewed by Darin Fisher.
24034         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
24035         (https://bugs.webkit.org/show_bug.cgi?id=30427)
24036         
24037         Remove no longer needed methods from ChromiumDataObject.
24039         No new tests (no functional change)
24041         * platform/chromium/ChromiumDataObject.h:
24043 2009-10-15  Daniel Bates  <dbates@webkit.org>
24045         No review, rolling out r49644.
24046         http://trac.webkit.org/changeset/49644
24047         
24048         We need to think about this change some more. See bug #30418 
24049         for more details.
24051         * page/XSSAuditor.cpp:
24052         (WebCore::XSSAuditor::canEvaluate):
24053         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
24054         (WebCore::XSSAuditor::canCreateInlineEventListener):
24055         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
24056         (WebCore::XSSAuditor::canLoadObject):
24057         (WebCore::XSSAuditor::canSetBaseElementURL):
24058         (WebCore::XSSAuditor::findInRequest):
24059         * page/XSSAuditor.h:
24061 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
24063         Add SPI to determine whether a node is a halted plug-in.
24065         Part of <rdar://problem/7273354> Halted plug-ins should restart on
24066         mouseover
24068         https://bugs.webkit.org/show_bug.cgi?id=30151
24070         Reviewed by Darin Adler.
24072         * plugins/PluginView.cpp:
24073         (WebCore::PluginView::PluginView):
24074         Initialize m_isHalted.
24076         * plugins/PluginView.h:
24077         (WebCore::PluginView::isHalted):
24078         Return m_isHalted.
24080         * plugins/win/PluginViewWin.cpp:
24081         (WebCore::PluginView::halt):
24082         Set m_isHalted to true.
24083         (WebCore::PluginView::restart):
24084         clear m_isHalted.
24086 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
24088         Reviewed by Oliver Hunt.
24090         [Qt] Build fix for QtWebKit after r49649.
24092         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
24094         * bridge/qt/qt_runtime.h:
24095         (JSC::Bindings::QtRuntimeMethod::createStructure):
24097 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
24099         Not reviewed - build fix.
24101         Web Inspector: add file missing in r49648
24103         * inspector/front-end/TestController.js: Added.
24104         (WebInspector.TestController):
24105         (WebInspector.TestController.prototype.waitUntilDone):
24106         (WebInspector.TestController.prototype.notifyDone):
24107         (WebInspector.evaluateForTestInFrontend):
24109 2009-10-15  Oliver Hunt  <oliver@apple.com>
24111         Reviewed by Darin Adler.
24113         Make typeinfo flags default to false
24114         https://bugs.webkit.org/show_bug.cgi?id=30372
24116         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
24118         * bindings/js/JSDOMBinding.h:
24119         (WebCore::DOMObjectWithGlobalPointer::createStructure):
24120         (WebCore::DOMConstructorObject::createStructure):
24121         * bindings/js/JSDOMWindowShell.h:
24122         (WebCore::JSDOMWindowShell::createStructure):
24123         * bindings/js/JSHTMLAllCollection.h:
24124         (WebCore::JSHTMLAllCollection::createStructure):
24125         * bindings/js/JSQuarantinedObjectWrapper.h:
24126         (WebCore::JSQuarantinedObjectWrapper::createStructure):
24127         * bindings/scripts/CodeGeneratorJS.pm:
24128         * bridge/qt/qt_runtime.h:
24129         (JSC::Bindings::QtRuntimeMethod::createStructure):
24130         * bridge/runtime_method.h:
24131         (JSC::RuntimeMethod::createStructure):
24133 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
24135         Reviewed by Timothy Hatcher.
24137         Web Inspector: introduce test controller with waitUntilDone
24138         on frontend side.
24140         https://bugs.webkit.org/show_bug.cgi?id=30400
24142         * WebCore.gypi:
24143         * WebCore.vcproj/WebCore.vcproj:
24144         * inspector/front-end/TestController.js: Added.
24145         (WebInspector.TestController):
24146         (WebInspector.TestController.prototype.waitUntilDone):
24147         (WebInspector.TestController.prototype.notifyDone):
24148         (WebInspector.evaluateForTestInFrontend):
24149         * inspector/front-end/WebKit.qrc:
24150         * inspector/front-end/inspector.html:
24151         * inspector/front-end/inspector.js:
24153 2009-10-15  Daniel Bates  <dbates@webkit.org>
24155         Reviewed by Adam Barth.
24157         https://bugs.webkit.org/show_bug.cgi?id=27895
24158         
24159         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
24160         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
24161         the HTML Base element, HTML Object element, inline and external script tags, and
24162         JavaScript multi-line variants of all of these attacks.
24164         Tests: http/tests/security/xssAuditor/base-href-comment.html
24165                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
24166                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
24167                http/tests/security/xssAuditor/img-onerror-comment.html
24168                http/tests/security/xssAuditor/object-tag-comment.html
24169                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
24170                http/tests/security/xssAuditor/script-tag-comment.html
24171                http/tests/security/xssAuditor/script-tag-with-source-comment.html
24173         * page/XSSAuditor.cpp: Added constant minAttackLength.
24174         (WebCore::XSSAuditor::canEvaluate):
24175         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
24176         (WebCore::XSSAuditor::canCreateInlineEventListener):
24177         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
24178         (WebCore::XSSAuditor::canLoadObject):
24179         (WebCore::XSSAuditor::canSetBaseElementURL):
24180         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
24181         to minAttackLength of script code plus context (if any).
24182         * page/XSSAuditor.h:
24184 2009-10-08  Adam Langley  <agl@google.com>
24186         Reviewed by Eric Seidel.
24188         Currently, Skia clip paths are 1-bit. This patch makes our path
24189         clipping anti-aliased for non-canvas drawing.
24191         http://code.google.com/p/chromium/issues/detail?id=5927
24192         https://bugs.webkit.org/show_bug.cgi?id=28820
24193         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
24195         Already covered by layout tests. New baselines will be needed in the
24196         Chromium tree.
24198         (Reland. First landed in r49329, reverted in r49330 due to Windows
24199         build break)
24201         * html/canvas/CanvasRenderingContext2D.cpp:
24202         (WebCore::CanvasRenderingContext2D::clip):
24203         * platform/graphics/GraphicsContext.h:
24204         * platform/graphics/cairo/GraphicsContextCairo.cpp:
24205         (WebCore::GraphicsContext::canvasClip):
24206         * platform/graphics/cg/GraphicsContextCG.cpp:
24207         (WebCore::GraphicsContext::canvasClip):
24208         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
24209         (WebCore::GraphicsContext::canvasClip):
24210         * platform/graphics/qt/GraphicsContextQt.cpp:
24211         (WebCore::GraphicsContext::canvasClip):
24212         * platform/graphics/skia/GraphicsContextSkia.cpp:
24213         (WebCore::GraphicsContext::addInnerRoundedRectClip):
24214         (WebCore::GraphicsContext::clip):
24215         (WebCore::GraphicsContext::canvasClip):
24216         (WebCore::GraphicsContext::clipPath):
24217         * platform/graphics/skia/PlatformContextSkia.cpp:
24218         (PlatformContextSkia::clipPathAntiAliased):
24219         (PlatformContextSkia::restore):
24220         (PlatformContextSkia::applyAntiAliasedClipPaths):
24221         * platform/graphics/skia/PlatformContextSkia.h:
24222         * platform/graphics/win/GraphicsContextWin.cpp:
24223         (WebCore::GraphicsContext::canvasClip):
24224         * platform/graphics/wince/GraphicsContextWince.cpp:
24225         (WebCore::GraphicsContext::canvasClip):
24226         * platform/graphics/wx/GraphicsContextWx.cpp:
24227         (WebCore::GraphicsContext::canvasClip):
24229 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
24231         Reviewed by Simon Fraser.
24233         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
24235         * WebCore.Video.exp: Export muted and setMute.
24237 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
24239         Reviewed by Dan Bernstein.
24241         Transitions fail to run sometimes
24242         https://bugs.webkit.org/show_bug.cgi?id=26770
24244         Fix an issue where we could attempt to start accelerated animations or transitions on
24245         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
24246         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
24247         software transitions.
24249         * page/animation/AnimationController.cpp:
24250         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
24251         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
24252         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
24253         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
24254         (WebCore::AnimationControllerPrivate::startTimeResponse):
24255         * page/animation/AnimationControllerPrivate.h:
24256         Make some methods non-inline for ease of debugging (these are not hot methods).
24257         Rename m_waitingForAResponse to m_waitingForResponse.
24258         
24259         * platform/graphics/GraphicsLayer.h:
24260         * platform/graphics/GraphicsLayer.cpp:
24261         (WebCore::GraphicsLayer::hasAncestor):
24262         New method to report whether the receiver has the given layer as an ancestor. Used for checking
24263         whether a layer is rooted.
24265         * rendering/RenderLayerBacking.cpp:
24266         (WebCore::RenderLayerBacking::startAnimation):
24267         (WebCore::RenderLayerBacking::startTransition):
24268         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
24270 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
24272         Reviewed by Pavel Feldman.
24274         Refactor ProfilesPanel to support multiple profile types
24276         Data describing different profile types are now stored in distinct objects.
24277         https://bugs.webkit.org/show_bug.cgi?id=30332
24279         * WebCore.vcproj/WebCore.vcproj:
24280         * inspector/front-end/ProfileView.js:
24281         (WebInspector.CPUProfileView.profileCallback):
24282         (WebInspector.CPUProfileView):
24283         (WebInspector.CPUProfileView.prototype._sortData):
24284         (WebInspector.CPUProfileType):
24285         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
24286         (WebInspector.CPUProfileType.prototype.get buttonStyle):
24287         (WebInspector.CPUProfileType.prototype.buttonClicked):
24288         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
24289         (WebInspector.CPUProfile):
24290         (WebInspector.CPUProfile.prototype.get title):
24291         (WebInspector.CPUProfile.prototype.get uid):
24292         (WebInspector.CPUProfile.prototype.get head):
24293         (WebInspector.CPUProfile.prototype.createView):
24294         (WebInspector.CPUProfile.prototype.viewForProfile):
24295         * inspector/front-end/ProfilesPanel.js:
24296         (WebInspector.ProfileType):
24297         (WebInspector.ProfileType.prototype.get buttonTooltip):
24298         (WebInspector.ProfileType.prototype.get buttonStyle):
24299         (WebInspector.ProfileType.prototype.get buttonCaption):
24300         (WebInspector.ProfileType.prototype.get id):
24301         (WebInspector.ProfileType.prototype.get name):
24302         (WebInspector.ProfileType.prototype.buttonClicked):
24303         (WebInspector.ProfilesPanel):
24304         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
24305         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
24306         (WebInspector.ProfilesPanel.prototype.reset):
24307         (WebInspector.ProfilesPanel.prototype.registerProfileType):
24308         (WebInspector.ProfilesPanel.prototype._makeKey):
24309         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
24310         (WebInspector.ProfilesPanel.prototype.showProfile):
24311         (WebInspector.ProfilesPanel.prototype.getProfileType):
24312         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
24313         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
24314         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
24315         (WebInspector.ProfilesPanel.prototype.get searchableViews):
24316         (WebInspector.ProfilesPanel.prototype._updateInterface):
24317         * inspector/front-end/inspector.js:
24318         (WebInspector._createPanels):
24319         (WebInspector.documentClick.followLink):
24320         (WebInspector.documentClick):
24321         (WebInspector.addProfileHeader):
24322         (WebInspector.setRecordingProfile):
24323         (WebInspector.linkifyStringAsFragment):
24324         (WebInspector.showProfileForURL):
24326 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
24328         Reviewed by Timothy Hatcher.
24330         Web Inspector: Enable inspector layout tests.
24332         https://bugs.webkit.org/show_bug.cgi?id=30014
24334         * inspector/InspectorController.cpp:
24335         (WebCore::InspectorController::evaluateForTestInFrontend):
24337 2009-10-15  Philippe Normand  <pnormand@igalia.com>
24339         Reviewed by Gustavo Noronha.
24341         [GStreamer] READY state doesn't mean "enough data"
24342         https://bugs.webkit.org/show_bug.cgi?id=30003
24344         STATE_READY means MediaPlayer::HaveNothing
24346         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24347         (WebCore::MediaPlayerPrivate::updateStates):
24349 2009-10-15  Philippe Normand  <pnormand@igalia.com>
24351         Reviewed by Gustavo Noronha.
24353         https://bugs.webkit.org/show_bug.cgi?id=30002
24355         implement cancelLoad
24357         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24358         (WebCore::MediaPlayerPrivate::cancelLoad):
24360 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
24362         Reviewed by Gustavo Noronha.
24364         https://bugs.webkit.org/show_bug.cgi?id=30353
24365         
24366         Fix race condition, leading to a deadlock
24368         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
24369         (webkit_video_sink_timeout_func):
24370         (webkit_video_sink_render):
24371         (unlock_buffer_mutex):
24372         (webkit_video_sink_unlock):
24373         (webkit_video_sink_unlock_stop):
24374         (webkit_video_sink_stop):
24375         (webkit_video_sink_start):
24376         (webkit_video_sink_class_init):
24377         Fix race condition in unlock/render that would lead to deadlocks.
24379 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
24381         Reviewed by Gustavo Noronha.
24383         https://bugs.webkit.org/show_bug.cgi?id=30374
24384         
24385         Check if caps are valid before parsing them
24387         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24388         (WebCore::MediaPlayerPrivate::duration):
24389         Check if caps are valid before parsing them in ::naturalSize().
24390         This prevents assertions if the natural size should be calculated
24391         before the video caps are negotiated.
24393 2009-10-15  Philippe Normand  <pnormand@igalia.com>
24395         Reviewed by Gustavo Noronha.
24397         https://bugs.webkit.org/show_bug.cgi?id=30006
24398         [GStreamer] Unnecessary checks for Messages types in callbacks
24400         refactored gst message callbacks into a single one
24402         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24403         (WebCore::mediaPlayerPrivateMessageCallback):
24404         (WebCore::do_gst_init):
24405         (WebCore::MediaPlayerPrivate::duration):
24406         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
24408 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
24410         Reviewed by Adele Peterson.
24412         Anchor elements should be mouse focusable regardless isLink flag.
24413         https://bugs.webkit.org/show_bug.cgi?id=26856
24415         * html/HTMLAnchorElement.cpp:
24416         * html/HTMLAnchorElement.h:
24418 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
24420         Not reviewed. Sort XCode project file.
24422         * WebCore.xcodeproj/project.pbxproj:
24424 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
24426         Reviewed by Dave Hyatt.
24428         Return correct shorthand property name for 
24429         background-repeat-x, background-repeat-y, background-position-x,
24430         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
24431         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
24433         https://bugs.webkit.org/show_bug.cgi?id=28972
24435         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
24437         * css/CSSParser.cpp:
24438         (WebCore::CSSParser::parseValue):
24440 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
24442         Reviewed by Pavel Feldman.
24444         Web Inspector: Migrate profiles to the injected script-based schema.
24446         https://bugs.webkit.org/show_bug.cgi?id=30328
24448         * bindings/js/JSInspectorBackendCustom.cpp:
24449         * bindings/v8/custom/V8CustomBinding.h:
24450         * inspector/InspectorBackend.cpp:
24451         (WebCore::InspectorBackend::getProfileHeaders):
24452         (WebCore::InspectorBackend::getProfile):
24453         * inspector/InspectorBackend.h:
24454         * inspector/InspectorBackend.idl:
24455         * inspector/InspectorController.cpp:
24456         (WebCore::InspectorController::addProfile):
24457         (WebCore::InspectorController::getProfileHeaders):
24458         (WebCore::InspectorController::getProfile):
24459         (WebCore::InspectorController::createProfileHeader):
24460         * inspector/InspectorController.h:
24461         * inspector/InspectorFrontend.cpp:
24462         (WebCore::InspectorFrontend::addProfileHeader):
24463         (WebCore::InspectorFrontend::didGetProfileHeaders):
24464         (WebCore::InspectorFrontend::didGetProfile):
24465         * inspector/InspectorFrontend.h:
24466         * inspector/JavaScriptProfileNode.cpp:
24467         (WebCore::ProfileNodeClass):
24468         * inspector/front-end/ProfileView.js:
24469         (WebInspector.ProfileView.profileCallback):
24470         (WebInspector.ProfileView):
24471         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
24472         (WebInspector.ProfileView.prototype._assignParentsInProfile):
24473         * inspector/front-end/ProfilesPanel.js:
24474         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
24475         * inspector/front-end/inspector.js:
24476         (WebInspector.addProfileHeader):
24478 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
24480         Reviewed by Timothy Hatcher.
24482         Web Inspector: Create and update frontend script objects only when
24483         web inspector is visible.
24485         https://bugs.webkit.org/show_bug.cgi?id=30376
24487         * inspector/InspectorController.cpp:
24488         (WebCore::InspectorController::addConsoleMessage):
24489         (WebCore::InspectorController::populateScriptObjects):
24490         (WebCore::InspectorController::pruneResources):
24491         (WebCore::InspectorController::didCommitLoad):
24492         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
24493         (WebCore::InspectorController::identifierForInitialRequest):
24494         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
24495         (WebCore::InspectorController::mainResourceFiredLoadEvent):
24496         (WebCore::InspectorController::willSendRequest):
24497         (WebCore::InspectorController::didReceiveResponse):
24498         (WebCore::InspectorController::didReceiveContentLength):
24499         (WebCore::InspectorController::didFinishLoading):
24500         (WebCore::InspectorController::didFailLoading):
24501         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
24502         (WebCore::InspectorController::scriptImported):
24503         (WebCore::InspectorController::didOpenDatabase):
24504         (WebCore::InspectorController::didUseDOMStorage):
24505         (WebCore::InspectorController::evaluateForTestInFrontend):
24507 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
24509         Fix Windows build.
24511         * dom/Document.idl:
24513 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
24515         Reviewed by Adam Barth.
24517         [HTML5] Add document.head
24518         https://bugs.webkit.org/show_bug.cgi?id=30232
24520         Test is fast/dom/document-head.html
24522         * dom/Document.idl: added readonly attribute head
24524 2009-10-14  Matt Mueller  <mattm@chromium.org>
24526         Reviewed by Darin Adler.
24528         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
24529         https://bugs.webkit.org/show_bug.cgi?id=30347
24530         https://bugs.webkit.org/show_bug.cgi?id=22772
24532         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
24534         * css/CSSParser.cpp:
24535         (WebCore::CSSParser::validUnit):
24537 2009-10-14  Adam Barth  <abarth@webkit.org>
24539         Reviewed by Sam Weinig.
24541         Move scrolling code from FrameLoader to FrameView
24542         https://bugs.webkit.org/show_bug.cgi?id=30370
24544         This code is about controlling the Frame's view, not about loading
24545         stuff into the frame.
24547         * loader/FrameLoader.cpp:
24548         (WebCore::FrameLoader::finishedParsing):
24549         (WebCore::FrameLoader::scrollToAnchor):
24550         * page/FrameView.cpp:
24551         (WebCore::FrameView::scrollToFragment):
24552         (WebCore::FrameView::scrollToAnchor):
24553         * page/FrameView.h:
24555 2009-10-14  Oliver Hunt  <oliver@apple.com>
24557         Reviewed by Geoff Garen.
24559         Make typeinfo flags default to false
24560         https://bugs.webkit.org/show_bug.cgi?id=30372
24561         
24562         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
24564         * bindings/js/JSDOMBinding.h:
24565         (WebCore::DOMObjectWithGlobalPointer::createStructure):
24566         (WebCore::DOMConstructorObject::createStructure):
24567         * bindings/js/JSDOMWindowShell.h:
24568         (WebCore::JSDOMWindowShell::createStructure):
24569         * bindings/js/JSHTMLAllCollection.h:
24570         (WebCore::JSHTMLAllCollection::createStructure):
24571         * bindings/js/JSQuarantinedObjectWrapper.h:
24572         (WebCore::JSQuarantinedObjectWrapper::createStructure):
24573         * bindings/scripts/CodeGeneratorJS.pm:
24574         * bridge/objc/objc_runtime.h:
24575         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
24576         * bridge/runtime_array.h:
24577         (JSC::RuntimeArray::createStructure):
24578         * bridge/runtime_method.h:
24579         (JSC::RuntimeMethod::createStructure):
24580         * bridge/runtime_object.h:
24581         (JSC::RuntimeObjectImp::createStructure):
24583 2009-10-14  Adam Barth  <abarth@webkit.org>
24585         Reviewed by Darin Adler.
24587         [XSSAuditor] Add an exception for local files
24588         https://bugs.webkit.org/show_bug.cgi?id=30352
24590         Reduce XSS auditor false positives by always letting pages load scripts
24591         from their own host. We don't actually know of any false positives
24592         that this prevents, but it seems like a good idea.
24594         One subtly is that we don't add this exception for scripts that have a
24595         query string because (1) URLs with query strings are more apt to
24596         confuse servers and (2) it is much less common to load scripts with a
24597         query string.
24599         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
24600                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
24602         * page/XSSAuditor.cpp:
24603         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
24605 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
24607         Reviewed by George Staikos.
24609         Kill virtual contextElement() method spread all over SVG code
24610         https://bugs.webkit.org/show_bug.cgi?id=30183
24612         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
24613         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
24614         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
24616         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
24617         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
24619         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24620         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
24621         * svg/SVGAnimatedProperty.h:
24622         (WebCore::::synchronize):
24623         (WebCore::::startAnimation):
24624         (WebCore::::stopAnimation):
24625         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24626         * svg/SVGCircleElement.h: Ditto.
24627         * svg/SVGClipPathElement.h: Ditto.
24628         * svg/SVGCursorElement.h: Ditto.
24629         * svg/SVGDefsElement.h: Ditto.
24630         * svg/SVGEllipseElement.h: Ditto.
24631         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
24632         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24633         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
24634         * svg/SVGFEMergeNodeElement.h: Ditto.
24635         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24636         * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
24637         * svg/SVGFitToViewBox.cpp:
24638         (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
24639         (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
24640         * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
24641         * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24642         * svg/SVGForeignObjectElement.h: Ditto.
24643         * svg/SVGGElement.h: Ditto.
24644         * svg/SVGGradientElement.h: Ditto.
24645         * svg/SVGImageElement.h: Ditto.
24646         * svg/SVGLineElement.h: Ditto.
24647         * svg/SVGMPathElement.h: Ditto. Fix license indention.
24648         * svg/SVGMarkerElement.cpp:
24649         (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24650         * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24651         * svg/SVGMaskElement.h: Ditto.
24652         * svg/SVGPathElement.h: Ditto.
24653         * svg/SVGPatternElement.cpp:
24654         (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24655         * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24656         * svg/SVGPolyElement.cpp:
24657         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
24658         * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24659         * svg/SVGRectElement.h: Ditto.
24660         * svg/SVGSVGElement.cpp:
24661         (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24662         * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24663         * svg/SVGScriptElement.h: Ditto.
24664         * svg/SVGSwitchElement.h: Ditto.
24665         * svg/SVGSymbolElement.cpp:
24666         (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24667         * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24668         * svg/SVGTRefElement.h: Remove virtual contextElement() method.
24669         * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24670         * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
24671         * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24672         * svg/SVGViewElement.cpp:
24673         (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24674         * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
24675         * svg/SVGViewSpec.cpp:
24676         (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
24677         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
24678         * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
24680 2009-10-14  Dirk Schulze  <krit@webkit.org>
24682         Reviewed by Nikolas Zimmermann.
24684         SVG Masking with wrong offset
24685         [https://bugs.webkit.org/show_bug.cgi?id=30325]
24687         SVGMaskElement moves the mask image graphics context to the wrong location.
24688         In objectBoundingBoxMode the maskDestRect gets translated. This transformation
24689         is not used in the later calculation. Fix by consistenly calculating the translation
24690         offsets from the final mask destination rect.
24692         Test: svg/custom/mask-with-default-value.svg
24694         * svg/SVGMaskElement.cpp:
24695         (WebCore::SVGMaskElement::drawMaskerContent):
24697 2009-10-14  Kevin Decker  <kdecker@apple.com>
24699         Rubberstamped by Jon Honeycutt.
24700         
24701         Export a few more showSubstituteImage() related methods.
24702         
24703         * WebCore.base.exp:
24704         * WebCore.xcodeproj/project.pbxproj:
24706 2009-10-14  Evan Martin  <evan@chromium.org>
24708         Reviewed by Darin Adler.
24710         Stringify CSS units manually (without printf) to make the formatting
24711         locale-insensitive and obey CSS spec with respect to large values.
24712         
24713         https://bugs.webkit.org/show_bug.cgi?id=18994
24715         * css/CSSPrimitiveValue.cpp:
24716         (WebCore::appendCSSDouble):
24717         (WebCore::formatWithUnits):
24718         (WebCore::CSSPrimitiveValue::cssText):
24720 2009-10-14  Mark Seaborn  <mseaborn@google.com>
24722         Reviewed by Darin Adler.
24724         Check error return value in Perl build script
24725         https://bugs.webkit.org/show_bug.cgi?id=30316
24727         * css/makevalues.pl: Die if gperf fails.
24729 2009-10-14  Dirk Schulze  <krit@webkit.org>
24731         Reviewed by Nikolas Zimmermann.
24733         SVG wrong filterRegions for userSpaceOnUse and percentage values
24734         [https://bugs.webkit.org/show_bug.cgi?id=30330]
24736         Some clean-up of the SVG filter calculation code. This clean-up
24737         also fixes the problem with percentage and userSpaceInUse mode.
24739         Test: svg/filters/subRegion-in-userSpace.svg
24741         * platform/graphics/filters/FilterEffect.cpp:
24742         (WebCore::FilterEffect::FilterEffect):
24743         * platform/graphics/filters/FilterEffect.h:
24744         * rendering/SVGRenderSupport.cpp:
24745         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
24746         * svg/SVGFilterElement.cpp:
24747         (WebCore::SVGFilterElement::buildFilter):
24748         (WebCore::SVGFilterElement::canvasResource):
24749         * svg/SVGFilterElement.h:
24750         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
24751         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
24752         * svg/graphics/SVGResourceFilter.cpp:
24753         (WebCore::SVGResourceFilter::SVGResourceFilter):
24754         (WebCore::SVGResourceFilter::~SVGResourceFilter):
24755         (WebCore::SVGResourceFilter::addFilterEffect):
24756         (WebCore::SVGResourceFilter::prepareFilter):
24757         * svg/graphics/SVGResourceFilter.h:
24758         (WebCore::SVGResourceFilter::create):
24759         * svg/graphics/filters/SVGFilter.cpp:
24760         (WebCore::SVGFilter::SVGFilter):
24761         (WebCore::SVGFilter::calculateEffectSubRegion):
24762         (WebCore::SVGFilter::create):
24763         * svg/graphics/filters/SVGFilter.h:
24765 2009-10-14  Chris Marrin  <cmarrin@apple.com>
24767         The last change fixed the problem, removing diagnostic printfs.
24769         * platform/graphics/mac/GraphicsContext3DMac.cpp:
24770         (WebCore::GraphicsContext3D::GraphicsContext3D):
24772 2009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
24774         CURL build fix for versions < 7.18.
24776         * platform/network/curl/ResourceHandleCurl.cpp:
24777         (WebCore::ResourceHandle::setDefersLoading):
24778         * platform/network/curl/ResourceHandleManager.cpp:
24779         (WebCore::ResourceHandleManager::initializeHandle):
24781 2009-10-14  Chris Marrin  <cmarrin@apple.com>
24783         One more round of changes to figure out why the webgl 
24784         tests are crashing on the build bot. Here I am trying
24785         to see if we can create a software renderer. I am also
24786         printing the found pixel formats.
24788         * platform/graphics/mac/GraphicsContext3DMac.cpp:
24789         (WebCore::GraphicsContext3D::GraphicsContext3D):
24791 2009-10-14  Yael Aharon  <yael.aharon@nokia.com>
24793         Reviewed by Simon Hausmann.
24795         Enabling NPAPI plugin support on Qt Webkit for S60 platform
24796         https://bugs.webkit.org/show_bug.cgi?id=29302
24798         Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
24799         Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
24800         <norbert.leser@nokia.com>
24801          
24802         * WebCore.pro:
24803         Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
24804         new plugin files to be compiled under symbian: macro
24806         * bridge/npapi.h:
24807         Added NPEvent and NPRegion definition for Symbian
24809         * plugins/PluginPackage.h:
24810         Added S60 specific plugin interface and plugin loader variables
24811         * plugins/PluginPackage.cpp:
24812         (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
24813         Default implementation to be used only for non-symbian platform
24814         * plugins/PluginDatabase.cpp:
24815         Macro !SYMBIAN checking
24816         * plugins/PluginView.h:
24817         Add Symbian to platforms that support setNPWindowIfNeeded
24818         * plugins/PluginView.cpp:
24819         (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
24820         call setNPWindowRect from setFrameRect
24821          
24822         Added folder 'symbian' which contains implementation files for S60
24823         platform-specific NPAPI plugin functionality, under /plugins folder
24824         * plugins/symbian
24825         * plugins/symbian/npinterface.h:
24826         Plugin Interface to be implemented by S60 NPAPI plugins 
24827         * plugins/symbian/PluginContainerSymbian.h:
24828         * plugins/symbian/PluginContainerSymbian.cpp:
24829         * plugins/symbian/PluginDatabaseSymbian.cpp:
24830         * plugins/symbian/PluginViewSymbian.cpp:
24831         * plugins/symbian/PluginPackageSymbian.cpp:
24833 2009-10-14  Chris Marrin  <cmarrin@apple.com>
24835         More changes to figure out why the webgl tests are crashing on the build bot.
24837         * platform/graphics/mac/GraphicsContext3DMac.cpp:
24838         (WebCore::GraphicsContext3D::GraphicsContext3D):
24840 2009-10-14  Victor Wang  <victorw@chromium.org>
24842         Reviewed by David Hyatt.
24844         Round non-integer line height values.
24846         Change webkit to rounding non-integer line height values
24847         instead of truncating them. This fixes a layout test
24848         failure on Windows and matches the calculation in IE and Firefox. 
24850         https://bugs.webkit.org/show_bug.cgi?id=24434
24852         Test: fast/css/line-height-rounding.html
24853               fast/forms/textarea-scrollbar-height.htm
24855         * css/CSSComputedStyleDeclaration.cpp:
24856         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24857         * rendering/InlineFlowBox.cpp:
24858         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
24859         * rendering/RenderBR.cpp:
24860         (WebCore::RenderBR::lineHeight):
24861         * rendering/style/RenderStyle.h:
24862         (WebCore::InheritedFlags::computedLineHeight):
24864 2009-10-13  Kelly Norton  <knorton@google.com>
24866         Reviewed by Pavel Feldman.
24868         Removes the persistent setting for InspectorTimelineAgent and renames timeline related
24869         interfaces to be more consistent with the JavaScript profiler.
24871         * inspector/InspectorBackend.cpp:
24872         (WebCore::InspectorBackend::startTimelineProfiler):
24873         (WebCore::InspectorBackend::stopTimelineProfiler):
24874         (WebCore::InspectorBackend::timelineProfilerEnabled):
24875         * inspector/InspectorBackend.h:
24876         * inspector/InspectorBackend.idl:
24877         * inspector/InspectorController.cpp:
24878         (WebCore::InspectorController::setFrontendProxyObject):
24879         (WebCore::InspectorController::startTimelineProfiler):
24880         (WebCore::InspectorController::stopTimelineProfiler):
24881         (WebCore::InspectorController::timelineProfilerEnabled):
24882         * inspector/InspectorController.h:
24883         * inspector/InspectorFrontend.cpp:
24884         (WebCore::InspectorFrontend::timelineProfilerWasStarted):
24885         (WebCore::InspectorFrontend::timelineProfilerWasStopped):
24886         * inspector/InspectorFrontend.h:
24887         * inspector/front-end/TimelineAgent.js:
24888         (WebInspector.timelineProfilerWasStarted):
24889         (WebInspector.timelineProfilerWasStopped):
24891 2009-10-01  Yong Li  <yong.li@torchmobile.com>
24893         Reviewed by Adele Peterson.
24895         Fix crash when loading invalid image data
24896         https://bugs.webkit.org/show_bug.cgi?id=29980
24898         * rendering/RenderImage.cpp:
24899         (WebCore::RenderImage::setImageSizeForAltText):
24901 2009-10-09  Stephen White  <senorblanco@chromium.org>
24903         Reviewed by Eric Seidel.
24905         Fix for NULL ptr deref in canvas's toDataURL().
24906         https://bugs.webkit.org/show_bug.cgi?id=30254
24908         Test: fast/canvas/canvas-toDataURL-crash.html
24910         * html/HTMLCanvasElement.cpp:
24911         (WebCore::HTMLCanvasElement::toDataURL):
24913 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
24915         Not reviewed, reverting r49558 since it broke profiler tests.
24917         https://bugs.webkit.org/show_bug.cgi?id=30328
24919         * bindings/js/JSInspectorBackendCustom.cpp:
24920         * bindings/v8/custom/V8CustomBinding.h:
24921         * inspector/InspectorBackend.cpp:
24922         (WebCore::InspectorBackend::getProfileHeaders):
24923         (WebCore::InspectorBackend::getProfile):
24924         * inspector/InspectorBackend.h:
24925         * inspector/InspectorBackend.idl:
24926         * inspector/InspectorController.cpp:
24927         (WebCore::InspectorController::addProfile):
24928         (WebCore::InspectorController::getProfileHeaders):
24929         (WebCore::InspectorController::getProfile):
24930         (WebCore::InspectorController::createProfileHeader):
24931         * inspector/InspectorController.h:
24932         * inspector/InspectorFrontend.cpp:
24933         (WebCore::InspectorFrontend::addProfileHeader):
24934         (WebCore::InspectorFrontend::didGetProfileHeaders):
24935         (WebCore::InspectorFrontend::didGetProfile):
24936         * inspector/InspectorFrontend.h:
24937         * inspector/JavaScriptProfileNode.cpp:
24938         (WebCore::ProfileNodeClass):
24939         * inspector/front-end/ProfileView.js:
24940         (WebInspector.ProfileView.profileCallback):
24941         (WebInspector.ProfileView):
24942         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
24943         (WebInspector.ProfileView.prototype._assignParentsInProfile):
24944         * inspector/front-end/ProfilesPanel.js:
24945         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
24946         * inspector/front-end/inspector.js:
24947         (WebInspector.addProfileHeader):
24949 2009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
24951         Reviewed by Simon Hausmann.
24953         ImageDecoderQt: Minor tweaks to the decoder
24955         - Only cache the data when we start to use it.
24956         - Start with a repetition count of none for normal images.
24957         - Do not use canRead as this will trigger parsing of the full image
24958         - Cope with a GIF failing to decode the first frame, do not
24959           set m_failed to true if decoding the first frame failed
24960         - Inform the QImageReader about the format that was detected
24961         - Always create a ImageDecoderQt when when we have more
24962         than four byte.
24965         * platform/graphics/qt/ImageDecoderQt.cpp:
24966         (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
24967         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
24968         (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
24969         (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
24970         (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
24971         (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
24972         (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
24973         (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
24974         * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
24976 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
24978         Reviewed by Pavel Feldman.
24980         Web Inspector: Migrate profiles to the injected script-based schema.
24982         https://bugs.webkit.org/show_bug.cgi?id=30328
24984         * bindings/js/JSInspectorBackendCustom.cpp:
24985         * bindings/v8/custom/V8CustomBinding.h:
24986         * inspector/InspectorBackend.cpp:
24987         (WebCore::InspectorBackend::getProfileHeaders):
24988         (WebCore::InspectorBackend::getProfile):
24989         * inspector/InspectorBackend.h:
24990         * inspector/InspectorBackend.idl:
24991         * inspector/InspectorController.cpp:
24992         (WebCore::InspectorController::addProfile):
24993         (WebCore::InspectorController::getProfileHeaders):
24994         (WebCore::InspectorController::getProfile):
24995         (WebCore::InspectorController::createProfileHeader):
24996         * inspector/InspectorController.h:
24997         * inspector/InspectorFrontend.cpp:
24998         (WebCore::InspectorFrontend::addProfileHeader):
24999         (WebCore::InspectorFrontend::didGetProfileHeaders):
25000         (WebCore::InspectorFrontend::didGetProfile):
25001         * inspector/InspectorFrontend.h:
25002         * inspector/JavaScriptProfileNode.cpp:
25003         (WebCore::ProfileNodeClass):
25004         * inspector/front-end/ProfileView.js:
25005         (WebInspector.ProfileView.profileCallback):
25006         (WebInspector.ProfileView):
25007         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
25008         (WebInspector.ProfileView.prototype._assignParentsInProfile):
25009         * inspector/front-end/ProfilesPanel.js:
25010         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
25011         * inspector/front-end/inspector.js:
25012         (WebInspector.addProfileHeader):
25014 2009-10-13  Yury Semikhatsky  <yurys@chromium.org>
25016         Reviewed by Pavel Feldman.
25018         Don't collect call frame properties until they're needed for completion.
25020         https://bugs.webkit.org/show_bug.cgi?id=30334
25022         * inspector/front-end/ConsoleView.js:
25023         (WebInspector.ConsoleView.prototype.completions):
25024         * inspector/front-end/InjectedScript.js:
25025         (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
25026         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
25027         * inspector/front-end/ScriptsPanel.js:
25029 2009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
25031         Reviewed by Ariya Hidayat.
25033         https://bugs.webkit.org/show_bug.cgi?id=29106
25034         [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
25036         Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
25037         compiler aggressively resolve inheritance of class R.  
25038         
25039         The winscw compiler bug is reported at:
25040         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
25041         
25042         The change should be reverted when the above bug is fixed in winscw compiler.
25044         * loader/CachedResourceHandle.h:
25045         (WebCore::::CachedResourceHandle):
25047 2009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
25049         No review, rolling out r49554, because it broke Win and Chromium builds.
25050         http://trac.webkit.org/changeset/49554
25052         * css/CSSPrimitiveValue.cpp:
25053         (WebCore::CSSPrimitiveValue::cssText):
25055 2009-10-13  Evan Martin  <evan@chromium.org>
25057         Reviewed by Adam Barth.
25059         Stringify CSS units manually (without printf) to make the formatting
25060         locale-insensitive and obey CSS spec with respect to large values.
25061         
25062         https://bugs.webkit.org/show_bug.cgi?id=18994
25064         * css/CSSPrimitiveValue.cpp:
25065         (WebCore::appendCSSDouble):
25066         (WebCore::formatWithUnits):
25067         (WebCore::CSSPrimitiveValue::cssText):
25069 2009-10-13  Evan Martin  <evan@chromium.org>
25071         Reviewed by David Levin.
25073         Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
25074         While we're rebaselining scrollbars, fix an off by one in the vertical
25075         scrollbar rendering too.
25077         https://bugs.webkit.org/show_bug.cgi?id=30319
25079         Tests: this is covered by every pixel test involving scrollbars.
25081         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
25082         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
25084 2009-10-13  Sam Weinig  <sam@webkit.org>
25086         Reviewed by David Hyatt.
25088         Fix issue where clientX and clientY on MouseEvents were wrong when
25089         the page was zoomed and scrolled.
25091         Test: fast/events/clientXY-in-zoom-and-scroll.html
25093         * dom/MouseRelatedEvent.cpp:
25094         (WebCore::contentsX): Take page zoom into account.
25095         (WebCore::contentsY): Ditto.
25097 2009-10-13  Dave Hyatt  <hyatt@apple.com>
25099         Reviewed by Adam Roben.
25101         Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
25102         out into separate ones for scripts and stylesheets.
25104         * WebCore.base.exp:
25105         * page/PageGroup.cpp:
25106         (WebCore::PageGroup::addUserScriptToWorld):
25107         (WebCore::PageGroup::addUserStyleSheetToWorld):
25108         (WebCore::PageGroup::removeUserScriptFromWorld):
25109         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
25110         (WebCore::PageGroup::removeUserScriptsFromWorld):
25111         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
25112         * page/PageGroup.h:
25113         (WebCore::PageGroup::userScripts):
25114         (WebCore::PageGroup::userStyleSheets):
25116 2009-10-13  Evan Martin  <evan@chromium.org>
25118         Reviewed by Dmitry Titov.
25120         Chrome's "Skia" theme paints select controls backwards in RTL.
25122         https://bugs.webkit.org/show_bug.cgi?id=30320
25124         Test: fast/text/international/bidi-menulist.html
25125         (The test is about something else, but it includes RTL selects.)
25127         * rendering/RenderThemeChromiumSkia.cpp:
25128         (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
25130 2009-10-13  Dmitry Titov  <dimich@chromium.org>
25132         Reviewed by Alexey Proskuryakov.
25134         https://bugs.webkit.org/show_bug.cgi?id=30318
25135         ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
25136         It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
25137         into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
25139         Tests:
25140         Test adds event listener to a DocumentType Node which is created without a document
25141         and then dispatches the event after attaching a node to the tree. Event
25142         should fire when node is attached to the tree.
25144         * fast/events/add-event-without-document-expected.txt: Added.
25145         * fast/events/add-event-without-document.html: Added.
25147         All changes in files below are the same - remove the code that calls
25148         EventTarget::scriptExecutionContext and checks it for NULL.
25150         * bindings/js/JSAbstractWorkerCustom.cpp:
25151         (WebCore::JSAbstractWorker::addEventListener):
25152         (WebCore::JSAbstractWorker::removeEventListener):
25153         * bindings/js/JSDOMApplicationCacheCustom.cpp:
25154         (WebCore::JSDOMApplicationCache::addEventListener):
25155         (WebCore::JSDOMApplicationCache::removeEventListener):
25156         * bindings/js/JSDesktopNotificationsCustom.cpp:
25157         (WebCore::JSNotification::addEventListener):
25158         (WebCore::):
25159         * bindings/js/JSEventSourceCustom.cpp:
25160         (WebCore::JSEventSource::addEventListener):
25161         (WebCore::JSEventSource::removeEventListener):
25162         * bindings/js/JSMessagePortCustom.cpp:
25163         (WebCore::JSMessagePort::addEventListener):
25164         (WebCore::JSMessagePort::removeEventListener):
25165         * bindings/js/JSNodeCustom.cpp:
25166         (WebCore::JSNode::addEventListener):
25167         (WebCore::JSNode::removeEventListener):
25168         * bindings/js/JSSVGElementInstanceCustom.cpp:
25169         (WebCore::JSSVGElementInstance::addEventListener):
25170         (WebCore::JSSVGElementInstance::removeEventListener):
25171         * bindings/js/JSXMLHttpRequestCustom.cpp:
25172         (WebCore::JSXMLHttpRequest::addEventListener):
25173         (WebCore::JSXMLHttpRequest::removeEventListener):
25174         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
25175         (WebCore::JSXMLHttpRequestUpload::addEventListener):
25176         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
25177         * bindings/js/JSWebSocketCustom.cpp:
25178         (WebCore::JSWebSocket::addEventListener):
25179         (WebCore::JSWebSocket::removeEventListener):
25181 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
25183         Reviewed by David Levin.
25185         Enable SHARED_WORKERS for Chromium
25186         https://bugs.webkit.org/show_bug.cgi?id=30289
25188         Cleaned up bitrot in SharedWorker V8 bindings.
25190         * WebCore.gypi:
25191         Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
25192         * bindings/v8/DerivedSourcesAllInOne.cpp:
25193         Added V8SharedWorkerContext.cpp.
25194         * bindings/v8/V8DOMWrapper.cpp:
25195         (WebCore::V8DOMWrapper::getTemplate):
25196         Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
25197         * bindings/v8/V8Index.cpp:
25198         Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
25199         * bindings/v8/V8Index.h:
25200         Added definition for SHAREDWORKERCONTEXT wrapper.
25201         * bindings/v8/WorkerContextExecutionProxy.cpp:
25202         Added includes for SharedWorker.h and SharedWorkerContext.h.
25203         * bindings/v8/custom/V8CustomBinding.h:
25204         Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
25205         Also added field indexes for SharedWorkers.
25206         * bindings/v8/custom/V8DOMWindowCustom.cpp:
25207         (WebCore::ACCESSOR_RUNTIME_ENABLER):
25208         Added runtime enabler for the SharedWorker constructor.
25209         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
25210         (WebCore::CALLBACK_FUNC_DECL):
25211         Cleaned up bitrot (various APIs have changed since this file was written).
25212         * page/DOMWindow.idl:
25213         Added EnabledAtRuntime flag to window.SharedWorker.
25215 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
25217         Reviewed by Brady Eidson.
25219         https://bugs.webkit.org/show_bug.cgi?id=30345
25220         HTTP tests for credential handling fail on Tiger
25222         We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
25223         let it do its work without intervention. Once again, we pass explicitly passed credentials
25224         in URL, fixing regressions from Safari 3.
25226         * platform/network/mac/ResourceHandleMac.mm:
25227         (WebCore::ResourceHandle::start):
25228         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
25229         (WebCore::ResourceHandle::receivedCredential):
25231 2009-10-13  Roland Steiner  <rolandsteiner@google.com>
25233         Reviewed by Adam Barth.
25235         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
25237         Reworked and added to the getter/setter interface in ChromiumDataObject:
25238         - added contains...() methods to just query the state
25239         - added containsValid...URL() methods for URL data members
25240         - removed takeFileNames() as this was too type-dependent
25241         - changed return type of fileNames() to Vector<String>
25242         - added interface methods to allow appending to and iteration over file names
25244         No new tests (no functional behavior changed).
25246         * platform/chromium/ChromiumDataObject.h:
25247         (WebCore::ChromiumDataObject::containsMainURL):
25248         (WebCore::ChromiumDataObject::containsValidMainURL):
25249         (WebCore::ChromiumDataObject::containsMainURLTitle):
25250         (WebCore::ChromiumDataObject::containsTextPlain):
25251         (WebCore::ChromiumDataObject::containsTextHTML):
25252         (WebCore::ChromiumDataObject::containsHTMLBaseURL):
25253         (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
25254         (WebCore::ChromiumDataObject::containsContent):
25255         (WebCore::ChromiumDataObject::containsContentFileExtension):
25256         (WebCore::ChromiumDataObject::containsContentFileName):
25257         (WebCore::ChromiumDataObject::setContentFileName):
25258         (WebCore::ChromiumDataObject::containsFileNames):
25259         (WebCore::ChromiumDataObject::fileNames):
25260         (WebCore::ChromiumDataObject::clearFileNames):
25261         (WebCore::ChromiumDataObject::countFileNames):
25262         (WebCore::ChromiumDataObject::fileNameAt):
25263         (WebCore::ChromiumDataObject::setFileNames):
25264         (WebCore::ChromiumDataObject::appendToFileNames):
25265         (WebCore::ChromiumDataObject::popFileName):
25267 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
25269         Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
25271         * platform/graphics/mac/GraphicsContext3DMac.cpp:
25272         (WebCore::GraphicsContext3D::GraphicsContext3D):
25274 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
25276         Reviewed by Dan Bernstein.
25278         Visibility:visible inside a compositing layer doesn't make the element visible
25279         https://bugs.webkit.org/show_bug.cgi?id=30339
25280         
25281         When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
25282         only consulted hasVisibleContent(), which does not take into a account child layers which
25283         may be visible. We also have to consult hasVisibleDescendant() as well.
25285         Test: compositing/compositing-visible-descendant.html
25287         * rendering/RenderLayer.h:
25288         (WebCore::RenderLayer::hasVisibleDescendant):
25289         * rendering/RenderLayerBacking.cpp:
25290         (WebCore::RenderLayerBacking::paintIntoLayer):
25292 2009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
25294         Reviewed by Simon Hausmann.
25296         Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
25297         https://bugs.webkit.org/show_bug.cgi?id=30278
25299         Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
25300         from the make system into common code.
25302         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
25303         support is not enabled.
25305         Remove notImplemented() from PluginPackageNone.cpp and 
25306         PluginDataNone.cpp make them just empty functions.
25308         * GNUmakefile.am:
25309         * WebCore.pro:
25310         * plugins/PluginDataNone.cpp:
25311         (WebCore::PluginData::initPlugins):
25312         (WebCore::PluginData::refresh):
25313         * plugins/PluginPackageNone.cpp:
25314         (WebCore::PluginPackage::determineQuirks):
25315         (WebCore::PluginPackage::fetchInfo):
25316         (WebCore::PluginPackage::load):
25318 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
25320         Reviewed by Dan Bernstein.
25322         https://bugs.webkit.org/show_bug.cgi?id=30150
25323         <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
25325         Test: editing/pasteboard/crash-accessing-clipboardData-types.html
25327         * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
25328         class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
25329         converts null strings to non-null @"".
25331 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
25333         Reviewed by Dimitri Glazkov.
25335         window attributes (like localStorage) that are disabled at runtime are still visible
25336         https://bugs.webkit.org/show_bug.cgi?id=30240
25338         Adding codegen/bindings to support runtime disabling of attributes.
25340         No new tests (only supported by chrome currently)
25342         * bindings/scripts/CodeGeneratorV8.pm:
25343         Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
25344         Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
25345         * bindings/v8/V8Proxy.cpp:
25346         (WebCore::batchConfigureAttributes):
25347         Refactored attribute setting code into a common inline routine.
25348         * bindings/v8/V8Proxy.h:
25349         (WebCore::configureAttribute):
25350         Inline function which configures a single attribute given a BatchedAttribute struct.
25351         * bindings/v8/custom/V8CustomBinding.h:
25352         Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
25353         * bindings/v8/custom/V8DOMWindowCustom.cpp:
25354         Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
25355         * page/DOMWindow.idl:
25356         Added [EnabledAtRuntime] extended attribute to the Audio attribute.
25358 2009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
25360         Reviewed by Adam Barth.
25362         https://bugs.webkit.org/show_bug.cgi?id=27457
25363         Added support for static validation on type=email input elements as per
25364         HTML5 specs:
25365         http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
25367         Test: fast/forms/ValidityState-typeMismatch-email.html
25369         * html/ValidityState.cpp:
25370         (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
25371         performs validation on type=email input elements now.
25372         (WebCore::ValidityState::isValidEmailAddress): simple validation method 
25373         * html/ValidityState.h:
25375 2009-10-13  Dmitry Titov  <dimich@chromium.org>
25377         Reviewed by Adam Barth.
25379         Event listeners installed on a window object returned from window.open() don't work
25380         https://bugs.webkit.org/show_bug.cgi?id=28716
25382         Tests: http/tests/security/window-events-clear-domain.html
25383                http/tests/security/window-events-clear-port.html
25384                http/tests/security/window-events-pass.html
25386         * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
25387         window event handlers when implicitOpen is called. It is called in 2 cases - on
25388         committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
25390         (WebCore::Document::open): in addition to calling implicitOpen it also removes window
25391         event handlers, to preserve the behavior of document.open().
25393         (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
25394         does not remove window event handlers.
25396         * dom/Document.h: Removed clear().
25398         * loader/FrameLoader.cpp:
25399         (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
25400         if we transition from temporary empty document to a loaded one.
25402         (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
25403         (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
25405 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
25407         Reviewed by Pavel Feldman.
25409         Fix a leak in the inspector by calling didRemoveNode with
25410         an error code when it fails, instead of returning from the
25411         Backend.
25413         * inspector/InspectorBackend.cpp:
25414         (WebCore::InspectorBackend::removeNode):
25415         * inspector/front-end/ElementsTreeOutline.js:
25417 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
25419         Reviewed by Timothy Hatcher.
25421         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
25422         Web Inspector: Should be able to delete nodes from the Elements Tree.
25423         
25424         When the delete key is pressed and a element is selected in the tree,
25425         the element should be deleted from the Elements Tree and the DOM.
25427         * inspector/InspectorBackend.cpp:
25428         (WebCore::InspectorBackend::removeNode):
25429         * inspector/InspectorBackend.h:
25430         * inspector/InspectorBackend.idl:
25431         * inspector/InspectorFrontend.cpp:
25432         (WebCore::InspectorFrontend::didRemoveNode):
25433         * inspector/InspectorFrontend.h:
25434         * inspector/front-end/ElementsPanel.js:
25435         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
25436         * inspector/front-end/ElementsTreeOutline.js:
25437         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
25439 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
25441         Reviewed by Timothy Hatcher.
25443         Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
25444         
25445         Set pointer-events: none on the new overlay so mouseover events are passed
25446         to the resources graph so we can show timings.
25448         * inspector/front-end/inspector.css:
25450 2009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
25452         Reviewed by Simon Hausmann.
25454         [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
25455         
25456         This is a bug for two reasons:
25457         1. Everytime we use winId(), we end up creating a native widget. This causes an
25458         unnecessary copy of contents from the backing store to the native widget.
25459         2. Neither windowed nor windowless plugins require the winId of the QWebView or
25460         QGraphicsView.
25461         
25462         Introduce ownerWidget() which returns a QWidget * without creating a native widget
25463         (as opposed to QWidget::find(winId)).
25465        https://bugs.webkit.org/show_bug.cgi?id=30170
25467         * platform/qt/PlatformScreenQt.cpp:
25468         (WebCore::screenDepthPerComponent):
25469         * platform/qt/PopupMenuQt.cpp:
25470         (WebCore::PopupMenu::show):
25471         * platform/qt/QWebPageClient.h:
25472         * plugins/qt/PluginViewQt.cpp:
25473         (WebCore::setSharedXEventFields):
25474         (WebCore::PluginView::initXEvent):
25475         (WebCore::PluginView::getValue):
25476         (WebCore::PluginView::platformStart):
25478 2009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
25480         Unreviewed build system fix. Typo in a filename.
25482         * GNUmakefile.am:
25484 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
25486         Reviewed by Timothy Hatcher.
25487         Alter profile link format to enable multiple profile types
25488         https://bugs.webkit.org/show_bug.cgi?id=30253
25490         The new profile URL includes the profile type along with the
25491         profile title and uid.
25493         * inspector/InspectorController.cpp:
25494         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
25495         (WebCore::InspectorController::addStartProfilingMessageToConsole):
25496         * inspector/front-end/inspector.js:
25497         (WebInspector.documentClick.followLink):
25498         (WebInspector.documentClick):
25499         (WebInspector.linkifyStringAsFragment):
25501 2009-10-12  Alexander Pavlov  <apavlov@chromium.org>
25503         Reviewed by Timothy Hatcher.
25505         Fix same-named profiles grouping in the Profiles panel.
25507         The tree node re-parenting while adding a new group node was broken.
25508          
25509         https://bugs.webkit.org/show_bug.cgi?id=30299
25511         * inspector/front-end/ProfilesPanel.js:
25512         (WebInspector.ProfilesPanel.prototype.addProfile):
25514 2009-10-12  Pavel Feldman  <pfeldman@chromium.org>
25516         Reviewed by Timothy Hatcher.
25518         Web Inspector: Enforce async interaction between inspector controller and frontend.
25520         https://bugs.webkit.org/show_bug.cgi?id=30300
25522         * inspector/front-end/inspector.js:
25523         (WebInspector.dispatch.delayDispatch):
25524         (WebInspector.dispatch):
25526 2009-10-12  Xiaomei Ji  <xji@chromium.org>
25528         Reviewed by Sam Weinig.
25530         Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 
25531         scrolled page.
25532         https://bugs.webkit.org/show_bug.cgi?id=30034
25534         * dom/Document.cpp:
25535         (WebCore::Document::elementFromPoint): calculate the correct point 
25536         relative to document when the page is zoomed and scrolled.
25537         (WebCore::Document::caretRangeFromPoint): calculate the correct point 
25538         relative to document when the page is zoomed and scrolled.
25540 2009-10-12  Fumitoshi Ukai  <ukai@chromium.org>
25542         Reviewed by Sam Weinig.
25544         JavaScript bindings of WebSocket addEventListener/removeEventListener
25545         https://bugs.webkit.org/show_bug.cgi?id=29841
25547         Test: fast/websockets/websocket-event-target.html
25549         * bindings/js/JSWebSocketCustom.cpp:
25550         (WebCore::JSWebSocket::addEventListener):
25551         (WebCore::JSWebSocket::removeEventListener):
25552         * bindings/v8/custom/V8CustomBinding.h:
25553         * bindings/v8/custom/V8WebSocketCustom.cpp:
25554         (WebCore::CALLBACK_FUNC_DECL):
25555         * websockets/WebSocket.idl:
25557 2009-10-12  Sam Weinig  <sam@webkit.org>
25559         Reviewed by Darin Adler.
25561         Fix for https://bugs.webkit.org/show_bug.cgi?id=29078
25562         <rdar://problem/7288221>
25564         Add a mechanism to blacklist certain codecs.  Initially, just blacklist UTF-7 as HTML5 encourages.
25566         * platform/text/TextEncodingRegistry.cpp:
25567         (WebCore::pruneBlacklistedCodecs):
25568         (WebCore::buildBaseTextCodecMaps):
25569         (WebCore::extendTextCodecMaps):
25571 2009-10-09  Dave Hyatt  <hyatt@apple.com>
25573         Reviewed by Darin Adler.
25575         Add support for the beforeload event to frames.  Complete support of the beforeload event by making sure
25576         its wrapper gets properly constructed (so that the URL field of the event can be accessed).  Add support
25577         for the Objective-C wrapper class as well.
25579         Added fast/dom/beforeload/frame-before-load.html
25581         * WebCore.xcodeproj/project.pbxproj:
25582         * bindings/js/JSEventCustom.cpp:
25583         (WebCore::toJS):
25584         * bindings/objc/DOMEvents.mm:
25585         (kitClass):
25586         * dom/BeforeLoadEvent.h:
25587         (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
25588         * dom/Event.cpp:
25589         (WebCore::Event::isBeforeLoadEvent):
25590         * dom/Event.h:
25591         * html/HTMLFrameElementBase.cpp:
25592         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
25593         * loader/FrameLoader.cpp:
25594         (WebCore::FrameLoader::loadWithDocumentLoader):
25596 2009-10-12  Dan Bernstein  <mitz@apple.com>
25598         Reviewed by Simon Fraser.
25600         Fix <rdar://problem/7094146> Reproducible crash at
25601         RenderObject::localToAbsolute()
25603         Test: fast/dynamic/position-absolute-to-fixed-crash.html
25605         The crash was caused by stale positioned objects lists following an
25606         object transitioning from being absolutely position to being fixed
25607         positioned.
25609         * rendering/RenderBox.cpp:
25610         (WebCore::RenderBox::styleWillChange): In case of a transition between
25611         absolute and fixed position, mark the parent as having a child needing
25612         layout, so that this object will get inserted into its new container's
25613         positioned objects list.
25614         * rendering/RenderObject.cpp:
25615         (WebCore::RenderObject::styleWillChange): Changed a condition to cover
25616         this transition, so that this object gets removed from its current
25617         container's positioned objects list.
25619 2009-10-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25621         Reviewed by Simon Hausmann.
25623         Add a palette() method that is needed by our RenderTheme.
25625         * platform/qt/QWebPageClient.h:
25627 2009-10-12  Dirk Schulze  <krit@webkit.org>
25629         Reviewed by Nikolas Zimmermann.
25631         SVG Gradients can't handle percentage values in userSpaceOnUse mode
25632         [https://bugs.webkit.org/show_bug.cgi?id=30286]
25634         Fixed *GradientAttributes to take SVGLength instead of double. This casues
25635         the problem, that we can't calculate the correct size of a gradient on
25636         userSpaceOnUse mode with percentage values.
25638         Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg
25640         * svg/LinearGradientAttributes.h:
25641         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
25642         (WebCore::LinearGradientAttributes::x1):
25643         (WebCore::LinearGradientAttributes::y1):
25644         (WebCore::LinearGradientAttributes::x2):
25645         (WebCore::LinearGradientAttributes::y2):
25646         (WebCore::LinearGradientAttributes::setX1):
25647         (WebCore::LinearGradientAttributes::setY1):
25648         (WebCore::LinearGradientAttributes::setX2):
25649         (WebCore::LinearGradientAttributes::setY2):
25650         * svg/RadialGradientAttributes.h:
25651         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
25652         (WebCore::RadialGradientAttributes::cx):
25653         (WebCore::RadialGradientAttributes::cy):
25654         (WebCore::RadialGradientAttributes::r):
25655         (WebCore::RadialGradientAttributes::fx):
25656         (WebCore::RadialGradientAttributes::fy):
25657         (WebCore::RadialGradientAttributes::setCx):
25658         (WebCore::RadialGradientAttributes::setCy):
25659         (WebCore::RadialGradientAttributes::setR):
25660         (WebCore::RadialGradientAttributes::setFx):
25661         (WebCore::RadialGradientAttributes::setFy):
25662         * svg/SVGLinearGradientElement.cpp:
25663         (WebCore::SVGLinearGradientElement::buildGradient):
25664         (WebCore::SVGLinearGradientElement::collectGradientProperties):
25665         * svg/SVGRadialGradientElement.cpp:
25666         (WebCore::SVGRadialGradientElement::buildGradient):
25667         (WebCore::SVGRadialGradientElement::collectGradientProperties):
25669 2009-10-12  Brian Weinstein  <bweinstein@apple.com>
25671         Reviewed by Timothy Hatcher.
25673         Fixes <http://webkit.org/b/30315>.
25674         Web Inspector: DOM Content and Load lines in Resources are unclear what they mean.
25675         
25676         Add tooltip text to the Load event and DOM Content event lines through
25677         a new layer that allows these lines to be on top of the view.
25679         * inspector/front-end/ResourcesPanel.js:
25680         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
25681         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
25682         * inspector/front-end/inspector.css:
25684 2009-10-12  Dimitri Glazkov  <dglazkov@chromium.org>
25686         No review, rolling out r49429, because it broke layout tests.
25687         http://trac.webkit.org/changeset/49429
25689         * bindings/v8/V8AbstractEventListener.cpp:
25690         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
25692 2009-10-12  Dirk Schulze  <krit@webkit.org>
25694         Reviewed by Eric Seidel.
25696         SVG - crash on feMerge when input not available
25697         [https://bugs.webkit.org/show_bug.cgi?id=30297]
25699         Make a early return in SVGFEMergeElement if the needed
25700         filter effect doesn't exist.
25702         Test: svg/filters/feMerge-wrong-input.svg
25704         * svg/SVGFEMergeElement.cpp:
25705         (WebCore::SVGFEMergeElement::build):
25707 2009-10-12  Chris Marrin  <cmarrin@apple.com>
25709         Reviewed by Oliver Hunt.
25711         Added automatic flush before compositing
25712         https://bugs.webkit.org/show_bug.cgi?id=30236
25714         This causes image to always render correctly. In writing a testcase
25715         I needed to implement readPixels. This exposed a bug in reading back
25716         values from a CanvasArray subclass, so I fixed that as well. Now when
25717         you wrap a CanvasArray in a JSValue it actually wraps the specific
25718         subclass. To do this I need to add virtual methods to each CanvasArray
25719         subclass to determine the type and a custom toJS method for CanvasArray
25720         to create the proper wrapper. 
25722         Test: fast/canvas/webgl/triangle.html
25724         * WebCore.xcodeproj/project.pbxproj:
25725         * bindings/js/JSCanvasArrayCustom.cpp:
25726         (WebCore::toJS):
25727         * html/canvas/CanvasArray.h:
25728         (WebCore::CanvasArray::isByteArray):
25729         (WebCore::CanvasArray::isUnsignedByteArray):
25730         (WebCore::CanvasArray::isShortArray):
25731         (WebCore::CanvasArray::isUnsignedShortArray):
25732         (WebCore::CanvasArray::isIntArray):
25733         (WebCore::CanvasArray::isUnsignedIntArray):
25734         (WebCore::CanvasArray::isFloatArray):
25735         * html/canvas/CanvasArray.idl:
25736         * html/canvas/CanvasByteArray.h:
25737         (WebCore::CanvasByteArray::isByteArray):
25738         * html/canvas/CanvasFloatArray.h:
25739         (WebCore::CanvasFloatArray::isFloatArray):
25740         * html/canvas/CanvasIntArray.h:
25741         (WebCore::CanvasIntArray::isIntArray):
25742         * html/canvas/CanvasRenderingContext3D.cpp:
25743         (WebCore::CanvasRenderingContext3D::readPixels):
25744         * html/canvas/CanvasRenderingContext3D.h:
25745         * html/canvas/CanvasRenderingContext3D.idl:
25746         * html/canvas/CanvasShortArray.h:
25747         (WebCore::CanvasShortArray::isShortArray):
25748         * html/canvas/CanvasUnsignedByteArray.h:
25749         (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray):
25750         * html/canvas/CanvasUnsignedIntArray.h:
25751         (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray):
25752         * html/canvas/CanvasUnsignedShortArray.h:
25753         (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray):
25754         * platform/graphics/GraphicsContext3D.h:
25755         * platform/graphics/mac/Canvas3DLayer.mm:
25756         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
25757         * platform/graphics/mac/GraphicsContext3DMac.cpp:
25758         (WebCore::GraphicsContext3D::readPixels):
25760 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
25762         Reviewed by Gustavo Noronha.
25764         https://bugs.webkit.org/show_bug.cgi?id=30307
25765         
25766         Fix 0 sentinel for g_object_set() function call.
25768         * platform/graphics/gtk/DataSourceGStreamer.cpp:
25769         (webkit_data_src_uri_set_uri):
25770         0 is passed as 32 bit value on x86-64 in vararg functions, but
25771         g_object_set() expects a 64 bit 0. This will cause crashes.
25773 2009-10-12  Cameron McCormack  <cam@mcc.id.au>
25775         Reviewed by Eric Seidel.
25777         Drop in="" from <feFlood>
25778         https://bugs.webkit.org/show_bug.cgi?id=29001
25780         This makes <feFlood in="bogus"> have an effect, too.
25782         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute
25784         Test: svg/dom/feFlood-no-in1.html
25786         * svg/SVGFEFloodElement.cpp:
25787         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
25788         (WebCore::SVGFEFloodElement::build):
25789         * svg/SVGFEFloodElement.h:
25790         * svg/SVGFEFloodElement.idl:
25791         * svg/graphics/filters/SVGFEFlood.cpp:
25792         (WebCore::FEFlood::FEFlood):
25793         (WebCore::FEFlood::create):
25794         * svg/graphics/filters/SVGFEFlood.h:
25796 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
25798         Reviewed by Gustavo Noronha.
25800         https://bugs.webkit.org/show_bug.cgi?id=29998
25801         
25802         Scale video to completely fill the target surface while
25803         keeping the aspect ratio. This fixes displaying of the
25804         YouTube HTML5 sample website.
25806         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
25807         Scale video to completely fill the target surface, keep
25808         the aspect ratio and center it.
25810 2009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
25812         Reviewed by Gustavo Noronha.
25814         https://bugs.webkit.org/show_bug.cgi?id=29997
25815         
25816         Fixes double memcpy of all rendered video frames.
25818         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
25819         (WebCore::mediaPlayerPrivateRepaintCallback):
25820         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
25821         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
25822         (WebCore::MediaPlayerPrivate::duration):
25823         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
25824         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
25825         (webkit_video_sink_timeout_func):
25826         (webkit_video_sink_dispose):
25827         (unlock_buffer_mutex):
25828         (webkit_video_sink_unlock):
25829         (marshal_VOID__MINIOBJECT):
25830         (webkit_video_sink_class_init):
25831         (webkit_video_sink_new):
25832         * platform/graphics/gtk/VideoSinkGStreamer.h:
25833         Directly pass the buffers up to the MediaPlayerPrivate::paint()
25834         method instead of rendering them first to an intermediate cairo
25835         surface. This should increase performance and peak memory usage.
25837 2009-10-11  Daniel Bates  <dbates@webkit.org>
25839         Reviewed by Adam Barth.
25841         https://bugs.webkit.org/show_bug.cgi?id=30242
25842         
25843         Fixes an issue where JavaScript URLs that are URL-encoded twice can 
25844         bypass the XSSAuditor.
25845         
25846         JavaScript URLs that are completed by method Document::completeURL have added
25847         URL-encoded characters such that a direct comparison with the URL-decoded 
25848         outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 
25849         HTTP parameters must be URL-decoded before comparison.
25851         Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html
25852                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html
25853                http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html
25855         * bindings/ScriptControllerBase.cpp:
25856         (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor
25857         the URL-decoded source code for the JavaScript URL.
25858         * page/XSSAuditor.cpp:
25859         (WebCore::isIllegalURICharacter): Minor syntactical change to the comment.
25860         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 
25861         parameter decodeURLEscapeSequencesTwice.
25862         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
25863         (WebCore::XSSAuditor::decodeURL): Ditto.
25864         (WebCore::XSSAuditor::findInRequest): Ditto.
25865         * page/XSSAuditor.h:
25866         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto.
25868 2009-10-11  Dominic Cooney  <dominicc@google.com>
25870         Reviewed by Adam Barth.
25872         Fixes a build break in the V8 bindings caused by revision 49420.
25873         https://bugs.webkit.org/show_bug.cgi?id=30294
25875         Revision 49420 introduces an IDL-defined CanvasActiveInfo
25876         type. This causes a build break in the V8 bindings where
25877         CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a
25878         non-ref type.
25880         * WebCore.gypi: Include CanvasActiveInfo.idl in build.
25881         * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref
25882           ptr type.
25883         * bindings/v8/DOMObjectsInclude.h: Include generated
25884           CanvasActiveInfo files.
25885         * bindings/v8/DerivedSourcesAllInOne.cpp:
25886         * bindings/v8/V8Index.cpp:
25887         * bindings/v8/V8Index.h:
25889 2009-10-11  Collin Jackson  <collinj@webkit.org>
25891         Reviewed by Adam Barth.
25893         Log mixed content warnings to console
25895         https://bugs.webkit.org/show_bug.cgi?id=30290
25897         * loader/FrameLoader.cpp:
25898         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
25899         (WebCore::FrameLoader::checkIfRunInsecureContent):
25901 2009-10-11  Søren Gjesse  <sgjesse@chromium.org>
25903         Reviewed by Adam Barth.
25905         [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200.
25906         https://bugs.webkit.org/show_bug.cgi?id=30250
25908         * bindings/v8/V8AbstractEventListener.cpp:
25909         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
25911 2009-10-11  Lyon Chen  <lyon.chen@torchmobile.com>
25913         Reviewed by Alexey Proskuryakov.
25915         Correct the position of #endif sentence inside WebCore::Document::finishedParsing().
25917         https://bugs.webkit.org/show_bug.cgi?id=30244
25919         This change requires no test case as it fix a compiling error.
25921         * dom/Document.cpp:
25922         (WebCore::Document::finishedParsing):
25924 2009-10-11  Dominic Cooney  <dominicc@google.com>
25926         Reviewed by Adam Barth.
25928         Sets a 500K stack limit for JavaScript workers in Chromium.
25929         https://bugs.webkit.org/show_bug.cgi?id=29797
25931         Runaway recursion in JavaScript workers crashes the Chromium
25932         worker process on OS X. This is because V8's default stack limit
25933         is 512K on ia32 or 1M on x64, but the worker process runs workers
25934         on a thread with the OS X default stack size--512K. Because there
25935         are already some C+frames on the stack when V8 establishes its
25936         512K default stack limit, and V8 doesn't precisely enforce the
25937         stack limit, runaway recursion in V8 workers overflows the OS
25938         stack and segfaults, killing the worker process. This is described
25939         in Chromium bug 21653 <http://crbug.com/21653>.
25941         This patch sets the V8 stack limit for worker JavaScript in
25942         Chromium to a more conservative 500K on all platforms. This allows
25943         some "headroom" for the C+stack in use when the limit is set up,
25944         and some "legroom" for the V8 helper functions which in practice
25945         briefly flout the V8 stack limit.
25947         Test: LayoutTests/fast/workers/use-machine-stack.html
25949         * bindings/v8/WorkerContextExecutionProxy.cpp:
25950         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
25951         * bindings/v8/WorkerContextExecutionProxy.h:
25953 2009-10-11  Kevin Ollivier  <kevino@theolliviers.com>
25955         wx build fix for wxMac 2.9, use wxGC API for measuring text.
25957         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
25958         (GetTextExtent):
25960 2009-10-10  Cameron McCormack  <cam@mcc.id.au>
25962         Reviewed by Sam Weinig.
25964         Allow [Reflect] on SVG elements.
25965         https://bugs.webkit.org/show_bug.cgi?id=28936
25967         Update the JS binding generators to reference SVGNames instead of
25968         HTMLNames, if [Reflect]ing an attribute on an SVG element.  Make
25969         SVGElement::id use [Reflect].
25971         Also make [Reflect] on an attribute with a setter exception work in ObjC
25972         bindings.
25974         Test: svg/dom/id-reflect.html
25976         * bindings/scripts/CodeGenerator.pm: Add a function to determine the
25977         appropriate C+namespace for attribute name constants.
25978         * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling
25979         code for [Reflect] on an attribute with a setter exception.
25980         * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of
25981         "HTMLNames" when appropriate.
25982         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
25983         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
25984         * svg/SVGElement.cpp: Remove getter and setter methods for id.
25985         * svg/SVGElement.h: Ditto.
25986         * svg/SVGElement.idl: Add [Reflect] to id.
25988 2009-10-10  Oliver Hunt  <oliver@apple.com>
25990         Fix paths in xcode.
25992         * WebCore.xcodeproj/project.pbxproj:
25994 2009-10-10  Oliver Hunt  <oliver@apple.com>
25996         Reviewed by Eric Carlson.
25998         Implement getActiveAttrib and getActiveUniform
25999         https://bugs.webkit.org/show_bug.cgi?id=30276
26001         Implements the getActiveAttrib and getActiveUniform APIs.
26002         Rather simple patch, adds CanvasActiveInfo definition and implementation
26003         and adds forwarding to the GraphicsContext3D.
26005         Test: fast/canvas/webgl/getActiveTest.html
26007         * DerivedSources.make:
26008         * WebCore.xcodeproj/project.pbxproj:
26009         * html/canvas/CanvasActiveInfo.h: Added.
26010         (WebCore::CanvasActiveInfo::create):
26011         (WebCore::CanvasActiveInfo::name):
26012         (WebCore::CanvasActiveInfo::type):
26013         (WebCore::CanvasActiveInfo::size):
26014         (WebCore::CanvasActiveInfo::CanvasActiveInfo):
26015         * html/canvas/CanvasActiveInfo.idl: Added.
26016         * html/canvas/CanvasObject.h:
26017         (WebCore::CanvasObject::context):
26018           Need to make the context public as it is needed to ensure we don't
26019           provide a program from one context as an argument to another.
26020         * html/canvas/CanvasRenderingContext3D.cpp:
26021         (WebCore::CanvasRenderingContext3D::getActiveAttrib):
26022         (WebCore::CanvasRenderingContext3D::getActiveUniform):
26023         * html/canvas/CanvasRenderingContext3D.h:
26024         * html/canvas/CanvasRenderingContext3D.idl:
26025         * platform/graphics/GraphicsContext3D.h:
26026         * platform/graphics/mac/GraphicsContext3DMac.cpp:
26027         (WebCore::GraphicsContext3D::getActiveAttrib):
26028         (WebCore::GraphicsContext3D::getActiveUniform):
26030 2009-10-10  Pavel Feldman  <pfeldman@chromium.org>
26032         Reviewed by Timothy Hatcher.
26034         Web Inspector: Adding new attributes in Element Panel is
26035         counterintuitive.
26037         https://bugs.webkit.org/show_bug.cgi?id=30057
26039         * inspector/front-end/ElementsTreeOutline.js:
26040         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
26041         (WebInspector.ElementsTreeElement.prototype.set hovered):
26042         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
26044 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
26046         Reviewed by Holger Freyther.
26048         Build fix if Netscape plugin support is turned off
26049         https://bugs.webkit.org/show_bug.cgi?id=30275
26051         In addition to fixing the build break with guards
26052         remove notImplemented() from PluginViewNone.cpp and
26053         make them just just be empty functions.
26055         * plugins/PluginView.cpp:
26056         (WebCore::PluginView::handleEvent):
26057         (WebCore::PluginView::PluginView):
26058         * plugins/PluginView.h:
26059         * plugins/PluginViewNone.cpp:
26060         (WebCore::PluginView::setFocus):
26061         (WebCore::PluginView::show):
26062         (WebCore::PluginView::hide):
26063         (WebCore::PluginView::paint):
26064         (WebCore::PluginView::handleKeyboardEvent):
26065         (WebCore::PluginView::handleMouseEvent):
26066         (WebCore::PluginView::setParent):
26067         (WebCore::PluginView::setNPWindowRect):
26068         (WebCore::PluginView::handlePostReadFile):
26069         (WebCore::PluginView::getValue):
26070         (WebCore::PluginView::getValueStatic):
26071         (WebCore::PluginView::invalidateRect):
26072         (WebCore::PluginView::invalidateRegion):
26073         (WebCore::PluginView::forceRedraw):
26074         (WebCore::PluginView::platformStart):
26075         (WebCore::PluginView::platformDestroy):
26076         (WebCore::PluginView::setParentVisible):
26077         (WebCore::PluginView::updatePluginWidget):
26079 2009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
26081         Unreviewed.
26083         [Qt] Build fix for QtWebKit after r49415.
26085         Add HistoryController.cpp to the build.
26087         * WebCore.pro:
26089 2009-10-09  Darin Fisher  <darin@chromium.org>
26091         Reviewed by Eric Seidel.
26093         [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens
26094         https://bugs.webkit.org/show_bug.cgi?id=30262
26096         This is not testable from WebKit since WebKit never uses the member
26097         function form of protocolIs with input that can be controlled from a
26098         web page.  It always passes string literals lacking hyphens.
26100         * platform/KURLGoogle.cpp:
26101         (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would
26102         transform the input character.
26104 2009-10-10  Adam Barth  <abarth@webkit.org>
26106         Reviewed by Oliver Hunt.
26108         Move HistoryController to its own file
26109         https://bugs.webkit.org/show_bug.cgi?id=30272
26111         Purely mechanical.
26113         * GNUmakefile.am:
26114         * WebCore.gypi:
26115         * WebCore.vcproj/WebCore.vcproj:
26116         * WebCore.xcodeproj/project.pbxproj:
26117         * WebCoreSources.bkl:
26118         * loader/FrameLoader.cpp:
26119         * loader/FrameLoader.h:
26120         * loader/HistoryController.cpp: Added.
26121         * loader/HistoryController.h: Added.
26123 2009-10-09  Ryosuke Niwa  <rniwa@webkit.org>
26125         Reviewed by Eric Seidel.
26127         ApplyStyleCommand removes presentational tags even when not necessary
26128         https://bugs.webkit.org/show_bug.cgi?id=28091
26130         This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true
26131         (triggering removal of tag) only if the style implicitly added by the element is not present in
26132         the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the
26133         surrounding element when possible. applyTextDecorationStyle is modified so that it does not add
26134         style span when the style attribute is empty.
26136         Test: editing/execCommand/toggle-style-3.html
26138         * editing/ApplyStyleCommand.cpp:
26139         (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text
26140         decoration is not present in the style to apply
26141         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer
26142         returns true if the tag is used in new style
26143         (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant
26144         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element
26145         with the surrounding identical elements
26146         * editing/ApplyStyleCommand.h:
26148 2009-10-09  Adam Barth  <abarth@webkit.org>
26150         Reviewed by Darin Adler.
26152         Factor HistoryController out of FrameLoader
26153         https://bugs.webkit.org/show_bug.cgi?id=30246
26155         HistoryController is in charge of managing the current / previous /
26156         provisional HistoryItems.  The split isn't perfect, but it's a place to
26157         start.  I'll move HistoryController into its own file in another patch.
26159         * WebCore.base.exp:
26160         * loader/FrameLoader.cpp:
26161         (WebCore::HistoryController::HistoryController):
26162         (WebCore::HistoryController::~HistoryController):
26163         (WebCore::FrameLoader::FrameLoader):
26164         (WebCore::FrameLoader::closeURL):
26165         (WebCore::FrameLoader::begin):
26166         (WebCore::HistoryController::restoreDocumentState):
26167         (WebCore::HistoryController::setCurrentItem):
26168         (WebCore::HistoryController::setProvisionalItem):
26169         (WebCore::FrameLoader::loadURLIntoChildFrame):
26170         (WebCore::FrameLoader::canCachePageContainingThisFrame):
26171         (WebCore::FrameLoader::logCanCacheFrameDecision):
26172         (WebCore::FrameLoader::scrollToAnchor):
26173         (WebCore::FrameLoader::commitProvisionalLoad):
26174         (WebCore::FrameLoader::transitionToCommitted):
26175         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
26176         (WebCore::FrameLoader::didFirstLayout):
26177         (WebCore::HistoryController::updateForFrameLoadCompleted):
26178         (WebCore::FrameLoader::frameLoadCompleted):
26179         (WebCore::FrameLoader::detachFromParent):
26180         (WebCore::FrameLoader::receivedMainResourceError):
26181         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
26182         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
26183         (WebCore::HistoryController::addHistoryItemForFragmentScroll):
26184         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
26185         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
26186         (WebCore::HistoryController::createHistoryItem):
26187         (WebCore::FrameLoader::checkDidPerformFirstNavigation):
26188         (WebCore::HistoryController::addBackForwardItemClippedAtTarget):
26189         (WebCore::HistoryController::createHistoryItemTree):
26190         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
26191         (WebCore::HistoryController::restoreScrollPositionAndViewState):
26192         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
26193         (WebCore::HistoryController::saveDocumentState):
26194         (WebCore::FrameLoader::loadItem):
26195         (WebCore::HistoryController::urlsMatchItem):
26196         (WebCore::HistoryController::goToItem):
26197         (WebCore::HistoryController::recursiveGoToItem):
26198         (WebCore::HistoryController::childFramesMatchItem):
26199         (WebCore::HistoryController::updateForStandardLoad):
26200         (WebCore::HistoryController::updateForClientRedirect):
26201         (WebCore::HistoryController::updateForBackForwardNavigation):
26202         (WebCore::HistoryController::updateForReload):
26203         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
26204         (WebCore::HistoryController::updateForCommit):
26205         (WebCore::HistoryController::updateForAnchorScroll):
26206         (WebCore::HistoryController::saveDocumentAndScrollState):
26207         (WebCore::HistoryController::setCurrentItemTitle):
26208         (WebCore::FrameLoader::didChangeTitle):
26209         * loader/FrameLoader.h:
26210         (WebCore::HistoryController::current):
26211         (WebCore::HistoryController::provisional):
26212         (WebCore::FrameLoader::policyChecker):
26213         (WebCore::FrameLoader::history):
26214         (WebCore::FrameLoader::creatingInitialEmptyDocument):
26215         * page/Page.cpp:
26216         (WebCore::Page::goToItem):
26218 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
26220         Unreviewed - fixing an obvious typo in my previous check-in.
26222         https://bugs.webkit.org/show_bug.cgi?id=30260
26223         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
26225         Fixes existing tests (which I thought I had run the previous time).
26227         * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the
26228         set by reference.
26230 2009-10-09  David Levin  <levin@chromium.org>
26232         Reviewed by Eric Seidel.
26234         [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class.
26235         https://bugs.webkit.org/show_bug.cgi?id=30264
26237         The base class method changed in r48884.
26239         Test: fast/worker/worker-script-error.html
26241         * bindings/v8/V8WorkerContextEventListener.cpp:
26242         (WebCore::V8WorkerContextEventListener::reportError):
26243         * bindings/v8/V8WorkerContextEventListener.h:
26245 2009-10-09  Alexey Proskuryakov  <ap@apple.com>
26247         Reviewed by Brady Eidson.
26249         https://bugs.webkit.org/show_bug.cgi?id=30260
26250         <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
26252         Tests: http/tests/xmlhttprequest/logout.html
26253                http/tests/xmlhttprequest/re-login-async.html
26254                http/tests/xmlhttprequest/re-login.html
26256         Fix several issues with existing credential handling code.
26258         * platform/network/CredentialStorage.cpp:
26259         (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one.
26260         (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't
26261         want to iterate paths for origins that never had credentials associated with them. Changed
26262         to use a separate HashSet for this.
26263         (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't
26264         match the spec very well. UAs are supposed to deduce protection space from an URL, and then
26265         use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap
26266         is now PathToDefaultProtectionSpaceMap.
26267         (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory
26268         URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap.
26269         (WebCore::CredentialStorage::set): Updated for above changes.
26270         (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find
26271         a prefix in OriginToDefaultBasicCredentialMap.
26272         (WebCore::CredentialStorage::set): Another version of set() can update credentials for a
26273         URL default protection space. It does nothing if the given URL doesn't correspond to a known
26274         protection space.
26275         (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential.
26277         * platform/network/CredentialStorage.h: Made the distinction between methods that use a known
26278         protection space and those that deduce one from URL more clear.
26280         * platform/network/mac/ResourceHandleMac.mm:
26281         (WebCore::ResourceHandle::start): Update credentials before starting the request for real.
26282         This makes the following pattern work:
26283           var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials
26284           req.send("");
26285           req.abort();
26286         Abort() is used here to avoid having UA present an auth dialog after getting a 401 response.
26287         Note that one cannot log in using the same method, because there isn't a known protection
26288         space for the URL yet in that case, so the added code has no effect.
26289         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for
26290         calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of
26291         course), and matches sync case.
26292         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
26293         Renamed getDefaultAuthenticationCredential() to get().
26295         * platform/network/cf/ResourceHandleCFNet.cpp:
26296         (WebCore::ResourceHandle::start):
26297         (WebCore::WebCoreSynchronousLoader::load):
26298         Same changes as in Mac code.
26300 2009-10-09  Enrica Casucci  <enrica@apple.com>
26302         Reviewed by Adele Peterson.
26304         Undoing a indent removes text instead of it's formatting.
26305         <rdar://problem/7169206>
26306         https://bugs.webkit.org/show_bug.cgi?id=28722
26307         Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the
26308         indent command making simple DOM operation, without using moveParagraph which cause undo to be broken.
26309         
26310         Added editing/undo/undo-indent.html test.
26312         * editing/IndentOutdentCommand.cpp:
26313         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. 
26314         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes.
26315         (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored.
26316         (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to
26317         ensure TextIterator could correctly calculate the position starting from the index.
26318         * editing/IndentOutdentCommand.h: Restored.
26320 2009-10-09  Jens Alfke  <snej@chromium.org>
26322         Reviewed by Darin Adler.
26323         
26324         Optimization: Many StringImpl transformations are no-ops and should just return 'this'
26325         https://bugs.webkit.org/show_bug.cgi?id=30186
26327         Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to
26328         detect no-ops and return this instead of creating a new instance.
26329         Empirical testing shows that the majority of calls to these methods are no-ops, making
26330         this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed.
26331         Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it.
26333         * platform/text/StringImpl.cpp:
26334         (WebCore::StringImpl::lower):
26335         (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized
26336         (WebCore::StringImpl::stripWhiteSpace):
26337         (WebCore::StringImpl::simplifyWhiteSpace):
26339 2009-10-09  Dirk Schulze  <krit@webkit.org>
26341         Reviewed by Oliver Hunt.
26343         SVG Filter feGaussianBlur implementation is missing
26344         [https://bugs.webkit.org/show_bug.cgi?id=28141]
26346         This is the implementation of GaussianBlur filter for SVG.
26348         There is already a test for feGaussianBlur
26349         Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg 
26351         Test: svg/filters/feGaussianBlur.svg
26353         * platform/graphics/filters/FilterEffect.cpp:
26354         (WebCore::FilterEffect::FilterEffect):
26355         * platform/graphics/filters/FilterEffect.h:
26356         (WebCore::FilterEffect::isAlphaImage):
26357         (WebCore::FilterEffect::setIsAlphaImage):
26358         * platform/graphics/filters/SourceAlpha.cpp:
26359         (WebCore::SourceAlpha::apply):
26360         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
26361         (WebCore::boxBlur):
26362         (WebCore::FEGaussianBlur::apply):
26364 2009-10-09  Philippe Normand  <pnormand@igalia.com>
26366         Reviewed by Gustavo Noronha.
26368         [GTK] QoS support in the video sink
26369         https://bugs.webkit.org/show_bug.cgi?id=29959
26371         Removed the async buffer queue from the sink. Synchronize the
26372         render method of the sink using a g_timeout_add() combined with a
26373         gcond triggered when the buffer has been rendered.
26374         Also fixed the video sink reference handling in the player, now
26375         that the idle is not there anymore to mess up things.
26377         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
26378         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
26379         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
26380         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
26381         (webkit_video_sink_init):
26382         (webkit_video_sink_timeout_func):
26383         (webkit_video_sink_render):
26384         (webkit_video_sink_dispose):
26385         (unlock_buffer_mutex):
26386         (webkit_video_sink_unlock):
26387         (webkit_video_sink_stop):
26388         (webkit_video_sink_class_init):
26390 2009-10-09  Dirk Schulze  <krit@webkit.org>
26392         Reviewed by Nikolas Zimmermann.
26394         feMorphology filter is not implemented
26395         [https://bugs.webkit.org/show_bug.cgi?id=5863]
26397         Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug
26398         with the attribute "operator". It was only accessible via "_operator" 
26399         on JavaScript.
26401         Test: svg/dom/operatorAttribute.xhtml
26403         * DerivedSources.cpp:
26404         * DerivedSources.make:
26405         * GNUmakefile.am:
26406         * WebCore.SVG.Filters.exp:
26407         * WebCore.gypi:
26408         * WebCore.pro:
26409         * WebCore.xcodeproj/project.pbxproj:
26410         * bindings/objc/DOM.mm:
26411         (WebCore::createElementClassMap):
26412         * bindings/objc/DOMSVG.h:
26413         * bindings/scripts/CodeGeneratorJS.pm:
26414         * bindings/scripts/CodeGeneratorObjC.pm:
26415         * page/DOMWindow.idl:
26416         * svg/SVGAllInOne.cpp:
26417         * svg/SVGFECompositeElement.idl:
26418         * svg/SVGFEMorphologyElement.cpp: Added.
26419         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
26420         (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement):
26421         (WebCore::SVGFEMorphologyElement::setRadius):
26422         (WebCore::SVGFEMorphologyElement::parseMappedAttribute):
26423         (WebCore::SVGFEMorphologyElement::build):
26424         * svg/SVGFEMorphologyElement.h: Added.
26425         * svg/SVGFEMorphologyElement.idl: Added.
26426         * svg/graphics/filters/SVGFEMorphology.cpp:
26427         (WebCore::operator<<):
26428         * svg/graphics/filters/SVGFEMorphology.h:
26429         (WebCore::):
26430         * svg/svgtags.in:
26432 2009-10-09  Yury Semikhatsky  <yurys@chromium.org>
26434         Reviewed by Dimitri Glazkov.
26436         Fix Chromium breakage.
26438         https://bugs.webkit.org/show_bug.cgi?id=30104
26440         * inspector/front-end/inspector.js:
26441         (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods.
26443 2009-10-09  Joe Ligman  <joseph.ligman@nokia.com>
26445         Reviewed by Simon Hausmann.
26447         [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient
26449         https://bugs.webkit.org/show_bug.cgi?id=30023
26451         * platform/qt/QWebPageClient.h:
26453 2009-10-08  Dave Hyatt  <hyatt@apple.com>
26455         Reviewed by Darin Adler.
26457         Implement beforeload for images.  ImageLoadEventSender has been refactored into a more generic
26458         ImageEventSender that can be used by both load and beforeload events.  If the document has any
26459         beforeload listeners, then the installation of images onto the renderer becomes asynchronous
26460         and will be held up until the beforeload event can fire at a later date.
26462         Both beforeload and load events now fire at the end of the tokenizer write() methods, so that
26463         in the typical parsing case we don't have to put off the beforeload/load events until after
26464         a layout or paint might already have happened.  This lets beforeload/load not cause extra
26465         layouts and repaints.
26467         * dom/ContainerNode.cpp:
26468         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
26469         * dom/Document.cpp:
26470         (WebCore::Document::implicitClose):
26471         (WebCore::Document::addListenerTypeIfNeeded):
26472         * dom/Document.h:
26473         (WebCore::Document::):
26474         * dom/XMLTokenizer.cpp:
26475         (WebCore::XMLTokenizer::write):
26476         * html/HTMLImageElement.cpp:
26477         (WebCore::HTMLImageElement::attach):
26478         * html/HTMLInputElement.cpp:
26479         (WebCore::HTMLInputElement::attach):
26480         * html/HTMLTokenizer.cpp:
26481         (WebCore::HTMLTokenizer::write):
26482         * loader/ImageLoader.cpp:
26483         (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender):
26484         (WebCore::ImageLoadEventSender::ImageLoadEventSender):
26485         (WebCore::beforeLoadEventSender):
26486         (WebCore::ImageLoader::ImageLoader):
26487         (WebCore::ImageLoader::~ImageLoader):
26488         (WebCore::ImageLoader::setImage):
26489         (WebCore::ImageLoader::setLoadingImage):
26490         (WebCore::ImageLoader::updateFromElement):
26491         (WebCore::ImageLoader::notifyFinished):
26492         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
26493         (WebCore::ImageLoader::dispatchPendingEvents):
26494         (WebCore::ImageEventSender::ImageEventSender):
26495         (WebCore::ImageEventSender::dispatchEventSoon):
26496         (WebCore::ImageEventSender::cancelEvent):
26497         (WebCore::ImageEventSender::dispatchPendingEvents):
26498         (WebCore::ImageEventSender::timerFired):
26499         * loader/ImageLoader.h:
26500         (WebCore::ImageLoader::haveFiredBeforeLoadEvent):
26501         * wml/WMLImageElement.cpp:
26502         (WebCore::WMLImageElement::attach):
26504 2009-10-09  Pavel Feldman  <pfeldman@chromium.org>
26506         Reviewed by Dimitri Glazkov.
26508         Web Inspector: Wrap Database into ScriptObject in v8 bindings.
26510         https://bugs.webkit.org/show_bug.cgi?id=30174
26512         No tests due to no Script* test infrastructure.
26514         * bindings/v8/ScriptObjectQuarantine.cpp:
26515         (WebCore::getQuarantinedScriptObject):
26517 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
26519         Reviewed by Simon Hausmann.
26521         [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView.
26522         
26523         'client' is 0 when we have no view.
26525         https://bugs.webkit.org/show_bug.cgi?id=30251
26527         * plugins/qt/PluginViewQt.cpp:
26528         (WebCore::PluginView::paint):
26530 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
26532         Reviewed by Simon Hausmann.
26534         [Qt] Plugins : Add missing setCurrentPlugin(0)
26536         https://bugs.webkit.org/show_bug.cgi?id=30248
26538         * plugins/qt/PluginViewQt.cpp:
26539         (WebCore::PluginView::dispatchNPEvent):
26541 2009-10-09  Jakub Wieczorek  <faw217@gmail.com>
26543         Reviewed by Simon Hausmann.
26545         [Qt] beforeload event does not fire on script elements in XML
26546         https://bugs.webkit.org/show_bug.cgi?id=30235
26548         r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one
26549         made in XMLTokenizerLibxml2.cpp.
26551         * dom/XMLTokenizerQt.cpp:
26552         (WebCore::XMLTokenizer::parseEndElement):
26554 2009-10-09  Zoltan Horvath  <zoltan@webkit.org>
26556         Reviewed by Darin Adler.
26558         Allow custom memory allocation control for WebCore's CSSParserValueList
26559         https://bugs.webkit.org/show_bug.cgi?id=30249
26561         Inherits CSSParserValueList class from FastAllocBase because it has 
26562         been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271.
26564         * css/CSSParserValues.h:
26566 2009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
26568         Reviewed by Simon Hausmann.
26570         [Qt] Windowless Plugins : Create Pixmap only when size changes.
26572         https://bugs.webkit.org/show_bug.cgi?id=30214
26574         * plugins/qt/PluginViewQt.cpp:
26575         (WebCore::PluginView::updatePluginWidget):
26577 2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
26579         Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
26580         for the existence of a PluginHalterDelegate.
26582         This fixes a leak of WebPluginHalterClients:
26583         https://bugs.webkit.org/show_bug.cgi?id=30119.
26585         Reviewed by Dan Bernstein.
26587         * WebCore.base.exp:
26588         Removed the export of WebCore::Settings::setPluginHalterEnabled().
26590         * loader/EmptyClients.h:
26591         (WebCore::EmptyPluginHalterClient::enabled):
26593         * page/Page.cpp:
26594         (WebCore::Page::Page):
26595         Remove initialization of m_pluginHalterClient, which was removed. If a
26596         non-null PluginHalterClient was passed, create the PluginHalter, and
26597         set its allowed run time.
26599         * page/Page.h:
26600         Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient.
26602         * page/PluginHalter.cpp:
26603         (WebCore::PluginHalter::didStartPlugin):
26604         Check whether the PluginHalterClient is enabled.
26605         (WebCore::PluginHalter::didStopPlugin):
26606         Ditto.
26608         * page/PluginHalter.h:
26609         Made m_client an OwnPtr.
26611         * page/PluginHalterClient.h:
26612         Added a function to return the enabled state.
26614         * page/Settings.cpp:
26615         (WebCore::Settings::Settings):
26616         Remove initialization of removed member.
26618         * page/Settings.h:
26619         Removed settings for the enabled state of the PluginHalter; we now use
26620         the existence of a WebPluginHalterDelegate to determine whether the
26621         PluginHalter is enabled.
26623 2009-10-08  Adam Barth  <abarth@webkit.org>
26625         Reviewed by Eric Seidel.
26627         Move executeScript from FrameLoader to ScriptController
26628         https://bugs.webkit.org/show_bug.cgi?id=30200
26630         These methods have virtually no interaction with FrameLoader.  They
26631         really seem like they ought to belong to ScriptController.
26633         * WebCore.base.exp:
26634         * bindings/js/ScheduledAction.cpp:
26635         (WebCore::ScheduledAction::execute):
26636         * bindings/js/ScriptController.cpp:
26637         (WebCore::ScriptController::ScriptController):
26638         (WebCore::ScriptController::executeScript):
26639         (WebCore::ScriptController::executeIfJavaScriptURL):
26640         (WebCore::ScriptController::evaluate):
26641         * bindings/js/ScriptController.h:
26642         * bindings/v8/ScriptController.cpp:
26643         (WebCore::ScriptController::ScriptController):
26644         (WebCore::ScriptController::executeScript):
26645         (WebCore::ScriptController::executeIfJavaScriptURL):
26646         * bindings/v8/ScriptController.h:
26647         * dom/XMLTokenizer.cpp:
26648         (WebCore::XMLTokenizer::notifyFinished):
26649         * dom/XMLTokenizerLibxml2.cpp:
26650         (WebCore::XMLTokenizer::endElementNs):
26651         * dom/XMLTokenizerQt.cpp:
26652         (WebCore::XMLTokenizer::parseEndElement):
26653         * html/HTMLTokenizer.cpp:
26654         (WebCore::HTMLTokenizer::scriptExecution):
26655         * loader/FrameLoader.cpp:
26656         (WebCore::FrameLoader::changeLocation):
26657         (WebCore::FrameLoader::urlSelected):
26658         (WebCore::FrameLoader::requestFrame):
26659         (WebCore::FrameLoader::submitForm):
26660         (WebCore::FrameLoader::replaceDocument):
26661         * loader/FrameLoader.h:
26662         * plugins/PluginView.cpp:
26663         (WebCore::PluginView::performRequest):
26665 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
26667         Windows build fix: added missing #include.
26669         * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h.
26671 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
26673         Reviewed by Timothy Hatcher.
26675         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30237>.
26676         DOM Content and Load lines aren't shown if a page is loaded when the inspector is up.
26677         
26678         Make sure to call update script object if we have an InspectorFrontend to
26679         call it on when we get one of the new events.
26681         * inspector/InspectorController.cpp:
26682         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
26683         (WebCore::InspectorController::mainResourceFiredLoadEvent):
26685 2009-10-08  Geoffrey Garen  <ggaren@apple.com>
26687         Build fix: updated for removal of Structure::markAggregate().
26689         * bindings/js/JSDOMGlobalObject.cpp:
26690         (WebCore::JSDOMGlobalObject::markChildren):
26692 2009-10-08  Jens Alfke  <snej@chromium.org>
26694         Reviewed by Darin Adler.
26696         Make AtomicString create its StringImpl via create(), not the constructor,
26697         so it gets allocated in a single heap block, saving memory and CPU cycles.
26698         This eliminates two StringImpl constructors, making the remaining ones
26699         unambiguous, so the "AdoptBuffer" parameter is no longer needed.
26700         Added const attribute to UChar* in StringImpl constructor, eliminating the
26701         need for several const_casts in calls to it.
26702         StringImpl also unfriends AtomicString (OMG drama!!!)
26703         https://bugs.webkit.org/show_bug.cgi?id=30141
26705         * platform/text/AtomicString.cpp:
26706         (WebCore::CStringTranslator::translate): Call StringImpl::create().
26707         (WebCore::UCharBufferTranslator::translate): Ditto.
26708         (WebCore::HashAndCharactersTranslator::translate): Ditto.
26709         * platform/text/StringImpl.cpp:
26710         (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param.
26711         (WebCore::StringImpl::adopt): Ditto.
26712         (WebCore::StringImpl::createUninitialized): Ditto.
26713         (WebCore::StringImpl::create): Ditto.
26714         (WebCore::StringImpl::crossThreadString): Ditto.
26715         * platform/text/StringImpl.h:
26716         (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls.
26718 2009-10-08  Anders Carlsson  <andersca@apple.com>
26720         Reviewed by Sam Weinig.
26722         Remove the shouldLoadMediaElementURL frame loader client function.
26724         * loader/FrameLoader.cpp:
26725         (WebCore::FrameLoader::willLoadMediaElementURL):
26727 2009-10-08  John Gregg  <johnnyg@google.com>
26729         Reviewed by Dimitri Glazkov.
26731         SVGURIReference Build problem for V8.  An additional stale reference to SVGURIReference bindings
26732         which wasn't exposed until a clean build.
26733         https://bugs.webkit.org/show_bug.cgi?id=30217
26735         No new tests, just a build fix.
26737         * bindings/v8/V8Index.cpp:
26739 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
26741         Not reviewed. Sort XCode project file.
26743         * WebCore.xcodeproj/project.pbxproj:
26745 2009-10-08  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
26747         Reviewed by Timothy Hatcher.
26749         unselectable resources in resource panel
26750         https://bugs.webkit.org/show_bug.cgi?id=30079
26752         manual test added
26753         
26754         Also changed the way DnD for resources in the Resources panel is 
26755         handled.
26757         * inspector/front-end/ResourcesPanel.js:
26758         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
26759         (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart):
26760         * manual-tests/inspector/duplicate-resource-urls.html: Added.
26762 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
26764         Reviewed by Timothy Hatcher.
26766         Fixes <http://webkit.org/b/30233>
26767         Local Storage and Cookies show Blank Titles on Local Files.
26769         If a local storage or cookies sidebar item has no domain, set the 
26770         title to "Local Files", because that is what it represents.
26772         * English.lproj/localizedStrings.js:
26773         * inspector/front-end/StoragePanel.js:
26774         (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
26775         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle):
26776         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
26778 2009-10-08  Dave Hyatt  <hyatt@apple.com>
26780         Reviewed by Oliver Hunt.
26782         Fix failing media layout tests.  Don't make beforeload block loads of objects that aren't in the
26783         document, since video/audio (and images eventually too) can load when not in the document yet.
26785         * dom/ContainerNode.cpp:
26786         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
26788 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
26790         Reviewed by Eric Seidel.
26792         Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it
26793         https://bugs.webkit.org/show_bug.cgi?id=30230
26795         This patch also devirtualizes viewBoxToViewTransform(), is it's superflous.
26796         viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox.
26797         As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic.
26799         As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return
26800         statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong.
26802         * svg/SVGFitToViewBox.cpp:
26803         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
26804         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
26805         * svg/SVGFitToViewBox.h:
26806         * svg/SVGMarkerElement.cpp:
26807         (WebCore::SVGMarkerElement::SVGMarkerElement):
26808         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
26809         * svg/SVGMarkerElement.h:
26810         * svg/SVGPatternElement.cpp:
26811         (WebCore::SVGPatternElement::SVGPatternElement):
26812         (WebCore::SVGPatternElement::buildPattern):
26813         * svg/SVGPatternElement.h:
26814         * svg/SVGSVGElement.cpp:
26815         (WebCore::SVGSVGElement::SVGSVGElement):
26816         (WebCore::SVGSVGElement::viewBoxToViewTransform):
26817         * svg/SVGSVGElement.h:
26818         * svg/SVGSymbolElement.cpp:
26819         (WebCore::SVGSymbolElement::SVGSymbolElement):
26820         * svg/SVGSymbolElement.h:
26821         * svg/SVGViewElement.cpp:
26822         (WebCore::SVGViewElement::SVGViewElement):
26823         * svg/SVGViewElement.h:
26824         * svg/SVGViewSpec.cpp:
26825         (WebCore::SVGViewSpec::SVGViewSpec):
26826         * svg/SVGViewSpec.h:
26828 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
26830         Reviewed by Jon Honeycutt.
26832         Correct a typo that fixes the resizing of columns in Cookie view when you
26833         resize the Inspector window.
26835         * inspector/front-end/CookieItemsView.js:
26836         (WebInspector.CookieItemsView.prototype.resize):
26838 2009-10-08  Brian Weinstein  <bweinstein@apple.com>
26840         Reviewed by Adam Roben.
26842         Fixes <https://bugs.webkit.org/show_bug.cgi?id=29811>
26843         Text in Inspector's Styles gear menu is invisible.
26844         
26845         Adds a style rule for the option text and hr's in the gear menu,
26846         to prevent them from being transparent.
26848         * inspector/front-end/inspector.css:
26850 2009-10-08  John Gregg  <johnnyg@google.com>
26852         Reviewed by David Levin.
26854         Fix build problem with SVGURIReference in V8.
26855         https://bugs.webkit.org/show_bug.cgi?id=30217
26857         No new tests, just a build fix.
26859         * WebCore.gypi:
26860         * bindings/v8/DerivedSourcesAllInOne.cpp:
26862 2009-10-07  Dave Hyatt  <hyatt@apple.com>
26864         Reviewed by Eric Carlson.
26866         Make beforeload work on <video>/<audio> elements.
26868         Added fast/dom/beforeload/video-before-load.html
26870         * html/HTMLMediaElement.cpp:
26871         (WebCore::HTMLMediaElement::parseMappedAttribute):
26872         (WebCore::HTMLMediaElement::selectMediaResource):
26873         (WebCore::HTMLMediaElement::selectNextSourceChild):
26875 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
26877         Reviewed by Eric Seidel.
26879         Move SVGExternalResourcesRequired ANIMATED_* macros in classes that inherit from it
26880         https://bugs.webkit.org/show_bug.cgi?id=30218
26882         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
26883         No change in functionality, thus no new tests.
26885         * svg/SVGAElement.cpp:
26886         (WebCore::SVGAElement::SVGAElement):
26887         * svg/SVGAElement.h:
26888         * svg/SVGAnimationElement.cpp:
26889         (WebCore::SVGAnimationElement::SVGAnimationElement):
26890         * svg/SVGAnimationElement.h:
26891         * svg/SVGCircleElement.cpp:
26892         (WebCore::SVGCircleElement::SVGCircleElement):
26893         * svg/SVGCircleElement.h:
26894         * svg/SVGClipPathElement.cpp:
26895         (WebCore::SVGClipPathElement::SVGClipPathElement):
26896         * svg/SVGClipPathElement.h:
26897         * svg/SVGCursorElement.cpp:
26898         (WebCore::SVGCursorElement::SVGCursorElement):
26899         * svg/SVGCursorElement.h:
26900         * svg/SVGDefsElement.cpp:
26901         (WebCore::SVGDefsElement::SVGDefsElement):
26902         * svg/SVGDefsElement.h:
26903         * svg/SVGEllipseElement.cpp:
26904         (WebCore::SVGEllipseElement::SVGEllipseElement):
26905         * svg/SVGEllipseElement.h:
26906         * svg/SVGExternalResourcesRequired.cpp:
26907         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
26908         * svg/SVGExternalResourcesRequired.h:
26909         * svg/SVGFEImageElement.cpp:
26910         (WebCore::SVGFEImageElement::SVGFEImageElement):
26911         * svg/SVGFEImageElement.h:
26912         * svg/SVGFilterElement.cpp:
26913         (WebCore::SVGFilterElement::SVGFilterElement):
26914         * svg/SVGFilterElement.h:
26915         * svg/SVGFontElement.cpp:
26916         (WebCore::SVGFontElement::SVGFontElement):
26917         * svg/SVGFontElement.h:
26918         * svg/SVGForeignObjectElement.cpp:
26919         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
26920         * svg/SVGForeignObjectElement.h:
26921         * svg/SVGGElement.cpp:
26922         (WebCore::SVGGElement::SVGGElement):
26923         * svg/SVGGElement.h:
26924         * svg/SVGGradientElement.cpp:
26925         (WebCore::SVGGradientElement::SVGGradientElement):
26926         * svg/SVGGradientElement.h:
26927         * svg/SVGImageElement.cpp:
26928         (WebCore::SVGImageElement::SVGImageElement):
26929         * svg/SVGImageElement.h:
26930         * svg/SVGLineElement.cpp:
26931         (WebCore::SVGLineElement::SVGLineElement):
26932         * svg/SVGLineElement.h:
26933         * svg/SVGMPathElement.cpp:
26934         (WebCore::SVGMPathElement::SVGMPathElement):
26935         * svg/SVGMPathElement.h:
26936         * svg/SVGMarkerElement.cpp:
26937         (WebCore::SVGMarkerElement::SVGMarkerElement):
26938         * svg/SVGMarkerElement.h:
26939         * svg/SVGMaskElement.cpp:
26940         (WebCore::SVGMaskElement::SVGMaskElement):
26941         * svg/SVGMaskElement.h:
26942         * svg/SVGPathElement.cpp:
26943         (WebCore::SVGPathElement::SVGPathElement):
26944         * svg/SVGPathElement.h:
26945         * svg/SVGPatternElement.cpp:
26946         (WebCore::SVGPatternElement::SVGPatternElement):
26947         * svg/SVGPatternElement.h:
26948         * svg/SVGPolyElement.cpp:
26949         (WebCore::SVGPolyElement::SVGPolyElement):
26950         * svg/SVGPolyElement.h:
26951         * svg/SVGRectElement.cpp:
26952         (WebCore::SVGRectElement::SVGRectElement):
26953         * svg/SVGRectElement.h:
26954         * svg/SVGSVGElement.cpp:
26955         (WebCore::SVGSVGElement::SVGSVGElement):
26956         * svg/SVGSVGElement.h:
26957         * svg/SVGScriptElement.cpp:
26958         (WebCore::SVGScriptElement::SVGScriptElement):
26959         * svg/SVGScriptElement.h:
26960         * svg/SVGSwitchElement.cpp:
26961         (WebCore::SVGSwitchElement::SVGSwitchElement):
26962         * svg/SVGSwitchElement.h:
26963         * svg/SVGSymbolElement.cpp:
26964         (WebCore::SVGSymbolElement::SVGSymbolElement):
26965         * svg/SVGSymbolElement.h:
26966         * svg/SVGTextContentElement.cpp:
26967         (WebCore::SVGTextContentElement::SVGTextContentElement):
26968         * svg/SVGTextContentElement.h:
26969         * svg/SVGUseElement.cpp:
26970         (WebCore::SVGUseElement::SVGUseElement):
26971         * svg/SVGUseElement.h:
26972         * svg/SVGViewElement.cpp:
26973         (WebCore::SVGViewElement::SVGViewElement):
26974         * svg/SVGViewElement.h:
26976 2009-10-08  Dirk Schulze  <krit@webkit.org>
26978         Reviewed by Darin Adler.
26980         SVG feComposite: operator over mixes up inputs
26981         [https://bugs.webkit.org/show_bug.cgi?id=30205]
26983         SVG feComposite operator over mixed up the inputs.
26984         The pixel-test svg/filters/feComposite.svg can already test this.
26985         No new test result is needed as long as filters are disabled.
26987         * platform/graphics/filters/FEComposite.cpp:
26988         (WebCore::FEComposite::apply):
26990 2009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
26992         Reviewed by George Staikos.
26994         Move SVGURIReference ANIMATED_* macros in classes that inherit from it
26995         https://bugs.webkit.org/show_bug.cgi?id=30184
26997         The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
26998         No change in functionality, thus no new tests.
27000         * svg/SVGAElement.cpp:
27001         (WebCore::SVGAElement::SVGAElement):
27002         * svg/SVGAElement.h:
27003         * svg/SVGAltGlyphElement.cpp:
27004         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
27005         * svg/SVGAltGlyphElement.h:
27006         * svg/SVGCursorElement.cpp:
27007         (WebCore::SVGCursorElement::SVGCursorElement):
27008         * svg/SVGCursorElement.h:
27009         * svg/SVGFEImageElement.cpp:
27010         (WebCore::SVGFEImageElement::SVGFEImageElement):
27011         * svg/SVGFEImageElement.h:
27012         * svg/SVGFilterElement.cpp:
27013         (WebCore::SVGFilterElement::SVGFilterElement):
27014         * svg/SVGFilterElement.h:
27015         * svg/SVGForeignObjectElement.cpp:
27016         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
27017         * svg/SVGForeignObjectElement.h:
27018         * svg/SVGGradientElement.cpp:
27019         (WebCore::SVGGradientElement::SVGGradientElement):
27020         * svg/SVGGradientElement.h:
27021         * svg/SVGImageElement.cpp:
27022         (WebCore::SVGImageElement::SVGImageElement):
27023         * svg/SVGImageElement.h:
27024         * svg/SVGMPathElement.cpp:
27025         (WebCore::SVGMPathElement::SVGMPathElement):
27026         (WebCore::SVGMPathElement::pathElement):
27027         * svg/SVGMPathElement.h:
27028         * svg/SVGMaskElement.cpp:
27029         (WebCore::SVGMaskElement::SVGMaskElement):
27030         * svg/SVGMaskElement.h:
27031         * svg/SVGPatternElement.cpp:
27032         (WebCore::SVGPatternElement::SVGPatternElement):
27033         * svg/SVGPatternElement.h:
27034         * svg/SVGScriptElement.cpp:
27035         (WebCore::SVGScriptElement::SVGScriptElement):
27036         * svg/SVGScriptElement.h:
27037         * svg/SVGTRefElement.cpp:
27038         (WebCore::SVGTRefElement::SVGTRefElement):
27039         * svg/SVGTRefElement.h:
27040         * svg/SVGTextPathElement.cpp:
27041         (WebCore::SVGTextPathElement::SVGTextPathElement):
27042         * svg/SVGTextPathElement.h:
27043         * svg/SVGURIReference.cpp:
27044         (WebCore::SVGURIReference::SVGURIReference):
27045         * svg/SVGURIReference.h:
27046         * svg/SVGUseElement.cpp:
27047         (WebCore::SVGUseElement::SVGUseElement):
27048         * svg/SVGUseElement.h:
27050 2009-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
27052         Reviewed by Simon Hausmann.
27054         [Qt] Re-add the QApplication::syncX() line for plugin windows removed
27055         by r49169. Also changed the location of the sync just after the
27056         creation instead of just before sending it to the plugin.
27057         https://bugs.webkit.org/show_bug.cgi?id=25053
27059         * plugins/qt/PluginViewQt.cpp:
27060         (WebCore::PluginView::platformStart):
27062 2009-10-08  Joseph Pecoraro  <joepeck@webkit.org>
27064         Reviewed by Timothy Hatcher.
27066         Inspector: NodeLists Don't Display Well in the Console
27067         https://bugs.webkit.org/show_bug.cgi?id=28061
27069         * inspector/front-end/InjectedScript.js:
27070         (Object.type):
27072 2009-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
27074         Reviewed by Simon Hausmann.
27076         [Qt] Windowless plugins: Remove unnecessary XSync for opaque mode.
27077         
27078         The reason for the XSync was that the plugin would not know about the
27079         Drawable. It turns out that the real reason behind this is that even
27080         though XCreatePixmap returns a handle, this id is unknown to the server
27081         until we flush the connection.
27082         
27083         So, move the XSync to right after we create the Pixmap.
27085         https://bugs.webkit.org/show_bug.cgi?id=30207
27087         * plugins/qt/PluginViewQt.cpp:
27088         (WebCore::PluginView::updatePluginWidget):
27089         (WebCore::PluginView::paint):
27091 2009-10-07  Daniel Bates  <dbates@webkit.org>
27093         Reviewed by Eric Seidel.
27095         https://bugs.webkit.org/show_bug.cgi?id=30188
27096         
27097         Fixes an issue where performing a non DHTML drag-and-drop operation 
27098         does not work as expected. For instance, dragging some selected text 
27099         to an external application, such as TextEdit.
27100         
27101         This issue was a regression that arose from patching bug #30107.
27102         
27103         This change is covered by the manual test: 
27104         drag-out-of-background-window.html
27106         * page/DragController.cpp:
27107         (WebCore::DragController::startDrag): When performing a non-DHTML drag 
27108         operation then default to drag operations DragOperationGeneric and 
27109         DragOperationCopy according to similar functionality removed when fixing
27110         bug #30107, see: 
27111         http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebHTMLView.mm?rev=48526#L3430 
27113 2009-10-07  Xan Lopez  <xlopez@igalia.com>
27115         Fix more breakage in the GTKbuild.
27117         * GNUmakefile.am:
27119 2009-10-07  Adam Barth  <abarth@webkit.org>
27121         Reviewed by Eric Seidel.
27123         Move PolicyChecker to it's own file
27124         https://bugs.webkit.org/show_bug.cgi?id=30193
27126         This is just moving code around and re-naming things.
27128         * GNUmakefile.am:
27129         * WebCore.gypi:
27130         * WebCore.pro:
27131         * WebCore.vcproj/WebCore.vcproj:
27132         * WebCore.xcodeproj/project.pbxproj:
27133         * loader/FrameLoader.cpp:
27134         * loader/FrameLoader.h:
27135         * loader/PolicyCallback.cpp: Added.
27136         (WebCore::PolicyCallback::PolicyCallback):
27137         (WebCore::PolicyCallback::~PolicyCallback):
27138         (WebCore::PolicyCallback::clear):
27139         (WebCore::PolicyCallback::set):
27140         (WebCore::PolicyCallback::call):
27141         (WebCore::PolicyCallback::clearRequest):
27142         (WebCore::PolicyCallback::cancel):
27143         * loader/PolicyCallback.h: Added.
27144         (WebCore::PolicyCallback::request):
27145         * loader/PolicyCheck.cpp: Removed.
27146         * loader/PolicyCheck.h: Removed.
27148 2009-10-07  Joel Stanley  <joel@jms.id.au>
27150         Reviewed by Mark Rowe.
27152         Include <limits> for std::numeric_limits.  Required by gcc-4.4
27153         https://bugs.webkit.org/show_bug.cgi?id=30197
27155         * html/canvas/CanvasByteArray.h:
27156         * html/canvas/CanvasIntArray.h:
27157         * html/canvas/CanvasShortArray.h:
27158         * html/canvas/CanvasUnsignedByteArray.h:
27159         * html/canvas/CanvasUnsignedIntArray.h:
27160         * html/canvas/CanvasUnsignedShortArray.h:
27162 2009-10-07  Adam Barth  <abarth@webkit.org>
27164         Reviewed by Darin Adler.
27166         Factor PolicyChecker out of FrameLoader
27167         https://bugs.webkit.org/show_bug.cgi?id=30155
27169         This patch separates PolicyChecker from FrameLoader.  Loader policy is
27170         in change of managing the FrameLoaderClient callbacks.  Ideally, it
27171         shouldn't know anything about FrameLoader, but I couldn't quite remove
27172         all knowledge (although we might be able to do more later).  In a
27173         future patch, I'll move PolicyChecker into a separate file.
27175         * loader/FrameLoader.cpp:
27176         (WebCore::FrameLoader::FrameLoader):
27177         (WebCore::FrameLoader::loadURL):
27178         (WebCore::FrameLoader::load):
27179         (WebCore::FrameLoader::loadWithDocumentLoader):
27180         (WebCore::PolicyChecker::handleUnimplementablePolicy):
27181         (WebCore::PolicyChecker::cannotShowMIMEType):
27182         (WebCore::PolicyChecker::PolicyChecker):
27183         (WebCore::PolicyChecker::checkNavigationPolicy):
27184         (WebCore::PolicyChecker::checkContentPolicy):
27185         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
27186         (WebCore::FrameLoader::stopAllLoaders):
27187         (WebCore::PolicyChecker::cancelCheck):
27188         (WebCore::PolicyChecker::stopCheck):
27189         (WebCore::PolicyChecker::continueAfterContentPolicy):
27190         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
27191         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
27192         (WebCore::FrameLoader::loadPostRequest):
27193         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
27194         (WebCore::PolicyChecker::checkNewWindowPolicy):
27195         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
27196         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
27197         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
27198         * loader/FrameLoader.h:
27199         (WebCore::PolicyChecker::loadType):
27200         (WebCore::PolicyChecker::setLoadType):
27201         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
27202         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
27203         (WebCore::FrameLoader::policy):
27204         * loader/FrameLoaderClient.h:
27205         * loader/MainResourceLoader.cpp:
27206         (WebCore::MainResourceLoader::didCancel):
27207         (WebCore::MainResourceLoader::willSendRequest):
27208         (WebCore::MainResourceLoader::continueAfterContentPolicy):
27209         (WebCore::MainResourceLoader::didReceiveResponse):
27210         * svg/graphics/SVGImage.cpp:
27211         (WebCore::SVGImage::dataChanged):
27213 2009-10-07  Geoffrey Garen  <ggaren@apple.com>
27215         Reviewed by Oliver Hunt.
27217         Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
27218         thread, permanently slowing down JavaScript
27220         Changed callback objects to use a standard helper object. The helper
27221         object ASSERTs that it is deleted on the main thread, so no lock is
27222         required when unprotecting its members. It also centralizes some previously
27223         duplicated code.
27224         
27225         Callback objects that might be deleted on a secondary thread use
27226         callOnMainThread to delete their helper objects on the main thread.
27228         * WebCore.xcodeproj/project.pbxproj:
27229         * bindings/js/JSCallbackData.cpp: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
27230         (WebCore::JSCallbackData::deleteData):
27231         (WebCore::JSCallbackData::invokeCallback):
27232         * bindings/js/JSCallbackData.h: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
27233         (WebCore::JSCallbackData::JSCallbackData):
27234         (WebCore::JSCallbackData::~JSCallbackData):
27235         (WebCore::JSCallbackData::callback):
27236         * bindings/js/JSCustomPositionCallback.cpp:
27237         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
27238         (WebCore::JSCustomPositionCallback::handleEvent):
27239         * bindings/js/JSCustomPositionCallback.h:
27240         * bindings/js/JSCustomPositionErrorCallback.cpp:
27241         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
27242         (WebCore::JSCustomPositionErrorCallback::handleEvent):
27243         * bindings/js/JSCustomPositionErrorCallback.h:
27244         * bindings/js/JSCustomSQLStatementCallback.cpp:
27245         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
27246         (WebCore::JSCustomSQLStatementCallback::~JSCustomSQLStatementCallback):
27247         (WebCore::JSCustomSQLStatementCallback::handleEvent):
27248         * bindings/js/JSCustomSQLStatementCallback.h:
27249         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
27250         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
27251         (WebCore::JSCustomSQLStatementErrorCallback::~JSCustomSQLStatementErrorCallback):
27252         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
27253         * bindings/js/JSCustomSQLStatementErrorCallback.h:
27254         * bindings/js/JSCustomSQLTransactionCallback.cpp:
27255         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
27256         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
27257         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
27258         * bindings/js/JSCustomSQLTransactionCallback.h:
27259         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
27260         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
27261         (WebCore::JSCustomSQLTransactionErrorCallback::~JSCustomSQLTransactionErrorCallback):
27262         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
27263         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
27264         * bindings/js/JSCustomVoidCallback.cpp:
27265         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
27266         (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
27267         (WebCore::JSCustomVoidCallback::handleEvent):
27268         * bindings/js/JSCustomVoidCallback.h:
27269         * storage/Database.cpp:
27270         (WebCore::Database::Database):
27272 2009-10-07  Jens Alfke  <snej@chromium.org>
27274         Reviewed by Dave Levin.
27276         Fix StringImpl::m_buffer
27277         https://bugs.webkit.org/show_bug.cgi?id=30189
27279         Fix my previous StringImpl patch to avoid using an indefinite-length array member,
27280         since MSVC doesn't like it. Instead, go back to offsetting by sizeof(StringImpl).
27282         * platform/text/StringImpl.cpp:
27283         (WebCore::StringImpl::StringImpl):
27284         (WebCore::StringImpl::createUninitialized):
27285         * platform/text/StringImpl.h:
27286         (WebCore::StringImpl::bufferIsInternal):
27288 2009-10-07  Aaron Boodman  <aa@chromium.org>
27290         Reviewed by Adam Barth.
27292         Update isolated worlds under v8 to support world reuse.
27293         https://bugs.webkit.org/show_bug.cgi?id=30145
27295         * bindings/v8/ScriptController.cpp:
27296         Replace evaluateInNewIsolatedWorld() withe evaluateInIsolatedWorld(id).
27297         (WebCore::ScriptController::evaluateInIsolatedWorld):
27298         * bindings/v8/ScriptController.h: Ditto.
27299         * bindings/v8/V8Proxy.cpp: Ditto.
27300         (WebCore::V8Proxy::~V8Proxy): Dittio.
27301         (WebCore::V8Proxy::evaluateInIsolatedWorld): Ditto.
27302         * bindings/v8/V8Proxy.h: Ditto.
27303         * bindings/v8/V8IsolatedWorld.cpp:
27304         Add support for controlling lifetime of a world, rather than relying on GC.
27305         (WebCore::V8IsolatedWorld::contextWeakReferenceCallback): Ditto.
27306         (WebCore::V8IsolatedWorld::V8IsolatedWorld): Ditto.
27307         (WebCore::V8IsolatedWorld::destroy): Ditto.
27308         * bindings/v8/V8IsolatedWorld.h: Ditto.
27310 2009-10-07  Jeremy Orlow  <jorlow@chromium.org>
27312         Build fix for http://trac.webkit.org/changeset/49272 on Windows
27314         * platform/text/StringImpl.h:
27316 2009-10-07  Jens Alfke  <snej@chromium.org>
27318         Reviewed by Darin Adler.
27320         Optimization of StringImpl:
27321         - Remove unnecessary m_bufferIsInternal member (saves 4 bytes). Instead, check whether
27322           m_data points to just past the end of the object's members.
27323         - copy() and createWithTerminatingNullCharacter() create the string in a single malloc
27324           block instead of 2 (saves ~20 bytes and considerable CPU cycles, increases locality).
27325         - Move m_length next to m_hash to save 4 bytes of padding in 64-bit builds.
27326           
27327         https://bugs.webkit.org/show_bug.cgi?id=29500
27329         * platform/text/StringImpl.cpp:
27330         (WebCore::StringImpl::StringImpl): Re-ordered members.
27331         (WebCore::StringImpl::~StringImpl): Change to is-buffer-internal check.
27332         (WebCore::StringImpl::createUninitialized): Use new m_buffer member instead of sizeof()
27333             to ensure chars are copied to correct location.
27334         (WebCore::StringImpl::createWithTerminatingNullCharacter): Make sure copy is created
27335             in a single malloc block.
27336         (WebCore::StringImpl::threadsafeCopy): Make sure copy is created in a single malloc block.
27337         (WebCore::StringImpl::crossThreadString): Make sure copy is created in a single malloc block.
27338         (WebCore::StringImpl::sharedBuffer): Change to is-buffer-internal check.
27339         * platform/text/StringImpl.h:
27340         (WebCore::StringImpl::startsWith): Just fixed a confusing param name.
27341         (WebCore::StringImpl::bufferIsInternal): Changed member var into accessor method.
27342         (WebCore::StringImpl::m_data): Repositioned for optimal member packing in 64-bit.
27343         (WebCore::StringImpl::m_buffer): Added to provide an explicit location for where internal buffer goes.
27345 2009-10-07  Daniel Bates  <dbates@webkit.org>
27347         Reviewed by Darin Adler.
27349         https://bugs.webkit.org/show_bug.cgi?id=30102
27350         And
27351         <rdar://problem/5015957>
27352         
27353         Manual test to confirm that the not-allowed cursor is shown for an
27354         invalid drag-and-drop operation.
27355         
27356         We cannot test this using DRT because of a discrepancy between the Windows
27357         API-based drop effect and the WebKit drop effect. See bug #24731 for more
27358         details.
27360         * manual-tests/drag-cursor-notallowed.html: Added.
27362 2009-10-07  Mark Rowe  <mrowe@apple.com>
27364         Fix the build.
27366         * WebCore.xcodeproj/project.pbxproj:
27368 2009-10-07  Brian Weinstein  <bweinstein@apple.com>
27370         Reviewed by Timothy Hatcher.
27372         Fixes <http://webkit.org/b/30104>.
27373         Inspector should show cookies of sub-resources on the page.
27374         
27375         This function implements showing cookies for all sub-resources of a page.
27376         When the page is loaded, it populates the Storage Panel with a list of all
27377         domains that were loaded as part of the full page load (iframes, ads, etc).
27378         When the user selects one of the domains, the inspector calls back into the
27379         controller, and the controller combines all of the cookies from that domain
27380         into a list, and sends that list is sent back to the controller to render.
27381         
27382         A domain now needs to be passed into CookieItemsView, and CookieSidebarTreeElement.
27383         
27384         As a result of a previous patch, we now have detailed cookie information for
27385         both Windows on CFNetwork and Mac. Additionally, this patch provides deleteCookie
27386         support on Windows.
27388         * bindings/js/ScriptObject.cpp:
27389         (WebCore::ScriptObject::set):
27390         * bindings/js/ScriptObject.h:
27391         * inspector/InspectorBackend.cpp:
27392         (WebCore::InspectorBackend::getCookies):
27393         (WebCore::InspectorBackend::deleteCookie):
27394         * inspector/InspectorBackend.h:
27395         * inspector/InspectorBackend.idl:
27396         * inspector/InspectorController.cpp:
27397         (WebCore::InspectorController::populateScriptObjects):
27398         (WebCore::InspectorController::didFinishLoading):
27399         (WebCore::InspectorController::getCookies):
27400         (WebCore::InspectorController::buildArrayForCookies):
27401         (WebCore::InspectorController::buildObjectForCookie):
27402         (WebCore::InspectorController::deleteCookie):
27403         * inspector/InspectorController.h:
27404         * inspector/InspectorDOMAgent.cpp:
27405         * inspector/InspectorDOMAgent.h:
27406         * inspector/InspectorFrontend.cpp:
27407         (WebCore::InspectorFrontend::addCookieDomainForDocument):
27408         * inspector/InspectorFrontend.h:
27409         * inspector/front-end/CookieItemsView.js:
27410         (WebInspector.CookieItemsView):
27411         (WebInspector.CookieItemsView.prototype.update):
27412         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
27413         * inspector/front-end/DOMAgent.js:
27414         (WebInspector.Cookies.getCookiesAsync):
27415         * inspector/front-end/StoragePanel.js:
27416         (WebInspector.StoragePanel):
27417         (WebInspector.StoragePanel.prototype.reset):
27418         (WebInspector.StoragePanel.prototype.addCookieDomain):
27419         (WebInspector.StoragePanel.prototype.showCookies):
27420         (WebInspector.CookieSidebarTreeElement):
27421         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
27422         * inspector/front-end/inspector.js:
27423         (WebInspector.addCookieDomain):
27424         * platform/Cookie.h:
27425         (WebCore::CookieHash::hash):
27426         (WebCore::CookieHash::equal):
27427         (WTF::):
27428         * platform/network/win/CookieJarCFNetWin.cpp:
27429         (WebCore::deleteCookie):
27431 2009-10-07  Pavel Feldman  <pfeldman@chromium.org>
27433         Reviewed by Timothy Hatcher.
27435         Web Inspector: Add ScriptObject::set(const char*, unsigned).
27437         https://bugs.webkit.org/show_bug.cgi?id=30104
27439         * bindings/v8/ScriptObject.cpp:
27440         (WebCore::ScriptObject::set):
27441         * bindings/v8/ScriptObject.h:
27443 2009-10-07  Brent Fulgham  <bfulgham@webkit.org>
27445         Unreviewed build fix for Windows (Cairo).
27447         Provide implementation of new BitmapImage::create that was
27448         added in @r49060.
27450         * platform/graphics/win/ImageCairoWin.cpp:
27452 2009-10-07  Andrew Scherkus  <scherkus@chromium.org>
27454         Reviewed by Eric Carlson.
27456         Refactor RenderThemeChromiumMac and RenderThemeChromiumSkia to render media controls using GraphicsContext.
27458         Design was based on existing RenderMediaControls.cpp used by RenderThemeSafari/Win.
27460         https://bugs.webkit.org/show_bug.cgi?id=29987
27462         Covered by existing layout tests as no new functionality was introduced.
27464         * WebCore.gypi: Added RenderMediaControlsChromium.cpp/h.
27465         * css/mediaControlsChromium.css: Tweaked media slider position and border style.
27466         * rendering/MediaControlElements.cpp:
27467         (WebCore::toParentMediaElement): Taken from RenderMediaControls.
27468         (WebCore::MediaControlElement::rendererIsNeeded): Don't call shouldRenderMediaControlPart() if element has no appearance.
27469         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
27470         * rendering/RenderMediaControls.cpp: Moved parentMediaElement() to MediaControlElements.
27471         * rendering/RenderMediaControlsChromium.cpp: Added.
27472         (WebCore::platformResource): Helper to load and cache media control image resources.
27473         (WebCore::mediaSliderThumbImage): Implementation refactored from RenderThemeChromiumMac/Skia.
27474         (WebCore::mediaVolumeSliderThumbImage): Ditto.
27475         (WebCore::paintMediaButton): Ditto.
27476         (WebCore::paintMediaMuteButton): Ditto.
27477         (WebCore::paintMediaPlayButton): Ditto.
27478         (WebCore::paintMediaSlider): Ditto.
27479         (WebCore::paintMediaSliderThumb): Ditto.
27480         (WebCore::paintMediaVolumeSlider): Ditto.
27481         (WebCore::paintMediaVolumeSliderThumb): Ditto.
27482         (WebCore::paintMediaTimelineContainer): Ditto.
27483         (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Ditto.
27484         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Same
27485         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
27486         * rendering/RenderMediaControlsChromium.h: Added.
27487         * rendering/RenderThemeChromiumMac.h:
27488         * rendering/RenderThemeChromiumMac.mm:
27489         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): Implementation delegated to RenderMediaControlsChromium.
27490         (WebCore::RenderThemeChromiumMac::shouldRenderMediaControlPart): Ditto.
27491         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): Ditto.
27492         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): Ditto.
27493         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): Ditto.
27494         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): Ditto.
27495         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): Ditto.
27496         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): Ditto.
27497         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): Ditto.
27498         * rendering/RenderThemeChromiumSkia.cpp:
27499         (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): Implementation delegated to RenderMediaControlsChromium.
27500         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): Ditto.
27501         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Ditto.
27502         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Ditto.
27503         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Ditto.
27504         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Ditto.
27505         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): Ditto.
27506         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): Ditto.
27507         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Ditto.
27509 2009-10-07  Dave Hyatt  <hyatt@apple.com>
27511         Reviewed by Adam Roben.
27513         Make plugins work with beforeload.
27515         Added fast/dom/beforeload/flash-before-load.html
27517         * html/HTMLObjectElement.cpp:
27518         (WebCore::HTMLObjectElement::parseMappedAttribute):
27519         * rendering/RenderPartObject.cpp:
27520         (WebCore::RenderPartObject::updateWidget):
27522 2009-10-07  Vitaly Repeshko  <vitalyr@chromium.org>
27524         Reviewed by Adam Barth.
27526         [V8] Protect JS listener object from GC while clearing a property on it.
27527         See http://crbug.com/23780.
27528         https://bugs.webkit.org/show_bug.cgi?id=30137
27530         * bindings/v8/V8AbstractEventListener.cpp:
27531         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
27533 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
27535         Rubber-stamped by Eric Seidel.
27537         Allow custom memory allocation control for WebCore's CachedResourceClient class
27538         https://bugs.webkit.org/show_bug.cgi?id=30165
27540         Inherits CachedResourceClient class from FastAllocBase because (its
27541         child class) CSSFontFaceSource has been instantiated by 'new' in WebCore/css/CSSFontFaceSource.h:46.
27543         * loader/CachedResourceClient.h:
27545 2009-10-07  Zoltan Horvath  <zoltan@webkit.org>
27547         Reviewed by Darin Adler.
27549         Allow custom memory allocation control for WebCore's IdentifierRep 
27550         https://bugs.webkit.org/show_bug.cgi?id=30159                                                        
27552         Inherits IdentifierRep class from FastAllocBase because it has been                                 
27553         instantiated by 'new' in WebCore/bridge/IdentifierRep.cpp:61.  
27555         * bridge/IdentifierRep.h:
27557 2009-10-07  Anton Muhin  <antonm@chromium.org>
27559         Reviewed by Adam Barth.
27561         Fetch pointers to C+DOM window immediately from holder
27562         object (do not search prototype chain for proper JS wrapper).
27563         https://bugs.webkit.org/show_bug.cgi?id=29031
27565         * bindings/scripts/CodeGeneratorV8.pm:
27566         * bindings/v8/V8DOMWrapper.cpp:
27567         (WebCore::V8DOMWrapper::getTemplate):
27568         * bindings/v8/V8Proxy.cpp:
27569         (WebCore::V8Proxy::createNewContext):
27570         (WebCore::V8Proxy::installDOMWindow):
27571         * bindings/v8/custom/V8DOMWindowCustom.cpp:
27572         (WebCore::ACCESSOR_GETTER):
27573         (WebCore::ACCESSOR_SETTER):
27574         (WebCore::INDEXED_PROPERTY_GETTER):
27575         (WebCore::NAMED_PROPERTY_GETTER):
27576         (WebCore::NAMED_ACCESS_CHECK):
27577         (WebCore::INDEXED_ACCESS_CHECK):
27578 2009-10-07  Adam Roben  <aroben@apple.com>
27580         Fix typo in PluginView::load that was causing cross-origin loads to
27581         be allowed
27583         This typo was introduced in the build fix in r49213.
27585         Fixes <http://webkit.org/b/30168> REGRESSION (r49213):
27586         http/tests/plugins/local-geturl-from-remote.html is failing on Windows
27588         Reviewed by Sam Weinig.
27590         * plugins/PluginView.cpp:
27591         (WebCore::PluginView::load): Removed a comma operator that was making
27592         a condition always evaluate to true.
27594 2009-10-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
27596         Reviewed by Simon Hausmann.
27598         Do not create valid QColor's for invalid WebCore::Color's.
27600         * platform/graphics/qt/ColorQt.cpp:
27601         (WebCore::Color::operator QColor):
27603 2009-10-07  Janne Koskinen  <janne.p.koskinen@digia.com>
27605         Reviewed by Simon Hausmann.
27607         [Qt] Symbian SBSv2 .data segment adress fix
27608         https://bugs.webkit.org/show_bug.cgi?id=30157
27610         RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section
27611         base address to start from 0x800000 instead of the toolchain default 0x400000
27613         * WebCore.pro:
27615 2009-10-07  Pavel Feldman  <pfeldman@chromium.org>
27617         Reviewed by Timothy Hatcher.
27619         Web Inspector: Migrate database inspection to the injected script-based schema.
27621         https://bugs.webkit.org/show_bug.cgi?id=29788
27623         * bindings/js/JSInspectorBackendCustom.cpp:
27624         (WebCore::JSInspectorBackend::databaseForId):
27625         * bindings/v8/custom/V8CustomBinding.h:
27626         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
27627         (WebCore::CALLBACK_FUNC_DECL):
27628         * inspector/InspectorBackend.cpp:
27629         (WebCore::InspectorBackend::dispatchOnInjectedScript):
27630         (WebCore::InspectorBackend::databaseForId):
27631         (WebCore::InspectorBackend::selectDatabase):
27632         (WebCore::InspectorBackend::getDatabaseTableNames):
27633         (WebCore::InspectorBackend::reportDidDispatchOnInjectedScript):
27634         * inspector/InspectorBackend.h:
27635         * inspector/InspectorBackend.idl:
27636         * inspector/InspectorController.cpp:
27637         (WebCore::InspectorController::populateScriptObjects):
27638         (WebCore::InspectorController::resetScriptObjects):
27639         (WebCore::InspectorController::selectDatabase):
27640         (WebCore::InspectorController::databaseForId):
27641         (WebCore::InspectorController::didOpenDatabase):
27642         (WebCore::InspectorController::didUseDOMStorage):
27643         (WebCore::InspectorController::selectDOMStorage):
27644         (WebCore::InspectorController::getDOMStorageResourceForId):
27645         * inspector/InspectorController.h:
27646         * inspector/InspectorDatabaseResource.cpp:
27647         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
27648         (WebCore::InspectorDatabaseResource::bind):
27649         * inspector/InspectorDatabaseResource.h:
27650         (WebCore::InspectorDatabaseResource::database):
27651         (WebCore::InspectorDatabaseResource::id):
27652         * inspector/InspectorFrontend.cpp:
27653         (WebCore::InspectorFrontend::addDatabase):
27654         (WebCore::InspectorFrontend::selectDatabase):
27655         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
27656         (WebCore::InspectorFrontend::addDOMStorage):
27657         * inspector/InspectorFrontend.h:
27658         * inspector/front-end/Database.js:
27659         (WebInspector.Database):
27660         (WebInspector.Database.prototype.get id):
27661         (WebInspector.Database.prototype.set name):
27662         (WebInspector.Database.prototype.set version):
27663         (WebInspector.Database.prototype.set domain):
27664         (WebInspector.Database.prototype.getTableNames):
27665         (WebInspector.Database.prototype.executeSql):
27666         * inspector/front-end/InjectedScript.js:
27667         (InjectedScript.dispatch):
27668         (InjectedScript.executeSql):
27669         (InjectedScript.executeSql.errorCallback):
27670         (InjectedScript.executeSql.queryTransaction):
27671         * inspector/front-end/InjectedScriptAccess.js:
27672         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
27673         (InjectedScriptAccess._installHandler):
27674         * inspector/front-end/StoragePanel.js:
27675         (WebInspector.StoragePanel.prototype.selectDatabase):
27676         (WebInspector.StoragePanel.prototype.dataGridForResult):
27677         * inspector/front-end/inspector.js:
27678         (WebInspector.addDatabase):
27680 2009-10-07  Girish Ramakrishnan  <girish@forwardbias.in>
27682         Reviewed by Simon Hausmann.
27684         [Qt] Windowless Plugins: Disable content propagation for QGraphicsView items
27685         
27686         We cannot support content propagation for items in QGraphicsView because
27687         the contents of the backing store might be transformed. So turn it off
27688         if we are not painting on QWidget.
27689         
27690         Note that this check will not work for a QWebView in a
27691         QGraphicsProxyWidget, but I guess it's fine. Alternative is to do an
27692         even uglier cast: static_cast painter's paintDevice() to QWidget and
27693         check if it is the viewport() of QGraphicsView.
27695         https://bugs.webkit.org/show_bug.cgi?id=30149
27697         * plugins/qt/PluginViewQt.cpp:
27698         (WebCore::PluginView::paint):
27700 2009-10-07  Simon Hausmann  <simon.hausmann@nokia.com>
27702         Fix the Qt build by adding the missing files to the build.
27704         * WebCore.pro:
27706 2009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
27708         Reviewed by Xan Lopez.
27710         Fix incorrect convertion of double into int while assigning it to
27711         a float.
27713         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
27714         (WebCore::SimpleFontData::platformInit):
27715         * platform/graphics/gtk/SimpleFontDataPango.cpp:
27716         (WebCore::SimpleFontData::platformInit):
27718 2009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
27720         Reviewed by Xan Lopez.
27722         Fix rounding error issues in height calculation in 64 bits.
27724         Already covered by existing tests.
27726         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
27727         (WebCore::SimpleFontData::platformInit):
27728         * platform/graphics/gtk/SimpleFontDataPango.cpp:
27729         (WebCore::SimpleFontData::platformInit):
27731 2009-10-07  Shinichiro Hamaji  <hamaji@chromium.org>
27733         Reviewed by Eric Seidel.
27735         Dual lines in css2.1 layout tests do not match:
27736         https://bugs.webkit.org/show_bug.cgi?id=23262
27738         Now we can put a counter node as the next sibling of a reset node.
27739         Re-layout the counter content when the count is updated.
27741         Tests: fast/css/counters/t1204-increment-00-c-o.html
27742                fast/css/counters/t1204-increment-01-c-o.html
27744         * rendering/CounterNode.cpp:
27745         (WebCore::CounterNode::recount):
27746         * rendering/RenderCounter.cpp:
27747         (WebCore::findPlaceForCounter):
27749 2009-10-06  Xan Lopez  <xlopez@igalia.com>
27751         Try to fix the GTKbuild.
27753         * GNUmakefile.am:
27755 2009-10-06  Adam Barth  <abarth@webkit.org>
27757         Reviewed by Adam Barth.
27759         Removed unused member variable from FrameLoader
27760         https://bugs.webkit.org/show_bug.cgi?id=30146
27762         * loader/FrameLoader.cpp:
27763         (WebCore::FrameLoader::FrameLoader):
27764         * loader/FrameLoader.h:
27766 2009-10-06  David Levin  <levin@chromium.org>
27768         Reviewed by NOBODY (build fix).
27770         A few small/trivial tweaks to the last build fix.
27772         * bindings/scripts/CodeGeneratorV8.pm:
27774 2009-10-06  David Levin  <levin@chromium.org>
27776         Reviewed by Dimitri Glazkov.
27778         [Chromium] Need to adjust MessagePort, etc. code for the post clone work done.
27779         https://bugs.webkit.org/show_bug.cgi?id=30147
27781         No change in functionality so no new tests.
27783         * WebCore.gypi:
27784         * bindings/scripts/CodeGeneratorV8.pm:
27785         * bindings/v8/SerializedScriptValue.h: Added.
27786          A very simple implementation of SerializedScriptValue
27787          that only works for strings.
27788         * bindings/v8/custom/V8DOMWindowCustom.cpp:
27789         (WebCore::CALLBACK_FUNC_DECL):
27790         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
27791         (WebCore::CALLBACK_FUNC_DECL):
27792         * bindings/v8/custom/V8MessageEventCustom.cpp:
27793         (WebCore::CALLBACK_FUNC_DECL):
27794         * bindings/v8/custom/V8MessagePortCustom.cpp:
27795         (WebCore::CALLBACK_FUNC_DECL):
27796         * bindings/v8/custom/V8WorkerCustom.cpp:
27797         (WebCore::CALLBACK_FUNC_DECL):
27799 2009-10-06  Sam Weinig  <sam@webkit.org>
27801         Reviewed by Brady Eidson.
27803         Fix for <rdar://problem/7271202>
27804         Dispatch resource load delegate functions for the media element.
27805         Since we don't get the required callbacks from the media engine,
27806         just fake the parameters to the delegate functions as best as possible.
27808         * html/HTMLMediaElement.cpp:
27809         (WebCore::HTMLMediaElement::loadResource):
27810         (WebCore::HTMLMediaElement::isSafeToLoadURL):
27811         * loader/FrameLoader.cpp:
27812         (WebCore::FrameLoader::willLoadMediaElementURL):
27813         * loader/FrameLoader.h:
27815 2009-10-06  Oliver Hunt  <oliver@apple.com>
27817         Reviewed by NOBODY (Build fix).
27819         More build fixes.
27821         * bindings/js/SerializedScriptValue.cpp:
27822         (WebCore::DeserializingTreeWalker::getProperty):
27823         (WebCore::TeardownTreeWalker::getProperty):
27824         * bindings/js/SerializedScriptValue.h:
27825         (WebCore::SerializedScriptValue::SerializedScriptValue):
27827 2009-10-06  Oliver Hunt  <oliver@apple.com>
27829         Reviewed by NOBODY (Build fix).
27831         Build and formatting fix.
27833         * ForwardingHeaders/runtime/ExceptionHelpers.h: Added.
27834         * bindings/js/SerializedScriptValue.cpp:
27835         * bindings/js/SerializedScriptValue.h:
27836         (WebCore::SerializedScriptValueData::operator bool):
27837         (WebCore::SerializedScriptValueData::release):
27838         (WebCore::SerializedScriptValue::release):
27839         (WebCore::SerializedScriptValue::toString):
27840         (WebCore::SerializedScriptValue::~SerializedScriptValue):
27841         (WebCore::SerializedScriptValue::SerializedScriptValue):
27843 2009-10-05  Oliver Hunt  <oliver@apple.com>
27845         Reviewed by Gavin Barraclough.
27847         It should be possible to post (clone) built-in JS objects to Workers
27848         https://bugs.webkit.org/show_bug.cgi?id=22878
27850         Implement object cloning semantics for postMessage.  Currently only
27851         a partial implementation of the spec -- cloning of File, FileList,
27852         ImageData, and RegExp were left out as they would have significantly
27853         increased patch size.
27855         Cloning requires multiple tree walks so we use a templated tree
27856         walk function, allowing us to share a single implementation for
27857         serialization, deserialization, and eventual destruction of the
27858         serialized object tree.
27860         Test: fast/dom/Window/window-postmessage-clone.html
27862         * WebCore.vcproj/WebCore.vcproj:
27863         * WebCore.xcodeproj/project.pbxproj:
27864         * bindings/js/JSDOMWindowCustom.cpp:
27865         (WebCore::JSDOMWindow::postMessage):
27866         * bindings/js/JSMessageEventCustom.cpp:
27867         (WebCore::JSMessageEvent::initMessageEvent):
27868         * bindings/js/JSMessagePortCustom.h:
27869         (WebCore::handlePostMessage):
27870         * bindings/js/SerializedScriptValue.cpp: Added.
27871         (WebCore::SerializedObject::set):
27872         (WebCore::SerializedObject::names):
27873         (WebCore::SerializedObject::values):
27874         (WebCore::SerializedObject::create):
27875         (WebCore::SerializedObject::clear):
27876         (WebCore::SerializedObject::SerializedObject):
27877         (WebCore::SerializedArray::setIndex):
27878         (WebCore::SerializedArray::canDoFastRead):
27879         (WebCore::SerializedArray::getIndex):
27880         (WebCore::SerializedArray::getSparseIndex):
27881         (WebCore::SerializedArray::length):
27882         (WebCore::SerializedArray::create):
27883         (WebCore::SerializedArray::clear):
27884         (WebCore::SerializedArray::SerializedArray):
27885         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
27886         (WebCore::SharedSerializedData::asArray):
27887         (WebCore::SharedSerializedData::asObject):
27888         (WebCore::):
27889         (WebCore::walk):
27890         (WebCore::BaseWalker::BaseWalker):
27891         (WebCore::BaseWalker::shouldTerminate):
27892         (WebCore::BaseWalker::ticksUntilNextCheck):
27893         (WebCore::BaseWalker::didTimeOut):
27894         (WebCore::BaseWalker::throwStackOverflow):
27895         (WebCore::BaseWalker::throwInterruptedException):
27896         (WebCore::SerializingTreeWalker::SerializingTreeWalker):
27897         (WebCore::SerializingTreeWalker::null):
27898         (WebCore::SerializingTreeWalker::isArray):
27899         (WebCore::SerializingTreeWalker::isObject):
27900         (WebCore::SerializingTreeWalker::asInputArray):
27901         (WebCore::SerializingTreeWalker::asInputObject):
27902         (WebCore::SerializingTreeWalker::createOutputArray):
27903         (WebCore::SerializingTreeWalker::createOutputObject):
27904         (WebCore::SerializingTreeWalker::length):
27905         (WebCore::SerializingTreeWalker::canDoFastRead):
27906         (WebCore::SerializingTreeWalker::getIndex):
27907         (WebCore::SerializingTreeWalker::getSparseIndex):
27908         (WebCore::SerializingTreeWalker::getProperty):
27909         (WebCore::SerializingTreeWalker::convertIfTerminal):
27910         (WebCore::SerializingTreeWalker::getPropertyNames):
27911         (WebCore::SerializingTreeWalker::putIndex):
27912         (WebCore::SerializingTreeWalker::putProperty):
27913         (WebCore::SerializingTreeWalker::startArray):
27914         (WebCore::SerializingTreeWalker::endArray):
27915         (WebCore::SerializingTreeWalker::startObject):
27916         (WebCore::SerializingTreeWalker::endObject):
27917         (WebCore::SerializedScriptValueData::serialize):
27918         (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
27919         (WebCore::DeserializingTreeWalker::null):
27920         (WebCore::DeserializingTreeWalker::isArray):
27921         (WebCore::DeserializingTreeWalker::isObject):
27922         (WebCore::DeserializingTreeWalker::asInputArray):
27923         (WebCore::DeserializingTreeWalker::asInputObject):
27924         (WebCore::DeserializingTreeWalker::createOutputArray):
27925         (WebCore::DeserializingTreeWalker::createOutputObject):
27926         (WebCore::DeserializingTreeWalker::length):
27927         (WebCore::DeserializingTreeWalker::canDoFastRead):
27928         (WebCore::DeserializingTreeWalker::getIndex):
27929         (WebCore::DeserializingTreeWalker::getSparseIndex):
27930         (WebCore::DeserializingTreeWalker::getProperty):
27931         (WebCore::DeserializingTreeWalker::convertIfTerminal):
27932         (WebCore::DeserializingTreeWalker::getPropertyNames):
27933         (WebCore::DeserializingTreeWalker::putIndex):
27934         (WebCore::DeserializingTreeWalker::putProperty):
27935         (WebCore::DeserializingTreeWalker::startArray):
27936         (WebCore::DeserializingTreeWalker::endArray):
27937         (WebCore::DeserializingTreeWalker::startObject):
27938         (WebCore::DeserializingTreeWalker::endObject):
27939         (WebCore::SerializedScriptValueData::deserialize):
27940         (WebCore::TeardownTreeWalker::shouldTerminate):
27941         (WebCore::TeardownTreeWalker::ticksUntilNextCheck):
27942         (WebCore::TeardownTreeWalker::didTimeOut):
27943         (WebCore::TeardownTreeWalker::throwStackOverflow):
27944         (WebCore::TeardownTreeWalker::throwInterruptedException):
27945         (WebCore::TeardownTreeWalker::null):
27946         (WebCore::TeardownTreeWalker::isArray):
27947         (WebCore::TeardownTreeWalker::isObject):
27948         (WebCore::TeardownTreeWalker::asInputArray):
27949         (WebCore::TeardownTreeWalker::asInputObject):
27950         (WebCore::TeardownTreeWalker::createOutputArray):
27951         (WebCore::TeardownTreeWalker::createOutputObject):
27952         (WebCore::TeardownTreeWalker::length):
27953         (WebCore::TeardownTreeWalker::canDoFastRead):
27954         (WebCore::TeardownTreeWalker::getIndex):
27955         (WebCore::TeardownTreeWalker::getSparseIndex):
27956         (WebCore::TeardownTreeWalker::getProperty):
27957         (WebCore::TeardownTreeWalker::convertIfTerminal):
27958         (WebCore::TeardownTreeWalker::getPropertyNames):
27959         (WebCore::TeardownTreeWalker::putIndex):
27960         (WebCore::TeardownTreeWalker::putProperty):
27961         (WebCore::TeardownTreeWalker::startArray):
27962         (WebCore::TeardownTreeWalker::endArray):
27963         (WebCore::TeardownTreeWalker::startObject):
27964         (WebCore::TeardownTreeWalker::endObject):
27965         (WebCore::SerializedScriptValueData::tearDownSerializedData):
27966         * bindings/js/SerializedScriptValue.h: Added.
27967         (WebCore::SharedSerializedData::~SharedSerializedData):
27968         (WebCore::SerializedScriptValueData::):
27969         (WebCore::SerializedScriptValueData::type):
27970         (WebCore::SerializedScriptValueData::~SerializedScriptValueData):
27971         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
27972         (WebCore::SerializedScriptValueData::asImmediate):
27973         (WebCore::SerializedScriptValueData::asDouble):
27974         (WebCore::SerializedScriptValueData::asString):
27975         (WebCore::SerializedScriptValueData::asObject):
27976         (WebCore::SerializedScriptValueData::asArray):
27977         (WebCore::SerializedScriptValueData::operator bool ):
27978         (WebCore::SerializedScriptValueData::release):
27979         (WebCore::SerializedScriptValue::create):
27980         (WebCore::SerializedScriptValue::release):
27981         (WebCore::SerializedScriptValue::toString):
27982         (WebCore::SerializedScriptValue::deserialize):
27983         (WebCore::SerializedScriptValue::~SerializedScriptValue):
27984         (WebCore::SerializedScriptValue::SerializedScriptValue):
27985         * bindings/scripts/CodeGeneratorJS.pm:
27986         * bindings/scripts/CodeGeneratorObjC.pm:
27987         * dom/MessageEvent.cpp:
27988         (WebCore::MessageEvent::MessageEvent):
27989         (WebCore::MessageEvent::initMessageEvent):
27990         * dom/MessageEvent.h:
27991         (WebCore::MessageEvent::create):
27992         (WebCore::MessageEvent::data):
27993         * dom/MessageEvent.idl:
27994         * dom/MessagePort.cpp:
27995         (WebCore::MessagePort::postMessage):
27996         * dom/MessagePort.h:
27997         * dom/MessagePortChannel.cpp:
27998         (WebCore::MessagePortChannel::EventData::create):
27999         (WebCore::MessagePortChannel::EventData::EventData):
28000         * dom/MessagePortChannel.h:
28001         (WebCore::MessagePortChannel::EventData::message):
28002         * page/DOMWindow.cpp:
28003         (WebCore::PostMessageTimer::PostMessageTimer):
28004         (WebCore::DOMWindow::postMessage):
28005         * page/DOMWindow.h:
28006         * page/DOMWindow.idl:
28007         * page/EventSource.cpp:
28008         (WebCore::EventSource::createMessageEvent):
28009         * websockets/WebSocket.cpp:
28010         (WebCore::WebSocket::didReceiveMessage):
28011         * workers/DedicatedWorkerContext.cpp:
28012         (WebCore::DedicatedWorkerContext::postMessage):
28013         * workers/DedicatedWorkerContext.h:
28014         * workers/DedicatedWorkerContext.idl:
28015         * workers/Worker.cpp:
28016         (WebCore::Worker::postMessage):
28017         * workers/Worker.h:
28018         * workers/Worker.idl:
28019         * workers/WorkerContextProxy.h:
28020         * workers/WorkerMessagingProxy.cpp:
28021         (WebCore::MessageWorkerContextTask::create):
28022         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
28023         (WebCore::MessageWorkerTask::create):
28024         (WebCore::MessageWorkerTask::MessageWorkerTask):
28025         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
28026         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
28027         * workers/WorkerMessagingProxy.h:
28028         * workers/WorkerObjectProxy.h:
28030 2009-10-06  Adam Barth  <abarth@webkit.org>
28032         Unreviewed build fix for Windows.
28034         * plugins/PluginView.cpp:
28035         (WebCore::PluginView::load):
28037 2009-10-06  Adam Barth  <abarth@webkit.org>
28039         Reviewed by Eric Seidel.
28041         Move FrameLoader::canLoad to SecurityOrigin
28042         https://bugs.webkit.org/show_bug.cgi?id=30111
28044         * WebCore.base.exp:
28045         * html/HTMLMediaElement.cpp:
28046         (WebCore::HTMLMediaElement::isSafeToLoadURL):
28047         * loader/Cache.cpp:
28048         (WebCore::Cache::requestResource):
28049         * loader/FrameLoader.cpp:
28050         (WebCore::FrameLoader::loadSubframe):
28051         (WebCore::FrameLoader::loadPlugin):
28052         (WebCore::FrameLoader::loadFrameRequest):
28053         (WebCore::FrameLoader::loadResourceSynchronously):
28054         (WebCore::FrameLoader::createJavaAppletWidget):
28055         * loader/FrameLoader.h:
28056         * loader/SubresourceLoader.cpp:
28057         (WebCore::SubresourceLoader::create):
28058         * page/SecurityOrigin.cpp:
28059         (WebCore::SecurityOrigin::canLoad):
28060         (WebCore::SecurityOrigin::shouldHideReferrer):
28061         * page/SecurityOrigin.h:
28063 2009-10-06  Adam Barth  <abarth@webkit.org>
28065         Reviewed by Eric Seidel.
28067         Move setLocalLoadPolicy and friends to SecurityOrigin
28068         https://bugs.webkit.org/show_bug.cgi?id=30110
28070         These have more to do with security policies than with loading frames.
28072         * WebCore.base.exp:
28073         * dom/Document.cpp:
28074         (WebCore::Document::initSecurityContext):
28075         * loader/Cache.cpp:
28076         (WebCore::Cache::requestResource):
28077         * loader/FrameLoader.cpp:
28078         * loader/FrameLoader.h:
28079         * loader/SubresourceLoader.cpp:
28080         (WebCore::SubresourceLoader::create):
28081         * page/SecurityOrigin.cpp:
28082         (WebCore::SecurityOrigin::setLocalLoadPolicy):
28083         (WebCore::SecurityOrigin::restrictAccessToLocal):
28084         (WebCore::SecurityOrigin::allowSubstituteDataAccessToLocal):
28085         * page/SecurityOrigin.h:
28086         (WebCore::SecurityOrigin::):
28088 2009-10-06  Brian Weinstein  <bweinstein@apple.com>
28090         Reviewed by Brady Eidson.
28092         Preparation for <http://webkit.org/b/30104>.
28093         Inspector should show cookies of sub-resources on the page.
28094         
28095         Implement getRawCookies for CFNetwork for Windows, so we can see more
28096         than just a key/value pair for Cookies when we are on Windows.
28098         * platform/network/win/CookieJarCFNetWin.cpp:
28099         (WebCore::getRawCookies):
28101 2009-10-06  Dave Hyatt  <hyatt@apple.com>
28103         Reviewed by Adam Roben.
28105         https://bugs.webkit.org/show_bug.cgi?id=30132, make beforeload work with <link> elements and
28106         XML processing instructions.
28108         Fix up ProcessingInstruction's setData call so that it actually updates a stylesheet when the
28109         data gets changed.
28111         Move dispatchBeforeLoadedEvent to ContainerNode so all Elements (and ProcessingInstruction) can
28112         access it.
28114         Added fast/dom/beforeload/link-before-load.html
28116         * dom/ContainerNode.cpp:
28117         (WebCore::ContainerNode::dispatchBeforeLoadEvent):
28118         * dom/ContainerNode.h:
28119         * dom/ProcessingInstruction.cpp:
28120         (WebCore::ProcessingInstruction::checkStyleSheet):
28121         (WebCore::ProcessingInstruction::setData):
28122         * dom/ScriptElement.cpp:
28123         (WebCore::ScriptElementData::requestScript):
28124         * dom/ScriptElement.h:
28125         * dom/XMLTokenizerLibxml2.cpp:
28126         (WebCore::XMLTokenizer::endElementNs):
28127         * html/HTMLLinkElement.cpp:
28128         (WebCore::HTMLLinkElement::parseMappedAttribute):
28129         (WebCore::HTMLLinkElement::process):
28130         * html/HTMLScriptElement.cpp:
28131         (WebCore::HTMLScriptElement::forAttributeValue):
28132         * html/HTMLScriptElement.h:
28133         * svg/SVGScriptElement.cpp:
28134         * svg/SVGScriptElement.h:
28136 2009-10-06  Simon Fraser  <simon.fraser@apple.com>
28138         Reviewed by Mark Rowe.
28140         accessibility/media-element.html crashes (and has incorrect result)
28141         https://bugs.webkit.org/show_bug.cgi?id=30108
28143         Fix up the accessibilty label for the newly added fullscreen button,
28144         and update the test result accordingly.
28146         * accessibility/AccessibilityMediaControls.cpp:
28147         (WebCore::AccessibilityMediaControl::controlTypeName):
28149 2009-10-06  Kelly Norton  <knorton@google.com>
28151         Reviewed by Timothy Hatcher.
28153         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30028>
28154         Multiple calls to SetFrontendProxyObject can leave an InspectorTimelineAgent with an invalid
28155         InspectorFrontend.
28157         * inspector/InspectorController.cpp:
28158         (WebCore::InspectorController::setFrontendProxyObject): Adds a check for an existing timeline agent.
28160 2009-10-06  Antti Koivisto  <antti@apple.com>
28162         Reviewed by Dave Kilzer.
28164         Move textRects to the right category in DOM.mm. Include DOMPrivate.h to ensure that the interfaces match.
28166         * bindings/objc/DOM.mm:
28167         (-[DOMNode textRects]):
28169 2009-10-06  Benjamin C Meyer  <bmeyer@rim.com>
28171         Reviewed by Ariya Hidayat.
28172         
28173         Match the behavior of other WebKit browser and have the first url of the drag data be the url passed in declareAndWriteDragImage and set the text of the drag data to be the title argument.
28174         
28175         Manual test: Drag the readability js link from http://lab.arc90.com/experiments/readability/
28176         
28177         * platform/qt/ClipboardQt.cpp:
28178         (WebCore::ClipboardQt::declareAndWriteDragImage):
28180 2009-10-06  Kent Tamura  <tkent@chromium.org>
28182         Reviewed by Darin Adler.
28184         Implement min/max attributes, ValidityState.rangeUnderflow and
28185         ValidityState.rangeOverflow for <input type=number> and <input type=range>
28186         https://bugs.webkit.org/show_bug.cgi?id=29069
28187         
28188         HTMLInputElement::max and min are not defined for COM because they
28189         conflict with the standard min() and max() macros.
28191         Tests: fast/forms/ValidityState-rangeOverflow-number.html
28192                fast/forms/ValidityState-rangeOverflow-range.html
28193                fast/forms/ValidityState-rangeUnderflow-number.html
28194                fast/forms/ValidityState-rangeUnderflow-range.html
28195                fast/forms/input-minmax.html
28197         * html/HTMLInputElement.cpp:
28198         (WebCore::HTMLInputElement::rangeUnderflow):
28199         (WebCore::HTMLInputElement::rangeOverflow):
28200         (WebCore::HTMLInputElement::rangeMinimum):
28201         (WebCore::HTMLInputElement::rangeMaximum):
28202         * html/HTMLInputElement.h:
28203         * html/HTMLInputElement.idl:
28204         * html/ValidityState.cpp:
28205         (WebCore::ValidityState::rangeUnderflow):
28206         (WebCore::ValidityState::rangeOverflow):
28207         * html/ValidityState.h:
28208         * rendering/RenderSlider.cpp:
28209         (WebCore::SliderRange::SliderRange):
28210         (WebCore::SliderRange::valueFromElement):
28212 2009-10-06  Adam Barth  <abarth@webkit.org>
28214         Reviewed by Eric Seidel.
28216         Move m_openedByDOM to Page
28217         https://bugs.webkit.org/show_bug.cgi?id=30109
28219         We only need one instance of m_openedByDOM per page, we should move it
28220         to a page-scoped object.  Notice that it's only ever touched for the
28221         main frame.
28223         * bindings/js/JSDOMWindowCustom.cpp:
28224         (WebCore::createWindow):
28225         * bindings/v8/custom/V8DOMWindowCustom.cpp:
28226         (WebCore::createWindow):
28227         * loader/FrameLoader.cpp:
28228         * loader/FrameLoader.h:
28229         * page/DOMWindow.cpp:
28230         (WebCore::DOMWindow::close):
28231         * page/Page.cpp:
28232         (WebCore::Page::Page):
28233         (WebCore::Page::openedByDOM):
28234         (WebCore::Page::setOpenedByDOM):
28235         * page/Page.h:
28237 2009-10-06  Carol Szabo  <carol.szabo@nokia.com>
28239         Reviewed by Ariya Hidayat.
28241         [Qt] Some functions in GraphicsContext do not work
28242         as expected if the associated painter has no clipping.
28243         https://bugs.webkit.org/show_bug.cgi?id=29691
28245         No new tests are associated with this because DumpRenderTree
28246         always sets clipping on the painter, thus it would never hit 
28247         the test case, but fast/box-shadow/basic-shadows.html is a
28248         good example of what happens if the clipping is not set by
28249         the user of QtWebKit.
28251         * platform/graphics/qt/GraphicsContextQt.cpp:
28252         (WebCore::GraphicsContext::clipOut):
28253         (WebCore::GraphicsContext::clipOutEllipseInRect):
28254         Fixed to handle the case that there is no clipping
28255         before the call.
28257 2009-10-06  Dave Hyatt  <hyatt@apple.com>
28259         Reviewed by Adam Roben.
28261         https://bugs.webkit.org/show_bug.cgi?id=30131, make beforeload fire on script elements.
28263         Added tests in fast/dom/beforeload/.
28265         * dom/ScriptElement.cpp:
28266         (WebCore::ScriptElementData::requestScript):
28267         * dom/ScriptElement.h:
28268         * dom/XMLTokenizerLibxml2.cpp:
28269         (WebCore::XMLTokenizer::endElementNs):
28270         * html/HTMLAttributeNames.in:
28271         * html/HTMLScriptElement.cpp:
28272         (WebCore::HTMLScriptElement::parseMappedAttribute):
28273         (WebCore::HTMLScriptElement::dispatchBeforeLoadEvent):
28274         * html/HTMLScriptElement.h:
28275         * html/HTMLTokenizer.cpp:
28276         (WebCore::HTMLTokenizer::scriptHandler):
28277         * svg/SVGScriptElement.cpp:
28278         (WebCore::SVGScriptElement::dispatchBeforeLoadEvent):
28279         * svg/SVGScriptElement.h:
28281 2009-10-06  Xan Lopez  <xlopez@igalia.com>
28283         Reviewed by Eric Seidel.
28285         https://bugs.webkit.org/show_bug.cgi?id=25526
28286         [Gtk] Additional support is needed for caret browsing
28288         Enable caret movement commands also when caret browsing setting is
28289         enabled.
28291         * editing/EditorCommand.cpp:
28292         (WebCore::caretBrowsingEnabled):
28293         (WebCore::enabledVisibleSelectionOrCaretBrowsing):
28294         (WebCore::enabledInEditableTextOrCaretBrowsing):
28295         (WebCore::CommandEntry::):
28296         * manual-tests/gtk/caret-browsing.html: Added.
28298 2009-10-06  Anton Muhin  <antonm@chromium>
28300         Reviewed by Dimitri Glazkov.
28302         Non standard, but popular exetension allows automagically
28303         turn a function into a namespace resolver.  Support that in
28304         Chromium as well.
28306         Adjust CodeGeneratorV8 to treat XPathNSResolver in a special way.
28307         https://bugs.webkit.org/show_bug.cgi?id=30128
28309         * bindings/scripts/CodeGeneratorV8.pm:
28310         * bindings/v8/V8DOMWrapper.h:
28311         (WebCore::V8DOMWrapper::getXPathNSResolver):
28312         * bindings/v8/custom/V8DocumentCustom.cpp:
28313         (WebCore::CALLBACK_FUNC_DECL):
28315 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
28317         Reviewed by Timothy Hatcher.
28319         Web Inspector: close inspector client view on
28320         InspectorController::close API call.
28322         In order to run batch web inspector layout tests (and not affect
28323         subsequent tests) we should close inspector client's view upon
28324         InspectorController::close API call.
28326         https://bugs.webkit.org/show_bug.cgi?id=30009
28328         * inspector/InspectorController.cpp:
28329         (WebCore::InspectorController::inspectedPageDestroyed):
28330         (WebCore::InspectorController::close):
28332 2009-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
28334         Reviewed by Tor Arne Vestbø.
28336         Fix the Qt/Windows build by stubbing out the still image
28337         support for halted plugins for the Qt build.
28339         Bugzilla entry https://bugs.webkit.org/show_bug.cgi?id=30130
28340         tracks removing this by implementing Frame::nodeImage().
28342         * plugins/win/PluginViewWin.cpp:
28343         (WebCore::PluginView::halt):
28345 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
28347         Reviewed by Simon Hausmann.
28349         [Qt] Change QImageReader usage in ImageDecoderQt
28350         https://bugs.webkit.org/show_bug.cgi?id=27538
28352         Replace the ReadContext with another appoach to
28353         reading the image. Attempt to only read meta information
28354         like the image size and number of frames (for animations)
28355         first and then when the page is getting drawn decode
28356         the image with the QImageReader.
28358         This is a huge benefit on pages with many images and saves
28359         ~2GB of memory on the szeged image test page.
28361         * platform/graphics/qt/ImageDecoderQt.cpp:
28362         (WebCore::ImageDecoderQt::ImageDecoderQt):
28363         (WebCore::ImageDecoderQt::setData):
28364         (WebCore::ImageDecoderQt::isSizeAvailable):
28365         (WebCore::ImageDecoderQt::frameCount):
28366         (WebCore::ImageDecoderQt::repetitionCount):
28367         (WebCore::ImageDecoderQt::filenameExtension):
28368         (WebCore::ImageDecoderQt::frameBufferAtIndex):
28369         (WebCore::ImageDecoderQt::clearFrameBufferCache):
28370         (WebCore::ImageDecoderQt::internalDecodeSize):
28371         (WebCore::ImageDecoderQt::internalReadImage):
28372         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
28373         (WebCore::ImageDecoderQt::forceLoadEverything):
28374         (WebCore::ImageDecoderQt::failRead):
28375         * platform/graphics/qt/ImageDecoderQt.h:
28377 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
28379         Reviewed by Simon Hausmann.
28381         [Qt] Make use of RGBA32Buffer in ImageDecoderQt
28382         https://bugs.webkit.org/show_bug.cgi?id=27538
28384         Use the RGBA32Buffer instead of the internal ImageData
28385         to be able to use support of the base class, optionally
28386         support WebCore decoders for Qt and most importantly
28387         separate metadata and image data for better cache control.
28389         Remove ImageSourceQt as everything is now shared with
28390         the normal ImageSource.
28392         Change the ownership of the NativeImagePtr/QPixmap in
28393         ImageQt.cpp to delete the m_frame to be subject to cache
28394         control.
28396         * WebCore.pro:
28397         * platform/graphics/ImageSource.cpp:
28398         * platform/graphics/qt/ImageDecoderQt.cpp:
28399         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
28400         (WebCore::ImageDecoderQt::ReadContext::read):
28401         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
28402         (WebCore::ImageDecoderQt::ImageDecoderQt):
28403         (WebCore::ImageDecoderQt::setData):
28404         (WebCore::ImageDecoderQt::frameCount):
28405         (WebCore::ImageDecoderQt::frameBufferAtIndex):
28406         (WebCore::ImageDecoderQt::clearFrameBufferCache):
28407         * platform/graphics/qt/ImageDecoderQt.h:
28408         * platform/graphics/qt/ImageSourceQt.cpp: Removed.
28409         * platform/image-decoders/ImageDecoder.h:
28410         (WebCore::RGBA32Buffer::decodedImage):
28411         (WebCore::RGBA32Buffer::getAddr):
28412         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Added.
28413         (WebCore::RGBA32Buffer::RGBA32Buffer):
28414         (WebCore::RGBA32Buffer::setDecodedImage):
28415         (WebCore::RGBA32Buffer::clear):
28416         (WebCore::RGBA32Buffer::zeroFill):
28417         (WebCore::RGBA32Buffer::copyBitmapData):
28418         (WebCore::RGBA32Buffer::setSize):
28419         (WebCore::RGBA32Buffer::asNewNativeImage):
28420         (WebCore::RGBA32Buffer::hasAlpha):
28421         (WebCore::RGBA32Buffer::setHasAlpha):
28422         (WebCore::RGBA32Buffer::setStatus):
28423         (WebCore::RGBA32Buffer::operator=):
28424         (WebCore::RGBA32Buffer::width):
28425         (WebCore::RGBA32Buffer::height):
28427 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
28429         Reviewed by Simon Hausmann.
28431         [Qt] ImageDecoderQt avoid QString creation.
28432         https://bugs.webkit.org/show_bug.cgi?id=27538
28434         Avoid going from CString to QString to String
28435         and go directly from CString to String. Also
28436         avoid going to lower case to avoid an extra
28437         memory allocation.
28439         * platform/graphics/qt/ImageDecoderQt.cpp:
28440         (WebCore::ImageDecoder::create):
28441         (WebCore::ImageDecoderQt::ImageDecoderQt):
28442         * platform/graphics/qt/ImageDecoderQt.h:
28444 2009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
28446         Reviewed by Simon Hausmann.
28448         [Qt] Cleanup the ImageDecoder of Qt.
28449         https://bugs.webkit.org/show_bug.cgi?id=27538
28451         Remove the various enums for partial load. The fact is
28452         that this image decoder will decode everything that is
28453         in the file at once. Make it look like it behaves to
28454         ease fixing this core problem.
28456         * platform/graphics/qt/ImageDecoderQt.cpp:
28457         (WebCore::ImageDecoderQt::ImageData::ImageData):
28458         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
28459         (WebCore::ImageDecoderQt::ReadContext::read):
28460         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
28461         (WebCore::ImageDecoderQt::hasFirstImageHeader):
28462         (WebCore::ImageDecoderQt::setData):
28463         * platform/graphics/qt/ImageDecoderQt.h:
28465 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
28467         Reviewed by Simon Hausmann.
28469         [Qt] Reimplement instead of overload frameCount in ImageDecoderQt.cpp
28470         https://bugs.webkit.org/show_bug.cgi?id=27538
28472         Reimplement frameCount instead of overloading it.
28474         * platform/graphics/qt/ImageDecoderQt.cpp:
28475         (WebCore::ImageDecoderQt::frameCount):
28476         * platform/graphics/qt/ImageDecoderQt.h:
28478 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
28480         Reviewed by Simon Hausmann.
28482         [Qt] QImageReader does not support progressive reading
28483         https://bugs.webkit.org/show_bug.cgi?id=27538
28485         Change the ImageDecoderQt::setData to store the encoded
28486         data in ImageDecoder.
28488         Only call ReadContext when the whole Resource has been
28489         loaded to avoid needless calls to reset and the
28490         ReadContext as progressive loading is not supported.
28492         * platform/graphics/qt/ImageDecoderQt.cpp:
28493         (WebCore::ImageDecoderQt::setData):
28494         * platform/graphics/qt/ImageDecoderQt.h:
28496 2009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
28498         Reviewed by Simon Hausmann.
28500         [Qt] Remove dead code from ImageDecoderQt
28501         https://bugs.webkit.org/show_bug.cgi?id=27538
28503         Remove unused variables and debugging code. The debug
28504         code has never been used and does not provide anything
28505         useful.
28507         * platform/graphics/qt/ImageDecoderQt.cpp:
28508         (WebCore::ImageDecoderQt::ReadContext::read):
28509         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
28510         (WebCore::ImageDecoderQt::setData):
28511         (WebCore::ImageDecoderQt::isSizeAvailable):
28512         (WebCore::ImageDecoderQt::frameCount):
28513         (WebCore::ImageDecoderQt::repetitionCount):
28514         (WebCore::ImageDecoderQt::filenameExtension):
28515         (WebCore::ImageDecoderQt::imageAtIndex):
28517 2009-10-06  Philippe Normand  <pnormand@igalia.com>
28519         Reviewed by Xan Lopez.
28521         [GTK] segfault when calling gst_video_format_parse_caps in the video sink
28522         https://bugs.webkit.org/show_bug.cgi?id=30120
28524         Fix use of gst_video_format_parse_caps()
28526         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
28527         (webkit_video_sink_idle_func):
28529 2009-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
28531         Reviewed by Simon Hausmann.
28533         [Qt] Update mediaControls CSS
28535         * css/mediaControlsQt.css:
28537 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
28539         Reviewed by Timothy Hatcher.
28541         Web Inspector: Get rid of Preferences.ignoreWhitespace.
28543         https://bugs.webkit.org/show_bug.cgi?id=30092
28545         * inspector/front-end/DOMAgent.js:
28546         (WebInspector.DOMAgent):
28547         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
28548         * inspector/front-end/ElementsTreeOutline.js:
28549         (WebInspector.ElementsTreeOutline.prototype.update):
28550         (WebInspector.ElementsTreeElement):
28551         (WebInspector.ElementsTreeElement.prototype.onpopulate):
28552         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
28553         (WebInspector.ElementsTreeElement.prototype._updateChildren):
28554         * inspector/front-end/TextPrompt.js:
28555         (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
28556         * inspector/front-end/inspector.js:
28557         * inspector/front-end/utilities.js:
28558         (Node.prototype.rangeOfWord):
28559         (traverseNextNode):
28560         (traversePreviousNode):
28561         (onlyTextChild):
28563 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
28565         Reviewed by Timothy Hatcher.
28567         Web Inspector: Do not call nodeTitleInfo twice +
28568         followup fixes for r49101.
28570         https://bugs.webkit.org/show_bug.cgi?id=30087
28572         * inspector/front-end/ElementsTreeOutline.js:
28573         (WebInspector.ElementsTreeElement):
28575 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
28577         Reviewed by Simon Hausmann.
28579         [Qt] Windowless plugins: Enable painting on printer.
28581         The print preview dialog crashed because the depth of the drawable
28582         changed owing to a bug in Qt - if you draw onto a 32-bit pixmap,
28583         and set a 24-bit pixmap as source, it will convert the source to
28584         32-bit.
28586         1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt.
28588         https://bugs.webkit.org/show_bug.cgi?id=20081
28590         * plugins/qt/PluginViewQt.cpp:
28591         (WebCore::PluginView::paint):
28593 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
28595         Reviewed by Simon Hausmann.
28597         [Qt] Windowless plugins: Make painting and events work when page is zoomed.
28599         The element gets resized when zoomed. So, we have to make sure that we resize
28600         the drawable and do a setwindow call. Multiple calls to setwindow do not
28601         crash plugin in windowless mode (unlike in windowed mode).
28603         For mouse events we have to convert the pos to post-zoom position.
28605         https://bugs.webkit.org/show_bug.cgi?id=20081
28607         * plugins/qt/PluginViewQt.cpp:
28608         (WebCore::setXButtonEventSpecificFields):
28609         (WebCore::setXMotionEventSpecificFields):
28610         (WebCore::setXCrossingEventSpecificFields):
28611         (WebCore::PluginView::handleMouseEvent):
28612         (WebCore::PluginView::setNPWindowIfNeeded):
28614 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
28616         Reviewed by Simon Hausmann.
28618         [Qt] Windowless plugins: Add PluginQuirkRequiresDefaultScreenDepth quirk for Flash.
28620         Flash does not use the visual provided by us to draw into the drawable.
28621         It instead uses the system default visual (as returned by XDefaultVisual).
28622         This means that if the screen default visual is 24-bit, Flash won't be
28623         able to draw on 32-bit drawable created by us. This is a bug in Flash
28624         and for the moment, the above quirk is only set for Flash.
28626         Our strategy to create the drawable:
28627         1. Create a 32-bit drawable if the default screen depth is 32 or the
28628         quirk is not set (i.e not flash)
28629         2. If we didn't create a 32-bit drawable (maybe the Display has no such
28630         visual), we create a drawable with default screen depth.
28632         As a result of the above changes, content propagation behavior changes as:
28633         1. Content propagation is possible only if the drawable we create and
28634         Qt's backing store are of the same depth.
28635         2. If we created a 32-bit drawable, there is no need for content
28636         propagation (Qt will take care of it).
28638         https://bugs.webkit.org/show_bug.cgi?id=20081
28640         * plugins/PluginPackage.cpp:
28641         (WebCore::PluginPackage::determineQuirks):
28642         * plugins/PluginQuirkSet.h:
28643         (WebCore::):
28644         * plugins/PluginView.cpp:
28645         (WebCore::PluginView::PluginView):
28646         * plugins/PluginView.h:
28647         * plugins/qt/PluginViewQt.cpp:
28648         (WebCore::PluginView::updatePluginWidget):
28649         (WebCore::PluginView::paint):
28650         (WebCore::getVisualAndColormap):
28651         (WebCore::PluginView::platformStart):
28652         (WebCore::PluginView::platformDestroy):
28654 2009-10-06  Fumitoshi Ukai  <ukai@chromium.org>
28656         Reviewed by Ariya Hidayat.
28658         Qt build fix.
28659         https://bugs.webkit.org/show_bug.cgi?id=29362.
28661         In Qt 4.5, a new function QPainter::fillRect(QRect, QColor) is
28662         introduced to avoid the expensive construction of QBrush.
28663         By casting WebCore::Color to QColor, we can compile on Qt 4.4
28664         and use optimization for solid color fill in Qt 4.5.
28666         * platform/graphics/qt/GraphicsContextQt.cpp:
28667         (WebCore::GraphicsContext::drawRect):
28668         (WebCore::GraphicsContext::drawLine):
28669         (WebCore::drawBorderlessRectShadow):
28671 2009-10-05  Andrei Popescu  <andreip@google.com>
28673         Reviewed by Eric Carlson.
28675         Allow the platform media player to know the <video> poster URL.
28676         Add MediaPlayerPrivate::prepareToPlay() to support media engines
28677         that do not buffer video data automatically. This method allows
28678         such media engines to start the buffering just before starting
28679         playback.
28680         https://bugs.webkit.org/show_bug.cgi?id=29133
28682         All platforms that currently implement <video> return false
28683         in MediaPlayerPrivate::canLoadPoster() and do nothing in
28684         MediaPlayerPrivate::prepareToPlay() their behavior is
28685         unchanged. The current set of media test should then be
28686         sufficient to guarantee that this patch does not break anything.
28688         * html/HTMLMediaElement.cpp:
28689         (WebCore::HTMLMediaElement::loadResource):
28690         After the MediaPlayer is created, inform it what the poster URL is.
28691         (WebCore::HTMLMediaElement::updatePlayState):
28692         Add another case where prepareToPlay is called for the platforms
28693         that do not buffer video content automatically.
28694         (WebCore::HTMLMediaElement::couldPlayIfEnoughData)
28695         Same as potentiallyPlaying, except that we don't check for
28696         the readyState being at least HAVE_FUTURE_DATA.
28697         * platform/graphics/MediaPlayer.cpp:
28698         (WebCore::NullMediaPlayerPrivate::canLoadPoster):
28699         Empty implementation for the NullMediaPlayerPrivate.
28700         (WebCore::NullMediaPlayerPrivate::setPoster):
28701         Empty implementation for the NullMediaPlayerPrivate.
28702         (WebCore::MediaPlayer::canLoadPoster):
28703         Proxy to the m_private.
28704         (WebCore::MediaPlayer::setPoster):
28705         Proxy to m_private.
28706         * platform/graphics/MediaPlayer.h:
28707         * platform/graphics/MediaPlayerPrivate.h:
28708         (WebCore::MediaPlayerPrivateInterface::canLoadPoster):
28709         (WebCore::MediaPlayerPrivateInterface::setPoster):
28710         Add new methods that allow the platform player to receive the poster URL.
28711         (WebCore::MediaPlayerPrivateInterface::prepareToPlay):
28712         Notifies the media engine that playback should start. The media engine
28713         should start preparing (e.g. by initializing the player and starting to buffer)
28714         and call back when the state is changed to HAVE_FUTURE_DATA.
28716 2009-10-06  David Levin  <levin@chromium.org>
28718         Reviewed by Oliver Hunt.
28720         StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer.
28721         https://bugs.webkit.org/show_bug.cgi?id=30095
28723         All String::copy methods were changed to call either threadsafeCopy or crossThreadString. The method
28724         call was made threadsafeCopy unless I could show that threadsafety wasn't needed.
28726         No visible change in functionality so no new tests.
28728         * dom/MessagePortChannel.cpp:
28729         (WebCore::MessagePortChannel::EventData::EventData):
28730         * loader/WorkerThreadableLoader.cpp:
28731         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
28732         * loader/icon/IconDatabase.cpp:
28733         (WebCore::IconDatabase::open):
28734         (WebCore::IconDatabase::iconForPageURL):
28735         (WebCore::IconDatabase::iconURLForPageURL):
28736         (WebCore::IconDatabase::retainIconForPageURL):
28737         (WebCore::IconDatabase::releaseIconForPageURL):
28738         (WebCore::IconDatabase::setIconDataForIconURL):
28739         (WebCore::IconDatabase::setIconURLForPageURL):
28740         (WebCore::IconDatabase::databasePath):
28741         (WebCore::IconDatabase::defaultDatabaseFilename):
28742         * page/SecurityOrigin.cpp:
28743         (WebCore::SecurityOrigin::SecurityOrigin): Since this is used by SecurityOrigin::threadsafeCopy,
28744         it makes threadsafe calls.
28745         (WebCore::SecurityOrigin::threadsafeCopy): The only place that called this
28746         needed a threadsafe method.
28747         * page/SecurityOrigin.h:
28748         * platform/CrossThreadCopier.cpp:
28749         (WebCore::::copy):
28750         * platform/KURL.cpp:
28751         (WebCore::KURL::copy):
28752         * platform/network/HTTPHeaderMap.cpp:
28753         (WebCore::HTTPHeaderMap::copyData):
28754         * platform/network/ResourceErrorBase.cpp:
28755         (WebCore::ResourceErrorBase::copy):
28756         * platform/network/ResourceRequestBase.cpp:
28757         (WebCore::ResourceRequestBase::copyData):
28758         * platform/network/ResourceResponseBase.cpp:
28759         (WebCore::ResourceResponseBase::copyData):
28760         * platform/sql/SQLValue.cpp:
28761         (WebCore::SQLValue::SQLValue):
28762         (WebCore::SQLValue::string):
28763         * platform/sql/SQLValue.h:
28764         (WebCore::SQLValue::SQLValue):
28765         All constructors now initialize the m_number which is a double. Failure to
28766         do so can result in unexpected crashes when it is copied in the copy constructor.
28767         See http://blogs.msdn.com/oldnewthing/archive/2008/07/02/8679191.aspx, I was that colleague.
28768         * platform/text/PlatformString.h:
28769         * platform/text/String.cpp:
28770         (WebCore::String::threadsafeCopy):
28771         (WebCore::String::crossThreadString):
28772         * platform/text/StringImpl.cpp:
28773         Removed StringImpl::substringCopy which was no longer being used anywhere.
28774         (WebCore::StringImpl::threadsafeCopy): Changed the name to indicate that
28775         it is threadsafe.
28776         (WebCore::StringImpl::crossThreadString): The way to get strings for
28777         another thread which is not threadsafe. This shares the underlying buffer
28778         with both strings and gives them a way to do threadsafe refcounting for it.
28779         * platform/text/StringImpl.h:
28780         * storage/ChangeVersionWrapper.cpp:
28781         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
28782         * storage/Database.cpp:
28783         (WebCore::updateGuidVersionMap):
28784         (WebCore::Database::Database):
28785         (WebCore::Database::getVersionFromDatabase):
28786         (WebCore::Database::setVersionInDatabase):
28787         (WebCore::Database::version):
28788         (WebCore::Database::setExpectedVersion):
28789         (WebCore::Database::securityOriginCopy):
28790         (WebCore::Database::stringIdentifier):
28791         * storage/DatabaseTracker.cpp:
28792         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
28793         * storage/OriginQuotaManager.cpp:
28794         (WebCore::OriginQuotaManager::addDatabase):
28795         * storage/SQLError.h:
28796         (WebCore::SQLError::message):
28797         (WebCore::SQLError::SQLError):
28798         * storage/SQLStatement.cpp:
28799         (WebCore::SQLStatement::SQLStatement):
28800         * storage/StorageAreaSync.cpp:
28801         (WebCore::StorageAreaSync::syncTimerFired):
28802         * storage/StorageMap.cpp:
28803         (WebCore::StorageMap::importItem):
28804         * storage/StorageNamespaceImpl.cpp:
28805         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
28806         * storage/StorageSyncManager.cpp:
28807         (WebCore::StorageSyncManager::StorageSyncManager):
28808         * workers/DefaultSharedWorkerRepository.cpp:
28809         (WebCore::SharedWorkerProxy::url): Do the copy of the url in a way that is threadsafe.
28810         (WebCore::SharedWorkerProxy::name):
28811         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
28812         (WebCore::DefaultSharedWorkerRepository::getProxy): Do the copy of the url in a way that is threadsafe.
28813         * workers/SharedWorkerThread.cpp:
28814         (WebCore::SharedWorkerThread::SharedWorkerThread):
28815         * workers/WorkerMessagingProxy.cpp:
28816         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
28817         (WebCore::MessageWorkerTask::MessageWorkerTask):
28818         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
28819         * workers/WorkerRunLoop.cpp:
28820         (WebCore::WorkerRunLoop::Task::Task):
28821         (WebCore::WorkerRunLoop::postTaskForMode):
28822         * workers/WorkerThread.cpp:
28823         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
28825 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
28827         Reviewed by Simon Hausmann.
28829         [Qt] Windowless plugins: Use X Pixmap instead of QPixmap.
28831         This has the following advantages:
28832         1. Allows more sharing of code between gtk and Qt ports in the future
28833         2. QPixmap creates 24-bit by default. We have to later 'upgrade' it to 32-bit.
28834         3. QPixmap may sometime change depth behind our back! This will require us to
28835         update the plugin about the new visual and colormap.
28836         4. We cannot ensure that QPixmap is backed by a X Drawable. For example, with
28837         -graphicssystem raster, QPixmap uses the raster (image) backend.
28839         https://bugs.webkit.org/show_bug.cgi?id=20081
28841         * plugins/PluginView.cpp:
28842         (WebCore::PluginView::PluginView):
28843         * plugins/PluginView.h:
28844         * plugins/qt/PluginViewQt.cpp:
28845         (WebCore::PluginView::updatePluginWidget):
28846         (WebCore::PluginView::paint):
28847         (WebCore::PluginView::platformDestroy):
28849 2009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
28851         Reviewed by Simon Hausmann.
28853         [Qt] Add support for windowless NPAPI plugins
28855         https://bugs.webkit.org/show_bug.cgi?id=20081
28857         * plugins/PluginView.cpp:
28858         (WebCore::PluginView::setFrameRect):
28859         (WebCore::PluginView::handleEvent):
28860         (WebCore::PluginView::PluginView):
28861         * plugins/PluginView.h:
28862         * plugins/qt/PluginViewQt.cpp:
28863         (WebCore::PluginView::updatePluginWidget):
28864         (WebCore::PluginView::paint):
28865         (WebCore::PluginView::dispatchNPEvent):
28866         (WebCore::setSharedXEventFields):
28867         (WebCore::PluginView::initXEvent):
28868         (WebCore::setXKeyEventSpecificFields):
28869         (WebCore::PluginView::handleKeyboardEvent):
28870         (WebCore::inputEventState):
28871         (WebCore::setXButtonEventSpecificFields):
28872         (WebCore::setXMotionEventSpecificFields):
28873         (WebCore::setXCrossingEventSpecificFields):
28874         (WebCore::PluginView::handleMouseEvent):
28875         (WebCore::PluginView::handleFocusInEvent):
28876         (WebCore::PluginView::handleFocusOutEvent):
28877         (WebCore::PluginView::setNPWindowRect):
28878         (WebCore::PluginView::setNPWindowIfNeeded):
28879         (WebCore::PluginView::getValueStatic):
28880         (WebCore::PluginView::invalidateRect):
28881         (WebCore::PluginView::invalidateRegion):
28882         (WebCore::PluginView::forceRedraw):
28883         (WebCore::getPluginDisplay):
28884         (WebCore::PluginView::platformStart):
28886 2009-10-05  Dirk Schulze  <krit@webkit.org>
28888         Reviewed by Nikolas Zimmermann.
28890         SVG Filters do not support source images besides "sourceGraphic"
28891         [https://bugs.webkit.org/show_bug.cgi?id=6022]
28893         Add support for SourceAlpha to SVG filters.
28895         Test: svg/filters/sourceAlpha.svg
28897         * platform/graphics/filters/SourceAlpha.cpp:
28898         (WebCore::SourceAlpha::calculateEffectRect):
28899         (WebCore::SourceAlpha::apply):
28900         * platform/graphics/filters/SourceAlpha.h:
28902 2009-10-05  John Abd-El-Malek  <jam@chromium.org>
28904         Reviewed by Adam Barth.
28906         Fix reliablity bot crash in DateExtension.
28907         https://bugs.webkit.org/show_bug.cgi?id=30033
28909         There were a few problems using the weak persistent pointers because no one else had a
28910         handle to them.  The new approach stores them as a hidden value on the Date constructor.
28912         * bindings/v8/DateExtension.cpp:
28913         (WebCore::DateExtension::setAllowSleep):
28914         (WebCore::DateExtension::GetNativeFunction):
28915         (WebCore::DateExtension::Setup):
28916         (WebCore::DateExtension::OnSleepDetected):
28917         * bindings/v8/DateExtension.h:
28918         * bindings/v8/V8HiddenPropertyName.cpp:
28919         (WebCore::V8HiddenPropertyName::sleepFunction):
28920         * bindings/v8/V8HiddenPropertyName.h:
28922 2009-10-05  Stephanie Lewis  <slewis@apple.com>
28924         Reviewed by Dan Bernstein.
28926         Crash when trying to load a null stylesheet for a site specific hack. 
28927         https://bugs.webkit.org/show_bug.cgi?id=30105
28929         Created a testcase and tested in browser.  DRT doesn't test
28930         site specific hacks.
28932         * html/HTMLLinkElement.cpp:
28933         (WebCore::HTMLLinkElement::setCSSStyleSheet):
28935 2009-10-05  James Robinson  <jamesr@google.com>
28937         Reviewed by Darin Adler.
28939         Fix forward declaration (struct vs class mismatch)
28941         https://bugs.webkit.org/show_bug.cgi?id=30094
28943         * loader/RedirectScheduler.h:
28945 2009-10-05  Julie Parent  <jparent@chromium.org>
28947         Unreviewed, last Chromium build fix corresponding to revision 49113.
28948         Add include for BeforeLoadEvent to DOMObjectsInclude.h.
28950         * bindings/v8/DOMObjectsInclude.h:
28952 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
28954         Fix Windows build.
28956         * html/HTMLMediaElement.cpp:
28958 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
28960         Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime.
28962         * rendering/RenderThemeMac.mm:
28963         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
28965 2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
28967         Reviewed by Simon Fraser
28968         
28969         Support fullscreen in MediaPlayer (Mac)
28970         https://bugs.webkit.org/show_bug.cgi?id=26742
28972         Add a fullscreen button to the <video> controller if the media engine,
28973         and the theme have support for fullscreen, and can show appropriate controls.
28974         Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
28975         in WebKit to do a nice animation to fullscreen, with a custom controller.
28977         * DerivedSources.make:
28978         * WebCore.Video.exp: Added.
28979         New export file for when VIDEO is enabled.
28980         
28981         * WebCore.base.exp: Export WebCore::HTMLNames::videoTag
28982         * WebCore.xcodeproj/project.pbxproj: New files
28983         
28984         * html/HTMLMediaElement.h:
28985         * html/HTMLMediaElement.cpp:
28986         (WebCore::HTMLMediaElement::HTMLMediaElement):
28987         (WebCore::HTMLMediaElement::willRemove):
28988         (WebCore::HTMLMediaElement::screenRect):
28989         (WebCore::HTMLMediaElement::enterFullscreen):
28990         (WebCore::HTMLMediaElement::exitFullscreen):
28991         (WebCore::HTMLMediaElement::platformMedia):
28992         Add fullscreen logic. platformMedia returns a pointer to platform-specific playback data
28993         used for fullscreen.
28994         
28995         * html/HTMLVideoElement.h:
28996         * html/HTMLVideoElement.cpp:
28997         (WebCore::HTMLVideoElement::supportsFullscreen): Check with both the player and the ChromeClient
28998         to see if it's possile to enter fullscreen for this element.
28999         
29000         * page/ChromeClient.h:
29001         (WebCore::ChromeClient::supportsFullscreenForNode):
29002         (WebCore::ChromeClient::enterFullscreenForNode):
29003         (WebCore::ChromeClient::exitFullscreenForNode):
29004         New methods
29005         
29006         * platform/graphics/MediaPlayer.h:
29007         * platform/graphics/MediaPlayer.cpp:
29008         (WebCore::NullMediaPlayerPrivate::platformMedia):
29009         (WebCore::MediaPlayer::platformMedia):
29010         * platform/graphics/MediaPlayerPrivate.h:
29011         (WebCore::MediaPlayerPrivateInterface::platformMedia):
29012         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
29013         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
29014         (WebCore::MediaPlayerPrivate::platformMedia):
29015         (WebCore::MediaPlayerPrivate::supportsFullscreen):
29016         New methods to return platform-specific playback data for fullscreen.
29017         
29018         * rendering/MediaControlElements.cpp:
29019         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
29020         Hook up the fullscreen button.
29021         * rendering/RenderThemeMac.h:
29022         * rendering/RenderThemeMac.mm:
29023         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
29024         Allow the RenderThemeMac to make a decision about the availability of fullscreen based
29025         on the QuickTime version, since this affects what controls are availabl.e
29027 2009-10-05  Kevin Decker  <kdecker@apple.com>
29029         Export a few more methods from Settings.h
29030         
29031         Rubberstamped by Jon Honeycutt.
29032         
29033         * WebCore.base.exp:
29035 2009-10-05  Dmitry Titov  <dimich@chromium.org>
29037         Reviewed by Darin Adler.
29039         1-char fix for obviously reverse condition.
29040         https://bugs.webkit.org/show_bug.cgi?id=30100
29041         No test since the only difference is a timing of GC.
29043         * bindings/js/ScriptCachedFrameData.cpp:
29044         (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo.
29046 2009-09-30  Kenneth Russell  <kbr@google.com>
29048         Reviewed by Darin Fisher.
29050         Update platform-specific #ifdefs in GraphicsContext3D.h for the
29051         Chromium port.
29052         https://bugs.webkit.org/show_bug.cgi?id=29936
29054         * platform/graphics/GraphicsContext3D.h:
29055         Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM).
29057 2009-10-05  Dan Bernstein  <mitz@apple.com>
29059         Reviewed by Darin Adler.
29061         REGRESSION (r47440): Inserting text in the middle of content in a scrolled textfield results in painting bugs
29062         <rdar://problem/7269108>
29063         https://bugs.webkit.org/show_bug.cgi?id=29982
29065         Test: fast/repaint/line-in-scrolled-clipped-block.html
29067         * rendering/RenderBlock.cpp:
29068         (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect
29069         (including layout overflow) for the repaint rect calculation.
29071 2009-10-05  Drew Wilson  <atwilson@google.com>
29073         Reviewed by David Levin.
29075         Chromium wants to turn off SharedWorkers at runtime
29076         https://bugs.webkit.org/show_bug.cgi?id=29757
29078         * bindings/js/JSDOMWindowCustom.cpp:
29079         (WebCore::JSDOMWindow::sharedWorker):
29080         Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
29081         * workers/DefaultSharedWorkerRepository.cpp:
29082         (WebCore::SharedWorkerRepository::isAvailable):
29083         Made SharedWorkers available by default.
29084         * workers/SharedWorkerRepository.h:
29085         Added definition for SharedWorkerRepository::isAvailable().
29087 2009-10-05  Hironori Bono  <hbono@chromium.org>
29089         Reviewed by Eric Seidel.
29091         A super quick fix for Bug 28710.
29093         https://bugs.webkit.org/show_bug.cgi?id=28710
29095         This change just resets the style sent to addStyleMarkup() to avoid an assertion error
29096         and creates an empty style when computedStyleAtPosition is 0 to avoid a crash.
29097         (This change is nothing but a better-than-crash change.)
29099         Tests: editing/selection/select-crash-001.html
29100                editing/selection/select-crash-002.html
29102         * editing/ApplyStyleCommand.cpp:
29103         (WebCore::editingStyleAtPosition): Resets the style sent to addStyleMarkup() if it is not valid.
29104         * editing/markup.cpp:
29105         (WebCore::createMarkup): Creates an empty style if computedStyleAtPosition is 0.
29107 2009-10-05  Sam Weinig  <sam@webkit.org>
29109         Reviewed by Mark Rowe.
29111         Silence duplicate errors logged for missing getComputedStyle
29112         implementations. Improves the error message as well.
29114         * css/CSSComputedStyleDeclaration.cpp:
29115         (WebCore::logUnimplementedPropertyID):
29116         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
29118 2009-10-05  Julie Parent  <jparent@chromium.org>
29120         Unreviewed, Chromium build fix #3.  Add V8BeforeLoadEvent.[cc|h] to derived sources.
29122         * bindings/v8/DerivedSourcesAllInOne.cpp:
29123         * bindings/v8/V8Index.cpp:
29125 2009-10-05  Mark Rowe  <mrowe@apple.com>
29127         Try and fix the GTK build.
29129         * GNUmakefile.am:
29131 2009-10-05  Julie Parent  <jparent@chromium.org>
29133         Unreviewed, Chromium build fix #2.  Add new BEFORELOADEVENT to V8ClassIndex.
29135         * bindings/v8/V8Index.h:
29137 2009-10-05  Julie Parent  <jparent@chromium.org>
29139         Unreviewed, Chromium build fix.  Missing "," after entry for BeforeLoadEvent.idl. 
29141         * WebCore.gypi:
29143 2009-10-05  Dave Hyatt  <hyatt@apple.com>
29145         Reviewed by Sam Weinig.
29147         Add a beforeload event that will be fired before subresources load. (It isn't fired yet.)  The event
29148         has one field, the URL that is going to be requested.  Setting preventDefault will stop the load
29149         from occurring.
29151         * DerivedSources.cpp:
29152         * DerivedSources.make:
29153         * WebCore.gypi:
29154         * WebCore.vcproj/WebCore.vcproj:
29155         * WebCore.xcodeproj/project.pbxproj:
29156         * dom/BeforeLoadEvent.h: Added.
29157         (WebCore::BeforeLoadEvent::create):
29158         (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
29159         (WebCore::BeforeLoadEvent::url):
29160         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
29161         * dom/BeforeLoadEvent.idl: Added.
29162         * dom/EventNames.h:
29163         * page/DOMWindow.idl:
29165 2009-10-05  Priit Laes  <plaes@plaes.org>
29167         Reviewed by Gustavo Noronha.
29169         Add Gentoo-specific paths for searching browser plugins.
29170         https://bugs.webkit.org/show_bug.cgi?id=30088
29172         * plugins/PluginDatabase.cpp:
29173         (WebCore::PluginDatabase::defaultPluginDirectories):
29175 2009-10-02  Chris Marrin  <cmarrin@apple.com>
29177         Reviewed by Adele Peterson.
29179         Add functionality to pause/throttle CSS transitions/animations in a WebView
29180         https://bugs.webkit.org/show_bug.cgi?id=29942
29182         Exporting call from AnimationController
29184         * WebCore.base.exp:
29186 2009-10-05  Kevin Decker  <kdecker@apple.com>
29188         Rubberstamped by Anders Carlsson.
29189         
29190         * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient.
29191         * WebCore.xcodeproj/project.pbxproj: Likewise.
29193 2009-10-05  Eric Seidel  <eric@webkit.org>
29195         No review, rolling out r49104.
29196         http://trac.webkit.org/changeset/49104
29198         * html/HTMLInputElement.cpp:
29199         * html/HTMLInputElement.h:
29200         * html/HTMLInputElement.idl:
29201         * html/ValidityState.cpp:
29202         * html/ValidityState.h:
29203         (WebCore::ValidityState::rangeUnderflow):
29204         (WebCore::ValidityState::rangeOverflow):
29205         * rendering/RenderSlider.cpp:
29206         (WebCore::SliderRange::SliderRange):
29207         (WebCore::SliderRange::valueFromElement):
29209 2009-10-05  Kent Tamura  <tkent@chromium.org>
29211         Reviewed by Eric Seidel.
29213         Update style immediately when validation-related values are updated.
29214         https://bugs.webkit.org/show_bug.cgi?id=28868
29216         In order to apply :valid, :invalid, :optional or :required lively,
29217           - call setNeedsStyleRecalc() when properties which can change
29218             willValidate state are updated, and
29219              (Parent form element, name, disabled, readonly)
29220           - call updateValidity() when properties which can change validity
29221             state are updated. (value, pattern, required)
29223         Tests: fast/forms/input-live-pseudo-selectors.html
29224                fast/forms/textarea-live-pseudo-selectors.html
29226         * html/HTMLFormControlElement.cpp:
29227         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
29228         (WebCore::HTMLFormControlElement::parseMappedAttribute):
29229         (WebCore::HTMLFormControlElement::required):
29230         (WebCore::HTMLFormControlElement::updateValidity):
29231         * html/HTMLFormControlElement.h:
29232         * html/HTMLInputElement.cpp:
29233         (WebCore::HTMLInputElement::setInputType):
29234         (WebCore::HTMLInputElement::parseMappedAttribute):
29235         (WebCore::HTMLInputElement::setValue):
29236         (WebCore::HTMLInputElement::setValueFromRenderer):
29237         (WebCore::HTMLInputElement::setFileListFromRenderer):
29238         * html/HTMLTextAreaElement.cpp:
29239         (WebCore::HTMLTextAreaElement::setValue):
29240         * rendering/RenderTextControlMultiLine.cpp:
29241         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
29243 2009-10-05  Kent Tamura  <tkent@chromium.org>
29245         Reviewed by Darin Adler.
29247         Implement min/max attributes, ValidityState.rangeUnderflow and
29248         ValidityState.rangeOverflow for <input type=number> and <input type=range>
29249         https://bugs.webkit.org/show_bug.cgi?id=29069
29251         Tests: fast/forms/ValidityState-rangeOverflow-number.html
29252                fast/forms/ValidityState-rangeOverflow-range.html
29253                fast/forms/ValidityState-rangeUnderflow-number.html
29254                fast/forms/ValidityState-rangeUnderflow-range.html
29255                fast/forms/input-minmax.html
29257         * html/HTMLInputElement.cpp:
29258         (WebCore::HTMLInputElement::rangeUnderflow):
29259         (WebCore::HTMLInputElement::rangeOverflow):
29260         (WebCore::HTMLInputElement::rangeMinimum):
29261         (WebCore::HTMLInputElement::rangeMaximum):
29262         * html/HTMLInputElement.h:
29263         * html/HTMLInputElement.idl:
29264         * html/ValidityState.cpp:
29265         (WebCore::ValidityState::rangeUnderflow):
29266         (WebCore::ValidityState::rangeOverflow):
29267         * html/ValidityState.h:
29268         * rendering/RenderSlider.cpp:
29269         (WebCore::SliderRange::SliderRange):
29270         (WebCore::SliderRange::valueFromElement):
29272 2009-10-05  Kent Tamura  <tkent@chromium.org>
29274         Reviewed by Eric Seidel.
29276         Introduces
29277          - new CSS pseudo selector: "-webkit-input-list-button"
29278          - new CSS apperance type: "list-button"
29279          - new ControlPart value: "ListButtonPart"
29280         for the UI of the list attribute of the input element, and adds
29281         implementation to draw ListButtonPart on Mac.
29282         The code is guarded by ENABLE(DATALIST).
29284         https://bugs.webkit.org/show_bug.cgi?id=27794
29286         Test: platform/mac/fast/forms/input-list-button-size.html
29288         * css/CSSPrimitiveValueMappings.h:
29289         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29290         * css/CSSSelector.cpp:
29291         (WebCore::CSSSelector::extractPseudoType):
29292         * css/CSSSelector.h:
29293         (WebCore::CSSSelector::):
29294         * css/CSSStyleSelector.cpp:
29295         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
29296         * css/CSSValueKeywords.in:
29297         * css/html.css:
29298         * html/HTMLInputElement.cpp:
29299         * platform/ThemeTypes.h:
29300         (WebCore::):
29301         * platform/mac/ThemeMac.mm:
29302         (WebCore::listButtonSizes):
29303         (WebCore::button):
29304         (WebCore::paintButton):
29305         (WebCore::ThemeMac::controlSize):
29306         (WebCore::ThemeMac::minimumControlSize):
29307         (WebCore::ThemeMac::controlBorder):
29308         (WebCore::ThemeMac::paint):
29309         * rendering/RenderTheme.cpp:
29310         (WebCore::RenderTheme::adjustStyle):
29311         (WebCore::RenderTheme::paint):
29312         (WebCore::RenderTheme::paintBorderOnly):
29313         (WebCore::RenderTheme::paintDecorations):
29314         * rendering/RenderThemeMac.mm:
29315         (WebCore::RenderThemeMac::adjustRepaintRect):
29316         * rendering/style/RenderStyleConstants.h:
29317         (WebCore::):
29319 2009-10-05  Brian Weinstein  <bweinstein@apple.com>
29321         Reviewed by Timothy Hatcher.
29323         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065>
29324         nodeTitleInfo should be placed in ElementsTreeOutline.
29325         
29326         Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js.
29328         * inspector/front-end/ElementsTreeOutline.js:
29329         (WebInspector.ElementsTreeElement):
29330         (WebInspector.ElementsTreeElement.prototype._updateTitle):
29331         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
29332         * inspector/front-end/utilities.js:
29334 2009-10-02  Yael Aharon  <yael.aharon@nokia.com>
29336         Reviewed by Simon Hausmann.
29338         [Qt] Inform the application when a new request is created
29339         https://bugs.webkit.org/show_bug.cgi?id=29975
29341         Emit a signal each time a request is created, with the request and the frame
29342         that created it.
29344         * platform/network/qt/QNetworkReplyHandler.cpp:
29345         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
29346         (WebCore::QNetworkReplyHandler::start):
29348 2009-10-05  Ben Murdoch  <benm@google.com>
29350         Reviewed by Darin Adler.
29352         Add an ASSERT in updateGuidVersionMap.
29353         https://bugs.webkit.org/show_bug.cgi?id=30077
29355         * storage/Database.cpp:
29356         (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked.
29358 2009-10-05  Nate Chapin  <japhet@chromium.org>
29360         Reviewed by Eric Seidel.
29362         Allow V8 to throw an exception in _NPN_SetException without worrying about context
29363         if we don't have enough information to find the correct context.
29365         https://bugs.webkit.org/show_bug.cgi?id=30026
29367         Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html.
29369         * bindings/v8/NPV8Object.cpp: 
29370         (_NPN_SetException): Don't suppress the exception if we can't find the relevant context.
29372 2009-10-05  Mikhail Naganov  <mnaganov@chromium.org>
29374         Reviewed by Timothy Hatcher.
29376         Place "Close" button in docked mode on the same side as the window "Close" button in detached mode.
29378         https://bugs.webkit.org/show_bug.cgi?id=29961
29380         * inspector/front-end/inspector.css:
29381         * inspector/front-end/inspector.html:
29382         * inspector/front-end/inspector.js:
29383         (WebInspector.loaded):
29385 2009-10-05  J-P Nurmi  <jpnurmi@gmail.com>
29387         Reviewed by Simon Hausmann.
29389         [Qt] Added pure virtual QWebPageClient::pluginParent()
29391         https://bugs.webkit.org/show_bug.cgi?id=29710
29393         * platform/qt/QWebPageClient.h:
29395 2009-10-05  Jakub Wieczorek  <faw217@gmail.com>
29397         Reviewed by Tor Arne Vestbø.
29399         [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key.
29400         https://bugs.webkit.org/show_bug.cgi?id=30042
29402         * platform/qt/PlatformKeyboardEventQt.cpp:
29403         (WebCore::windowsKeyCodeForKeyEvent):
29405 2009-10-05  Fumitoshi Ukai  <ukai@chromium.org>
29407         Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8.
29409         V8ObjectEventListener.h has been removed at r48978
29411         * bindings/v8/custom/V8WebSocketCustom.cpp:
29413 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
29415         Reviewed by Timothy Hatcher.
29417         Web Inspector console stops working while JS in IFRAME is paused.
29419         https://bugs.webkit.org/show_bug.cgi?id=29958
29421         * inspector/front-end/InjectedScript.js:
29422         (InjectedScript._evaluateOn):
29423         (InjectedScript.addInspectedNode):
29424         (InjectedScript._ensureCommandLineAPIInstalled):
29426 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
29428         Reviewed by Timothy Hatcher.
29430         Web Inspector: Introduce inspected object groups for console
29431         and watch evaluation results so that they could be released
29432         explicitly.
29434         https://bugs.webkit.org/show_bug.cgi?id=29891
29436         * bindings/js/JSInspectorBackendCustom.cpp:
29437         (WebCore::JSInspectorBackend::wrapObject):
29438         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
29439         (WebCore::CALLBACK_FUNC_DECL):
29440         * inspector/InspectorBackend.cpp:
29441         (WebCore::InspectorBackend::wrapObject):
29442         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
29443         * inspector/InspectorBackend.h:
29444         * inspector/InspectorBackend.idl:
29445         * inspector/InspectorController.cpp:
29446         (WebCore::InspectorController::clearConsoleMessages):
29447         (WebCore::InspectorController::resetScriptObjects):
29448         (WebCore::InspectorController::wrapObject):
29449         (WebCore::InspectorController::unwrapObject):
29450         (WebCore::InspectorController::releaseWrapperObjectGroup):
29451         * inspector/InspectorController.h:
29452         * inspector/InspectorFrontend.cpp:
29453         (WebCore::InspectorFrontend::addMessageToConsole):
29454         * inspector/front-end/ConsoleView.js:
29455         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
29456         (WebInspector.ConsoleView.prototype.doEvalInWindow):
29457         (WebInspector.ConsoleView.prototype._enterKeyPressed):
29458         * inspector/front-end/InjectedScript.js:
29459         (InjectedScript.evaluate):
29460         (InjectedScript._evaluateAndWrap):
29461         (InjectedScript.evaluateInCallFrame):
29462         * inspector/front-end/ScriptsPanel.js:
29463         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
29464         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
29465         * inspector/front-end/WatchExpressionsSidebarPane.js:
29466         (WebInspector.WatchExpressionsSidebarPane):
29467         (WebInspector.WatchExpressionsSection.prototype.update):
29469 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
29471         Reviewed by Eric Carlson.
29473         Move mediaControls extras for the Qt port into WebCore/css like other ports
29475         https://bugs.webkit.org/show_bug.cgi?id=30013
29477         * WebCore.pro:
29478         * WebCore.qrc:
29479         * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css.
29480         * platform/qt/RenderThemeQt.cpp:
29481         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
29483 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
29485         Reviewed by Eric Carlson.
29487         Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT
29489         https://bugs.webkit.org/show_bug.cgi?id=30013
29491         The QT suffix has been expanded to QuickTime, to not cause confusion
29492         and name-crashes with similar files in the Qt port.
29494         * DerivedSources.make:
29495         * WebCore.xcodeproj/project.pbxproj:
29496         * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css.
29497         * rendering/RenderThemeMac.mm:
29498         (WebCore::):
29499         (WebCore::mediaControllerTheme):
29500         (WebCore::RenderThemeMac::adjustSliderThumbSize):
29501         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
29502         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
29504 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
29506         Reviewed by Timothy Hatcher.
29507         
29508         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064>
29509         Syntax Highlighting CSS shouldn't be duplicated.
29511         Refactor syntax highlighting CSS into a new file, add it to the
29512         projects, and have SourceFrame.js and inspector.html include the
29513         new CSS file.
29515         * WebCore.gypi:
29516         * WebCore.vcproj/WebCore.vcproj:
29517         * inspector/front-end/SourceFrame.js:
29518         (WebInspector.SourceFrame.prototype._loaded):
29519         * inspector/front-end/inspector.css:
29520         * inspector/front-end/inspector.html:
29521         * inspector/front-end/inspectorSyntaxHighlight.css: Added.
29522         * inspector/front-end/WebKit.qrc:
29524 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
29526         Reviewed by Timothy Hatcher.
29527         
29528         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062>
29529         Inspector should syntax highlight JS/CSS in elements view.
29531         Add syntax highlighting of CSS and JavaScript tags to the elements panel.
29532         Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes
29533         in utilities.js call the CSS or JS Syntax highlighters if their parent is a script
29534         or style tag.
29536         * inspector/front-end/inspector.css:
29537         * inspector/front-end/utilities.js:
29539 2009-10-04  Fumitoshi Ukai  <ukai@chromium.org>
29541         Reviewed by Eric Seidel
29543         Enable Web Sockets in chromium build.
29544         https://bugs.webkit.org/show_bug.cgi?id=29917
29546         * WebCore.gyp/WebCore.gyp:
29548 2009-10-04  Xan Lopez  <xlopez@igalia.com>
29550         Reviewed by Gustova Noronha.
29552         [GTK] performs a POST when refreshing a view that was obtained with a GET
29553         https://bugs.webkit.org/show_bug.cgi?id=29761
29555         Update the HTTP method in the request stored by willSendRequest
29556         after a redirect, since it could have changed.
29558         Test: http/tests/navigation/postredirect-reload.html
29560         * platform/network/soup/ResourceHandleSoup.cpp:
29561         (WebCore::restartedCallback):
29563 2009-10-04  Xan Lopez  <xlopez@igalia.com>
29565         Revert previous patch, as the newly added test breaks other tests.
29567         * platform/network/soup/ResourceHandleSoup.cpp:
29568         (WebCore::restartedCallback):
29570 2009-10-04  Xan Lopez  <xlopez@igalia.com>
29572         Reviewed by Gustova Noronha.
29574         [GTK] performs a POST when refreshing a view that was obtained with a GET
29575         https://bugs.webkit.org/show_bug.cgi?id=29761
29577         Update the HTTP method in the request stored by willSendRequest
29578         after a redirect, since it could have changed.
29580         Test: http/tests/navigation/postredirect-reload.html
29582         * platform/network/soup/ResourceHandleSoup.cpp:
29583         (WebCore::restartedCallback):
29585 2009-10-04  Vitaly Repeshko  <vitalyr@chromium.org>
29587         Reviewed by Adam Barth.
29589         [V8] Fixed Function leak in V8LazyEventListener.
29590         (Should fix the remaning leak in
29591         https://bugs.webkit.org/show_bug.cgi?id=29093).
29592         V8LazyEventListeners used to create FunctionTemplates for each
29593         wrapped listener which in turn created Functions that were cached
29594         forever in V8 Context. Now there is at most one such Function per
29595         Context.
29596         https://bugs.webkit.org/show_bug.cgi?id=30060
29598         Added new hidden property name to store toString result:
29599         * bindings/v8/V8HiddenPropertyName.cpp:
29600         * bindings/v8/V8HiddenPropertyName.h:
29602         Switched to static FunctionTemplate:
29603         * bindings/v8/V8LazyEventListener.cpp:
29604         (WebCore::V8LazyEventListenerToString):
29605         (WebCore::V8LazyEventListener::prepareListenerObject):
29607 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
29609         Reviewed by Timothy Hatcher.
29611         CSS Source View Should be Syntax Highlighted
29612         https://bugs.webkit.org/show_bug.cgi?id=14359
29614           Support for WebKit's CSS Variables @variables and var()
29616         * inspector/front-end/SourceFrame.js:
29617         (WebInspector.CSSSourceSyntaxHighligher):
29619 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
29621         Reviewed by Timothy Hatcher.
29623         Inspector should remember preferences for docked/undocked etc
29624         https://bugs.webkit.org/show_bug.cgi?id=29089
29626         * inspector/front-end/ResourcesPanel.js:
29627         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference
29628         * inspector/front-end/inspector.js:
29629         (WebInspector._loadPreferences): factored out loading preferences
29630         (WebInspector.loaded):
29632 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
29634         Reviewed by Timothy Hatcher.
29636         CSS Source View Should be Syntax Highlighted
29637         https://bugs.webkit.org/show_bug.cgi?id=14359
29639           Trigger the Syntax Highlighter for CSS files.
29641         * inspector/front-end/SourceFrame.js:
29642         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
29643         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
29644         * inspector/front-end/SourceView.js:
29645         (WebInspector.SourceView.prototype._contentLoaded):
29647           Factored out the Syntax Highlighting procedure into a "Class"
29648           Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter
29650         (WebInspector.SourceSyntaxHighligher):
29651         (WebInspector.SourceSyntaxHighligher.prototype.createSpan):
29652         (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk):
29653         (WebInspector.SourceSyntaxHighligher.prototype.process):
29654         (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter
29655         (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter
29657 2009-10-03  Adam Barth  <abarth@webkit.org>
29659         Reviewed by Sam Weinig.
29661         Factor back-forward list methods out of FrameLoader
29662         https://bugs.webkit.org/show_bug.cgi?id=30037
29664         This change moves these back-forward related methods from FrameLoader
29665         to Page.  It's possible we should move these methods into some kind of
29666         "page controller" object, but we can figure that out in a future patch.
29668         * loader/FrameLoader.cpp:
29669         * loader/FrameLoader.h:
29670         * loader/RedirectScheduler.cpp:
29671         (WebCore::RedirectScheduler::timerFired):
29672         * page/ContextMenuController.cpp:
29673         (WebCore::ContextMenuController::contextMenuItemSelected):
29674         * page/DOMWindow.cpp:
29675         (WebCore::DOMWindow::close):
29676         * page/History.cpp:
29677         (WebCore::History::length):
29678         * page/Page.cpp:
29679         (WebCore::Page::canGoBackOrForward):
29680         (WebCore::Page::goBackOrForward):
29681         (WebCore::Page::getHistoryLength):
29682         * page/Page.h:
29683         * platform/ContextMenu.cpp:
29684         (WebCore::ContextMenu::populate):
29685         (WebCore::ContextMenu::checkOrEnableIfNeeded):
29687 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
29689         Reviewed by Timothy Hatcher.
29691         Web Inspector: prepare InspectorController for being used from layout tests.
29692         This change adds evaluateForTestInFrontend method with the callback that
29693         allows evaluating arbitrary code in the frontend context.
29695         https://bugs.webkit.org/show_bug.cgi?id=30008
29697         * WebCore.Inspector.exp:
29698         * WebCore.order:
29699         * inspector/InspectorBackend.cpp:
29700         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
29701         * inspector/InspectorBackend.h:
29702         * inspector/InspectorBackend.idl:
29703         * inspector/InspectorController.cpp:
29704         (WebCore::InspectorController::populateScriptObjects):
29705         (WebCore::InspectorController::evaluateForTestInFrontend):
29706         (WebCore::InspectorController::didEvaluateForTestInFrontend):
29707         * inspector/InspectorController.h:
29708         * inspector/InspectorFrontend.cpp:
29709         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
29710         * inspector/InspectorFrontend.h:
29711         * inspector/front-end/inspector.js:
29712         (WebInspector.evaluateForTestInFrontend):
29714 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
29716         Reviewed by Timothy Hatcher.
29718         Web Inspector: Node search mode is not getting reset on element selection.
29720         https://bugs.webkit.org/show_bug.cgi?id=30016
29722         * inspector/front-end/ElementsPanel.js:
29723         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
29725 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
29727         Reviewed by Timothy Hatcher.
29729         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036>
29730         Should be able to resize Cookie Columns.
29732         * inspector/front-end/CookieItemsView.js:
29733         (WebInspector.CookieItemsView.prototype.update.callback):
29734         (WebInspector.CookieItemsView.prototype.update):
29735         (WebInspector.CookieItemsView.prototype.resize):
29737 2009-09-25  Jon Honeycutt  <jhoneycutt@apple.com>
29739         Make WebCore::PluginView participate in plug-in halting.
29741         Reviewed by Sam Weinig.
29743         * platform/graphics/BitmapImage.h:
29744         Declare a create() function that takes an HBITMAP.
29746         * platform/graphics/win/ImageCGWin.cpp:
29747         (WebCore::BitmapImage::create):
29748         Use GetObject() to fill out a DIBSECTION structure for the given
29749         HBITMAP. Call CGBitmapContextCreate() to create a CG context from the
29750         bits of the bitmap. Create a CG image from the context, and pass this
29751         when creating a new BitmapImage.
29753         * plugins/PluginView.cpp:
29754         (WebCore::PluginView::start):
29755         If we successfully started, tell our parent frame's Page.
29756         (WebCore::PluginView::stop):
29757         Tell our parent frame's Page that we stopped.
29758         (WebCore::PluginView::node):
29760         * plugins/PluginView.h:
29761         Inherit from HaltablePlugin.
29762         (WebCore::PluginView::setPlatformPluginWidget):
29763         On platforms where the platform plug-in widget is the WebCore::Widget's
29764         platform widget, have setPlatformPluginWidget() call
29765         setPlatformWidget().
29767         * plugins/PluginViewNone.cpp:
29768         (WebCore::PluginView::halt):
29769         Stubbed.
29770         (WebCore::PluginView::restart):
29771         Stubbed.
29773         * plugins/gtk/PluginViewGtk.cpp:
29774         (WebCore::PluginView::halt):
29775         Stubbed.
29776         (WebCore::PluginView::restart):
29777         Stubbed.
29779         * plugins/mac/PluginViewMac.cpp:
29780         (WebCore::PluginView::halt):
29781         Stubbed.
29782         (WebCore::PluginView::restart):
29783         Stubbed.
29785         * plugins/qt/PluginViewQt.cpp:
29786         (WebCore::PluginView::halt):
29787         Stubbed.
29788         (WebCore::PluginView::restart):
29789         Stubbed.
29791         * plugins/win/PluginViewWin.cpp:
29792         (WebCore::PluginView::platformDestroy):
29793         After destroying the window, set the platform plug-in widget to 0 to
29794         ensure that Widget isn't holding a stale handle.
29795         (WebCore::PluginView::halt):
29796         Have our element's RenderWidget display a screenshot of the plug-in,
29797         then stop the plug-in and destroy it.
29798         (WebCore::PluginView::restart):
29799         Clear the RenderWidget's substitute image, then start the plug-in.
29801         * rendering/RenderWidget.cpp:
29802         (WebCore::RenderWidget::showSubstituteImage):
29803         Set m_substituteImage to the passed image, and repaint.
29804         (WebCore::RenderWidget::paint):
29805         If we have a substitute image, paint that instead of allowing the
29806         widget to paint itself.
29808         * rendering/RenderWidget.h:
29809         Declare showSubstituteImage(). Added a member to store the substitute
29810         image.
29812 2009-10-02  Adam Barth  <abarth@webkit.org>
29814         Reviewed by Darin Adler.
29816         Move PolicyCheck out of FrameLoader.{h,cpp}
29817         https://bugs.webkit.org/show_bug.cgi?id=30035
29819         Purely code motion (and adding a destructor).
29821         * GNUmakefile.am:
29822         * WebCore.gypi:
29823         * WebCore.pro:
29824         * WebCore.vcproj/WebCore.vcproj:
29825         * WebCore.xcodeproj/project.pbxproj:
29826         * loader/FrameLoader.cpp:
29827         * loader/FrameLoader.h:
29828         * loader/PolicyCheck.cpp:
29829         * loader/PolicyCheck.h:
29831 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29833         Reviewed by Tor Arne Vestbø.
29835         [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper.
29836         Plugin error message was:
29837         ERROR: failed to initialize brower-side RPC events listener
29838         https://bugs.webkit.org/show_bug.cgi?id=25053
29840         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
29841         (WebCore::PluginPackage::load):
29843 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29845         Reviewed by Tor Arne Vestbø.
29847         [Qt] X sync our XEmbed container window creation before sending the
29848         xid to plugins.
29849         https://bugs.webkit.org/show_bug.cgi?id=25053
29851         * plugins/qt/PluginViewQt.cpp:
29852         (WebCore::PluginView::setNPWindowIfNeeded):
29854 2009-10-02  Simon Fraser  <simon.fraser@apple.com>
29856         Reviewed by Dan Bernstein.
29858         Setting zero size on a container of a video element doesn't hide the controller
29859         https://bugs.webkit.org/show_bug.cgi?id=30031
29860         
29861         Fix a logic error in enclosingCompositingLayer() when mixing normal flow and 
29862         positioned layers. This resulted in enclosingCompositingLayer() giving back a different
29863         answer to the logic used to actually parent compositing layers, so layer positions
29864         and layer hierarchy would be out of agreement.
29865         
29866         Test: compositing/geometry/clipped-video-controller.html
29868         * rendering/RenderLayer.cpp:
29869         (WebCore::compositingContainer):
29870         (WebCore::RenderLayer::enclosingCompositingLayer):
29871         * rendering/RenderLayerCompositor.cpp:
29872         (WebCore::RenderLayerCompositor::setCompositingParent):
29874 2009-10-02  Kent Tamura  <tkent@chromium.org>
29876         Reviewed by Eric Seidel.
29878         - Move the following methods of HTMLInputElement and HTMLTextAreaElement
29879           to HTMLTextFormControlElement.
29880            setSelectionStart()
29881            setSelectionEnd()
29882            select()
29883            setSelectionRange()
29884            selectionStart()
29885            selectionEnd()
29886            selection()
29888         - Introduce cachedSelectionStart() and cachedSelectionEnd().
29890         - Unify HTMLInputElement::isTextFieldWithRenderer() and
29891          HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout().
29892         
29893         - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement.
29895         https://bugs.webkit.org/show_bug.cgi?id=29782
29897         * html/HTMLFormControlElement.cpp:
29898         (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout):
29899         (WebCore::HTMLTextFormControlElement::setSelectionStart):
29900         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
29901         (WebCore::HTMLTextFormControlElement::select):
29902         (WebCore::HTMLTextFormControlElement::setSelectionRange):
29903         (WebCore::HTMLTextFormControlElement::selectionStart):
29904         (WebCore::HTMLTextFormControlElement::selectionEnd):
29905         (WebCore::HTMLTextFormControlElement::selection):
29906         (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
29907         * html/HTMLFormControlElement.h:
29908         * html/HTMLInputElement.cpp:
29909         (WebCore::HTMLInputElement::parseMappedAttribute):
29910         * html/HTMLInputElement.h:
29911         (WebCore::HTMLInputElement::select):
29912         (WebCore::HTMLInputElement::cachedSelectionStart):
29913         (WebCore::HTMLInputElement::cachedSelectionEnd):
29914         * html/HTMLTextAreaElement.cpp:
29915         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
29916         * html/HTMLTextAreaElement.h:
29917         (WebCore::HTMLTextAreaElement::cachedSelectionStart):
29918         (WebCore::HTMLTextAreaElement::cachedSelectionEnd):
29920 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
29922         Reviewed by Dimitri Glazkov.
29924         [V8] Disconnect event listeners on navigation.
29925         Fixes http://crbug.com/23597.
29926         https://bugs.webkit.org/show_bug.cgi?id=30027
29928         Added V8ListenerGuard that is shared by listeners and proxy. On
29929         navigation proxy sets a flag in the guard turning off listeners.
29931         * bindings/v8/V8AbstractEventListener.cpp:
29932         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
29933         * bindings/v8/V8AbstractEventListener.h:
29934         (WebCore::V8ListenerGuard::create):
29935         (WebCore::V8ListenerGuard::isDisconnected):
29936         (WebCore::V8ListenerGuard::disconnectListeners):
29937         (WebCore::V8ListenerGuard::V8ListenerGuard):
29938         (WebCore::V8AbstractEventListener::disconnected):
29939         * bindings/v8/V8DOMWrapper.cpp:
29940         (WebCore::V8DOMWrapper::getEventListener):
29941         * bindings/v8/V8EventListenerList.h:
29942         (WebCore::V8EventListenerList::findOrCreateWrapper):
29943         * bindings/v8/V8LazyEventListener.cpp:
29944         (WebCore::V8LazyEventListener::V8LazyEventListener):
29945         * bindings/v8/V8Proxy.cpp:
29946         (WebCore::V8Proxy::V8Proxy):
29947         (WebCore::V8Proxy::disconnectFrame):
29948         (WebCore::V8Proxy::disconnectEventListeners):
29949         (WebCore::V8Proxy::clearForNavigation):
29950         * bindings/v8/V8Proxy.h:
29951         (WebCore::V8Proxy::listenerGuard):
29952         * bindings/v8/V8WorkerContextEventListener.cpp:
29953         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
29954         * bindings/v8/V8WorkerContextEventListener.h:
29955         (WebCore::V8WorkerContextEventListener::create):
29956         * bindings/v8/WorkerContextExecutionProxy.cpp:
29957         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
29958         (WebCore::WorkerContextExecutionProxy::dispose):
29959         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
29960         * bindings/v8/WorkerContextExecutionProxy.h:
29961         * bindings/v8/custom/V8CustomEventListener.cpp:
29962         (WebCore::V8EventListener::V8EventListener):
29963         * bindings/v8/custom/V8CustomEventListener.h:
29964         (WebCore::V8EventListener::create):
29966 2009-10-02  Kenneth Russell  <kbr@google.com>
29968         Reviewed by Dimitri Glazkov.
29970         [chromium] Fix WebGL build after CustomGetter constructor changes
29971         https://bugs.webkit.org/show_bug.cgi?id=30020
29973         * page/DOMWindow.idl:
29974         Changed CustomGetter to JSCCustomGetter for CanvasArray constructors.
29976 2009-10-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
29978         Reviewed by Timothy Hatcher.
29980         Web Inspector: text in a "Request Payload" section disappears on selection
29981         https://bugs.webkit.org/show_bug.cgi?id=29967
29983         No new tests.
29985         * inspector/front-end/ResourceView.js:
29986         (WebInspector.ResourceView.prototype._refreshRequestPayload):
29988 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
29990         Reviewed by Dimitri Glazkov.
29992         [V8] Recursion guard for V8Proxy::callFunction.
29993         Fixes http://crbug.com/23278.
29994         https://bugs.webkit.org/show_bug.cgi?id=29974
29996         Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html
29998         * bindings/v8/V8Proxy.cpp:
29999         (WebCore::V8Proxy::callFunction):
30001 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
30003         Reviewed by Jon Honeycutt.
30005         Fix test breakages by adding null checks, and putting inspector code in
30006         ENABLE(INSPECTOR).
30008         * dom/Document.cpp:
30009         (WebCore::Document::finishedParsing):
30010         * page/DOMWindow.cpp:
30011         (WebCore::DOMWindow::dispatchLoadEvent):
30013 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30015         Reviewed by Simon Hausmann.
30017         Clean up the QNetworkReplyHandler to only apply HTTP headers
30018         for protocols in the HTTP family.
30020         * platform/network/qt/QNetworkReplyHandler.cpp:
30021         (WebCore::QNetworkReplyHandler::finish):
30022         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
30024 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30026         Reviewed by Simon Hausmann.
30028         Move error check into sendResponseIfNeeded() as suggested
30029         by Eric Seidel. Also, remove some dead code.
30031         * platform/network/qt/QNetworkReplyHandler.cpp:
30032         (WebCore::QNetworkReplyHandler::finish):
30033         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
30035 2009-10-02  Enrica Casucci  <enrica@apple.com>
30037         Reviewed by Adele Peterson.
30039         Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting.
30040         <rdar://problem/7148712>
30041         https://bugs.webkit.org/show_bug.cgi?id=28992
30043         Test: editing/selection/replace-selection-crash.html
30045         * editing/ReplaceSelectionCommand.cpp:
30046         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of
30047         the destination position matching the end of the paragraph to move.
30049 2009-10-02  Jeremy Orlow  <jorlow@chromium.org>
30051         Reviewed by Dimitri Glazkov.
30053         Implement per-storage-area quotas for LocalStorage
30054         https://bugs.webkit.org/show_bug.cgi?id=29991
30056         I put 90% of the code in StorageMap since the decision to allow an update is
30057         closely tied to quota tracking.  The quota is set via a page's Settings class.
30058         Like with the local storage path and whether it's enabled, it's assumed that
30059         all pages in the same group will have the same settings.  The setting defaults
30060         to 5mb which is what the spec suggests, but it can easily be changed to
30061         anything else--including StorageMap::noQuota.  Any values in LocalStorage are
30062         grandfathered in regarudless of quota, so importItem only tracks (and will
30063         never block) imports.
30065         I believe this change is a good transition to more complex quota management.
30066         For example, if we wanted to track quotas in the SQLite DB, then we'd just add
30067         a function to the StorageMap that sets the quota.  This would be fine since all
30068         use of LocalStorage is blocked on the import completing, so you'd never hit a
30069         quota error in the mean time.  Also, if embedders wanted to ask the user
30070         whether to expand the quota whenever it's hit (before deciding whether or not
30071         to raise an exception), a callback via the chrome client should be fairly easy.
30072         That said, I think it's best to add these features in steps rather than one
30073         huge patch.  (Both of these are on my TODO list, btw.)
30075         Included is a layout test that verifies the behavior.  It assumes the default
30076         quota is 5mb (since that's what Settings defaults to).
30078         Test: storage/domstorage/localstorage/quota.html
30080         * page/PageGroup.cpp:
30081         (WebCore::PageGroup::localStorage):
30082         * page/Settings.cpp:
30083         (WebCore::Settings::Settings):
30084         (WebCore::Settings::setLocalStorageQuota):
30085         * page/Settings.h:
30086         (WebCore::Settings::localStorageQuota):
30087         * storage/StorageAreaImpl.cpp:
30088         (WebCore::StorageAreaImpl::create):
30089         (WebCore::StorageAreaImpl::StorageAreaImpl):
30090         (WebCore::StorageAreaImpl::setItem):
30091         (WebCore::StorageAreaImpl::clear):
30092         * storage/StorageAreaImpl.h:
30093         * storage/StorageMap.cpp:
30094         (WebCore::StorageMap::create):
30095         (WebCore::StorageMap::StorageMap):
30096         (WebCore::StorageMap::copy):
30097         (WebCore::StorageMap::setItem):
30098         (WebCore::StorageMap::removeItem):
30099         (WebCore::StorageMap::importItem):
30100         * storage/StorageMap.h:
30101         (WebCore::StorageMap::quota):
30102         * storage/StorageNamespace.cpp:
30103         (WebCore::StorageNamespace::localStorageNamespace):
30104         * storage/StorageNamespace.h:
30105         * storage/StorageNamespaceImpl.cpp:
30106         (WebCore::StorageNamespaceImpl::localStorageNamespace):
30107         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
30108         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
30109         (WebCore::StorageNamespaceImpl::copy):
30110         (WebCore::StorageNamespaceImpl::storageArea):
30111         * storage/StorageNamespaceImpl.h:
30113 2009-10-02  Joseph Pecoraro  <joepeck@webkit.org>
30115         Reviewed by Timothy Hatcher.
30117         Database Inspector crashes Safari when table has more than 21 columns
30118         https://bugs.webkit.org/show_bug.cgi?id=29924
30120         * inspector/front-end/StoragePanel.js:
30121         (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns.
30123 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
30125         Reviewed by Timothy Hatcher.
30127         Fixes <http://webkit.org/b/14370>.
30128         Inspector's timeline should record when certain DOM events fired.
30129         
30130         This patch adds calls into the Web Inspector when the main frame
30131         fires an load event, and when the document fires its DOMContent
30132         event. Once these values are passed in, they are sent to the Web Inspector
30133         as a timing change, and these are denoted by vertical lines in the resources
30134         panel (blue for DOM Content, red for load event).
30136         * English.lproj/localizedStrings.js: Added tooltip text.
30137         * dom/Document.cpp:
30138         (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content.
30139         * inspector/InspectorController.cpp:
30140         (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event.
30141         (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto.
30142         * inspector/InspectorController.h:
30143         * inspector/InspectorResource.cpp:
30144         (WebCore::InspectorResource::InspectorResource): Added new variables.
30145         (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js.
30146         (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event.
30147         (WebCore::InspectorResource::markLoadEventTime): Ditto.
30148         * inspector/InspectorResource.h:
30149         * inspector/front-end/ResourcesPanel.js:
30150         (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime):
30151         (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
30152         (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime):
30153         (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
30154         (WebInspector.ResourcesPanel.prototype.reset):
30155         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings.
30156         (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime):
30157         * inspector/front-end/inspector.css:
30158         * inspector/front-end/inspector.js:
30159         (WebInspector.updateResource):
30160         * page/DOMWindow.cpp:
30161         (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event.
30163 2009-10-02  Dave Hyatt  <hyatt@apple.com>
30165         Reviewed by Adam Roben.
30167         Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
30169         * WebCore.base.exp:
30170         * dom/Document.cpp:
30171         (WebCore::Document::pageGroupUserSheets):
30172         * page/Frame.cpp:
30173         (WebCore::Frame::injectUserScriptsForWorld):
30174         * page/PageGroup.cpp:
30175         (WebCore::PageGroup::addUserScript):
30176         (WebCore::PageGroup::addUserStyleSheet):
30177         (WebCore::PageGroup::removeUserContentWithURLForWorld):
30178         (WebCore::PageGroup::removeUserContentForWorld):
30179         * page/PageGroup.h:
30180         * page/UserContentURLPattern.cpp:
30181         (WebCore::UserContentURLPattern::matchesPatterns):
30182         * page/UserContentURLPattern.h:
30183         * page/UserScript.h:
30184         (WebCore::UserScript::UserScript):
30185         (WebCore::UserScript::whitelist):
30186         (WebCore::UserScript::blacklist):
30187         * page/UserStyleSheet.h:
30188         (WebCore::UserStyleSheet::UserStyleSheet):
30189         (WebCore::UserStyleSheet::whitelist):
30190         (WebCore::UserStyleSheet::blacklist):
30192 2009-10-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30194         Reviewed by Darin Adler.
30196         Build fix when SVG is not enabled
30197         https://bugs.webkit.org/show_bug.cgi?id=30011
30199         Move TextRenderingMode related functions out from
30200         the ENABLE(SVG) guard.
30202         * css/CSSPrimitiveValueMappings.h:
30203         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30204         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
30206 2009-10-02  Kenneth Russell  <kbr@google.com>
30208         Reviewed by Oliver Hunt.
30210         WebGL crashes with recent CanvasArray change
30211         https://bugs.webkit.org/show_bug.cgi?id=30018
30213         Test: fast/canvas/webgl/array-unit-tests.html
30215         * html/canvas/CanvasArray.cpp:
30216         (WebCore::CanvasArray::CanvasArray):
30217         Fix bug where PassRefPtr was tested after transferring value to RefPtr.
30219 2009-10-02  Steve Falkenburg  <sfalken@apple.com>
30221         Reviewed by Mark Rowe.
30223         <https://bugs.webkit.org/show_bug.cgi?id=29989>
30224         Safari version number shouldn't be exposed in WebKit code
30225         
30226         For a WebKit version of 532.3.4:
30227         Product version is: 5.32.3.4 (was 4.0.3.0)
30228         File version is: 5.32.3.4 (was 4.532.3.4)
30230         * WebCore.vcproj/QTMovieWin.rc:
30232 2009-10-02  Stephen White  <senorblanco@chromium.org>
30234         Reviewed by Dimitri Glazkov.
30236         Enable two point radial gradients in Chromium/Skia.
30238         https://bugs.webkit.org/show_bug.cgi?id=30017
30240         Covered by the following tests:
30242         LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg
30243         LayoutTests/fast/backgrounds/svg-as-background-3.html
30244         LayoutTests/fast/gradients/generated-gradients.html
30245         LayoutTests/fast/gradients/simple-gradients.html
30247         * platform/graphics/skia/GradientSkia.cpp:
30248         (WebCore::Gradient::platformGradient):
30250 2009-10-02  Norbert Leser  <norbert.leser@nokia.com>
30252         Reviewed by Simon Hausmann.
30254         Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
30255         Otherwise, it is inconsistent with class declaration of QCursor.
30257         No new tests.
30259         * platform/qt/QWebPageClient.h:
30261 2009-10-02  Philippe Normand  <pnormand@igalia.com>
30263         Reviewed by Gustavo Noronha.
30265         [GTK] missing support for anamorphic PAR video size
30266         https://bugs.webkit.org/show_bug.cgi?id=29717
30268         cleanup of caps handling in the video sink
30270         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
30271         (webkit_video_sink_set_caps):
30273 2009-10-02  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
30275         Reviewed by Simon Hausmann.
30277         Fix compiler warnings about unused function arguments.
30279         * bridge/qt/qt_class.h:
30280         * bridge/qt/qt_runtime.cpp:
30281         (JSC::Bindings::QtRuntimeMetaMethod::call):
30282         (JSC::Bindings::QtRuntimeConnectionMethod::call):
30283         * dom/XMLTokenizerQt.cpp:
30284         (WebCore::XMLTokenizer::initializeParserContext):
30285         * platform/graphics/qt/FontCacheQt.cpp:
30286         (WebCore::FontCache::getTraitsInFamily):
30287         (WebCore::FontCache::getCachedFontPlatformData):
30288         * platform/graphics/qt/FontFallbackListQt.cpp:
30289         (WebCore::FontFallbackList::setPlatformFont):
30290         * platform/graphics/qt/FontQt.cpp:
30291         (WebCore::Font::offsetForPositionForComplexText):
30292         * platform/graphics/qt/GraphicsContextQt.cpp:
30293         (WebCore::GraphicsContext::drawLineForText):
30294         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
30295         (WebCore::GraphicsContext::setPlatformShadow):
30296         (WebCore::GraphicsContext::setURLForRect):
30297         * platform/graphics/qt/IconQt.cpp:
30298         (WebCore::Icon::createIconForFiles):
30299         * platform/graphics/qt/ImageBufferQt.cpp:
30300         (WebCore::ImageBuffer::ImageBuffer):
30301         * platform/graphics/qt/ImageDecoderQt.cpp:
30302         (WebCore::ImageDecoderQt::frameBufferAtIndex):
30303         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
30304         (WebCore::MediaPlayerPrivate::supportsType):
30305         (WebCore::MediaPlayerPrivate::setEndTime):
30306         * platform/graphics/qt/SimpleFontDataQt.cpp:
30307         (WebCore::SimpleFontData::containsCharacters):
30308         * platform/graphics/qt/StillImageQt.h:
30309         (WebCore::StillImage::destroyDecodedData):
30310         * platform/network/qt/DnsPrefetchHelper.h:
30311         (WebCore::DnsPrefetchHelper::lookedUp):
30312         * platform/qt/ContextMenuQt.cpp:
30313         (WebCore::ContextMenu::setPlatformDescription):
30314         * platform/qt/DragDataQt.cpp:
30315         (WebCore::DragData::asURL):
30316         * platform/qt/PopupMenuQt.cpp:
30317         (WebCore::PopupMenu::populate):
30318         * platform/qt/RenderThemeQt.cpp:
30319         (WebCore::RenderThemeQt::supportsFocusRing):
30320         (WebCore::RenderThemeQt::systemFont):
30321         (WebCore::RenderThemeQt::adjustButtonStyle):
30322         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
30323         (WebCore::RenderThemeQt::paintMediaSeekBackButton):
30324         (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
30325         * platform/qt/ScrollViewQt.cpp:
30326         (WebCore::ScrollView::platformAddChild):
30327         * platform/qt/SearchPopupMenuQt.cpp:
30328         (WebCore::SearchPopupMenu::saveRecentSearches):
30329         (WebCore::SearchPopupMenu::loadRecentSearches):
30330         * platform/qt/TemporaryLinkStubs.cpp:
30331         (WebCore::signedPublicKeyAndChallengeString):
30332         * platform/qt/WidgetQt.cpp:
30333         (WebCore::Widget::paint):
30334         * xml/XSLStyleSheetQt.cpp:
30335         (WebCore::XSLStyleSheet::loadChildSheet):
30336         (WebCore::XSLStyleSheet::setParentStyleSheet):
30337         * xml/XSLTProcessorQt.cpp:
30338         (WebCore::XSLTMessageHandler::handleMessage):
30339         (WebCore::XSLTProcessor::transformToString):
30341 2009-10-02  Philippe Normand  <pnormand@igalia.com>
30343         Reviewed by Gustavo Noronha.
30345         [GTK] missing support for anamorphic PAR video size
30346         https://bugs.webkit.org/show_bug.cgi?id=29717
30348         Scale the cairo surface of the video sink depending on the
30349         pixel-aspect-ratio of the video buffer to paint. Also
30350         destruct/re-create the surface when setSize() is called with a new
30351         size.
30353         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
30354         (WebCore::MediaPlayerPrivate::naturalSize):
30355         (WebCore::MediaPlayerPrivate::setSize):
30356         (WebCore::MediaPlayerPrivate::paint):
30357         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
30358         (webkit_video_sink_idle_func):
30360 2009-10-02  Ben Murdoch  <benm@google.com>
30362         Reviewed by David Kilzer.
30364         Stale database version persists through browser refresh (changeVersion doesn't work)
30365         https://bugs.webkit.org/show_bug.cgi?id=27836
30367         Tests: storage/change-version-handle-reuse.html
30368                storage/change-version.html
30370         * bindings/v8/custom/V8DatabaseCustom.cpp:
30371         (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion().
30372         (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback.
30373         * storage/Database.cpp:
30374         (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map.
30375         (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps.
30376         (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour.
30377         (WebCore::Database::close): Move the code that updates the maps from the destructor to here.
30378         (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly.
30379         (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version.
30381 2009-10-02  Janne Koskinen <janne.p.koskinen@digia.com>
30383         Reviewed by Simon Hausmann.
30385         Partial WINSCW build fix.
30387         Add parentheses around the function pointer declaration, similar to the
30388         second hunk in r48825.
30390         * loader/CachedResourceHandle.h:
30392 2009-10-02  Adam Barth  <abarth@webkit.org>
30394         Unreviewed attempted build fix by Xcode magic.
30396         * WebCore.xcodeproj/project.pbxproj:
30398 2009-10-02  Adam Barth  <abarth@webkit.org>
30400         Unreviewed build fix.  Actually add the new files.
30402         * loader/RedirectScheduler.cpp: Added.
30403         (WebCore::ScheduledRedirection::):
30404         (WebCore::ScheduledRedirection::ScheduledRedirection):
30405         (WebCore::RedirectScheduler::RedirectScheduler):
30406         (WebCore::RedirectScheduler::~RedirectScheduler):
30407         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
30408         (WebCore::RedirectScheduler::clear):
30409         (WebCore::RedirectScheduler::scheduleRedirect):
30410         (WebCore::RedirectScheduler::mustLockBackForwardList):
30411         (WebCore::RedirectScheduler::scheduleLocationChange):
30412         (WebCore::RedirectScheduler::scheduleFormSubmission):
30413         (WebCore::RedirectScheduler::scheduleRefresh):
30414         (WebCore::RedirectScheduler::locationChangePending):
30415         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
30416         (WebCore::RedirectScheduler::timerFired):
30417         (WebCore::RedirectScheduler::schedule):
30418         (WebCore::RedirectScheduler::startTimer):
30419         (WebCore::RedirectScheduler::cancel):
30420         * loader/RedirectScheduler.h: Added.
30422 2009-10-01  Adam Barth  <abarth@webkit.org>
30424         Reviewed by Darin Adler.
30426         Move RedirectScheduler to its own file
30427         https://bugs.webkit.org/show_bug.cgi?id=29952
30429         This change is purely code motion.
30431         No behavior change.
30433         * GNUmakefile.am:
30434         * WebCore.gypi:
30435         * WebCore.pro:
30436         * WebCore.vcproj/WebCore.vcproj:
30437         * WebCore.xcodeproj/project.pbxproj:
30438         * WebCoreSources.bkl:
30439         * loader/FrameLoader.cpp:
30440         * loader/FrameLoader.h:
30441         * loader/RedirectScheduler.cpp: Added.
30442         (WebCore::ScheduledRedirection::):
30443         (WebCore::ScheduledRedirection::ScheduledRedirection):
30444         (WebCore::RedirectScheduler::RedirectScheduler):
30445         (WebCore::RedirectScheduler::~RedirectScheduler):
30446         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
30447         (WebCore::RedirectScheduler::clear):
30448         (WebCore::RedirectScheduler::scheduleRedirect):
30449         (WebCore::RedirectScheduler::mustLockBackForwardList):
30450         (WebCore::RedirectScheduler::scheduleLocationChange):
30451         (WebCore::RedirectScheduler::scheduleFormSubmission):
30452         (WebCore::RedirectScheduler::scheduleRefresh):
30453         (WebCore::RedirectScheduler::locationChangePending):
30454         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
30455         (WebCore::RedirectScheduler::timerFired):
30456         (WebCore::RedirectScheduler::schedule):
30457         (WebCore::RedirectScheduler::startTimer):
30458         (WebCore::RedirectScheduler::cancel):
30459         * loader/RedirectScheduler.h: Added.
30461 2009-10-02  Dave MacLachlan  <dmaclach@gmail.com>
30463         Reviewed by David Levin.
30465         Clean up warnings in WebCore/bindings/v8/npruntime.cpp
30466         https://bugs.webkit.org/show_bug.cgi?id=29971
30468         Gets rid of warnings on gcc about using anonymous namespaces 
30469           warning: 'StringKeyHashTraits' has a base
30470           'WTF::GenericHashTraits<<unnamed>::StringKey>' 
30471           whose type uses the anonymous namespace
30472         and
30473           warning: 'WTF::PairHashTraits<StringKeyHashTraits,
30474           WTF::HashTraits<PrivateIdentifier*> >' has a base
30475           'WTF::GenericHashTraits<std::pair<<unnamed>::StringKey,
30476           PrivateIdentifier*> >' whose type uses the anonymous namespace
30478         No tests required.
30480         * bindings/v8/npruntime.cpp:
30482 2009-10-01  Mark Rowe  <mrowe@apple.com>
30484         Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
30486         * Configurations/FeatureDefines.xcconfig:
30488 2009-10-01  Chris Marrin  <cmarrin@apple.com>
30490         Reviewed by Oliver Hunt.
30492         Turn on ENABLE_3D_CANVAS in TOT
30493         https://bugs.webkit.org/show_bug.cgi?id=29906
30495         Fixed a bug found when running tests with flag on
30497         * Configurations/FeatureDefines.xcconfig:
30498         * WebCore.base.exp:
30499         * bindings/js/JSCanvasArrayBufferConstructor.h:
30500         (WebCore::construct):
30501         * html/HTMLCanvasElement.cpp:
30502         (WebCore::HTMLCanvasElement::getContext):
30503         * html/canvas/CanvasArray.cpp:
30504         (WebCore::CanvasArray::CanvasArray):
30505         * html/canvas/CanvasByteArray.cpp:
30506         (WebCore::CanvasByteArray::create):
30507         * html/canvas/CanvasFloatArray.cpp:
30508         (WebCore::CanvasFloatArray::create):
30509         * html/canvas/CanvasIntArray.cpp:
30510         (WebCore::CanvasIntArray::create):
30511         * html/canvas/CanvasShortArray.cpp:
30512         (WebCore::CanvasShortArray::create):
30513         * html/canvas/CanvasUnsignedByteArray.cpp:
30514         (WebCore::CanvasUnsignedByteArray::create):
30515         * html/canvas/CanvasUnsignedIntArray.cpp:
30516         (WebCore::CanvasUnsignedIntArray::create):
30517         * html/canvas/CanvasUnsignedShortArray.cpp:
30518         (WebCore::CanvasUnsignedShortArray::create):
30519         * page/Settings.cpp:
30520         (WebCore::Settings::Settings):
30521         (WebCore::Settings::setWebGLEnabled):
30522         * page/Settings.h:
30523         (WebCore::Settings::webGLEnabled):
30525 2009-10-01  Beth Dakin  <bdakin@apple.com>
30527         Reviewed by Dan Bernstein.
30529         Fix for <rdar://problem/7264725> Re-add a vendor prefix to box-
30530         shadow (29927)
30531         -and corresponding-
30532         https://bugs.webkit.org/show_bug.cgi?id=29927
30534         * css/CSSComputedStyleDeclaration.cpp:
30535         (WebCore::):
30536         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
30537         * css/CSSParser.cpp:
30538         (WebCore::CSSParser::parseValue):
30539         (WebCore::ShadowParseContext::ShadowParseContext):
30540         (WebCore::ShadowParseContext::commitValue):
30541         (WebCore::ShadowParseContext::commitLength):
30542         (WebCore::ShadowParseContext::commitColor):
30543         (WebCore::cssPropertyID):
30544         * css/CSSPropertyNames.in:
30545         * css/CSSStyleSelector.cpp:
30546         (WebCore::CSSStyleSelector::applyProperty):
30547         * page/animation/AnimationBase.cpp:
30548         (WebCore::ensurePropertyMap):
30550 2009-10-01  Beth Dakin  <bdakin@apple.com>
30552         Rubber-stamped by Sam Weinig.
30554         At bad merge at some point in the development of my patch must have 
30555         put TextRenderMode.h in a weird spot in the xcodeproj. Moving it 
30556         back where it belongs!
30558         * WebCore.xcodeproj/project.pbxproj:
30560 2009-09-30  Adam Barth  <abarth@webkit.org>
30562         Reviewed by Darin Adler.
30564         Remove FrameLoader::schedule* APIs
30565         https://bugs.webkit.org/show_bug.cgi?id=29950
30567         Change clients of FrameLoader::schedule* to call redirectScheduler
30568         directly.
30570         No behavior change.
30572         * bindings/js/JSDOMWindowCustom.cpp:
30573         (WebCore::JSDOMWindow::setLocation):
30574         (WebCore::createWindow):
30575         (WebCore::JSDOMWindow::open):
30576         * bindings/js/JSDocumentCustom.cpp:
30577         (WebCore::JSDocument::setLocation):
30578         * bindings/js/JSLocationCustom.cpp:
30579         (WebCore::navigateIfAllowed):
30580         (WebCore::JSLocation::reload):
30581         * bindings/v8/V8Utilities.cpp:
30582         (WebCore::navigateIfAllowed):
30583         * bindings/v8/custom/V8DOMWindowCustom.cpp:
30584         (WebCore::createWindow):
30585         (WebCore::CALLBACK_FUNC_DECL):
30586         * bindings/v8/custom/V8LocationCustom.cpp:
30587         (WebCore::CALLBACK_FUNC_DECL):
30588         * dom/Document.cpp:
30589         (WebCore::Document::implicitClose):
30590         (WebCore::Document::processHttpEquiv):
30591         * html/HTMLTokenizer.cpp:
30592         (WebCore::HTMLTokenizer::write):
30593         * loader/FrameLoader.cpp:
30594         (WebCore::FrameLoader::requestFrame):
30595         (WebCore::FrameLoader::submitForm):
30596         (WebCore::FrameLoader::receivedFirstData):
30597         * loader/FrameLoader.h:
30598         * loader/appcache/ApplicationCacheGroup.cpp:
30599         (WebCore::ApplicationCacheGroup::selectCache):
30600         * page/History.cpp:
30601         (WebCore::History::back):
30602         (WebCore::History::forward):
30603         (WebCore::History::go):
30605 2009-10-01  Beth Dakin  <bdakin@apple.com>
30607         Just removing a comment I accidentally committed earlier. 
30609         * platform/graphics/mac/SimpleFontDataMac.mm:
30610         (WebCore::SimpleFontData::getCFStringAttributes):
30612 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
30614         Reviewed by Darin Adler.
30616         Clean up use of const and mutable in StorageMap
30617         https://bugs.webkit.org/show_bug.cgi?id=29933
30619         What's the point of having every single member variable be mutable and nearly
30620         every method be const?  Let's clean it up.
30622         * storage/StorageMap.cpp:
30623         (WebCore::StorageMap::setIteratorToIndex):
30624         (WebCore::StorageMap::key):
30625         (WebCore::StorageMap::importItem):
30626         * storage/StorageMap.h:
30628 2009-10-01  Beth Dakin  <bdakin@apple.com>
30630         Reviewed by Dave Hyatt.
30632         Fix for <rdar://problem/6934421> Support CSS for Text Kerning and 
30633         ligature
30634         -and corresponding-
30635         https://bugs.webkit.org/show_bug.cgi?id=6136
30637         This patch makes the SVG CSS property text-rendering work with any 
30638         HTML, much like it does in Firefox. It accepts four possible input 
30639         values: auto, optimizeSpeed, optimizeLegibility, and 
30640         geometricPrecision. Right now, in this implementation, here is what 
30641         those values correspond to:
30643         auto = optimizeSpeed = what we normally when the value's not set
30644         optimizeLegibility = geometricPrecision = ligatures kerning
30646         Add new file TextRenderingMode.h to the project files.
30647         * WebCore.vcproj/WebCore.vcproj:
30648         * WebCore.xcodeproj/project.pbxproj:
30650         CSS support for the new CSSPropertyTextRendering
30651         * css/CSSComputedStyleDeclaration.cpp:
30652         (WebCore::):
30653         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
30654         * css/CSSParser.cpp:
30655         (WebCore::CSSParser::parseValue):
30656         * css/CSSPrimitiveValueMappings.h:
30657         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30658         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
30659         * css/CSSPropertyNames.in:
30660         * css/CSSStyleSelector.cpp:
30661         (WebCore::CSSStyleSelector::applyProperty):
30662         * css/CSSValueKeywords.in:
30664         All the old SVG CSS support for this property can go away. When 
30665         it's used in SVG, it will just fall into the normal HTML case.
30666         * css/SVGCSSComputedStyleDeclaration.cpp:
30667         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
30668         * css/SVGCSSParser.cpp:
30669         (WebCore::CSSParser::parseSVGValue):
30670         * css/SVGCSSPropertyNames.in:
30671         * css/SVGCSSStyleSelector.cpp:
30672         (WebCore::CSSStyleSelector::applySVGProperty):
30673         * css/SVGCSSValueKeywords.in:
30675         FontDescription stores the m_textRendering bit.
30676         * platform/graphics/FontDescription.h:
30677         (WebCore::FontDescription::FontDescription):
30678         (WebCore::FontDescription::textRenderingMode):
30679         (WebCore::FontDescription::setTextRenderingMode):
30680         (WebCore::FontDescription::operator==):
30682         We want to fall into the complex text rendering code path if 
30683         kerning and ligatures have been enabled with this property.
30684         * platform/graphics/FontFastPath.cpp:
30685         (WebCore::Font::canUseGlyphCache):
30687         Now takes a TextRenderingMode as a parameter.
30688         * platform/graphics/SimpleFontData.h:
30690         New header for the enum.
30691         * platform/graphics/TextRenderingMode.h: Added.
30692         (WebCore::):
30694         getCFStringAttributes() now takes a TextRenderingMode as an 
30695         attribute.
30696         * platform/graphics/mac/CoreTextController.cpp:
30697         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
30699         Enable kerning and ligatures whenever the TextRenderingMode is 
30700         OptimizeLegibility or GeometricPrecision
30701         * platform/graphics/mac/FontMacATSUI.mm:
30702         (WebCore::disableLigatures):
30703         (WebCore::initializeATSUStyle):
30704         (WebCore::ATSULayoutParameters::initialize):
30705         * platform/graphics/mac/SimpleFontDataMac.mm:
30706         (WebCore::SimpleFontData::getCFStringAttributes):
30708         More SVG CSS stuff that isn't needed anymore since SVG will use the 
30709         new HTML CSS implementation.
30710         * rendering/style/SVGRenderStyle.h:
30711         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
30712         (WebCore::SVGRenderStyle::setBitDefaults):
30713         * rendering/style/SVGRenderStyleDefs.h:
30715 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
30717         Reviewed by Timothy Hatcher.
30719         Use isClosure property of scope proxy to decide whether the
30720         scope is a closure.
30722         https://bugs.webkit.org/show_bug.cgi?id=29965
30724         * inspector/front-end/ScopeChainSidebarPane.js:
30725         (WebInspector.ScopeChainSidebarPane.prototype.update):
30727 2009-10-01  Simon Fraser  <simon.fraser@apple.com>
30729         Reviewed by Dave Hyatt.
30731         Odd color transitions on anchors with transition-property: all
30732         https://bugs.webkit.org/show_bug.cgi?id=29911
30734         When transitioning maybe-invalid colors, if the source and destination
30735         color are both invalid, then don't animate.
30736         
30737         This fixes an issue where a child element of an element running a color
30738         transition, with -webkit-transition-property:all, would show a color change.
30739         This happened because the "maybe invalid color" logic copied the color style
30740         into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color
30741         to animate while the transition ran, and to then to disappear when the transition
30742         finished.
30743         
30744         Test: transitions/color-transition-all.html
30746         * page/animation/AnimationBase.cpp:
30747         (WebCore::PropertyWrapperMaybeInvalidColor::equals):
30748         (WebCore::PropertyWrapperMaybeInvalidColor::blend):
30750 2009-10-01  Victor Wang  <victorw@chromium.org>
30752         Reviewed by Oliver Hunt.
30754         Allow dragging a node who has child nodes.
30756         https://bugs.webkit.org/show_bug.cgi?id=28632
30758         Test: fast/events/drag-parent-node.html
30760         * page/EventHandler.cpp:
30761         (WebCore::EventHandler::shouldDragAutoNode):
30763 2009-10-01  Philippe Normand  <pnormand@igalia.com>
30765         Reviewed by Gustavo Noronha.
30767         [GTK] media player: better mute support
30768         https://bugs.webkit.org/show_bug.cgi?id=29960
30770         Handle volume and mute state with the two corresponding properties
30771         of playbin2.
30773         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
30774         (WebCore::MediaPlayerPrivate::setMuted):
30775         (WebCore::MediaPlayerPrivate::setVolume):
30777 2009-10-01  Philippe Normand  <pnormand@igalia.com>
30779         Reviewed by Gustavo Noronha.
30781         [GTK] video sink pad template colorspace is wrong
30782         https://bugs.webkit.org/show_bug.cgi?id=29953
30784         Set sink pad template colorspace depending on byte order.
30786         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
30787         (webkit_video_sink_idle_func):
30789 2009-10-01  Vitaly Repeshko  <vitalyr@chromium.org>
30791         Reviewed by Dimitri Glazkov.
30793         [V8] Refactored V8 event listeners:
30794         (This change should fix http://crbug.com/21079 and
30795         https://bugs.webkit.org/show_bug.cgi?id=29093.)
30796          o All listeners use weak handles to JS objects to avoid creating
30797            cycles and leaking memory.
30798          o "Object" variants of listeners removed.
30799          o All event accessor callbacks are generated.
30800          o Custom event accessors removed.
30801          o All wrappers have hidden dependencies on their listeners to
30802            prevent listeners from being collected.
30803          o All variats of getEventListener function grouped in V8DOMWrapper.
30804          o Pointers to C+EventListener wrappers are stored in JS objects
30805            instead of event listener lists.
30806         https://bugs.webkit.org/show_bug.cgi?id=29825
30808         * WebCore.gypi: Removed "Object" listeners.
30809         * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors.
30810         * bindings/v8/DOMObjectsInclude.h:
30812         V8AbstractEventListener manages weak JS handle:
30813         * bindings/v8/V8AbstractEventListener.cpp:
30814         (WebCore::weakEventListenerCallback):
30815         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
30816         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
30817         (WebCore::V8AbstractEventListener::handleEvent):
30818         (WebCore::V8AbstractEventListener::disposeListenerObject):
30819         (WebCore::V8AbstractEventListener::setListenerObject):
30820         * bindings/v8/V8AbstractEventListener.h:
30821         (WebCore::V8AbstractEventListener::cast):
30822         (WebCore::V8AbstractEventListener::isLazy):
30823         (WebCore::V8AbstractEventListener::getListenerObject):
30824         (WebCore::V8AbstractEventListener::getExistingListenerObject):
30825         (WebCore::V8AbstractEventListener::hasExistingListenerObject):
30826         (WebCore::V8AbstractEventListener::disconnectFrame):
30827         (WebCore::V8AbstractEventListener::disconnected):
30828         (WebCore::V8AbstractEventListener::prepareListenerObject):
30829         (WebCore::V8AbstractEventListener::lineNumber):
30830         (WebCore::V8AbstractEventListener::virtualisAttribute):
30832         Grouped getEventListener functions:
30833         * bindings/v8/V8DOMWrapper.cpp:
30834         (WebCore::V8DOMWrapper::getTemplate):
30835         (WebCore::V8DOMWrapper::getEventListener):
30836         * bindings/v8/V8DOMWrapper.h:
30838         Removed most event listener objects bookkeeping:
30839         * bindings/v8/V8EventListenerList.cpp:
30840         * bindings/v8/V8EventListenerList.h:
30841         (WebCore::V8EventListenerList::findWrapper):
30842         (WebCore::V8EventListenerList::clearWrapper):
30843         (WebCore::V8EventListenerList::doFindWrapper):
30844         (WebCore::V8EventListenerList::getHiddenProperty):
30845         (WebCore::V8EventListenerList::findOrCreateWrapper):
30847         Added hidden properties for storing EventListener wrappers:
30848         * bindings/v8/V8HiddenPropertyName.cpp:
30849         (WebCore::V8HiddenPropertyName::listener):
30850         (WebCore::V8HiddenPropertyName::attributeListener):
30851         * bindings/v8/V8HiddenPropertyName.h:
30853         * bindings/v8/V8LazyEventListener.cpp:
30854         (WebCore::V8LazyEventListener::V8LazyEventListener):
30855         (WebCore::V8LazyEventListener::callListenerFunction):
30856         (WebCore::V8LazyEventListener::prepareListenerObject):
30857         * bindings/v8/V8LazyEventListener.h:
30858         (WebCore::V8LazyEventListener::isLazy):
30859         * bindings/v8/V8ObjectEventListener.cpp: Removed.
30860         * bindings/v8/V8ObjectEventListener.h: Removed.
30861         * bindings/v8/V8Proxy.cpp:
30862         (WebCore::V8Proxy::disconnectFrame):
30863         (WebCore::V8Proxy::disconnectEventListeners):
30864         * bindings/v8/V8Proxy.h:
30865         * bindings/v8/V8WorkerContextEventListener.cpp:
30866         (WebCore::V8WorkerContextEventListener::reportError):
30867         (WebCore::V8WorkerContextEventListener::getReceiverObject):
30868         * bindings/v8/V8WorkerContextEventListener.h:
30869         * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed.
30870         * bindings/v8/V8WorkerContextObjectEventListener.h: Removed.
30871         * bindings/v8/WorkerContextExecutionProxy.cpp:
30872         (WebCore::WorkerContextExecutionProxy::dispose):
30873         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
30874         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
30875         * bindings/v8/WorkerContextExecutionProxy.h:
30876         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
30877         (WebCore::CALLBACK_FUNC_DECL):
30878         * bindings/v8/custom/V8CustomBinding.h:
30879         * bindings/v8/custom/V8CustomEventListener.cpp:
30880         (WebCore::V8EventListener::V8EventListener):
30881         (WebCore::V8EventListener::getListenerFunction):
30882         (WebCore::V8EventListener::callListenerFunction):
30883         * bindings/v8/custom/V8CustomEventListener.h:
30884         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
30885         (WebCore::CALLBACK_FUNC_DECL):
30886         * bindings/v8/custom/V8DOMWindowCustom.cpp:
30887         (WebCore::CALLBACK_FUNC_DECL):
30888         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
30889         * bindings/v8/custom/V8MessagePortCustom.cpp:
30890         (WebCore::getEventListener):
30891         (WebCore::CALLBACK_FUNC_DECL):
30892         * bindings/v8/custom/V8NodeCustom.cpp:
30893         (WebCore::CALLBACK_FUNC_DECL):
30894         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
30895         (WebCore::CALLBACK_FUNC_DECL):
30896         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
30897         (WebCore::CALLBACK_FUNC_DECL):
30898         * bindings/v8/custom/V8WebSocketCustom.cpp:
30899         * bindings/v8/custom/V8WorkerContextCustom.cpp:
30900         (WebCore::CALLBACK_FUNC_DECL):
30901         * bindings/v8/custom/V8WorkerCustom.cpp:
30902         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
30903         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
30904         (WebCore::CALLBACK_FUNC_DECL):
30905         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
30907 2009-10-01  Alexis Menard  <alexis.menard@nokia.com>
30909         Reviewed by Tor Arne Vestbø.
30911         Rename QWebGraphicsItem to QGraphicsWebView
30913         * WebCore.pro:
30915 2009-10-01  Dumitru Daniliuc  <dumi@chromium.org>
30917         Reviewed by Dimitri Glazkov.
30919         Read-only transactions do not change file sizes and therefore
30920         should not trigger quota updates.
30922         https://bugs.webkit.org/show_bug.cgi?id=29945
30924         * storage/SQLTransaction.cpp:
30925         (WebCore::SQLTransaction::openTransactionAndPreflight):
30926         (WebCore::SQLTransaction::runStatements):
30928 2009-09-30  Timothy Hatcher  <timothy@apple.com>
30930         Fix list box scrolling by correctly overriding the scroll()
30931         function on RenderBox.
30933         <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling
30934         of listboxes is broken (29756)
30936         Reviewed by Dan Bernstein.
30938         * rendering/RenderListBox.cpp:
30939         (WebCore::RenderListBox::scroll):
30940         * rendering/RenderListBox.h:
30941         * rendering/RenderTextControlSingleLine.cpp:
30942         (WebCore::RenderTextControlSingleLine::scroll):
30943         * rendering/RenderTextControlSingleLine.h:
30945 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
30947         Reviewed by Timothy Hatcher.
30949         Make a copy of listeners array before dispatching an event in
30950         WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current
30951         listener removes itself from the array next listener will be skipped.
30953         https://bugs.webkit.org/show_bug.cgi?id=29920
30955         * inspector/front-end/Object.js:
30956         (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event
30958 2009-10-01  Martin Robinson  <martin.james.robinson@gmail.com>
30960         Reviewed by Xan Lopez.
30962         [GTK] GtkIMContext filtering interferes with DOM key events
30963         https://bugs.webkit.org/show_bug.cgi?id=28733
30965         Ensure that keyboard events filtered by the GtkIMContext still create
30966         the proper DOM events.
30968         No tests added. Instead previously skipped tests have been enabled.
30970         * platform/gtk/KeyEventGtk.cpp:
30971         (WebCore::keyIdentifierForGdkKeyCode):
30972         (WebCore::singleCharacterString):
30974 2009-10-01  Philippe Normand  <pnormand@igalia.com>
30976         Reviewed by Xan Lopez.
30978         [GTK] data: uri support in media player
30979         https://bugs.webkit.org/show_bug.cgi?id=29842
30981         New GStreamer element to handle data: uris. For now only base64
30982         encoded data is supported. Decoded data is handed over to
30983         giostreamsrc.
30985         * GNUmakefile.am:
30986         * platform/graphics/gtk/DataSourceGStreamer.cpp: Added.
30987         (_do_init):
30988         (webkit_data_src_base_init):
30989         (webkit_data_src_class_init):
30990         (webkit_data_src_reset):
30991         (webkit_data_src_init):
30992         (webkit_data_src_finalize):
30993         (webkit_data_src_uri_get_type):
30994         (webkit_data_src_uri_get_protocols):
30995         (webkit_data_src_uri_get_uri):
30996         (webkit_data_src_uri_set_uri):
30997         (webkit_data_src_uri_handler_init):
30998         * platform/graphics/gtk/DataSourceGStreamer.h: Added.
30999         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
31000         (WebCore::do_gst_init):
31001         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
31002         (WebCore::MediaPlayerPrivate::mimeTypeCache):
31004 2009-09-30  Daniel Bates  <dbates@webkit.org>
31006         Reviewed by Adam Barth.
31008         https://bugs.webkit.org/show_bug.cgi?id=29944
31009         
31010         Reduces false positives in the XSSAuditor by explicitly allowing requests
31011         that do not contain illegal URI characters.
31012         
31013         As a side effect of this change, the tests property-inject.html, 
31014         property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html 
31015         fail because these attacks do not contain any illegal URI characters and 
31016         thus are now allowed by the XSSAuditor, where previously they weren't. A future
31017         change may reinstate this functionality.
31019         Tests: http/tests/security/xssAuditor/script-tag-safe2.html
31020                http/tests/security/xssAuditor/script-tag-safe3.html
31022         * page/XSSAuditor.cpp:
31023         (WebCore::isIllegalURICharacter): Added method.
31024         (WebCore::XSSAuditor::canEvaluate):
31025         (WebCore::XSSAuditor::canCreateInlineEventListener):
31026         (WebCore::XSSAuditor::findInRequest): Added parameter 
31027         allowRequestIfNoIllegalURICharacters.
31028         * page/XSSAuditor.h:
31030 2009-09-30  Oliver Hunt  <oliver@apple.com>
31032         Reviewed by Maciej Stachowiak.
31034         reproducible freeze and crash on closing form popup at bosch-home.nl
31035         https://bugs.webkit.org/show_bug.cgi?id=28948
31037         showModalDialog calls getDirect on what is actually a window shell,
31038         so ends up not getting a value (since no value can ever be placed
31039         directly on the shell), which leads to incorrect behaviour.
31041         We use a manual test rather than automatic as it was not
31042         possible to get a modal run loop to work inside DRT.
31044         * bindings/js/JSDOMWindowCustom.cpp:
31045         (WebCore::JSDOMWindow::showModalDialog):
31046         * manual-tests/showModalDialog-returnValue.html: manual testcase.
31048 2009-09-30  Kent Tamura  <tkent@chromium.org>
31050         Reviewed by Darin Adler.
31052         Adds ValidityState.tooLong support for <input> and <textarea>.
31054         Introduces tooLong() in HTMLFormControlElement and it always returns false.
31055         HTMLInputElement and HTMLTextAreaElement overrides it and checks the text
31056         length and maxLength.  tooLong() should work only for `dirty' values.
31057         So, introduces m_isDirty flag for HTMLTextAreaElement, and
31058         !m_data.value().isNull() works as a dirty flag for HTMLInputElement.
31060         Renames parameter names of setMaxLength().
31062         https://bugs.webkit.org/show_bug.cgi?id=27454
31064         Tests: fast/forms/ValidityState-tooLong-input.html
31065                fast/forms/ValidityState-tooLong-textarea.html
31067         * html/HTMLFormControlElement.h:
31068         (WebCore::HTMLFormControlElement::tooLong):
31069         * html/HTMLInputElement.cpp:
31070         (WebCore::HTMLInputElement::tooLong):
31071         (WebCore::HTMLInputElement::setMaxLength):
31072         * html/HTMLInputElement.h:
31073         * html/HTMLTextAreaElement.cpp:
31074         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
31075         (WebCore::HTMLTextAreaElement::reset):
31076         (WebCore::HTMLTextAreaElement::updateValue):
31077         (WebCore::HTMLTextAreaElement::setMaxLength):
31078         (WebCore::HTMLTextAreaElement::tooLong):
31079         * html/HTMLTextAreaElement.h:
31080         * html/ValidityState.h:
31081         (WebCore::ValidityState::tooLong):
31083 2009-09-30  Adam Barth  <abarth@webkit.org>
31085         Reviewed by Maciej Stachowiak.
31087         Factor RedirectScheduler out of FrameLoader
31088         https://bugs.webkit.org/show_bug.cgi?id=29948
31090         This change introduces a new sub-object of Frame, redirectScheduler.
31091         The redirectScheduler is responsible for scheduling redirects.
31093         This change leaves the code for the redirectScheduler in
31094         FrameLoader.cpp.  A future change will move the class into its own
31095         file.
31097         No behavior change (hopefully!).
31099         * loader/FrameLoader.cpp:
31100         (WebCore::RedirectScheduler::RedirectScheduler):
31101         (WebCore::RedirectScheduler::~RedirectScheduler):
31102         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
31103         (WebCore::RedirectScheduler::clear):
31104         (WebCore::FrameLoader::FrameLoader):
31105         (WebCore::FrameLoader::setDefersLoading):
31106         (WebCore::FrameLoader::stopLoading):
31107         (WebCore::FrameLoader::didOpenURL):
31108         (WebCore::FrameLoader::didExplicitOpen):
31109         (WebCore::FrameLoader::cancelAndClear):
31110         (WebCore::FrameLoader::clear):
31111         (WebCore::FrameLoader::checkCompleted):
31112         (WebCore::FrameLoader::isScheduledLocationChangePending):
31113         (WebCore::FrameLoader::scheduleHTTPRedirection):
31114         (WebCore::RedirectScheduler::scheduleRedirect):
31115         (WebCore::RedirectScheduler::mustLockBackForwardList):
31116         (WebCore::FrameLoader::scheduleLocationChange):
31117         (WebCore::RedirectScheduler::scheduleLocationChange):
31118         (WebCore::FrameLoader::scheduleFormSubmission):
31119         (WebCore::RedirectScheduler::scheduleFormSubmission):
31120         (WebCore::FrameLoader::scheduleRefresh):
31121         (WebCore::RedirectScheduler::scheduleRefresh):
31122         (WebCore::RedirectScheduler::locationChangePending):
31123         (WebCore::FrameLoader::scheduleHistoryNavigation):
31124         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
31125         (WebCore::RedirectScheduler::timerFired):
31126         (WebCore::FrameLoader::provisionalLoadStarted):
31127         (WebCore::RedirectScheduler::schedule):
31128         (WebCore::RedirectScheduler::startTimer):
31129         (WebCore::RedirectScheduler::cancel):
31130         (WebCore::FrameLoader::completed):
31131         (WebCore::FrameLoader::open):
31132         * loader/FrameLoader.h:
31133         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
31134         * page/Frame.cpp:
31135         (WebCore::Frame::Frame):
31136         (WebCore::Frame::redirectScheduler):
31137         * page/Frame.h:
31139 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
31141         Build fix, not reviewed.
31143         More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943
31145         * platform/network/cf/ResourceHandleCFNet.cpp:
31146         (WebCore::willSendRequest):
31148 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
31150         Build fix, not reviewed.
31152         Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943
31154         * platform/network/cf/ResourceHandleCFNet.cpp:
31155         (WebCore::willSendRequest):
31157 2009-09-30  Dimitri Glazkov  <dglazkov@chromium.org>
31159         Reviewed by Darin Fisher.
31161         [V8] HTMLAudioElement, HTMLImageElement, and HTMLOptionElement are constructable, but they shouldn't be.
31162         Only Audio, Image, and Option should be constructable.
31163         https://bugs.webkit.org/show_bug.cgi?id=29940
31165         Test: fast/dom/dom-constructor.html
31167         * WebCore.gypi: Added new files to project.
31168         * bindings/scripts/CodeGeneratorV8.pm: Modified to generate custom constructors.
31169         * bindings/v8/V8DOMWrapper.cpp:
31170         (WebCore::V8DOMWrapper::getTemplate): Removed handling of HTMLImageElement, HTMLOptionElement
31171           and HTMLAudioElement construction.
31172         * bindings/v8/V8HTMLAudioElementConstructor.h: Added.
31173         * bindings/v8/V8HTMLImageElementConstructor.h: Added.
31174         * bindings/v8/V8HTMLOptionElementConstructor.h: Added.
31175         * bindings/v8/V8Index.cpp: Added new headers.
31176         * bindings/v8/V8Index.h: Added Audio, Image and Option decls.
31177         * bindings/v8/custom/V8CustomBinding.h: Ditto.
31178         * bindings/v8/custom/V8DOMWindowCustom.cpp:
31179         (WebCore::ACCESSOR_GETTER): Added custom constructors.
31180         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
31181         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Added custom template creator.
31182         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
31183         (WebCore::V8HTMLOptionElementConstructor::GetTemplate): Ditto.
31184         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
31185         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Ditto.
31187 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
31189         Reviewed by Brady Eidson.
31191         307 redirects should pass along http body and Content-Type header
31192         https://bugs.webkit.org/show_bug.cgi?id=29943
31194         Follow-up fix for:
31195         <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET
31196         
31197         Test: http/tests/loading/resources/redirect-methods-result.php
31199         * platform/network/cf/ResourceHandleCFNet.cpp:
31200         (WebCore::willSendRequest): Pass along http body and Content-Type header.
31201         * platform/network/mac/ResourceHandleMac.mm:
31202         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): ditto
31204 2009-09-30  Geoffrey Garen  <ggaren@apple.com>
31206         Reviewed by Mark Rowe.
31208         Fixed https://bugs.webkit.org/show_bug.cgi?id=29941
31209         REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot
31211         Forgot to implement a destructor for JSDOMWindowBaseData, so it was
31212         leaking its RefPtr data member.
31214         * bindings/js/JSDOMWindowBase.cpp:
31215         (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData):
31216         * bindings/js/JSDOMWindowBase.h:
31217         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData):
31219 2009-09-30  Dave Hyatt  <hyatt@apple.com>
31221         Reviewed by Tim Hatcher.
31223         Make sure the removal of user stylesheets results in all of the WebViews being updated to
31224         reflect the changes.
31226         * page/PageGroup.cpp:
31227         (WebCore::PageGroup::removeUserContentWithURLForWorld):
31228         (WebCore::PageGroup::removeUserContentForWorld):
31230 2009-09-30  Dan Bernstein  <mitz@apple.com>
31232         Reviewed by Sam Weinig.
31234         REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
31235         https://bugs.webkit.org/show_bug.cgi?id=29209
31237         Test: fast/inline/relative-positioned-overflow.html
31239         * rendering/InlineFlowBox.cpp:
31240         (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
31241         inlines to overflow to ensure that they are included in hit-testing.
31243 2009-09-30  Simon Fraser  <simon.fraser@apple.com>
31245         Reviewed by Mark Rowe.
31247         transforms/3d tests are not run in Release builds
31248         https://bugs.webkit.org/show_bug.cgi?id=29827
31250         Make sure we export the WebCoreHas3DRendering symbol in Release builds,
31251         because this symbols is used by run-webkit-tests (via 'nm') to detect whether
31252         WebCore was built with ENABLE_3D_RENDERING turned on.
31254         * DerivedSources.make:
31255         * WebCore.3DRendering.exp: Added.
31256         * WebCore.xcodeproj/project.pbxproj:
31258 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
31260         Build fix for QT.  Didn't know WebCore.pro existed.
31262         * WebCore.pro:
31264 2009-09-30  Dave Hyatt  <hyatt@apple.com>
31266         Reviewed by Adam Roben.
31268         Add a method for removal of user scripts and stylesheets by URL from a specific world.
31270         * page/PageGroup.cpp:
31271         (WebCore::PageGroup::removeUserContentURLForWorld):
31272         * page/PageGroup.h:
31274 2009-09-30  Chris Hawk  <hawk@chromium.org>
31276         Reviewed by Dimitri Glazkov.
31278         Fix for conditionals in the WebCore gyp file, which contained two separate
31279         'conditions' values for the webcore target. The first entry was ignored,
31280         resulting in some missine defines.
31281         https://bugs.webkit.org/show_bug.cgi?id=29907
31283         * WebCore.gyp/WebCore.gyp:
31285 2009-09-21  Jeremy Orlow  <jorlow@chromium.org>
31287         Reviewed by Adam Barth.
31289         DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
31290         https://bugs.webkit.org/show_bug.cgi?id=29265
31292         DOM Storage needs to be more careful about where "ThreadSafe" objects are
31293         destroyed.  With the current code, there actually isn't a race condition, but
31294         it sure would be easy for someone to introduce one.  A bunch of
31295         ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared
31296         objects.  If it were possible any of these objects' destructors to be fired off
31297         the main thread, then the you'd have a race condition.  The code should be more
31298         clear and self-documenting about how things related to each other.
31300         Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread
31301         which is bounded by the StorageSyncManager, StorageAreaImpl, and
31302         StorageAreaSync, there's no reason for LocalStorageTask to store anything other
31303         than pointers.  By breaking this dependency, we can eliminate the risk.
31305         Note that we _could_ have LocalStorageThread's task queue just store
31306         LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to
31307         manually take care of deleting.  It'd probably also be possible to change
31308         LocalStorageThread around so that it needn't hold onto a reference of itself
31309         and have a more deterministic shutdown, but my initial attempts to do so
31310         failed, and I decided it wasn't worth changing.  The queue is killed before
31311         hand, so the thread is 100% impotent before the main thread continues anyway.
31313         The constructors and destructors of StorageSyncManager, StorageAreaImpl, and
31314         StorageAreaSync now have ASSERTs to verify they're running on the main thread. 
31315         I'm fairly positive that it'd be impossible to hit these asserts and the fact
31316         that these classes are no longer ThreadSafeShared should make it clear how
31317         they're meant to be used, but I think it's worth it to be extra sure.  Of
31318         course, ideally, we'd have such an assert every time a ref is incremented or
31319         decremented.
31321         Behavior should be unchanged and this is just an internal code cleanup, so no
31322         new tests.
31324         * storage/LocalStorageTask.cpp:
31325         (WebCore::LocalStorageTask::LocalStorageTask):
31326         (WebCore::LocalStorageTask::performTask):
31327         * storage/LocalStorageTask.h:
31328         (WebCore::LocalStorageTask::createImport):
31329         (WebCore::LocalStorageTask::createSync):
31330         (WebCore::LocalStorageTask::createTerminate):
31331         * storage/LocalStorageThread.cpp:
31332         (WebCore::LocalStorageThread::scheduleImport):
31333         (WebCore::LocalStorageThread::scheduleSync):
31334         * storage/LocalStorageThread.h:
31335         * storage/StorageArea.h:
31336         * storage/StorageAreaImpl.cpp:
31337         (WebCore::StorageAreaImpl::~StorageAreaImpl):
31338         (WebCore::StorageAreaImpl::StorageAreaImpl):
31339         * storage/StorageAreaSync.cpp:
31340         (WebCore::StorageAreaSync::StorageAreaSync):
31341         (WebCore::StorageAreaSync::~StorageAreaSync):
31342         * storage/StorageSyncManager.cpp:
31343         (WebCore::StorageSyncManager::StorageSyncManager):
31344         (WebCore::StorageSyncManager::~StorageSyncManager):
31345         (WebCore::StorageSyncManager::scheduleImport):
31346         (WebCore::StorageSyncManager::scheduleSync):
31347         * storage/StorageSyncManager.h:
31349 2009-09-28  Jeremy Orlow  <jorlow@chromium.org>
31351         Reviewed by Darin Fisher.
31353         Chromium needs to be able to override the way storage events are delivered
31354         https://bugs.webkit.org/show_bug.cgi?id=29655
31356         Chromium needs to be able to override the way storage events are delivered.
31357         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
31358         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
31359         injection).  This is necessary because Chromium needs to transport events across
31360         a process barrier and then dispatch them without use of a Frame*.
31362         Behavior should not change with this, so no updates to tests.
31364         * GNUmakefile.am:
31365         * WebCore.gypi:
31366         * WebCore.vcproj/WebCore.vcproj:
31367         * WebCore.xcodeproj/project.pbxproj:
31368         * WebCoreSources.bkl:
31369         * storage/StorageAreaImpl.cpp:
31370         (WebCore::StorageAreaImpl::setItem):
31371         (WebCore::StorageAreaImpl::removeItem):
31372         (WebCore::StorageAreaImpl::clear):
31373         * storage/StorageAreaImpl.h:
31374         * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp.
31375         (WebCore::StorageEventDispatcher::dispatch):
31376         * storage/StorageEventDispatcher.h: Added.  (Well, technically in the other half of this patch.)
31378 2009-09-30  Jian Li  <jianli@chromium.org>
31380         Reviewed by Darin Adler.
31382         Need to check NULL frame in EventHandler::updateDragAndDrop.
31383         https://bugs.webkit.org/show_bug.cgi?id=29929
31385         Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
31387         * page/EventHandler.cpp:
31388         (WebCore::EventHandler::updateDragAndDrop):
31390 2009-09-29  Simon Fraser  <simon.fraser@apple.com>
31392         Reviewed by Dan Bernstein.
31394         ASSERTION FAILED: !repaintContainer || repaintContainer == this
31395         https://bugs.webkit.org/show_bug.cgi?id=29755
31396         
31397         Generalize the fix for this bug to account for cases where there may be multiple
31398         containing blocks between the repaint container, and the container of the element
31399         being repainted.
31401         Test: compositing/repaint/opacity-between-absolute2.html
31403         * rendering/RenderBox.cpp:
31404         (WebCore::RenderBox::mapLocalToContainer):
31405         Call offsetFromAncestorContainer() to get the correct offset.
31406         
31407         (WebCore::RenderBox::computeRectForRepaint): Ditto
31408         * rendering/RenderInline.cpp:
31409         (WebCore::RenderInline::computeRectForRepaint): Ditto.
31410         
31411         * rendering/RenderObject.h:
31412         * rendering/RenderObject.cpp:
31413         (WebCore::RenderObject::offsetFromAncestorContainer):
31414         New method that computes an offset from some object in the ancestor container() chain.
31416 2009-09-30  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
31418         Reviewed by Simon Hausmann.
31420         [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0.
31421         This fixes https://bugs.webkit.org/show_bug.cgi?id=29736.
31423         * platform/text/qt/TextCodecQt.cpp:
31424         (WebCore::TextCodecQt::decode):
31426 2009-09-29  Dave Hyatt  <hyatt@apple.com>
31428         Reviewed by Jon Honeycutt.
31430         Fix a couple of bugs with patterns.  Move the setting of the document URL to before the style
31431         selector gets constructed so that pattern match testing gets the correct URL.
31433         * loader/FrameLoader.cpp:
31434         (WebCore::FrameLoader::begin):
31435         * page/UserContentURLPattern.cpp:
31436         (WebCore::UserContentURLPattern::parse):
31438 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
31440         Rubber-stamped by Brady Eidson.
31442         Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
31444         I couldn't find out why this only started to happen now, but it was incorrect to check
31445         persistence of a credential returned by CredentialStorage::get() without checking that it
31446         was non-null. When there is no credential for the protection space in storage, get()
31447         returns a new object, and Credentil constructor doesn't initialize m_persistence.
31449         * platform/network/mac/ResourceHandleMac.mm:
31450         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the
31451         assertion after credential null check.
31452         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence
31453         assertion, matching sync code (and CF one, as well).
31455 2009-09-29  Yong Li  <yong.li@torchmobile.com>
31457         Reviewed by Darin Adler.
31459         Add an ASSERT for UTF8Encoding().isValid()
31460         https://bugs.webkit.org/show_bug.cgi?id=29908
31462         * platform/text/TextEncoding.cpp:
31463         (WebCore::UTF8Encoding):
31465 2009-09-29  Dave Hyatt  <hyatt@apple.com>
31467         Reviewed by Jon Honeycutt.
31469         https://bugs.webkit.org/show_bug.cgi?id=29892
31470         Add support for whitelist patterns to control conditional injection of user scripts and
31471         user stylesheets.
31473         No new tests. Not testable until WebKit portion is added in followup patch.
31475         * GNUmakefile.am:
31476         * WebCore.gypi:
31477         * WebCore.pro:
31478         * WebCore.vcproj/WebCore.vcproj:
31479         * WebCore.xcodeproj/project.pbxproj:
31480         * dom/Document.cpp:
31481         (WebCore::Document::pageGroupUserSheets):
31482         * page/Frame.cpp:
31483         (WebCore::Frame::injectUserScriptsForWorld):
31484         * page/UserContentURLPattern.cpp: Added.
31485         (WebCore::UserContentURLPattern::matchesPatterns):
31486         (WebCore::UserContentURLPattern::parse):
31487         (WebCore::UserContentURLPattern::matches):
31488         (WebCore::UserContentURLPattern::matchesHost):
31489         (WebCore::MatchTester::MatchTester):
31490         (WebCore::MatchTester::testStringFinished):
31491         (WebCore::MatchTester::patternStringFinished):
31492         (WebCore::MatchTester::eatWildcard):
31493         (WebCore::MatchTester::eatSameChars):
31494         (WebCore::MatchTester::test):
31495         (WebCore::UserContentURLPattern::matchesPath):
31496         * page/UserContentURLPattern.h: Added.
31497         (WebCore::UserContentURLPattern::UserContentURLPattern):
31498         (WebCore::UserContentURLPattern::scheme):
31499         (WebCore::UserContentURLPattern::host):
31500         (WebCore::UserContentURLPattern::path):
31501         (WebCore::UserContentURLPattern::matchSubdomains):
31503 2009-09-29  Enrica Casucci  <enrica@apple.com>
31505         Reviewed by Adele Peterson.
31507         Reproducible crash pressing return inside quoted content
31508         at WebCore::BreakBlockquoteCommand::doApply.
31509         <rdar://problem/7085453>
31510         In some case, like the one provided in the test case, m_downStreamEnd
31511         refers to a node that gets deleted when executing the DeleteSelectionCommand.
31512         We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when
31513         pruning is needed, because it may be point to a node that has been deleted, but
31514         rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly.
31516         Test: editing/selection/blockquote-crash.html
31518         * editing/BreakBlockquoteCommand.cpp:
31519         (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position
31520         to avoid dereferencing a null node pointer.
31521         * editing/DeleteSelectionCommand.cpp:
31522         (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition
31523         using the value in m_downStreamEnd when it is necessary to prune the start block.
31524         
31525 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
31527         Reviewed by Brady Eidson.
31529         Basic authentication credentials are not sent automatically to top resources
31530         https://bugs.webkit.org/show_bug.cgi?id=29901
31532         No new tests - I don't want to pollute root directory of http tests to check for this rather
31533         minor issue.
31535         * platform/network/CredentialStorage.cpp:
31536         (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
31537         (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
31538         loop more explicit.
31540 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
31542         Reviewed by Oliver Hunt.
31544         Web Inspector REGRESSION(r47820-r47822): Profiles aren't
31545         added to the inspector unless the inspector is already open
31546         when the profile completes.
31548         https://bugs.webkit.org/show_bug.cgi?id=29897
31550         * inspector/front-end/ProfilesPanel.js:
31551         (WebInspector.ProfilesPanel.prototype._populateProfiles):
31553 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31555         Rubberstamped by David Hyatt.
31557         Fix to logic of earlier commit 48902.
31559         When merging two if's before committing, I forgot to invert the
31560         bool check.
31562         * platform/network/qt/QNetworkReplyHandler.cpp:
31563         (WebCore::ignoreHttpError):
31565 2009-09-29  Stephen White  <senorblanco@chromium.org>
31567         Unreviewed, build fix.
31569         Fixing Chromium build, following r48884.
31571         [https://bugs.webkit.org/show_bug.cgi?id=29894]
31573         * bindings/v8/V8AbstractEventListener.cpp:
31574         (WebCore::V8AbstractEventListener::handleEvent):
31575         * bindings/v8/V8AbstractEventListener.h:
31576         * bindings/v8/V8WorkerContextEventListener.cpp:
31577         (WebCore::V8WorkerContextEventListener::handleEvent):
31578         * bindings/v8/V8WorkerContextEventListener.h:
31580 2009-09-29  Kent Tamura  <tkent@chromium.org>
31582         Reviewed by Darin Adler.
31584         Follows HTML5's maxLength change in September 2009.
31585         - Change HTMLTextAreaElement.maxLength type to signed.
31586         - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing.
31587         - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength
31588           throw INDEX_SIZE_ERR for setting negative values.
31589         https://bugs.webkit.org/show_bug.cgi?id=29796
31591         * html/HTMLInputElement.cpp:
31592         (WebCore::HTMLInputElement::setMaxLength):
31593         * html/HTMLInputElement.h:
31594         * html/HTMLInputElement.idl:
31595         * html/HTMLTextAreaElement.cpp:
31596         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
31597         (WebCore::HTMLTextAreaElement::maxLength):
31598         (WebCore::HTMLTextAreaElement::setMaxLength):
31599         * html/HTMLTextAreaElement.h:
31600         * html/HTMLTextAreaElement.idl:
31602 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
31604         No review, rolling out r48894, because review discussion was not complete.
31605         http://trac.webkit.org/changeset/48894
31607         * platform/sql/SQLiteTransaction.cpp:
31608         (WebCore::SQLiteTransaction::begin):
31610 2009-09-29  Dirk Schulze  <krit@webkit.org>
31612         Reviewed by Nikolas Zimmermann.
31614         SVG Filter feComposite implementation is missing
31615         [https://bugs.webkit.org/show_bug.cgi?id=28362]
31617         feComposite implementation for SVG.
31619         Test: svg/filters/feComposite.svg
31621         * platform/graphics/filters/FEComposite.cpp:
31622         (WebCore::arithmetic):
31623         (WebCore::FEComposite::apply):
31625 2009-09-29  Dumitru Daniliuc  <dumi@chromium.org>
31627         Reviewed by Dimitri Glazkov.
31629         Starting all read-only transactions with an explicit BEGIN
31630         DEFERRED command instead of BEGIN, since some ports (chromium)
31631         might compile their own SQLite library and set BEGIN to BEGIN
31632         IMMEDIATE by default; which would result in a deadlock in case of
31633         two concurrent read-only transactions on the same DB, and would
31634         unnecessarily delay other potential transactions to the same DB.
31636         https://bugs.webkit.org/show_bug.cgi?id=29729
31638         * platform/sql/SQLiteTransaction.cpp:
31639         (WebCore::SQLiteTransaction::begin):
31641 2009-09-29  Kenneth Russell  <kbr@google.com>
31643         Reviewed by Dimitri Glazkov.
31645         Add support for run-time flag for 3D canvas
31646         https://bugs.webkit.org/show_bug.cgi?id=29826
31648         * html/HTMLCanvasElement.cpp:
31649         (WebCore::HTMLCanvasElement::getContext): Check page settings for
31650         experimental WebGL flag before returning 3D graphics context.
31651         * page/Settings.cpp:
31652         (WebCore::Settings::Settings): Initialize new flag to false.
31653         (WebCore::Settings::setExperimentalWebGLEnabled):
31654         * page/Settings.h: Set new flag.
31655         (WebCore::Settings::experimentalWebGLEnabled): Return new flag.
31657 2009-09-29  Jeremy Orlow  <jorlow@chromium.org>
31659         Reviewed by Darin Fisher.
31661         Chromium needs to be able to override the way storage events are delivered - part 1
31662         https://bugs.webkit.org/show_bug.cgi?id=29889
31664         Chromium needs to be able to override the way storage events are delivered.
31665         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
31666         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
31667         injection).  This is necessary because Chromium needs to transport events across
31668         a process barrier and then dispatch them without use of a Frame*.
31670         This patch should be a no-op for all ports other than Chromium.
31672         * WebCore.gypi:
31673         * storage/StorageEventDispatcher.h: Added.
31675 2009-09-29  Oliver Hunt  <oliver@apple.com>
31677         Reviewed by NOBODY (missed file).
31679         Adding file missed in previous commit.
31681         * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h.
31683 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
31685         Reviewed by Darin Fisher.
31687         [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
31688         https://bugs.webkit.org/show_bug.cgi?id=29888
31690         Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
31692         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
31693         (WebCore::getEventListener): Added isAttribute parameter.
31694         (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners.
31695         (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener.
31697 2009-09-22  Martin Robinson  <martin.james.robinson@gmail.com>
31699         Reviewed by Eric Seidel.
31701         Fix corruption for non-square images.
31703         [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
31704         https://bugs.webkit.org/show_bug.cgi?id=29654
31706         Added an additional manual-test for this issue to the existing Gtk
31707         cursor image test.
31709         * manual-tests/gtk/cursor-image.html:
31710         * manual-tests/gtk/resources/long_cell.cur: Added.
31711         * platform/graphics/gtk/ImageGtk.cpp:
31712         (WebCore::BitmapImage::getGdkPixbuf):
31714 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
31716         Reviewed by Timothy Hatcher.
31718         Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
31720         * bindings/js/ScriptEventListener.cpp:
31721         (WebCore::getEventListenerHandlerBody):
31722         * bindings/js/ScriptEventListener.h:
31723         * bindings/v8/ScriptEventListener.cpp:
31724         (WebCore::getEventListenerHandlerBody):
31725         * bindings/v8/ScriptEventListener.h:
31726         * inspector/InspectorDOMAgent.cpp:
31727         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
31729 2009-09-29  Nate Chapin  <japhet@chromium.org>
31731         Reviewed by Eric Seidel.
31733         Ensure that we don't scroll lock to an anchor node after a
31734         user-initiated scroll, even if that scroll doesn't propagate
31735         all the way up to FrameView.
31737         Test: fast/events/node-event-anchor-lock.html
31739         * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame.
31740         (WebCore::EventHandler::scrollOverflow):
31741         (WebCore::EventHandler::handleWheelEvent):
31742         (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser();
31743         (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent();
31744         (WebCore::EventHandler::passMousePressEventToScrollbar):
31745         * page/EventHandler.h: Declare setFrameWasScrolledByUser().
31747 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
31749         Reviewed by Darin Adler and Sam Weinig.
31751         Onclick not fired for an element copied with cloneContents() or cloneNode()
31752         https://bugs.webkit.org/show_bug.cgi?id=25130
31754         The change here is that JS event listeners don't keep a reference to a global object from
31755         where they were created, and instead take it as a parameter when parsing source code. Also,
31756         the listener creation won't fail just because it happens for an element in a frameless
31757         document.
31758         Thus, moving nodes between documents no longer results in having incorrect registered
31759         lazy event listeners on them.
31761         Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
31762                fast/events/attribute-listener-cloned-from-frameless-doc-context.html
31763                fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
31764                fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
31765                fast/events/attribute-listener-extracted-from-frameless-doc-context.html
31767         * bindings/js/JSEventListener.cpp:
31768         (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
31769         (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
31770         getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
31771         (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
31772         (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
31773         (WebCore::JSEventListener::reportError): Ditto.
31775         * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
31776         to JSDOMGlobalObject.
31778         * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
31779         creation was split between this function and ScriptEventListener; moved it here, as JS
31780         global object can be different now.
31782         * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
31783         which can not be determined at parsing time.
31785         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
31786         for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
31787         expect that errors are logged at document parsing time, and because I don't know what other
31788         side effects moving it vould have.
31790         * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
31791         because JSC needs a global context here.
31793         * bindings/js/JSAbstractWorkerCustom.cpp:
31794         (WebCore::JSAbstractWorker::addEventListener):
31795         (WebCore::JSAbstractWorker::removeEventListener):
31796         * bindings/js/JSDOMApplicationCacheCustom.cpp:
31797         (WebCore::JSDOMApplicationCache::addEventListener):
31798         (WebCore::JSDOMApplicationCache::removeEventListener):
31799         * bindings/js/JSDOMGlobalObject.cpp:
31800         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
31801         * bindings/js/JSDOMWindowCustom.cpp:
31802         (WebCore::JSDOMWindow::addEventListener):
31803         (WebCore::JSDOMWindow::removeEventListener):
31804         * bindings/js/JSEventSourceCustom.cpp:
31805         (WebCore::JSEventSource::addEventListener):
31806         (WebCore::JSEventSource::removeEventListener):
31807         * bindings/js/JSMessagePortCustom.cpp:
31808         (WebCore::JSMessagePort::addEventListener):
31809         (WebCore::JSMessagePort::removeEventListener):
31810         * bindings/js/JSNodeCustom.cpp:
31811         (WebCore::JSNode::addEventListener):
31812         (WebCore::JSNode::removeEventListener):
31813         * bindings/js/JSSVGElementInstanceCustom.cpp:
31814         (WebCore::JSSVGElementInstance::addEventListener):
31815         (WebCore::JSSVGElementInstance::removeEventListener):
31816         * bindings/js/JSWorkerContextCustom.cpp:
31817         (WebCore::JSWorkerContext::addEventListener):
31818         (WebCore::JSWorkerContext::removeEventListener):
31819         * bindings/js/JSXMLHttpRequestCustom.cpp:
31820         (WebCore::JSXMLHttpRequest::addEventListener):
31821         (WebCore::JSXMLHttpRequest::removeEventListener):
31822         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
31823         (WebCore::JSXMLHttpRequestUpload::addEventListener):
31824         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
31825         * bindings/objc/ObjCEventListener.h:
31826         * bindings/objc/ObjCEventListener.mm:
31827         (WebCore::ObjCEventListener::handleEvent):
31828         * bindings/scripts/CodeGeneratorJS.pm:
31829         * dom/EventTarget.cpp:
31830         (WebCore::EventTarget::fireEventListeners):
31831         * inspector/InspectorDOMAgent.cpp:
31832         (WebCore::InspectorDOMAgent::handleEvent):
31833         * inspector/InspectorDOMAgent.h:
31834         * inspector/InspectorDOMStorageResource.cpp:
31835         (WebCore::InspectorDOMStorageResource::handleEvent):
31836         * inspector/InspectorDOMStorageResource.h:
31837         * loader/ImageDocument.cpp:
31838         (WebCore::ImageEventListener::handleEvent):
31839         * svg/animation/SVGSMILElement.cpp:
31840         (WebCore::ConditionEventListener::handleEvent):
31841         * workers/WorkerContext.cpp:
31842         (WebCore::WorkerContext::reportException):
31843         Don't pass global object to JSEventListener::create(), which no longer needs it.
31844         Note that some of these functions still have an early return for null global object, which
31845         can probably be removed in a later patch.
31846         Pass ScriptExecutionContext to EventListener methods that now need it.
31848         * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node -
31849         it doesn't work yet (it didn't quite work before this patch, too, because it assumed that
31850         any object implementing EventTarget COM interface originated from WebCore).
31852         * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
31853         COM bindings.
31855 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
31857         Reviewed by Sam Weinig.
31859         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
31860         fix-ups when accessing JSGlobalObject::d.
31861         
31862         Replaced with an explicit destructor function pointer.
31864         * bindings/js/JSDOMGlobalObject.cpp:
31865         (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
31866         * bindings/js/JSDOMGlobalObject.h:
31867         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
31869 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31871         Reviewed by Simon Hausmann.
31873         Don't rely on QNetworkReply::NetworkError codes, but
31874         on HTTP error codes instead.
31876         * platform/network/qt/QNetworkReplyHandler.cpp:
31877         (WebCore::ignoreHttpError):
31878         (WebCore::QNetworkReplyHandler::finish):
31880 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31882         Reviewed by Simon Hausmann.
31884         Use const references when using Qt's foreach.
31886         * platform/network/qt/QNetworkReplyHandler.cpp:
31887         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31889 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31891         Reviewed by Simon Hausmann.
31893         Fix handling of QNetworkReply errors.
31895         In the QNetworkReplyHandler::finish() a response was sent even when
31896         the reply contained an error. This resulted in a sendResponseIfNeeded()
31897         calling didReceiveResponse on the client, leading to the destruction
31898         of the m_resourceHandle, discontinuing further processing in finish(),
31899         and thus not calling didFail on the client.
31901         Instead it continued as everything went fine, and
31902         FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
31903         policy to PolicyDownload due to not being able to show the non existing
31904         MIMEType. As the download also obviously fails, it ended up with a
31905         policy change error.
31907         * platform/network/qt/QNetworkReplyHandler.cpp:
31908         (WebCore::QNetworkReplyHandler::finish):
31910 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31912         Reviewed by Simon Hausmann.
31914         The code for showing error pages when the response was
31915         a 401/403/404, was not actually doing so. This patch
31916         fixes that.
31918         * platform/network/qt/QNetworkReplyHandler.cpp:
31919         (WebCore::QNetworkReplyHandler::finish):
31921 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
31923         Reviewed by Brady Eidson.
31925         <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html
31926         is failing/crashing intermittently
31927         https://bugs.webkit.org/show_bug.cgi?id=29322
31929         This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated.
31930         The code had other issues as well, so I removed it altogether:
31931         - it claimed to avoid some buffer copies, but it didn't;
31932         - and I don't think that base64 encoding should be part of CString interface.
31934         * platform/network/mac/ResourceHandleMac.mm:
31935         (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly.
31936         (WebCore::ResourceHandle::start): Use encodeBasicAuthorization().
31937         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
31938         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging
31939         to synchronous case.
31940         (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto.
31941         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
31942         (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
31943         (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
31944         (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
31945         (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
31947         * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
31949         * platform/text/CString.cpp:
31950         * platform/text/CString.h:
31951         (WebCore::CStringBuffer::create):
31952         (WebCore::CStringBuffer::CStringBuffer):
31953         Removed code that was added for Base64 in r48363.
31955 2009-09-29  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
31957         Reviewed by Simon Hausmann.
31959         Fix typo in Localizations.cpp
31961         https://bugs.webkit.org/show_bug.cgi?id=29872
31963         * platform/qt/Localizations.cpp:
31964         (WebCore::localizedMediaControlElementHelpText):
31966 2009-09-29  Simon Hausmann  <simon.hausmann@nokia.com>
31968         Reviewed by Tor Arne Vestbø.
31970         Make the XSLT conditional in DOMWindow.idl's xsltProcessor
31971         attribute conditional in the generated files, similar to
31972         r44116.
31974         * page/DOMWindow.idl:
31976 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31978         Reviewed by Simon Hausmann and Tor Arne Vestbø.
31980         Use the ResourceError as it is supposed to and handle
31981         not HTTP errors from QNetworkReply.
31983         Thanks to Adam Roben for his input.
31985         * platform/network/qt/QNetworkReplyHandler.cpp:
31986         (WebCore::QNetworkReplyHandler::finish):
31988 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
31990         Reviewed by Timothy Hatcher.
31992         Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener.
31994         https://bugs.webkit.org/show_bug.cgi?id=29816
31996         * bindings/js/ScriptEventListener.cpp:
31997         (WebCore::getEventListenerHandlerBody):
31998         * bindings/js/ScriptEventListener.h:
31999         * bindings/v8/ScriptEventListener.cpp:
32000         (WebCore::getEventListenerHandlerBody):
32001         * bindings/v8/ScriptEventListener.h:
32002         * inspector/InspectorDOMAgent.cpp:
32003         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
32005 2009-09-29  Xan Lopez  <xlopez@igalia.com>
32007         Unreviewed attempt to fix the build.
32009         * page/Settings.cpp:
32010         (WebCore::Settings::Settings):
32012 2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
32014         Reviewed by Eric Seidel.
32016         Add experimentalWebSocketsEnabled in Settings.
32017         https://bugs.webkit.org/show_bug.cgi?id=28941
32019         * WebCore.base.exp:
32020         * bindings/js/JSDOMWindowCustom.cpp:
32021         (WebCore::JSDOMWindow::webSocket):
32022         * bindings/v8/V8DOMWrapper.cpp:
32023         (WebCore::V8DOMWrapper::getConstructor):
32024         * bindings/v8/custom/V8WebSocketCustom.cpp:
32025         * page/Settings.cpp:
32026         (WebCore::Settings::Settings):
32027         (WebCore::Settings::setExperimentalWebSocketsEnabled):
32028         * page/Settings.h:
32029         (WebCore::Settings::experimentalWebSocketsEnabled):
32030         
32031 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
32033         Reviewed by Adam Barth.
32035         Add platform code to support WebSocket for chromium.
32036         https://bugs.webkit.org/show_bug.cgi?id=29171
32038         To build within chromium tree, it requires a patch in bug 29174.
32039         Real implementation will be landed in chromium tree.
32041         * WebCore.gypi:
32042         * platform/network/chromium/SocketStreamError.h: Added.
32043         (WebCore::SocketStreamError::SocketStreamError):
32044         * platform/network/chromium/SocketStreamHandle.h: Added.
32045         (WebCore::SocketStreamHandle::create):
32047 2009-09-28  Dan Bernstein  <mitz@apple.com>
32049         Reviewed by Sam Weinig.
32051         <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight()
32052         when Times New Roman is not installed
32054         * platform/graphics/win/FontCacheWin.cpp:
32055         (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is
32056         not available, use the Windows default GUI font.
32058 2009-09-28  Jian Li  <jianli@chromium.org>
32060         Reviewed by David Levin.
32062         Do not add platform-specific methods to cross-platform header
32063         FileSystem.h per Darin's feedback for 29109.
32064         https://bugs.webkit.org/show_bug.cgi?id=29830
32066         * platform/FileSystem.h:
32067         * platform/chromium/DragDataChromium.cpp:
32068         (WebCore::DragData::asURL):
32069         * platform/chromium/FileSystemChromium.cpp:
32071 2009-09-28  Dumitru Daniliuc  <dumi@chromium.org>
32073         Reviewed by Dimitri Glazkov.
32075         Register Chromium's VFSs with a proper sqlite3_io_methods
32076         finder. This should only affect the POSIX implementation. The
32077         Windows change is included for consistency and in case sqlite
32078         starts using something similar in its Windows VFS in the future.
32080         https://bugs.webkit.org/show_bug.cgi?id=29743
32082         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
32083         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32084         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
32085         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32087 2009-09-28  Nate Chapin  <japhet@chromium.org>
32089         Reviewed by Adam Barth.
32091         Change the V8 bindings' handling of window.toString(),
32092         so we return [object DOMWindow] (like JSC), not [object global].
32094         https://bugs.webkit.org/show_bug.cgi?id=29742
32096         This will fix a couple of Chromium port test failures and enable us to
32097         use the default expectations for a bunch more.
32099         * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead
32100         of the global object wrapper when it's available in the DOMWindow toString callback.
32102 2009-09-28  Nate Chapin  <japhet@chromium.org>
32104         Rubber stamped by David Levin.
32106         Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp.
32108         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h.
32110 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
32112         Reviewed by Darin Adler.
32114         NotNullPassRefPtr: smart pointer optimized for passing references that are not null
32115         https://bugs.webkit.org/show_bug.cgi?id=29822
32116         
32117         Added NotNullPassRefPtr, and deployed it in all places that initialize
32118         JavaScript objects.
32120         * bindings/js/DOMObjectWithSVGContext.h:
32121         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
32122         * bindings/js/JSDOMBinding.cpp:
32123         (WebCore::cacheDOMStructure):
32124         * bindings/js/JSDOMBinding.h:
32125         (WebCore::DOMObject::DOMObject):
32126         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
32127         (WebCore::DOMConstructorObject::DOMConstructorObject):
32128         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
32129         * bindings/js/JSDOMGlobalObject.cpp:
32130         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
32131         * bindings/js/JSDOMGlobalObject.h:
32132         * bindings/js/JSDOMWindowBase.cpp:
32133         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
32134         * bindings/js/JSDOMWindowBase.h:
32135         * bindings/js/JSHTMLAllCollection.h:
32136         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
32137         * bindings/js/JSInspectedObjectWrapper.cpp:
32138         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
32139         * bindings/js/JSInspectedObjectWrapper.h:
32140         * bindings/js/JSInspectorCallbackWrapper.cpp:
32141         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
32142         * bindings/js/JSInspectorCallbackWrapper.h:
32143         * bindings/js/JSQuarantinedObjectWrapper.cpp:
32144         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
32145         * bindings/js/JSQuarantinedObjectWrapper.h:
32146         * bindings/js/JSWorkerContextBase.cpp:
32147         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
32148         * bindings/js/JSWorkerContextBase.h:
32149         * bindings/scripts/CodeGeneratorJS.pm:
32150         * bridge/runtime_object.cpp:
32151         (JSC::RuntimeObjectImp::RuntimeObjectImp):
32152         * bridge/runtime_object.h:
32154 2009-09-28  Nate Chapin  <japhet@chromium.org>
32156         Reviewed by Dimitri Glazkov.
32158         Allow V8 to handle x/y parameters in a WebKitPoint constructor.
32159         https://bugs.webkit.org/show_bug.cgi?id=29823
32161         Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html
32163         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor.
32165 2009-09-28  Mark Rowe  <mrowe@apple.com>
32167         Fix the build by doing something approximating reasonableness in the Xcode project.
32169         * WebCore.xcodeproj/project.pbxproj:
32171 2009-09-28  Simon Hausmann  <hausmann@webkit.org>
32173         Prospective Tiger build fix.
32175         * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files.
32177 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
32179         Reviewed by Timothy Hatcher.
32181         Web Inspector: Add explicit frontend event for commit load.
32183         https://bugs.webkit.org/show_bug.cgi?id=29814
32185         * inspector/InspectorController.cpp:
32186         (WebCore::InspectorController::didCommitLoad):
32187         * inspector/InspectorFrontend.cpp:
32188         (WebCore::InspectorFrontend::didCommitLoad):
32189         * inspector/InspectorFrontend.h:
32190         * inspector/front-end/DOMAgent.js:
32191         (WebInspector.DOMAgent.prototype._setDocument):
32192         * inspector/front-end/inspector.js:
32193         (WebInspector.addResource):
32194         (WebInspector.didCommitLoad):
32196 2009-09-28  Yaar Schnitman  <yaar@chromium.org>
32198         Reviewed by Dimitri Glazkov.
32200         Chromium port - recognize we are being built independently
32201         of chromium and look for dependencies under webkit/chromium rather
32202         than chromium/src.
32204         https://bugs.webkit.org/show_bug.cgi?id=29722
32206         * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from
32207           the sources list, since they are not supposed to be built here.
32209 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
32211         Reviewed by Simon Hausmann.
32213         [Qt] Implement XSLT support with QtXmlPatterns.
32214         https://bugs.webkit.org/show_bug.cgi?id=28303
32216         * GNUmakefile.am:
32217         * WebCore.gypi:
32218         * WebCore.pro:
32219         * WebCore.vcproj/WebCore.vcproj:
32220         * WebCoreSources.bkl:
32221         * dom/Document.cpp:
32222         (WebCore::Document::Document):
32223         (WebCore::Document::~Document):
32224         (WebCore::Document::setTransformSource):
32225         * dom/Document.h:
32226         (WebCore::Document::transformSource):
32227         * dom/TransformSource.h: Added.
32228         (WebCore::TransformSource::platformSource):
32229         * dom/TransformSourceLibxslt.cpp: Added.
32230         (WebCore::TransformSource::TransformSource): Wraps a libxml2 document.
32231         (WebCore::TransformSource::~TransformSource):
32232         * dom/TransformSourceQt.cpp: Added.
32233         (WebCore::TransformSource::TransformSource): Wraps a plain string.
32234         (WebCore::TransformSource::~TransformSource):
32235         * dom/XMLTokenizerLibxml2.cpp:
32236         (WebCore::XMLTokenizer::doEnd):
32237         * dom/XMLTokenizerQt.cpp:
32238         (WebCore::XMLTokenizer::doEnd):
32239         (WebCore::XMLTokenizer::parseProcessingInstruction):
32240         * xml/XSLStyleSheet.h:
32241         (WebCore::XSLStyleSheet::sheetString):
32242         * xml/XSLStyleSheetLibxslt.cpp:
32243         (WebCore::XSLStyleSheet::document):
32244         * xml/XSLStyleSheetQt.cpp: Added.
32245         * xml/XSLTProcessor.h:
32246         * xml/XSLTProcessorLibxslt.cpp:
32247         (WebCore::xmlDocPtrFromNode):
32248         * xml/XSLTProcessorQt.cpp: Added.
32249         (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler.
32250         (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console.
32251         (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery.
32253 2009-09-28  Andrew Scherkus  <scherkus@chromium.org>
32255         Reviewed by Eric Carlson.
32257         Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme.
32259         https://bugs.webkit.org/show_bug.cgi?id=28689
32261         Covered by LayoutTests/media/video-no-audio.html
32263         * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded().
32264         (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
32265         (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
32266         * rendering/MediaControlElements.h:
32267         * rendering/RenderTheme.cpp:
32268         (WebCore::RenderTheme::shouldRenderMediaControlPart): New method.  Contains logic moved from subclass implementations of rendererIsNeeded().
32269         * rendering/RenderTheme.h:
32270         * rendering/RenderThemeChromiumSkia.cpp:
32271         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button.
32272         * rendering/RenderThemeChromiumSkia.h:
32274 2009-09-28  Jian Li  <jianli@chromium.org>
32276         Reviewed by David Levin.
32278         [chromium] DragData::asURL should return file URL.
32279         https://bugs.webkit.org/show_bug.cgi?id=29109
32281         Tested by LayoutTests/fast/events/drag-to-navigate.html.
32283         * platform/FileSystem.h:
32284         * platform/chromium/ChromiumBridge.h:
32285         * platform/chromium/DragDataChromium.cpp:
32286         (WebCore::DragData::asURL):
32287         * platform/chromium/FileSystemChromium.cpp:
32288         (WebCore::getAbsolutePath):
32289         (WebCore::isDirectory):
32290         (WebCore::filePathToURL):
32292 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
32294         Reviewed by David Levin.
32296         [V8] Add a special case to handle index arguments, because we need to be
32297         able to see if they're < 0.
32298         https://bugs.webkit.org/show_bug.cgi?id=29810
32300         Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html
32302         * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm)
32303           for index arguments.
32305 2009-09-28  Dan Bernstein  <mitz@apple.com>
32307         Reviewed by Darin Adler.
32309         Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions
32310         https://bugs.webkit.org/show_bug.cgi?id=29792
32312         * html/HTMLLinkElement.cpp:
32313         (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are
32314         enabled, check if the linked style sheet is one of two versions of the
32315         MediaWiki KHTMLFixes.css. If so, remove the offending rule.
32317 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
32319         Reviewed by Adam Barth.
32321         [V8] Fix an error in type logic in CodeGeneratorV8.pm, where
32322         unsigned ints are accidentally used as signed.
32323         https://bugs.webkit.org/show_bug.cgi?id=29810
32325         Test: LayoutTests/fast/forms/textarea-maxlength.html
32327         * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is
32328           properly generates on "unsigned" return value.
32330 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
32332         Reviewed by Simon Hausmann.
32334         Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp.
32335         https://bugs.webkit.org/show_bug.cgi?id=28303
32337         In preparation for adding XSLT support with QtXmlPatterns to the Qt
32338         port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will
32339         have our own implementation which most likely will not share any code
32340         with the current one.
32342         Additionally, fix some coding style issues.
32344         * GNUmakefile.am:
32345         * WebCore.gypi:
32346         * WebCore.vcproj/WebCore.vcproj:
32347         * WebCore.xcodeproj/project.pbxproj:
32348         * WebCoreSources.bkl:
32349         * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp.
32350         * xml/XSLStyleSheetLibxslt.cpp: Added.
32352 2009-09-28  Simon Hausmann  <simon.hausmann@nokia.com>
32354         Prospective build fix for r48812.
32356         Forgot to remove the inline reset() implementation when reverting the indentation
32357         changes in the file.
32359         * xml/XSLTProcessor.h:
32361 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
32363         Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.
32365         Web Inspector: Follow up to r48809.
32366         InspectorController.wrapObject should only be called on the inspectable page side.
32368         https://bugs.webkit.org/show_bug.cgi?id=17429
32370         * inspector/front-end/EventListenersSidebarPane.js:
32371         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
32372         (WebInspector.EventListenersSidebarPane.prototype.update):
32373         (WebInspector.EventListenersSection):
32374         (WebInspector.EventListenersSection.prototype.update):
32375         (WebInspector.EventListenerBar):
32376         (WebInspector.EventListenerBar.prototype.update):
32378 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
32380         Reviewed by Simon Hausmann.
32382         Move the libxslt specific part of XSLTProcessor to a separate file.
32383         https://bugs.webkit.org/show_bug.cgi?id=28303
32385         In preparation for adding XSLT support with QtXmlPatterns to the Qt
32386         port, move the libxslt part of the XSLTProcessor implementation into
32387         another file and leave the part that can be reused and shared.
32389         Additionally, fix some coding style issues.
32391         * GNUmakefile.am:
32392         * WebCore.gypi:
32393         * WebCore.vcproj/WebCore.vcproj:
32394         * WebCore.xcodeproj/project.pbxproj:
32395         * WebCoreSources.bkl:
32396         * xml/XSLTProcessor.cpp:
32397         (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces.
32398         (WebCore::createFragmentFromSource): Remove trailing whitespaces.
32399         (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces.
32400         (WebCore::XSLTProcessor::reset): Moved out of the class definition.
32401         * xml/XSLTProcessorLibxslt.cpp: Added.
32402         (WebCore::XSLTProcessor::genericErrorFunc): Moved.
32403         (WebCore::XSLTProcessor::parseErrorFunc): Moved.
32404         (WebCore::docLoaderFunc): Moved.
32405         (WebCore::setXSLTLoadCallBack): Moved.
32406         (WebCore::writeToVector): Moved.
32407         (WebCore::saveResultToString): Moved.
32408         (WebCore::xsltParamArrayFromParameterMap): Moved.
32409         (WebCore::freeXsltParamArray): Moved.
32410         (WebCore::xsltStylesheetPointer): Moved.
32411         (WebCore::xmlDocPtrFromNode): Moved.
32412         (WebCore::resultMIMEType): Moved.
32413         (WebCore::XSLTProcessor::transformToString): Moved.
32415 2009-09-28  Charles Wei  <charles.wei@torchmobile.com.cn>
32417         Reviewed by Nikolas Zimmermann.
32419         Fix the crash of SVG that crashes when use a non-exist symbol
32420         https://bugs.webkit.org/show_bug.cgi?id=27693
32422         Test: svg/custom/use-non-existing-symbol-crash.svg
32424         * svg/SVGUseElement.cpp:
32425         (WebCore::shadowTreeContainsChangedNodes):
32427 2009-09-28  Joseph Pecoraro  <joepeck@webkit.org>
32429         Reviewed by Timothy Hatcher.
32431         Inspector Should Show Event Listeners/Handlers Registered on each Node
32432         https://bugs.webkit.org/show_bug.cgi?id=17429
32433         
32434           Extracted a method from dispatchEvent to get the event ancestor chain
32435         
32436         * dom/Node.cpp:
32437         (WebCore::Node::eventAncestors): the extracted method
32438         (WebCore::Node::dispatchGenericEvent): use eventAncestors
32439         * dom/Node.h:
32441           Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend
32442           The DOMAgent's getEventListenersForNode handles the logic of finding
32443           all the relevant listeners in the event flow.
32445         * inspector/InspectorBackend.cpp:
32446         (WebCore::InspectorBackend::getEventListenersForNode):
32447         * inspector/InspectorBackend.h:
32448         * inspector/InspectorBackend.idl:
32449         * inspector/InspectorDOMAgent.cpp:
32450         (WebCore::InspectorDOMAgent::getEventListenersForNode):
32451         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
32452         (WebCore::InspectorDOMAgent::buildObjectForNode): added localName
32453         * inspector/InspectorDOMAgent.h:
32454         (WebCore::EventListenerInfo::EventListenerInfo):
32455         * inspector/InspectorFrontend.cpp:
32456         (WebCore::InspectorFrontend::didGetEventListenersForNode):
32457         * inspector/InspectorFrontend.h:
32458         (WebCore::InspectorFrontend::scriptState):
32459         * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload
32460         (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback):
32461         (WebInspector.EventListeners.getEventListenersForNodeAsync):
32463           New Sidebar Pane in the Element's Panel
32464           Includes Gear Menu for filtering the Event Listeners on the
32465           "Selected Node Only" or "All Nodes"
32467         * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary
32468         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
32469         (WebInspector.ElementsPanel):
32470         (WebInspector.ElementsPanel.prototype.updateEventListeners):
32471         * inspector/front-end/EventListenersSidebarPane.js: Added. 
32472         (WebInspector.EventListenersSidebarPane): The 1st level in the Pane
32473         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
32474         (WebInspector.EventListenersSidebarPane.prototype.update):
32475         (WebInspector.EventListenersSection): The 2nd level in the Pane
32476         (WebInspector.EventListenersSection.prototype.update): filters on Preference
32477         (WebInspector.EventListenersSection.prototype.addListener):
32478         (WebInspector.EventListenerBar): The 3rd level in the Pane
32479         (WebInspector.EventListenerBar.prototype._getNodeDisplayName):
32480         (WebInspector.EventListenerBar.prototype._getFunctionDisplayName):
32481         (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu
32482         
32483           Consolidated "appropriateSelectorForNode"
32485         * inspector/front-end/StylesSidebarPane.js:
32486         * inspector/front-end/utilities.js:
32488           Miscellaneous Updates
32490         * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes"
32491         * WebCore.gypi: included the new inspector files
32492         * WebCore.vcproj/WebCore.vcproj: included source files that were missing
32493         * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher.
32494         * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher.
32495         * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter
32496         * inspector/front-end/inspector.css: reused as much as possible
32497         * inspector/front-end/inspector.html: include the new script
32498         * inspector/front-end/WebKit.qrc: included the new inspector files
32500 2009-09-27  Sam Weinig  <sam@webkit.org>
32502         Reviewed by Dan Bernstein.
32504         Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
32505         Implement CSSOM Range.getClientRects/getBoundingClientRect 
32507         Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
32508                fast/dom/Range/getBoundingClientRect.html
32509                fast/dom/Range/getClientRects.html
32511         * dom/Range.cpp:
32512         (WebCore::Range::getClientRects):
32513         (WebCore::Range::getBoundingClientRect):
32514         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
32515         (WebCore::Range::getBorderAndTextQuads):
32516         * dom/Range.h:
32517         * dom/Range.idl:
32518         Implement Range.getClientRects/getBoundingClientRect.
32520         * dom/Element.cpp:
32521         * rendering/RenderObject.h: 
32522         (WebCore::adjustForAbsoluteZoom):
32523         (WebCore::adjustIntRectForAbsoluteZoom):
32524         (WebCore::adjustFloatPointForAbsoluteZoom):
32525         (WebCore::adjustFloatQuadForAbsoluteZoom):
32526         Move point/quad adjustment methods from Element.cpp to RenderObject.h
32527         so that Range.cpp can use them as well.
32529 2009-09-27  Simon Hausmann  <hausmann@webkit.org>
32531         Unreviewed fix for WebInspector with Qt build.
32533         Simply re-generate the Qt resource file by running
32534         WebKitTools/Scripts/generate-qt-inspector-resource
32536         * inspector/front-end/WebKit.qrc:
32538 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
32540         Reviewed by nobody (trivial ChangeLog fix).
32542         Restore WebCore/ChangeLog truncated in r48778.
32544 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
32546         Reviewed by Timothy Hatcher.
32548         Web Inspector: DOM store is being unbound twice, leading to assertion failure.
32550         https://bugs.webkit.org/show_bug.cgi?id=29770
32552         * inspector/InspectorController.cpp:
32553         (WebCore::InspectorController::didOpenDatabase):
32554         (WebCore::InspectorController::didUseDOMStorage):
32555         * inspector/InspectorDOMStorageResource.cpp:
32556         (WebCore::InspectorDOMStorageResource::unbind):
32558 2009-09-26  Pavel Feldman  <pfeldman@chromium.org>
32560         Reviewed by Timothy Hatcher.
32562         Web Inspector: Do not track DOM changes while inspector window is closed.
32564         https://bugs.webkit.org/show_bug.cgi?id=29769
32566         * inspector/InspectorController.cpp:
32567         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
32568         (WebCore::InspectorController::populateScriptObjects):
32569         (WebCore::InspectorController::resetScriptObjects):
32570         (WebCore::InspectorController::didCommitLoad):
32571         * inspector/InspectorController.h:
32572         * inspector/InspectorDOMAgent.cpp:
32573         (WebCore::InspectorDOMAgent::setDocument):
32574         * inspector/InspectorDOMAgent.h:
32575         * loader/FrameLoader.cpp:
32576         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
32577         * page/android/InspectorControllerAndroid.cpp:
32578         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
32580 2009-09-26  Pavel Feldman  <pfeldman@chromium.org>
32582         Reviewed by Timothy Hatcher.
32584         Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window
32586         https://bugs.webkit.org/show_bug.cgi?id=29762
32588         * inspector/front-end/InjectedScript.js:
32589         (InjectedScript.setStyleText):
32590         (InjectedScript.openInInspectedWindow):
32591         * inspector/front-end/InjectedScriptAccess.js:
32592         * inspector/front-end/ResourcesPanel.js:
32593         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
32595 2009-09-26  David Kilzer  <ddkilzer@apple.com>
32597         Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
32599         Reviewed by Darin Adler.
32601         Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms.
32603         * DerivedSources.make: Moved Platform.h check for
32604         ENABLE_ORIENTATION_EVENTS into Mac-only section and added
32605         default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section.
32606         Added ifndef test to make it possible to override both
32607         ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external
32608         to the makefile.  Moved addition of ENABLE_ORIENTATION_EVENTS to
32609         ADDITIONAL_IDL_DEFINES to common section.
32610         * GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if
32611         it is ever used.
32612         * WebCore.pro: Ditto.
32614 2009-09-26  Kent Tamura  <tkent@chromium.org>
32616         Reviewed by David Kilzer.
32618         Move placeholder-related code to HTMLTextFormControlElement from
32619         HTMLInputElement, WMLInputElement, InputElement, and
32620         HTMLTextAreaElement.
32621         https://bugs.webkit.org/show_bug.cgi?id=28703
32623         * dom/InputElement.cpp:
32624         (WebCore::InputElement::dispatchFocusEvent):
32625         (WebCore::InputElement::dispatchBlurEvent):
32626         (WebCore::InputElement::setValueFromRenderer):
32627         * dom/InputElement.h:
32628         * html/HTMLFormControlElement.cpp:
32629         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
32630         (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement):
32631         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
32632         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
32633         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
32634         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
32635         * html/HTMLFormControlElement.h:
32636         (WebCore::HTMLTextFormControlElement::handleFocusEvent):
32637         (WebCore::HTMLTextFormControlElement::handleBlurEvent):
32638         * html/HTMLInputElement.cpp:
32639         (WebCore::HTMLInputElement::HTMLInputElement):
32640         (WebCore::HTMLInputElement::handleFocusEvent):
32641         (WebCore::HTMLInputElement::handleBlurEvent):
32642         (WebCore::HTMLInputElement::parseMappedAttribute):
32643         (WebCore::HTMLInputElement::createRenderer):
32644         (WebCore::HTMLInputElement::setValue):
32645         (WebCore::HTMLInputElement::setValueFromRenderer):
32646         * html/HTMLInputElement.h:
32647         (WebCore::HTMLInputElement::supportsPlaceholder):
32648         (WebCore::HTMLInputElement::isEmptyValue):
32649         * html/HTMLIsIndexElement.cpp:
32650         (WebCore::HTMLIsIndexElement::parseMappedAttribute):
32651         * html/HTMLTextAreaElement.cpp:
32652         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
32653         (WebCore::HTMLTextAreaElement::createRenderer):
32654         * html/HTMLTextAreaElement.h:
32655         (WebCore::HTMLTextAreaElement::supportsPlaceholder):
32656         (WebCore::HTMLTextAreaElement::isEmptyValue):
32657         * rendering/RenderTextControl.cpp:
32658         (WebCore::RenderTextControl::RenderTextControl):
32659         * rendering/RenderTextControl.h:
32660         * rendering/RenderTextControlMultiLine.cpp:
32661         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
32662         * rendering/RenderTextControlMultiLine.h:
32663         * rendering/RenderTextControlSingleLine.cpp:
32664         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
32665         (WebCore::RenderTextControlSingleLine::updateFromElement):
32666         * rendering/RenderTextControlSingleLine.h:
32667         * wml/WMLInputElement.cpp:
32668         (WebCore::WMLInputElement::setValue):
32669         (WebCore::WMLInputElement::createRenderer):
32670         * wml/WMLInputElement.h:
32672 2009-09-26  Shu Chang  <Chang.Shu@nokia.com>
32674         Reviewed by Alexey Proskuryakov.
32676         Optimize the code so only the text from start to end is scanned.
32677         https://bugs.webkit.org/show_bug.cgi?id=29092
32679         On a platform with webkit+Qt+Symbian, the parsing time for a 600K text
32680         file improved from 400ms to 40ms (10x faster).
32682         * dom/Text.cpp:
32683         (WebCore::Text::createWithLengthLimit):
32685 2009-09-26  Xiaomei Ji  <xji@chromium.org>
32687         Reviewed by Eric Seidel.
32689         This Patch fixes [chromium] the drop-down is always left-aligned even
32690         for RTL element.
32691         https://bugs.webkit.org/show_bug.cgi?id=29612
32693         For auto-complete, the items in drop-down should be right-aligned if
32694         the directionality of <input> field is RTL.
32695         For <select><option>, the items in drop-down should be right-aligned
32696         if the directionality of <select> is RTL.
32698         No automatic test is possible. Manual tests are added.
32700         * manual-tests/autofill_alignment.html: Added.
32701         * manual-tests/select_alignment.html: Added.
32702         * platform/chromium/PopupMenuChromium.cpp:
32703         (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to
32704         be paint if it should be right-aligned.
32706 2009-09-25  Dan Bernstein  <mitz@apple.com>
32708         Reviewed by Sam Weinig.
32710         REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4
32711         to crash on launch
32712         https://bugs.webkit.org/show_bug.cgi?id=29759
32714         * platform/graphics/win/FontDatabase.cpp:
32715         (WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB
32716         property list at the root of FontList.plist, but with an additional
32717         key for the last value of the Fonts registry key.
32718         (WebCore::populateFontDatabase): Pass the FontList.plist in its entirety
32719         to populatFontDatabaseFromPlist.
32721 2009-09-25  Kevin Ollivier  <kevino@theolliviers.com>
32723         Build fix. Adding missing header files.
32725         * bindings/js/JSNamedNodeMapCustom.cpp:
32727 2009-09-25  David Kilzer  <ddkilzer@apple.com>
32729         Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
32731         Reviewed by Darin Adler.
32733         * DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS,
32734         ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section.
32736 2009-09-25  Adam Barth  <abarth@webkit.org>
32738         Reviewed by Darin Adler.
32740         Load blocks during unload should not affect targeted loads
32741         https://bugs.webkit.org/show_bug.cgi?id=29747
32743         Move the check of the unload state after checking for targeted links.
32745         Test: fast/loader/unload-hyperlink-targeted.html
32747         * loader/FrameLoader.cpp:
32748         (WebCore::FrameLoader::loadURL):
32750 2009-09-25  Kenneth Russell  <kbr@google.com>
32752         Reviewed by Dimitri Glazkov.
32754         [Chromium] Add initial V8 bindings for WebGL
32755         https://bugs.webkit.org/show_bug.cgi?id=29664
32757         * WebCore.gypi:
32758         * bindings/scripts/CodeGeneratorV8.pm:
32759         * bindings/v8/DOMObjectsInclude.h:
32760         * bindings/v8/DerivedSourcesAllInOne.cpp:
32761         * bindings/v8/V8DOMWrapper.cpp:
32762         (WebCore::V8DOMWrapper::getTemplate):
32763         * bindings/v8/V8Index.cpp:
32764         * bindings/v8/V8Index.h:
32765         * bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added.
32766         (WebCore::CALLBACK_FUNC_DECL):
32767         * bindings/v8/custom/V8CanvasArrayCustom.h: Added.
32768         (WebCore::constructCanvasArray):
32769         * bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added.
32770         (WebCore::CALLBACK_FUNC_DECL):
32771         (WebCore::INDEXED_PROPERTY_GETTER):
32772         (WebCore::INDEXED_PROPERTY_SETTER):
32773         * bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added.
32774         (WebCore::CALLBACK_FUNC_DECL):
32775         (WebCore::INDEXED_PROPERTY_GETTER):
32776         (WebCore::INDEXED_PROPERTY_SETTER):
32777         * bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added.
32778         (WebCore::CALLBACK_FUNC_DECL):
32779         (WebCore::INDEXED_PROPERTY_GETTER):
32780         (WebCore::INDEXED_PROPERTY_SETTER):
32781         * bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added.
32782         (WebCore::jsArrayToFloatArray):
32783         (WebCore::jsArrayToIntArray):
32784         (WebCore::CALLBACK_FUNC_DECL):
32785         (WebCore::):
32786         (WebCore::vertexAttribAndUniformHelperf):
32787         (WebCore::uniformHelperi):
32788         (WebCore::uniformMatrixHelper):
32789         * bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added.
32790         (WebCore::CALLBACK_FUNC_DECL):
32791         (WebCore::INDEXED_PROPERTY_GETTER):
32792         (WebCore::INDEXED_PROPERTY_SETTER):
32793         * bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added.
32794         (WebCore::CALLBACK_FUNC_DECL):
32795         (WebCore::INDEXED_PROPERTY_GETTER):
32796         (WebCore::INDEXED_PROPERTY_SETTER):
32797         * bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added.
32798         (WebCore::CALLBACK_FUNC_DECL):
32799         (WebCore::INDEXED_PROPERTY_GETTER):
32800         (WebCore::INDEXED_PROPERTY_SETTER):
32801         * bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added.
32802         (WebCore::CALLBACK_FUNC_DECL):
32803         (WebCore::INDEXED_PROPERTY_GETTER):
32804         (WebCore::INDEXED_PROPERTY_SETTER):
32805         * bindings/v8/custom/V8CustomBinding.h:
32806         * bindings/v8/custom/V8DocumentCustom.cpp:
32807         (WebCore::CALLBACK_FUNC_DECL):
32808         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
32809         (WebCore::CALLBACK_FUNC_DECL):
32810         * platform/graphics/GraphicsContext3D.h:
32812 2009-09-25  Jeremy Orlow  <jorlow@chromium.org>
32814         This is breaking Chromium try bots, so I'm counting this as a build fix.
32816         Add more svn:ignore exceptions.  On different platforms, these files are
32817         generated with different case for WebCore.
32819         * WebCore.gyp: Changed property svn:ignore.
32821 2009-09-25  Alexey Proskuryakov  <ap@apple.com>
32823         Reverting r48767, as it broke Windows build in a non-trivial way.
32825         * bindings/js/JSAbstractWorkerCustom.cpp:
32826         (WebCore::JSAbstractWorker::addEventListener):
32827         (WebCore::JSAbstractWorker::removeEventListener):
32828         * bindings/js/JSDOMApplicationCacheCustom.cpp:
32829         (WebCore::JSDOMApplicationCache::addEventListener):
32830         (WebCore::JSDOMApplicationCache::removeEventListener):
32831         * bindings/js/JSDOMGlobalObject.cpp:
32832         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
32833         * bindings/js/JSDOMWindowCustom.cpp:
32834         (WebCore::JSDOMWindow::addEventListener):
32835         (WebCore::JSDOMWindow::removeEventListener):
32836         * bindings/js/JSEventListener.cpp:
32837         (WebCore::JSEventListener::JSEventListener):
32838         (WebCore::JSEventListener::jsFunction):
32839         (WebCore::JSEventListener::markJSFunction):
32840         (WebCore::JSEventListener::handleEvent):
32841         (WebCore::JSEventListener::reportError):
32842         * bindings/js/JSEventListener.h:
32843         (WebCore::JSEventListener::create):
32844         * bindings/js/JSEventSourceCustom.cpp:
32845         (WebCore::JSEventSource::addEventListener):
32846         (WebCore::JSEventSource::removeEventListener):
32847         * bindings/js/JSLazyEventListener.cpp:
32848         (WebCore::JSLazyEventListener::JSLazyEventListener):
32849         (WebCore::JSLazyEventListener::jsFunction):
32850         (WebCore::JSLazyEventListener::parseCode):
32851         * bindings/js/JSLazyEventListener.h:
32852         (WebCore::JSLazyEventListener::create):
32853         * bindings/js/JSMessagePortCustom.cpp:
32854         (WebCore::JSMessagePort::addEventListener):
32855         (WebCore::JSMessagePort::removeEventListener):
32856         * bindings/js/JSNodeCustom.cpp:
32857         (WebCore::JSNode::addEventListener):
32858         (WebCore::JSNode::removeEventListener):
32859         * bindings/js/JSSVGElementInstanceCustom.cpp:
32860         (WebCore::JSSVGElementInstance::addEventListener):
32861         (WebCore::JSSVGElementInstance::removeEventListener):
32862         * bindings/js/JSWorkerContextCustom.cpp:
32863         (WebCore::JSWorkerContext::addEventListener):
32864         (WebCore::JSWorkerContext::removeEventListener):
32865         * bindings/js/JSXMLHttpRequestCustom.cpp:
32866         (WebCore::JSXMLHttpRequest::addEventListener):
32867         (WebCore::JSXMLHttpRequest::removeEventListener):
32868         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
32869         (WebCore::JSXMLHttpRequestUpload::addEventListener):
32870         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
32871         * bindings/js/ScriptEventListener.cpp:
32872         (WebCore::createAttributeEventListener):
32873         * bindings/objc/ObjCEventListener.h:
32874         * bindings/objc/ObjCEventListener.mm:
32875         (WebCore::ObjCEventListener::handleEvent):
32876         * bindings/scripts/CodeGeneratorJS.pm:
32877         * dom/EventListener.h:
32878         (WebCore::EventListener::reportError):
32879         (WebCore::EventListener::jsFunction):
32880         * dom/EventTarget.cpp:
32881         (WebCore::EventTarget::fireEventListeners):
32882         * inspector/InspectorDOMAgent.cpp:
32883         (WebCore::InspectorDOMAgent::handleEvent):
32884         * inspector/InspectorDOMAgent.h:
32885         * inspector/InspectorDOMStorageResource.cpp:
32886         (WebCore::InspectorDOMStorageResource::handleEvent):
32887         * inspector/InspectorDOMStorageResource.h:
32888         * loader/ImageDocument.cpp:
32889         (WebCore::ImageEventListener::handleEvent):
32890         * svg/animation/SVGSMILElement.cpp:
32891         (WebCore::ConditionEventListener::handleEvent):
32892         * workers/WorkerContext.cpp:
32893         (WebCore::WorkerContext::reportException):
32895 2009-09-24  Tony Chang  <tony@chromium.org>
32897         Reviewed by David Levin.
32899         Add a gyp variable to allow building a debug webcore without debug
32900         symbols.  This allows for faster compile, link, and gdb times.
32902         https://bugs.webkit.org/show_bug.cgi?id=29721
32904         No new tests, build config change.
32906         * WebCore.gyp/WebCore.gyp:
32908 2009-09-25  Darin Fisher  <darin@chromium.org>
32910         Reviewed by Dimitri Glazkov.
32912         Declare RegisteredEventListener as a class instead of a struct.
32913         This fixes a warning in the Chromium build.
32915         * dom/RegisteredEventListener.h:
32917 2009-09-25  Dan Bernstein  <mitz@apple.com>
32919         Reviewed by Jon Honeycutt.
32921         WebCore part of
32922         <rdar://problem/7211635> 2 byte characters are displayed as garbaged
32923         <rdar://problem/7212626> garbled/gibberish text (off-by-one)
32925         When the Windows Fonts directory contains more than one font file for a
32926         given font name, which of the fonts gets assigned to the name in the
32927         Core Graphics font database was determined arbitrarily and did not
32928         always match the font GDI used for the same font name. The mismatch
32929         caused character-to-glyph mapping to use one font and glyph rendering to
32930         use another.
32932         The fix is to update the Core Graphics font database from the registry
32933         entries (that reflect the name-to-font mapping that GDI uses) after
32934         populating it with the result of scanning the Fonts directory. As a
32935         consequence, the directory needs to be scanned at startup every time the
32936         registry key changes, so the last value of the registry key is kept
32937         in the property list on disk so that it could be compared to the current
32938         value on startup.
32940         * platform/graphics/win/FontDatabase.cpp:
32941         (WebCore::populateFontDatabaseFromPlist): Now takes a property list as
32942         a parameter and avoids round-tripping through XML by calling
32943         wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation().
32944         (WebCore::fontFilenamesFromRegistryKey):
32945         (WebCore::cgFontDBKey):
32946         (WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property
32947         list and a property list with the font filenames from the registry and
32948         writes a dictionary with those property lists as values.
32949         (WebCore::fontFilenamesFromRegistry): Added. Returns an array with the
32950         values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
32951         registry key.
32952         (WebCore::populateFontDatabase): Changed to read the contents of the
32953         Fonts registry key and compare it with the last-saved value from the
32954         property list, and to call wkAddFontsFromRegistry() after populating the
32955         CG font DB from the file system. Uses wkCreateFontsPlist() instead of
32956         wkCreateFontsPlistRepresentation() to avoid round-tripping through XML.
32958 2009-09-25  Geoffrey Garen  <ggaren@apple.com>
32960         Reviewed by Darin Adler.
32962         Inlined some object creation code, including lexicalGlobalObject access
32963         https://bugs.webkit.org/show_bug.cgi?id=29750
32965         * bindings/js/JSInspectorBackendCustom.cpp:
32966         (WebCore::JSInspectorBackend::currentCallFrame):
32967         * inspector/JavaScriptDebugServer.cpp:
32968         (WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
32969         API changes.
32971 2009-09-25  Dave Hyatt  <hyatt@apple.com>
32973         Reviewed by Anders Carlsson.
32975         https://bugs.webkit.org/show_bug.cgi?id=24399
32976         Make @import work in user stylesheets.  The first bug was that the URL wasn't being set on the
32977         user sheets themselves, so relative @import URLs couldn't resolve properly.  The second bug
32978         was that the loads would be denied.  This is fixed by using the requestUserCSSStyleSheet method
32979         instead of the normal request method.  In order to know when to do this, CSSStyleSheets now have
32980         a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not.
32982         * css/CSSImportRule.cpp:
32983         (WebCore::CSSImportRule::insertedIntoParent):
32984         * css/CSSStyleSheet.cpp:
32985         (WebCore::CSSStyleSheet::CSSStyleSheet):
32986         * css/CSSStyleSheet.h:
32987         (WebCore::CSSStyleSheet::setIsUserStyleSheet):
32988         (WebCore::CSSStyleSheet::isUserStyleSheet):
32989         * dom/Document.cpp:
32990         (WebCore::Document::pageUserSheet):
32991         (WebCore::Document::pageGroupUserSheets):
32993 2009-09-25  Simon Fraser  <simon.fraser@apple.com>
32995         Reviewed by Darin Adler.
32997         ASSERTION FAILED: !repaintContainer || repaintContainer == this
32998         https://bugs.webkit.org/show_bug.cgi?id=29755
32999         
33000         It's possible for RenderObject::container() to return an object that is higher
33001         in the hierarchy than the repaintContainer that is being used to repaint an
33002         object. For example, this can happen when running an accelerated opacity
33003         transition on an element with a position:absolute parent, and a position:absolute child.
33004         
33005         In this case we need to detect when RenderObject::container() will skip over
33006         repaintContainer, and in that case adjust the coords to shift into repaintContainer's space.
33008         Test: compositing/repaint/opacity-between-absolute.html
33010         * rendering/RenderBox.cpp:
33011         (WebCore::RenderBox::mapLocalToContainer):
33012         (WebCore::RenderBox::computeRectForRepaint):
33013         * rendering/RenderInline.cpp:
33014         (WebCore::RenderInline::computeRectForRepaint):
33015         * rendering/RenderObject.cpp:
33016         (WebCore::RenderObject::container):
33017         * rendering/RenderObject.h:
33019 2009-09-25  Simon Fraser  <simon.fraser@apple.com>
33021         Reviewed by Darin Adler.
33023         Crash with hardware accelerated rotation of a PDF image in a data URL
33024         <rdar://problem/7250378>
33025         
33026         PDF images don't return a color space from CGImageGetColorSpace(),
33027         so we need to null-check the return value before use.
33029         Test: compositing/color-matching/pdf-image-match.html
33031         * platform/graphics/mac/GraphicsLayerCA.mm:
33032         (WebCore::GraphicsLayerCA::setContentsToImage):
33034 2009-09-25  Darin Adler  <darin@apple.com>
33036         Reviewed by Geoffrey Garen.
33038         Null-deref when first access to an Attr node is after its Element is destroyed
33039         https://bugs.webkit.org/show_bug.cgi?id=29748
33041         Test: fast/dom/Attr/access-after-element-destruction.html
33043         * bindings/js/JSAttrCustom.cpp:
33044         (WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as
33045         long as the Attr is alive.
33047         * bindings/js/JSNamedNodeMapCustom.cpp:
33048         (WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as
33049         long as the NamedNodeMap is alive.
33051         * dom/Attr.idl: Added CustomMarkFunction attribute.
33053         * dom/NamedAttrMap.cpp:
33054         (WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting.
33055         (WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't
33056         have attributes hanging around that might need an Attr node created; that way
33057         we won't crash with a null-dereference trying to deal with one of them. This
33058         can't happen when working with JavaScript since the Element will be kept
33059         alive due to the change above.
33060         (WebCore::NamedNodeMap::addAttribute): Fix function name in comment.
33061         (WebCore::NamedNodeMap::removeAttribute): Removed unneeded "1" and added
33062         missing braces.
33064         * dom/NamedAttrMap.h: Made the element function public so it can be used by
33065         the JavaScript binding to keep the Element alive.
33067         * dom/NamedNodeMap.idl: Added CustomMarkFunction attribute.
33069 2009-09-24  Alexey Proskuryakov  <ap@apple.com>
33071         Reviewed by Darin Adler and Sam Weinig.
33073         Onclick not fired for an element copied with cloneContents() or cloneNode()
33074         https://bugs.webkit.org/show_bug.cgi?id=25130
33076         The change here is that JS event listeners don't keep a reference to a global object from
33077         where they were created, and instead take it as a parameter when parsing source code. Also,
33078         the listener creation won't fail just because it happens for an element in a frameless
33079         document.
33080         Thus, moving nodes between documents no longer results in having incorrect registered
33081         lazy event listeners on them.
33083         Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
33084                fast/events/attribute-listener-cloned-from-frameless-doc-context.html
33085                fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
33086                fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
33087                fast/events/attribute-listener-extracted-from-frameless-doc-context.html
33089         * bindings/js/JSEventListener.cpp:
33090         (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
33091         (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
33092         getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
33093         (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
33094         (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
33095         (WebCore::JSEventListener::reportError): Ditto.
33097         * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
33098         to JSDOMGlobalObject.
33100         * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
33101         creation was split between this function and ScriptEventListener; moved it here, as JS
33102         global object can be different now.
33104         * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
33105         which can not be determined at parsing time.
33107         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
33108         for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
33109         expect that errors are logged at document parsing time, and because I don't know what other
33110         side effects moving it vould have.
33112         * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
33113         because JSC needs a global context here.
33115         * bindings/js/JSAbstractWorkerCustom.cpp:
33116         (WebCore::JSAbstractWorker::addEventListener):
33117         (WebCore::JSAbstractWorker::removeEventListener):
33118         * bindings/js/JSDOMApplicationCacheCustom.cpp:
33119         (WebCore::JSDOMApplicationCache::addEventListener):
33120         (WebCore::JSDOMApplicationCache::removeEventListener):
33121         * bindings/js/JSDOMGlobalObject.cpp:
33122         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
33123         * bindings/js/JSDOMWindowCustom.cpp:
33124         (WebCore::JSDOMWindow::addEventListener):
33125         (WebCore::JSDOMWindow::removeEventListener):
33126         * bindings/js/JSEventSourceCustom.cpp:
33127         (WebCore::JSEventSource::addEventListener):
33128         (WebCore::JSEventSource::removeEventListener):
33129         * bindings/js/JSMessagePortCustom.cpp:
33130         (WebCore::JSMessagePort::addEventListener):
33131         (WebCore::JSMessagePort::removeEventListener):
33132         * bindings/js/JSNodeCustom.cpp:
33133         (WebCore::JSNode::addEventListener):
33134         (WebCore::JSNode::removeEventListener):
33135         * bindings/js/JSSVGElementInstanceCustom.cpp:
33136         (WebCore::JSSVGElementInstance::addEventListener):
33137         (WebCore::JSSVGElementInstance::removeEventListener):
33138         * bindings/js/JSWorkerContextCustom.cpp:
33139         (WebCore::JSWorkerContext::addEventListener):
33140         (WebCore::JSWorkerContext::removeEventListener):
33141         * bindings/js/JSXMLHttpRequestCustom.cpp:
33142         (WebCore::JSXMLHttpRequest::addEventListener):
33143         (WebCore::JSXMLHttpRequest::removeEventListener):
33144         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
33145         (WebCore::JSXMLHttpRequestUpload::addEventListener):
33146         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
33147         * bindings/objc/ObjCEventListener.h:
33148         * bindings/objc/ObjCEventListener.mm:
33149         (WebCore::ObjCEventListener::handleEvent):
33150         * bindings/scripts/CodeGeneratorJS.pm:
33151         * dom/EventTarget.cpp:
33152         (WebCore::EventTarget::fireEventListeners):
33153         * inspector/InspectorDOMAgent.cpp:
33154         (WebCore::InspectorDOMAgent::handleEvent):
33155         * inspector/InspectorDOMAgent.h:
33156         * inspector/InspectorDOMStorageResource.cpp:
33157         (WebCore::InspectorDOMStorageResource::handleEvent):
33158         * inspector/InspectorDOMStorageResource.h:
33159         * loader/ImageDocument.cpp:
33160         (WebCore::ImageEventListener::handleEvent):
33161         * svg/animation/SVGSMILElement.cpp:
33162         (WebCore::ConditionEventListener::handleEvent):
33163         * workers/WorkerContext.cpp:
33164         (WebCore::WorkerContext::reportException):
33165         Don't pass global object to JSEventListener::create(), which no longer needs it.
33166         Note that some of these functions still have an early return for null global object, which
33167         can probably be removed in a later patch.
33168         Pass ScriptExecutionContext to EventListener methods that now need it.
33170 2009-09-25  Enrica Casucci  <enrica@apple.com>
33172         Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.
33174         Fix for https://bugs.webkit.org/show_bug.cgi?id=29740
33175         <rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line
33177         Change the way style is preserved when inserting a new paragraph.
33178         The original code handled insertion at the beginning and at the end of a paragraph as special
33179         cases. The newly created paragraph contained a set of nodes generated starting from the
33180         computed style of the insertion node. This approach has two problems:
33181         1. if the insertion node has a non opaque background color and one of the parent element did have
33182         a solid background color the new paragraph did not have the element with the solid color in the tree.
33183         2. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic,
33184         background color and some font attribute was being reproduced as span bold italic font as separate tags.
33185         The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the
33186         paragraph where the insertion point is.
33188         Test: editing/inserting/insert-bg-font.html
33190         * editing/InsertParagraphSeparatorCommand.cpp:
33191         (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors
33192         between the insert node and the outer block.
33193         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate
33194         in the new paragraph the same element hierarchy present in the starting paragraph.
33195         (WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion
33196         in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and
33197         at the end of the paragraph to use the new methods instead of applying the calculated style.
33198         * editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock.
33200 2009-09-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
33202         Reviewed by Timothy Hatcher.
33204         Content-type parameters not taken into account when building form-data
33205         https://bugs.webkit.org/show_bug.cgi?id=28970
33207         existing manual test case extended with new tests
33209         * English.lproj/localizedStrings.js:
33210         * inspector/front-end/ResourceView.js:
33211         (WebInspector.ResourceView.prototype._refreshFormData):
33212         (WebInspector.ResourceView.prototype._refreshParms):
33213         * manual-tests/inspector/display-form-data.html:
33215 2009-09-25  Yuan Song  <song.yuan@ericsson.com>
33217         Reviewed by Darin Adler.
33219         https://bugs.webkit.org/show_bug.cgi?id=14566
33221         Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value.
33223         Test: fast/js/invalid-domain-change-throws-exception.html
33225         * dom/Document.cpp:
33226         (WebCore::Document::setDomain):
33227         * dom/Document.h:
33228         * dom/Document.idl:
33230 2009-09-25  Adam Barth  <abarth@webkit.org>
33232         Reviewed by Dimitri Glazkov.
33234         [V8] Teach ScheduledAction::execute about isolated worlds
33235         https://bugs.webkit.org/show_bug.cgi?id=27703
33237         When setTimeout is called with a string argument in an isolated
33238         world, we now compile the string in the isolated world.
33240         Last time we tried this change, we got a lot of crashes.  This
33241         time we're using a fresh local handle as our context to avoid
33242         trouble if the peristent handle gets disposed before we leave
33243         the context.
33245         Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html
33247         * bindings/v8/ScheduledAction.cpp:
33248         (WebCore::ScheduledAction::execute):
33250 2009-09-25  Paul Godavari  <paul@chromium.org>
33252         Reviewed by Darin Fisher.
33254         Fix a regression in Mac Chromium popup menus, where the user's
33255         selection was ignored and the popup became unresponsive.
33256         https://bugs.webkit.org/show_bug.cgi?id=29726
33258         The fix is to notify the popup's client that the popup was hidden,
33259         even if the popup has no parent.
33261         * platform/chromium/PopupMenuChromium.cpp:
33262         (WebCore::PopupListBox::hidePopup):
33264 2009-09-25  Alexander Pavlov  <apavlov@chromium.org>
33266         Reviewed by Dan Bernstein.
33268         Enable Pasteboard::writePlainText for Chromium and fix code style nits.
33269         https://bugs.webkit.org/show_bug.cgi?id=29734
33271         * platform/chromium/PasteboardChromium.cpp:
33272         (WebCore::Pasteboard::writePlainText):
33273         * platform/gtk/PasteboardGtk.cpp:
33274         (WebCore::Pasteboard::writePlainText):
33275         (WebCore::Pasteboard::writeURL):
33276         * platform/mac/PasteboardMac.mm:
33277         (WebCore::Pasteboard::writeSelection):
33278         (WebCore::Pasteboard::writePlainText):
33279         (WebCore::Pasteboard::writeURL):
33280         * platform/qt/PasteboardQt.cpp:
33281         (WebCore::Pasteboard::writePlainText):
33283 2009-09-25  Yongjun Zhang  <yongjun.zhang@nokia.com>
33285         Reviewed by Ariya Hidayat.
33287         https://bugs.webkit.org/show_bug.cgi?id=28876
33288         [Qt] reduce peak memory consumption of text decoding.
33290         Chop large input buffer into small buffers to reduce peak memory
33291         during decoding.
33293         * platform/text/qt/TextCodecQt.cpp:
33294         (WebCore::TextCodecQt::decode):
33296 2009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>
33298         Add a mechanism for automatically halting plug-ins.
33300         Reviewed by Oliver Hunt and Alice Liu.
33302         * GNUmakefile.am:
33304         * WebCore.base.exp:
33305         Update export of Page constructor.
33307         * WebCore.gypi:
33309         * WebCore.pro:
33311         * WebCore.vcproj/WebCore.vcproj:
33312         Add PluginHalter.{h,cpp}, PluginHalterClient.h, and
33313         HaltablePlugin.h.
33315         * WebCore.xcodeproj/project.pbxproj:
33316         Add files to Mac project.
33318         * loader/EmptyClients.h:
33319         Added an empty PluginHalterClient.
33320         (WebCore::EmptyPluginHalterClient::shouldHaltPlugin):
33321         Return false.
33323         * page/PluginHalter.cpp: Added.
33324         (WebCore::PluginHalter::PluginHalter):
33325         (WebCore::PluginHalter::didStartPlugin):
33326         Add the object to the plug-in set. If this is the only item in the set,
33327         set m_oldestStartTime to this object's time, and start the timer.
33328         (WebCore::PluginHalter::didStopPlugin):
33329         Remove the plug-in from the set.
33330         (WebCore::PluginHalter::timerFired):
33331         Find the cut-off time as the current time minus the allowed run time;
33332         plug-ins older than this may be halted. Iterate over the plug-ins. Find
33333         the object with the oldest start time that is too young to be halted;
33334         we'll use its start time to set the timer's next fire time. For all
33335         plug-ins that are candidates to be halted, call the
33336         PluginHalterClient's shouldHaltPlugin(). If this function returns true,
33337         call the plug-in's halt() function. Remove these objects from the set
33338         of tracked plug-ins. Call startTimerIfNecessary() to restart the timer.
33339         (WebCore::PluginHalter::startTimerIfNecessary):
33340         If the timer is set to fire, or the set of tracked plug-ins is empty,
33341         return early. Set the timer to fire after the oldest plug-in has run
33342         for the allowed run time.
33344         * page/PluginHalter.h: Added.
33345         (WebCore::PluginHalter::setPluginAllowedRunTime):
33347         * page/PluginHalterClient.h: Added.
33348         (WebCore::PluginHalterClient::~PluginHalterClient):
33350         * page/Page.cpp:
33351         (WebCore::Page::Page):
33352         Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged()
33353         to create the PluginHalter if necessary.
33354         (WebCore::Page::pluginHalterEnabledStateChanged):
33355         If plug-in halting is enabled, create the PluginHalter. If it is
33356         disabled, clear it.
33357         (WebCore::Page::pluginAllowedRunTimeChanged):
33358         If there is a plug-in halter, call its setPluginAllowedRunTime().
33359         (WebCore::Page::didStartPlugin):
33360         If there is a plug-in halter, call its didStartPlugin().
33361         (WebCore::Page::didStopPlugin):
33362         If there is a plug-in halter, call its didStopPlugin().
33364         * page/Page.h:
33365         Add a parameter to the Page constructor for the PluginHalterClient.
33366         Added declarations for didStartPlugin() and didStopPlugin(), which are
33367         called when HaltablePlugins are added to or removed from the page. Adds
33368         pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to
33369         notify the Page when these settings are changed. Added members to hold
33370         the PluginHalter and the PluginHalterClient.
33372         * page/Settings.cpp:
33373         (WebCore::Settings::Settings):
33374         (WebCore::Settings::setPluginHalterEnabled):
33375         If the enabled state has changed, call the Page's
33376         pluginHalterEnabledStateChanged().
33377         (WebCore::Settings::setPluginAllowedRunTime):
33378         Call the Page's pluginAllowedRunTimeChanged().
33380         * page/Settings.h:
33381         (WebCore::Settings::pluginHalterEnabled):
33382         (WebCore::Settings::pluginAllowedRunTime):
33384         * page/HaltablePlugin.h: Added. Defines an interface for plug-ins that
33385         can be automatically halted.
33386         (WebCore::HaltablePlugin::~HaltablePlugin):
33388         * svg/graphics/SVGImage.cpp:
33389         (WebCore::SVGImage::dataChanged):
33390         Pass a dummy PluginHalterClient.
33392 2009-09-24  Simon Fraser  <simon.fraser@apple.com>
33394         Reviewed by Dan Bernstein.
33396         REGRESSION: webkit-transform scale no longer works properly in nightly build
33397         https://bugs.webkit.org/show_bug.cgi?id=29730
33398         
33399         When the initial or final state of a scale animation does not specify a transform,
33400         use a default scale of 1, rather than zero.
33402         Test: compositing/transitions/scale-transition-no-start.html
33404         * platform/graphics/mac/GraphicsLayerCA.mm:
33405         (WebCore::getTransformFunctionValue):
33407 2009-09-24  John Gregg  <johnnyg@google.com>
33409         Reviewed by Eric Seidel.
33411         isEnabled switch for notifications (experimental) in Page Settings
33412         https://bugs.webkit.org/show_bug.cgi?id=28930
33414         Adds a run-time flag in Settings object that controls whether
33415         to expose desktop notifications.
33417         No new test, but test code also modified to set this preference.
33419         * page/DOMWindow.cpp:
33420         (WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object
33421         * page/Settings.cpp:
33422         (WebCore::Settings::Settings):
33423         (WebCore::Settings::setExperimentalNotificationsEnabled):
33424         * page/Settings.h:
33425         (WebCore::Settings::experimentalNotificationsEnabled):
33427 2009-09-24  Dan Bernstein  <mitz@apple.com>
33429         Reviewed by Sam Weinig.
33431         Fix <rdar://problem/7162000> Crash while trying to
33432         calculate the horizontal position of image
33434         Test: fast/inline-block/relative-positioned-rtl-crash.html
33436         * rendering/RenderBox.cpp:
33437         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an
33438         isInline() test to isRenderInline(). This is similar to r41259.
33440 2009-09-24  Jessie Berlin  <jberlin@webkit.org>
33442         Reviewed by Timothy Hatcher.
33444         Fix expanding profile call stacks being broken after sorting.
33445         https://bugs.webkit.org/show_bug.cgi?id=26423
33447         * inspector/front-end/ProfileDataGridTree.js:
33448         (WebInspector.ProfileDataGridNode.prototype.sort):
33449         Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it
33450         causes the children to be placed in the right positions.
33452 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
33454         Reviewed by Stephanie Lewis.
33456         Fixed sudden termination console spew due to too many calls to
33457         enableSuddenTermination.
33458         
33459         <rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors
33461         * page/DOMWindow.cpp:
33462         (WebCore::removeUnloadEventListener):
33463         (WebCore::removeAllUnloadEventListeners):
33464         (WebCore::removeBeforeUnloadEventListener):
33465         (WebCore::removeAllBeforeUnloadEventListeners): Only
33466         enableSuddenTermination if the set of listeners is empty *and* this
33467         window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination.
33469 2009-09-24  Carol Szabo  <carol.szabo@nokia.com>
33471         Reviewed by Alexey Proskuryakov.
33473         WebKit returns "" instead of null when getting
33474         inexistent, forbidden or invalidly named headers.
33475         https://bugs.webkit.org/show_bug.cgi?id=29140
33477         * xml/XMLHttpRequest.cpp:
33478         (WebCore::XMLHttpRequest::getResponseHeader):
33479         Changed to return null as it should according to the spec.
33481 2009-09-24  Jeremy Orlow  <jorlow@chromium.org>
33483         Reviewed by Dimitri Glazkov.
33485         Add GYP generated files to svn:ignore
33486         https://bugs.webkit.org/show_bug.cgi?id=29724
33488         Adding the following files to the svn:ignore list (all in the
33489         WebCore/WebCore.gyp directory)
33491         WebCore.xcodeproj
33492         WebCore.sln
33493         WebCore.vcproj
33494         WebCore_Debug.rules
33495         WebCore_Release.rules
33496         WebCore_Release - no tcmalloc.rules
33497         WebCore_Purify.rules
33498         WebCore.mk
33499         WebCore_Debug_rules.mk
33500         WebCore_Release_rules.mk
33501         WebCore_Release - no tcmalloc_rules.mk
33502         WebCore_Purify_rules.mk
33503         WebCore.scons
33504         WebCore_main.scons
33506         * WebCore.gyp: Changed property svn:ignore.
33508 2009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
33510         Unreviewed. Mac build fix.
33512         * page/EventHandler.cpp:
33513         (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
33514         remove unused parameter from function signature;
33516 2009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
33518         Reviewed by Oliver Hunt.
33520         Implement correct horizontal scrollbar behavior for GTKalso on
33521         styled scrollbars.
33523         https://bugs.webkit.org/show_bug.cgi?id=29348
33524         [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
33526         Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
33528         * page/EventHandler.cpp:
33529         (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the
33530         wheel with the pointer on the horizontal scrollbar, scroll
33531         horizontally;
33532         * platform/PlatformWheelEvent.h:
33533         * platform/gtk/WheelEventGtk.cpp:
33534         (WebCore::PlatformWheelEvent::swapOrientation): allow adding a
33535         vertical scroll to the horizontal one;
33537 2009-09-24  Jeremy Orlow  <jorlow@chromium.org>
33539         Reviewed by Eric Seidel.
33541         StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin>
33542         https://bugs.webkit.org/show_bug.cgi?id=29290
33544         Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin>
33545         per http://webkit.org/coding/RefPtr.html
33547         No behavior change, so no tests.
33549         * storage/StorageNamespace.h:
33550         * storage/StorageNamespaceImpl.cpp:
33551         (WebCore::StorageNamespaceImpl::storageArea):
33552         * storage/StorageNamespaceImpl.h:
33554 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
33556         Reviewed by Sam Weinig.
33558         Added back enable/disableSuddenTermination() functionality I accidentally
33559         removed in my last patch.
33561         * page/DOMWindow.cpp:
33562         (WebCore::addUnloadEventListener):
33563         (WebCore::removeUnloadEventListener):
33564         (WebCore::removeAllUnloadEventListeners):
33565         (WebCore::addBeforeUnloadEventListener):
33566         (WebCore::removeBeforeUnloadEventListener):
33567         (WebCore::removeAllBeforeUnloadEventListeners):
33568         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
33569         (WebCore::DOMWindow::~DOMWindow):
33570         (WebCore::DOMWindow::addEventListener):
33571         (WebCore::DOMWindow::removeEventListener):
33572         (WebCore::DOMWindow::removeAllEventListeners):
33574 2009-09-24  Sam Weinig  <sam@webkit.org>
33576         Reviewed by Steve Falkenburg and Mark Rowe.
33578         Don't pass -F to GCC on non-mac platforms since it is an darwin only.
33580         * DerivedSources.make:
33582 2009-09-24  Sam Weinig  <sam@webkit.org>
33584         Fix windows build.
33586         * dom/Element.idl:
33588 2009-09-23  Stephen White  <senorblanco@chromium.org>
33590         Reviewed by Eric Seidel.
33592         Revert the relevant parts of r47925, and implement an alternate
33593         fix (localize the coordinate check to GraphicsContext::clipPath()).
33594         This fixes http://crbug.com/21174.
33596         Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
33598         * platform/graphics/skia/GraphicsContextSkia.cpp:
33599         (WebCore::GraphicsContext::clipPath):
33600         * platform/graphics/skia/PlatformContextSkia.cpp:
33601         (PlatformContextSkia::currentPathInLocalCoordinates):
33603 2009-09-24  Brady Eidson  <beidson@apple.com>
33605         Reviewed by Sam Weinig.
33607         Merge changes from Mozilla's FTP directory parser.
33608         <rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294
33610         FTP layout tests not possible at this time.
33611         https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible.
33613         * loader/FTPDirectoryParser.cpp:
33614         (WebCore::ParsingFailed):
33615         (WebCore::parseOneFTPLine):
33617 2009-09-24  Philippe Normand  <pnormand@igalia.com>
33619         Reviewed by Gustavo Noronha.
33621         [GTK] re-enable some media tests
33622         https://bugs.webkit.org/show_bug.cgi?id=29716
33624         make canPlayType() return "probably" if mime-type is known
33625         and codecs string is not empty. If codecs is empty return
33626         "maybe".
33628         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33629         (WebCore::MediaPlayerPrivate::supportsType):
33631 2009-09-24  Sam Weinig  <sam@webkit.org>
33633         Reviewed by Dan Bernstein.
33635         Fix for https://bugs.webkit.org/show_bug.cgi?id=29703
33636         Add a function to element to check whether it matches a CSS selector
33638         Implement Element.webkitMatchesSelector.
33640         * css/CSSSelectorList.cpp:
33641         (WebCore::forEachTagSelector):
33642         (WebCore::forEachSelector):
33643         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
33644         (WebCore::CSSSelectorList::selectorsNeedNamespaceResolution):
33645         * css/CSSSelectorList.h:
33646         Moved code to iterate the CSSSelectorList and determine if any
33647         selectors need namespace resolution from a static function in
33648         Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector
33649         as well as querySelector/querySelectorAll.
33651         * dom/Element.cpp:
33652         (WebCore::Element::webkitMatchesSelector):
33653         * dom/Element.h: 
33654         * dom/Element.idl:
33655         Implement the new function. Handles exceptional cases identically to
33656         querySelector/querySelectorAll.
33658         * dom/Node.cpp:
33659         (WebCore::Node::querySelector):
33660         (WebCore::Node::querySelectorAll):
33661         Moved selectorsNeedNamespaceResolution to CSSSelectorList from here.
33663 2009-09-24  Vitaly Repeshko  <vitalyr@chromium.org>
33665         Reviewed by Dimitri Glazkov.
33667         [V8] Fixed bindings build after http://trac.webkit.org/changeset/48701
33668         https://bugs.webkit.org/show_bug.cgi?id=29713
33670         Got rid of isWindowEvent in function signatures:
33671         * bindings/v8/V8AbstractEventListener.cpp:
33672         (WebCore::V8AbstractEventListener::invokeEventHandler):
33673         (WebCore::V8AbstractEventListener::handleEvent):
33674         (WebCore::V8AbstractEventListener::getReceiverObject):
33675         * bindings/v8/V8AbstractEventListener.h:
33676         * bindings/v8/V8LazyEventListener.cpp:
33677         (WebCore::V8LazyEventListener::callListenerFunction):
33678         * bindings/v8/V8LazyEventListener.h:
33679         * bindings/v8/V8WorkerContextEventListener.cpp:
33680         (WebCore::V8WorkerContextEventListener::handleEvent):
33681         (WebCore::V8WorkerContextEventListener::callListenerFunction):
33682         (WebCore::V8WorkerContextEventListener::getReceiverObject):
33683         * bindings/v8/V8WorkerContextEventListener.h:
33684         * bindings/v8/custom/V8CustomEventListener.cpp:
33685         (WebCore::V8EventListener::callListenerFunction):
33686         * bindings/v8/custom/V8CustomEventListener.h:
33688         Switched to EventTarget methods of adding/removing listeners:
33689         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
33690         (WebCore::toEventID):
33691         (WebCore::ACCESSOR_SETTER):
33693         * dom/EventTarget.h: Some functions were incorrectly marked
33694         as JSC-specific.
33696 2009-09-24  Pavel Feldman  <pfeldman@chromium.org>
33698         Reviewed by Timothy Hatcher.
33700         Web Inspector: Color-code watch expression errors with red.
33702         https://bugs.webkit.org/show_bug.cgi?id=29707
33704         * inspector/front-end/WatchExpressionsSidebarPane.js:
33705         (WebInspector.WatchExpressionsSection.prototype.update):
33706         (WebInspector.WatchExpressionTreeElement.prototype.update):
33707         * inspector/front-end/inspector.css:
33709 2009-09-24  Pavel Feldman  <pfeldman@chromium.org>
33711         Reviewed by Timothy Hatcher.
33713         Web Inspector: Fix formatting for messages derived from resource warnings,
33714         couple of drive-by formatting fixes.
33716         https://bugs.webkit.org/show_bug.cgi?id=29705
33718         * inspector/InspectorFrontend.cpp:
33719         (WebCore::InspectorFrontend::addMessageToConsole):
33720         * inspector/front-end/ConsoleView.js:
33721         * inspector/front-end/InjectedScript.js:
33722         (InjectedScript._evaluateAndWrap):
33723         * inspector/front-end/WatchExpressionsSidebarPane.js:
33724         (WebInspector.WatchExpressionsSection.prototype.update):
33726 2009-09-22  Pavel Feldman  <pfeldman@chromium.org>
33728         Reviewed by Timothy Hatcher.
33730         WebInspector: Implement InspectorController::copyNode(id).
33732         https://bugs.webkit.org/show_bug.cgi?id=28357
33734         * inspector/InspectorBackend.cpp:
33735         (WebCore::InspectorBackend::copyNode):
33736         * inspector/InspectorBackend.h:
33737         * inspector/InspectorBackend.idl:
33738         * inspector/front-end/ElementsPanel.js:
33739         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
33741 2009-09-24  Oliver Hunt  <oliver@apple.com>
33743         Reviewed by NOBODY(rollout)
33745         Roll out r48712 as it is incorrect.
33747         Overriding getPropertyNames is incorrect.
33749         * bridge/runtime_array.cpp:
33750         * bridge/runtime_array.h:
33752 2009-09-24  Xan Lopez  <xlopez@igalia.com>
33754         Revert r48697, since it broke key handling notification to GTK+.
33756         * platform/gtk/KeyEventGtk.cpp:
33757         (WebCore::keyIdentifierForGdkKeyCode):
33758         (WebCore::singleCharacterString):
33760 2009-09-24  Philippe Normand  <pnormand@igalia.com>
33762         Reviewed by Xan Lopez.
33764         [GTK] GStreamer MediaPlayer is unable to correctly querry duration
33765         https://bugs.webkit.org/show_bug.cgi?id=24639
33767         check duration returned by gst_element_query_duration() only
33768         when using GStreamer < 0.10.23.
33770         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33771         (WebCore::MediaPlayerPrivate::duration):
33773 2009-09-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
33775         Reviewed by Eric Seidel.
33777         The indices of RuntimeArray should be enumerated like for a regular array.
33778         https://bugs.webkit.org/show_bug.cgi?id=29005
33780         * bridge/runtime_array.cpp:
33781         (JSC::RuntimeArray::getPropertyNames):
33782         * bridge/runtime_array.h:
33784 2009-09-23  Alexander Pavlov  <apavlov@chromium.org>
33786         Reviewed by Eric Seidel.
33788         Introduce Pasteboard::writePlaintext(const String&) so that copying
33789         of the inspected elements HTML will be possible in WebInspector.
33790         https://bugs.webkit.org/show_bug.cgi?id=29634
33792         * platform/Pasteboard.h:
33793         * platform/android/TemporaryLinkStubs.cpp:
33794         (Pasteboard::writePlainText):
33795         * platform/chromium/ChromiumBridge.h:
33796         * platform/chromium/PasteboardChromium.cpp:
33797         (WebCore::Pasteboard::writePlainText):
33798         * platform/gtk/PasteboardGtk.cpp:
33799         (WebCore::Pasteboard::writePlainText):
33800         * platform/haiku/PasteboardHaiku.cpp:
33801         (WebCore::Pasteboard::writePlainText):
33802         * platform/mac/PasteboardMac.mm:
33803         (WebCore::Pasteboard::writePlainText):
33804         * platform/qt/PasteboardQt.cpp:
33805         (WebCore::Pasteboard::writePlainText):
33806         * platform/win/PasteboardWin.cpp:
33807         (WebCore::Pasteboard::writeSelection):
33808         (WebCore::Pasteboard::writePlainText):
33809         * platform/wince/PasteboardWince.cpp:
33810         (WebCore::Pasteboard::writePlainText):
33811         * platform/wx/PasteboardWx.cpp:
33812         (WebCore::Pasteboard::writeSelection):
33813         (WebCore::Pasteboard::writePlainText):
33814         (WebCore::Pasteboard::writeURL):
33816 2009-09-24  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
33818         Reviewed by Simon Hausmann.
33820         Fix QApp::translate() calls to provide the correct class name without
33821         a trailing comma.
33823         * platform/qt/Localizations.cpp:
33824         (WebCore::localizedMediaTimeDescription):
33826 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
33828         More build fix: Removed JSSharedWorkerContextCustom.cpp from project
33829         files, since it no longer exists in the repository.
33831         * GNUmakefile.am:
33832         * WebCore.gypi:
33833         * WebCore.pro:
33834         * WebCore.vcproj/WebCore.vcproj:
33836 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
33838         Windows build fix: Declare set/unsetPendingActivity public, so
33839         SharedWorkerScriptLoader can call them.
33841         * dom/ActiveDOMObject.h:
33843 2009-09-24  Geoffrey Garen  <ggaren@apple.com>
33845         Fixed a bit of the Windows build.
33847         * workers/SharedWorker.idl: Declare a custom mark function. (I accidentally
33848         removed this in my last patch.)
33849         * WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back
33850         to the build. (I accidentally removed this in my last patch.)
33852 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
33854         32-bit build fix: restore previous cast that I thought was unnecessary.
33856         * xml/XMLHttpRequest.cpp:
33857         (WebCore::XMLHttpRequest::didSendData):
33858         (WebCore::XMLHttpRequest::didReceiveData):
33860 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
33862         Reviewed by Sam Weinig.
33864         Bring a little sanity to this crazy EventTarget world of ours
33865         https://bugs.webkit.org/show_bug.cgi?id=29701
33867         Lots of EventTarget refactoring to achieve a single shared implementation
33868         that fixes some of the performance and correctness bugs of the many individual
33869         implementations, and makes reasoning about EventTargets and EventListeners
33870         much easier.
33871         
33872         The basic design is this:
33873             - EventTarget manages a set of EventListeners.
33874             - onXXX EventListener attributes forward to standard EventTarget APIs.
33875             - Since the onXXX code is repetitive, it is usually done with macros
33876               of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
33877             - EventTarget provides a shared implementation of dispatchEvent,
33878               which subclasses with special event dispatch rules, like Node, override.
33879             - To support Node, which lazily instantiates its EventTarget data,
33880               EventTarget has no data members, and instead makes a virtual call
33881               to get its data from wherever its subclass chose to store it.
33882               
33883         Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
33884         even though no exception could be thrown, has been changed not to do so,
33885         to improve clarity and performance.
33886         
33887         Code that used to call a special dispatchXXXEvent function, which just
33888         turned around and called dispatchEvent, has been changed to call
33889         dispatchEvent, to improve clarity and performance.
33891         * WebCore.base.exp:
33892         * WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit
33893         engineer.
33895         * bindings/js/JSDOMBinding.cpp:
33896         (WebCore::isObservableThroughDOM): Updated for Node API change. Added
33897         "is not in the document but is firing event listeners" as a condition
33898         that makes a Node observable in the DOM, so that event listeners firing
33899         on removed nodes are not destroyed midstream. (This was a long-standing
33900         bug that was somewhat hidden by the old implementation's habit of
33901         copying the RegisteredEventListener vector before firing events, which
33902         would keep almost all the relevant objects from being destroyed.)
33904         * bindings/js/JSEventListener.cpp:
33905         (WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
33906         because it was one of the most elaborately planned no-ops in the history
33907         of software crime, and one of the reasons clients thought they needed more
33908         than one dispatchEvent function even though they didn't.
33909         * bindings/js/JSEventListener.h:
33911         * bindings/js/JSDOMWindowCustom.cpp:
33912         (WebCore::JSDOMWindow::markChildren):
33913         (WebCore::JSMessagePort::markChildren):
33914         * bindings/js/JSNodeCustom.cpp:
33915         (WebCore::JSNode::markChildren):
33916         * bindings/js/JSAbstractWorkerCustom.cpp:
33917         * bindings/js/JSDOMApplicationCacheCustom.cpp:
33918         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
33919         * bindings/js/JSEventSourceCustom.cpp:
33920         * bindings/js/JSMessagePortCustom.cpp:
33921         * bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
33922         * bindings/js/JSWebSocketCustom.cpp:
33923         * bindings/js/JSWorkerContextCustom.cpp:
33924         (WebCore::JSWorkerContext::markChildren):
33925         * bindings/js/JSWorkerCustom.cpp:
33926         * bindings/js/JSXMLHttpRequestCustom.cpp:
33927         (WebCore::JSXMLHttpRequest::markChildren):
33928         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
33929         (WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
33930         now autogenerated. Classes that still have custom mark functions for other
33931         reasons now call a shared EventTarget API to mark their EventListeners.
33933         * bindings/objc/ObjCEventListener.h:
33934         * bindings/objc/ObjCEventListener.mm:
33935         (WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.
33937         * bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for
33938         marking and invalidating event listeners.
33940         * dom/CharacterData.cpp:
33941         (WebCore::CharacterData::dispatchModifiedEvent):
33942         * dom/ContainerNode.cpp:
33943         (WebCore::ContainerNode::insertBefore):
33944         (WebCore::ContainerNode::replaceChild):
33945         (WebCore::willRemoveChild):
33946         (WebCore::ContainerNode::appendChild):
33947         (WebCore::dispatchChildInsertionEvents):
33948         (WebCore::dispatchChildRemovalEvents):
33949         * dom/Document.cpp:
33950         (WebCore::Document::removeAllEventListeners):
33951         (WebCore::Document::implicitClose):
33952         (WebCore::Document::setFocusedNode):
33953         (WebCore::Document::dispatchWindowEvent):
33954         (WebCore::Document::dispatchWindowLoadEvent):
33955         (WebCore::Document::finishedParsing):
33956         * dom/Document.h: Use dispatchEvent directly.
33958         * dom/Element.h: Moved a few event listener attributes down from Node,
33959         since they don't apply to all Nodes, only Elements.
33961         * dom/EventListener.h: Removed isWindowEvent parameter.
33963         * dom/EventNames.h: Added the "display" event name, so it works correctly
33964         with attribute macros, and for performance.
33966         * dom/EventTarget.cpp:
33967         (WebCore::forbidEventDispatch):
33968         (WebCore::allowEventDispatch):
33969         (WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
33970         safe, since it's now called on multiple threads. (Currently, we only forbid
33971         event dispatch on the main thread. If we ever want to forbid event dispatch
33972         on secondary threads, we can improve it then.)
33974         (WebCore::EventTarget::addEventListener):
33975         (WebCore::EventTarget::removeEventListener):
33976         (WebCore::EventTarget::setAttributeEventListener):
33977         (WebCore::EventTarget::getAttributeEventListener):
33978         (WebCore::EventTarget::clearAttributeEventListener):
33979         (WebCore::EventTarget::dispatchEvent):
33980         (WebCore::EventTarget::fireEventListeners):
33981         (WebCore::EventTarget::getEventListeners):
33982         (WebCore::EventTarget::removeAllEventListeners):
33983         * dom/EventTarget.h:
33984         (WebCore::FiringEventEndIterator::FiringEventEndIterator):
33985         (WebCore::EventTarget::ref):
33986         (WebCore::EventTarget::deref):
33987         (WebCore::EventTarget::markEventListeners):
33988         (WebCore::EventTarget::invalidateEventListeners):
33989         (WebCore::EventTarget::isFiringEventListeners):
33990         (WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
33991         EventTarget APIs, crafted from an amalgam of all the different versions
33992         we used to have. The most significant change here is that we no longer
33993         make a copy of an EventListener vector before firing the events in the
33994         vector -- instead, we use a reference to the original vector, along with
33995         a notification mechanism for the unlikely case when an EventListener is
33996         removed from the vector. This substantially reduces malloc, copying, and
33997         refcount overhead, and complexity.
33999         * dom/InputElement.cpp:
34000         (WebCore::InputElement::setValueFromRenderer):
34001         * dom/MessageEvent.h:
34002         (WebCore::MessageEvent::create): Use dispatchEvent directly.
34004         * dom/MessagePort.cpp:
34005         (WebCore::MessagePort::dispatchMessages):
34006         (WebCore::MessagePort::eventTargetData):
34007         (WebCore::MessagePort::ensureEventTargetData):
34008         * dom/MessagePort.h:
34009         (WebCore::MessagePort::setOnmessage):
34010         (WebCore::MessagePort::onmessage):
34011         * dom/MessagePort.idl: Removed custom EventTarget implementation.
34013         * dom/MutationEvent.h:
34014         (WebCore::MutationEvent::create): Added some default values so callers
34015         can construct MutationEvents more easily, without calling a custom dispatch
34016         function.
34018         * dom/Node.cpp:
34019         (WebCore::Node::addEventListener):
34020         (WebCore::Node::removeEventListener):
34021         (WebCore::Node::eventTargetData):
34022         (WebCore::Node::ensureEventTargetData):
34023         (WebCore::Node::handleLocalEvents):
34024         (WebCore::Node::dispatchEvent):
34025         (WebCore::Node::dispatchGenericEvent):
34026         (WebCore::Node::dispatchSubtreeModifiedEvent):
34027         (WebCore::Node::dispatchUIEvent):
34028         (WebCore::Node::dispatchKeyEvent):
34029         (WebCore::Node::dispatchMouseEvent):
34030         (WebCore::Node::dispatchWheelEvent):
34031         (WebCore::Node::dispatchFocusEvent):
34032         (WebCore::Node::dispatchBlurEvent):
34033         * dom/Node.h:
34034         (WebCore::Node::preDispatchEventHandler):
34035         (WebCore::Node::postDispatchEventHandler):
34036         * dom/Node.idl:
34037         * dom/NodeRareData.h:
34038         (WebCore::NodeRareData::eventTargetData):
34039         (WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
34040         interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
34041         functions that just forwarded to dispatchEvent.
34043         * dom/RegisteredEventListener.cpp:
34044         * dom/RegisteredEventListener.h:
34045         (WebCore::RegisteredEventListener::RegisteredEventListener):
34046         (WebCore::operator==): This is just a simple struct now, since we no longer
34047         do a complicated copy / refCount / isRemoved dance just to honor the rule
34048         that an EventListener can be removed during event dispatch.
34050         * history/CachedFrame.cpp:
34051         (WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.
34053         * html/HTMLBodyElement.cpp:
34054         * html/HTMLBodyElement.h: Use the shared EventTarget API.
34056         * html/HTMLFormControlElement.cpp:
34057         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
34058         (WebCore::HTMLFormControlElement::checkValidity):
34059         * html/HTMLFormElement.cpp:
34060         (WebCore::HTMLFormElement::handleLocalEvents):
34061         (WebCore::HTMLFormElement::prepareSubmit):
34062         (WebCore::HTMLFormElement::reset):
34063         * html/HTMLFormElement.h: Use the standard dispatchEvent API.
34065         * html/HTMLFrameSetElement.cpp:
34066         * html/HTMLFrameSetElement.h: Use the shared EventTarget API.
34068         * html/HTMLImageLoader.cpp:
34069         (WebCore::HTMLImageLoader::dispatchLoadEvent):
34070         * html/HTMLInputElement.cpp:
34071         (WebCore::HTMLInputElement::onSearch):
34072         * html/HTMLMediaElement.cpp:
34073         (WebCore::HTMLMediaElement::loadInternal):
34074         * html/HTMLScriptElement.cpp:
34075         (WebCore::HTMLScriptElement::dispatchLoadEvent):
34076         (WebCore::HTMLScriptElement::dispatchErrorEvent):
34077         * html/HTMLSourceElement.cpp:
34078         (WebCore::HTMLSourceElement::errorEventTimerFired):
34079         * html/HTMLTokenizer.cpp:
34080         (WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.
34082         * inspector/InspectorDOMAgent.cpp:
34083         (WebCore::InspectorDOMAgent::handleEvent):
34084         * inspector/InspectorDOMAgent.h:
34085         * inspector/InspectorDOMStorageResource.cpp:
34086         (WebCore::InspectorDOMStorageResource::handleEvent):
34087         * inspector/InspectorDOMStorageResource.h:
34088         * loader/FrameLoader.cpp:
34089         (WebCore::FrameLoader::stopLoading):
34090         (WebCore::FrameLoader::canCachePageContainingThisFrame):
34091         (WebCore::FrameLoader::logCanCacheFrameDecision):
34092         (WebCore::HashChangeEventTask::performTask):
34093         (WebCore::FrameLoader::pageHidden): No more isWindowEvent.
34095         * loader/ImageDocument.cpp:
34096         (WebCore::ImageEventListener::handleEvent):
34097         * loader/appcache/ApplicationCacheGroup.cpp:
34098         (WebCore::CallCacheListenerTask::performTask):
34099         * loader/appcache/ApplicationCacheHost.cpp:
34100         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
34101         * loader/appcache/ApplicationCacheHost.h:
34102         * loader/appcache/DOMApplicationCache.cpp:
34103         (WebCore::DOMApplicationCache::eventTargetData):
34104         (WebCore::DOMApplicationCache::ensureEventTargetData):
34105         * loader/appcache/DOMApplicationCache.h:
34106         * loader/appcache/DOMApplicationCache.idl: Switched to the standard
34107         EventTarget API. As a part of this, I switched this class from using a
34108         custom internal event name enumeration to using the standard EventNames.
34110         * notifications/Notification.cpp:
34111         (WebCore::Notification::eventTargetData):
34112         (WebCore::Notification::ensureEventTargetData):
34113         * notifications/Notification.h:
34114         (WebCore::Notification::scriptExecutionContext):
34115         * notifications/Notification.idl: Switched to the standard EventTarget API.
34117         * page/DOMWindow.cpp:
34118         (WebCore::PostMessageTimer::event):
34119         (WebCore::windowsWithUnloadEventListeners):
34120         (WebCore::windowsWithBeforeUnloadEventListeners):
34121         (WebCore::allowsBeforeUnloadListeners):
34122         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
34123         (WebCore::DOMWindow::pendingUnloadEventListeners):
34124         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
34125         unload / beforeunload listener tracker just to track which windows had
34126         such listeners, instead of actually keeping a copy of the listeners. Now,
34127         this code can use the standard EventTarget API.
34129         (WebCore::DOMWindow::~DOMWindow):
34130         (WebCore::DOMWindow::postMessageTimerFired):
34131         (WebCore::DOMWindow::addEventListener):
34132         (WebCore::DOMWindow::removeEventListener):
34133         (WebCore::DOMWindow::dispatchLoadEvent):
34134         (WebCore::DOMWindow::dispatchEvent):
34135         (WebCore::DOMWindow::removeAllEventListeners):
34136         (WebCore::DOMWindow::captureEvents):
34137         (WebCore::DOMWindow::releaseEvents):
34138         (WebCore::DOMWindow::eventTargetData):
34139         (WebCore::DOMWindow::ensureEventTargetData):
34140         * page/DOMWindow.h:
34141         * page/DOMWindow.idl: Use the standard EventTarget APIs.
34143         * page/EventHandler.cpp:
34144         (WebCore::EventHandler::canMouseDownStartSelect):
34145         (WebCore::EventHandler::canMouseDragExtendSelect):
34146         (WebCore::EventHandler::sendResizeEvent):
34147         (WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.
34149         * page/EventSource.cpp:
34150         (WebCore::EventSource::endRequest):
34151         (WebCore::EventSource::didReceiveResponse):
34152         (WebCore::EventSource::parseEventStreamLine):
34153         (WebCore::EventSource::stop):
34154         (WebCore::EventSource::createMessageEvent):
34155         (WebCore::EventSource::eventTargetData):
34156         (WebCore::EventSource::ensureEventTargetData):
34157         * page/EventSource.h:
34158         * page/EventSource.idl: Use the standard EventTarget APIs.
34160         * page/FocusController.cpp:
34161         (WebCore::dispatchEventsOnWindowAndFocusedNode):
34162         (WebCore::FocusController::setFocusedFrame):
34163         * page/Frame.cpp:
34164         (WebCore::Frame::shouldClose):
34165         * page/Frame.h:
34166         * page/Page.cpp:
34167         (WebCore::networkStateChanged):
34168         * page/animation/AnimationController.cpp:
34169         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
34170         * rendering/RenderListBox.cpp:
34171         (WebCore::RenderListBox::valueChanged):
34172         * rendering/RenderTextControl.cpp:
34173         (WebCore::RenderTextControl::selectionChanged):
34174         * rendering/RenderTextControlMultiLine.cpp:
34175         (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.
34177         * svg/SVGElement.cpp:
34178         (WebCore::hasLoadListener): Rewritten for new EventTarget API.
34180         * svg/SVGElementInstance.cpp:
34181         (WebCore::dummyEventTargetData):
34182         (WebCore::SVGElementInstance::addEventListener):
34183         (WebCore::SVGElementInstance::removeEventListener):
34184         (WebCore::SVGElementInstance::removeAllEventListeners):
34185         (WebCore::SVGElementInstance::dispatchEvent):
34186         (WebCore::SVGElementInstance::eventTargetData):
34187         (WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.
34189         * svg/SVGElementInstance.h:
34190         * svg/SVGImageLoader.cpp:
34191         (WebCore::SVGImageLoader::dispatchLoadEvent):
34192         * svg/SVGScriptElement.cpp:
34193         (WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.
34195         * svg/SVGUseElement.cpp:
34196         (WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
34197         new EventTarget API.
34199         * svg/animation/SVGSMILElement.cpp:
34200         (WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.
34202         * websockets/WebSocket.cpp:
34203         (WebCore::ProcessWebSocketEventTask::create):
34204         (WebCore::ProcessWebSocketEventTask::performTask):
34205         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
34206         (WebCore::WebSocket::didConnect):
34207         (WebCore::WebSocket::didReceiveMessage):
34208         (WebCore::WebSocket::didClose):
34209         (WebCore::WebSocket::eventTargetData):
34210         (WebCore::WebSocket::ensureEventTargetData):
34211         * websockets/WebSocket.h:
34212         * websockets/WebSocket.idl:
34213         * workers/AbstractWorker.cpp:
34214         (WebCore::AbstractWorker::eventTargetData):
34215         (WebCore::AbstractWorker::ensureEventTargetData):
34216         * workers/AbstractWorker.h:
34217         * workers/AbstractWorker.idl:
34218         * workers/DedicatedWorkerContext.cpp:
34219         * workers/DedicatedWorkerContext.h:
34220         * workers/DedicatedWorkerContext.idl:
34221         * workers/DefaultSharedWorkerRepository.cpp:
34222         (WebCore::SharedWorkerConnectTask::performTask):
34223         (WebCore::SharedWorkerScriptLoader::load):
34224         (WebCore::SharedWorkerScriptLoader::notifyFinished):
34225         * workers/SharedWorker.idl:
34226         * workers/SharedWorkerContext.cpp:
34227         (WebCore::createConnectEvent):
34228         * workers/SharedWorkerContext.h:
34229         * workers/SharedWorkerContext.idl:
34230         * workers/Worker.cpp:
34231         (WebCore::Worker::notifyFinished):
34232         * workers/Worker.h:
34233         * workers/Worker.idl:
34234         * workers/WorkerContext.cpp:
34235         (WebCore::WorkerContext::eventTargetData):
34236         (WebCore::WorkerContext::ensureEventTargetData):
34237         * workers/WorkerContext.h:
34238         * workers/WorkerContext.idl:
34239         * workers/WorkerMessagingProxy.cpp:
34240         (WebCore::MessageWorkerContextTask::performTask):
34241         (WebCore::MessageWorkerTask::performTask):
34242         (WebCore::WorkerExceptionTask::performTask):
34243         * xml/XMLHttpRequest.cpp:
34244         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
34245         (WebCore::XMLHttpRequest::createRequest):
34246         (WebCore::XMLHttpRequest::abort):
34247         (WebCore::XMLHttpRequest::networkError):
34248         (WebCore::XMLHttpRequest::abortError):
34249         (WebCore::XMLHttpRequest::didSendData):
34250         (WebCore::XMLHttpRequest::didReceiveData):
34251         (WebCore::XMLHttpRequest::eventTargetData):
34252         (WebCore::XMLHttpRequest::ensureEventTargetData):
34253         * xml/XMLHttpRequest.h:
34254         * xml/XMLHttpRequest.idl:
34255         * xml/XMLHttpRequestProgressEvent.h:
34256         (WebCore::XMLHttpRequestProgressEvent::create):
34257         * xml/XMLHttpRequestUpload.cpp:
34258         (WebCore::XMLHttpRequestUpload::eventTargetData):
34259         (WebCore::XMLHttpRequestUpload::ensureEventTargetData):
34260         * xml/XMLHttpRequestUpload.h:
34261         * xml/XMLHttpRequestUpload.idl: Use new EventTarget API.
34263 2009-09-23  Kent Tamura  <tkent@chromium.org>
34265         Reviewed by Darin Adler.
34267         - Support for maxLength of <textarea>
34268         - Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String.
34269         https://bugs.webkit.org/show_bug.cgi?id=29292
34271         Test: fast/forms/textarea-maxlength.html
34273         * dom/InputElement.cpp:
34274         (WebCore::InputElement::sanitizeUserInputValue):
34275         (WebCore::InputElement::handleBeforeTextInsertedEvent):
34276         * html/HTMLTextAreaElement.cpp:
34277         (WebCore::HTMLTextAreaElement::defaultEventHandler):
34278         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
34279         (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
34280         (WebCore::HTMLTextAreaElement::maxLength):
34281         (WebCore::HTMLTextAreaElement::setMaxLength):
34282         * html/HTMLTextAreaElement.h:
34283         * html/HTMLTextAreaElement.idl:
34284         * platform/text/PlatformString.h:
34285         * platform/text/String.cpp:
34286         (WebCore::String::numGraphemeClusters):
34287         (WebCore::String::numCharactersInGraphemeClusters):
34289 2009-09-23  Martin Robinson  <martin.james.robinson@gmail.com>
34291         Reviewed by Xan Lopez.
34293         [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
34294         https://bugs.webkit.org/show_bug.cgi?id=29654
34296         Give GDK_Backspace key events the proper text properties.
34298         Instead of adding new tests, this change removes existing tests
34299         from Gtk's skipped list.
34301         * platform/gtk/KeyEventGtk.cpp:
34302         (WebCore::keyIdentifierForGdkKeyCode):
34303         (WebCore::singleCharacterString):
34305 2009-09-23  Sam Weinig  <sam@webkit.org>
34307         Reviewed by Adam Barth.
34309         Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
34310         Should allow navigation of top-level openers
34311         <rdar://problem/7034025>
34313         Allow navigation of cross-origin window.opener if it is top-level frame.
34315         Test: http/tests/security/frameNavigation/cross-origin-opener.html
34317         * loader/FrameLoader.cpp:
34318         (WebCore::FrameLoader::shouldAllowNavigation):
34320 2009-09-23  Marshall Culpepper  <mculpepper@appcelerator.com>
34322         Reviewed by Eric Seidel.
34324         Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
34325         default when the necessary dependencies are extracted into the
34326         WebKitLibrariesDir.
34327         https://bugs.webkit.org/show_bug.cgi?id=29661
34329         * WebCore.vcproj/WebCoreCairo.vsprops:
34331 2009-09-23  Darin Adler  <darin@apple.com>
34333         Reviewed by Sam Weinig.
34335         Crash when website does a history.back() followed by an alert()
34336         https://bugs.webkit.org/show_bug.cgi?id=29686
34337         rdar://problem/6984996
34339         When loading is deferred, we need to defer timer-based loads
34340         too, not just networking-driven loads. Otherwise we can get
34341         syncronouse navigation while running a script, which leads to
34342         crashes and other badness.
34344         This patch includes a manual test; an automated test may be
34345         possible some time in the future.
34347         * dom/Document.cpp:
34348         (WebCore::Document::processHttpEquiv): Use scheduleLocationChange
34349         instead of scheduleHTTPRedirection to implement the navigation
34350         needed for x-frame-options.
34352         * loader/FrameLoader.cpp:
34353         (WebCore::FrameLoader::FrameLoader): Updated for data members with
34354         new names and new data members.
34355         (WebCore::FrameLoader::setDefersLoading): When turning deferral
34356         off, call startRedirectionTimer and startCheckCompleteTimer, since
34357         either of them might have been fired and ignored while defersLoading
34358         was true.
34359         (WebCore::FrameLoader::clear): Updated for replacement of the
34360         m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
34361         (WebCore::FrameLoader::allAncestorsAreComplete): Added.
34362         (WebCore::FrameLoader::checkCompleted): Added code to set
34363         m_shouldCallCheckCompleted to false. Changed code that calls
34364         startRedirectionTimer to call it unconditionally, since that
34365         function now knows when to do work and doesn't expect callers
34366         to handle that any more.
34367         (WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
34368         timer fired callbacks. Calls checkCompleted and checkLoadComplete
34369         as appropriate, but not when defersLoading is true.
34370         (WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
34371         the two different calls to start timers before. Only starts the
34372         timers if they are needed.
34373         (WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
34374         startCheckCompleteTimer after setting boolean.
34375         (WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
34376         (WebCore::FrameLoader::scheduleHistoryNavigation): Removed
34377         canGoBackOrForward check. The logic works more naturally when
34378         we don't do anything until the timer fires.
34379         (WebCore::FrameLoader::redirectionTimerFired): Do nothing if
34380         defersLoading is true. Also moved canGoBackOrForward check here.
34381         (WebCore::FrameLoader::scheduleRedirection): Changed code that
34382         calls startRedirectionTimer to do so unconditionally. That
34383         function now handles the rules about when to start the timer
34384         rather than expecting the caller to do so.
34385         (WebCore::FrameLoader::startRedirectionTimer): Added code to
34386         handle the case where there is no redirection scheduled,
34387         where the timer is already active, or where this is a classic
34388         redirection and there is an ancestor that has not yet completed
34389         loading.
34390         (WebCore::FrameLoader::completed): Call startRedirectionTimer
34391         here directly instead of calling a cover named parentCompleted.
34392         Hooray! One less function in the giant FrameLoader class!
34393         (WebCore::FrameLoader::checkLoadComplete): Added code to set
34394         m_shouldCallCheckLoadComplete to false.
34396         * loader/FrameLoader.h: Replaced the two functions
34397         checkCompletedTimerFired and checkLoadCompleteTimerFired with
34398         one function, checkTimerFired. Removed the parentCompleted
34399         function. Added the startCheckCompleteTimer and
34400         allAncestorsAreComplete functions. Replaced the
34401         m_checkCompletedTimer and m_checkLoadCompleteTimer data
34402         members with m_checkTimer, m_shouldCallCheckCompleted, and
34403         m_shouldCallCheckLoadComplete.
34405         * manual-tests/go-back-after-alert.html: Added.
34406         * manual-tests/resources/alert-and-go-back.html: Added.
34408 2009-09-23  David Kilzer  <ddkilzer@apple.com>
34410         <http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make
34412         Reviewed by Mark Rowe.
34414         The "Generate 64-bit Export File" build phase script generated
34415         the WebCore.LP64.exp export file used to link 64-bit WebCore.
34416         Instead of having a separate build phase script, move its
34417         generation into DerivedSources.make where WebCore.exp is
34418         generated.
34420         * DerivedSources.make: Added a rule to make WebCore.LP64.exp.
34421         Added code to append WebCore.PluginHostProcess.exp to
34422         $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS
34423         is set to 1.
34424         * WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
34425         * WebCore.xcodeproj/project.pbxproj: Removed the "Generate
34426         64-bit Export File" build phase script. Renamed WebCore.LP64.exp
34427         to WebCore.PluginHostProcess.exp.
34429 2009-09-23  Peter Kasting  <pkasting@google.com>
34431         Reviewed by Dimitri Glazkov.
34433         https://bugs.webkit.org/show_bug.cgi?id=29694
34434         [Chromium] Eliminate dependency on gfx::Rect from ImageSkia.
34436         * platform/graphics/skia/ImageSkia.cpp:
34437         (WebCore::drawResampledBitmap):
34439 2009-09-22  Timothy Hatcher  <timothy@apple.com>
34441         Prevent scrolling multiple elements during latched wheel events.
34443         Reviewed by Anders Carlsson.
34445         * page/EventHandler.cpp:
34446         (WebCore::scrollAndAcceptEvent):
34447         (WebCore::EventHandler::clear):
34448         (WebCore::EventHandler::handleWheelEvent):
34449         * page/EventHandler.h:
34450         * rendering/RenderBox.cpp:
34451         (WebCore::RenderBox::scroll):
34452         * rendering/RenderBox.h:
34454 2009-09-23  Daniel Bates  <dbates@webkit.org>
34456         Reviewed by Adam Barth.
34458         https://bugs.webkit.org/show_bug.cgi?id=29523
34459         
34460         Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
34461         XSSAuditor.
34462         
34463         The method FrameLoader::executeIfJavaScriptURL decodes the URL escape 
34464         sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
34465         Because the XSSAuditor also decodes the URL escape sequences as part of its
34466         canonicalization, the double decoding of a JavaScript URL would
34467         not match the canonicalization of the input parameters.
34469         Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html
34470                http/tests/security/xssAuditor/javascript-link-url-encoded.html
34472         * bindings/js/ScriptController.cpp:
34473         (WebCore::ScriptController::evaluate): Moved call to 
34474         XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
34475         * bindings/v8/ScriptController.cpp:
34476         (WebCore::ScriptController::evaluate): Ditto.
34477         * loader/FrameLoader.cpp:
34478         (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call 
34479         XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is
34480         decoded.
34482 2009-09-22  Dave Hyatt  <hyatt@apple.com>
34484         Reviewed by John Sullivan.
34486         https://bugs.webkit.org/show_bug.cgi?id=29657
34487         Columns don't break properly in positioned elements with a fixed height.  Make sure that
34488         a block is still considered to have columns even when the column count is 1 if the column
34489         width is non-auto.
34490     
34491         Added fast/multicol/positioned-with-constrained-height.html
34493         * rendering/RenderBlock.cpp:
34494         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
34496 2009-09-23  Holger Hans Peter Freyther  <zecke@selfish.org>
34498         Rubber-stamped by Simon Hausmann.
34500         Add a null check for the Document*. In the mirror benchmarking
34501         application a crash from a call from JavaScript was observed.
34503         I was not able to come up with a test case for this issue.
34505         * platform/qt/CookieJarQt.cpp:
34506         (WebCore::cookieJar):
34508 2009-09-23  Simon Hausmann  <simon.hausmann@nokia.com>
34510         Reviewed by Tor Arne Vestbø.
34512         Fix the Qt/Windows build, after the introduction of
34513         the page client.
34515         * plugins/win/PluginViewWin.cpp:
34516         (windowHandleForPageClient):
34517         (WebCore::PluginView::getValue):
34518         (WebCore::PluginView::forceRedraw):
34519         (WebCore::PluginView::platformStart):
34521 2009-09-23  Gustavo Noronha Silva  <gns@gnome.org>
34523         Reviewed by Xan Lopez.
34525         [GTK] media tests failing after their rework
34526         https://bugs.webkit.org/show_bug.cgi?id=29532
34528         Correctly advertise the mime types used by the common formats used
34529         in the tests.
34531         Tests that regressed, and will pass again:
34533            media/video-canvas-source.html
34534            media/video-controls.html
34535            media/video-currentTime-set2.html
34536            media/video-dom-autoplay.html
34537            media/video-dom-src.html
34538            media/video-error-abort.html
34539            media/video-load-networkState.html
34540            media/video-load-readyState.html
34541            media/video-muted.html
34542            media/video-no-autoplay.html
34543            media/video-pause-empty-events.html
34544            media/video-play-empty-events.html
34545            media/video-seekable.html
34546            media/video-seeking.html
34547            media/video-size.html
34548            media/video-source-type-params.html
34549            media/video-source-type.html
34550            media/video-source.html
34551            media/video-src-change.html
34552            media/video-src-invalid-remove.html
34553            media/video-src-remove.html
34554            media/video-src-set.html
34555            media/video-src-source.html
34556            media/video-src.html
34557            media/video-timeupdate-during-playback.html
34558            media/video-volume.html
34560         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
34561         (WebCore::mimeTypeCache):
34563 2009-09-22  Charles Wei  <charles.wei@torchmobile.com.cn>
34565         Reviewed by Eric Seidel.
34567         Fix the crash problem with absolte positioned children in foreignobject
34568         htts://bugs.webkit.org/show_bug.cgi?id=26342
34570         Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
34572         * rendering/RenderForeignObject.h:
34573         (WebCore::RenderForeignObject::isSVGForeignObject):
34574         * rendering/RenderObject.cpp:
34575         (WebCore::RenderObject::containingBlock):
34576         * rendering/RenderObject.h:
34577         (WebCore::RenderObject::isSVGForeignObject):
34579 2009-09-22  Drew Wilson  <atwilson@google.com>
34581         Reviewed by David Levin.
34583         SharedWorkers "name" attribute is now optional.
34584         https://bugs.webkit.org/show_bug.cgi?id=28897
34586         Test: fast/workers/shared-worker-name.html
34588         * bindings/js/JSSharedWorkerConstructor.cpp:
34589         (WebCore::constructSharedWorker):
34590         Default 'name' attribute to empty string if it is not provided.
34591         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
34592         (WebCore::CALLBACK_FUNC_DECL):
34593         Default 'name' attribute to empty string if it is not provided.
34594         * workers/DefaultSharedWorkerRepository.cpp:
34595         (WebCore::SharedWorkerProxy::matches):
34596         Now matches URLs if names are empty strings.
34597         (WebCore::DefaultSharedWorkerRepository::getProxy):
34598         Pass URL in to SharedWorkerProxy::matches().
34600 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
34602         Unreviewed, another build fix.
34604         [Chromium] Add another missing include.
34605         https://bugs.webkit.org/show_bug.cgi?id=29536
34607         * inspector/InspectorController.cpp: Added DOMWindow.h include.
34609 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
34611         Unreviewed, build fix.
34613         [Chromium] Add missing include.
34614         https://bugs.webkit.org/show_bug.cgi?id=29536
34616         * inspector/InspectorDOMStorageResource.cpp: Added DOMWindow.h include.
34618 2009-09-22  Darin Adler  <darin@apple.com>
34620         Reviewed by Sam Weinig.
34622         Tighten up the ScheduledRedirection machinery to prepare for a bug fix
34623         https://bugs.webkit.org/show_bug.cgi?id=29663
34625         * loader/FrameLoader.cpp:
34626         (WebCore::ScheduledRedirection::ScheduledRedirection): Added a boolean,
34627         initialized to false, to keep track if the redirection has been
34628         communicated to the client.
34629         (WebCore::FrameLoader::stopLoading): Tweaked a comment.
34630         (WebCore::FrameLoader::cancelRedirection): Removed code to clear
34631         m_scheduledRedirection.clear since stopRedirectionTimer does that now.
34632         (WebCore::FrameLoader::allChildrenAreComplete): Added.
34633         (WebCore::FrameLoader::checkCompleted): Use allChildrenAreComplete
34634         function for clarity.
34635         (WebCore::FrameLoader::checkCallImplicitClose): Ditto.
34636         (WebCore::FrameLoader::scheduleRedirection): Changed to take a PassOwnPtr.
34637         (WebCore::FrameLoader::startRedirectionTimer): Added code to set the
34638         toldClient flag and not call clientRedirected a second time if it is set.
34639         (WebCore::FrameLoader::stopRedirectionTimer): Changed so this can be safely
34640         called multiple times and it will call clientRedirectCancelledOrFinished
34641         only once.
34643         * loader/FrameLoader.h: Changed scheduleRedirection to be a PassOwnPtr.
34644         Added allChildrenAreComplete function.
34646 2009-09-22  Yury Semikhatsky  <yurys@chromium.org>
34648         Reviewed by Timothy Hatcher.
34650         WebInspector: Migrate Databases tab to InjectedScript /
34651         serialized interaction.
34653         DOMStorage interaction is now serialized into JSON messages
34654         and doesn't require quarantined objects.
34655         
34656         https://bugs.webkit.org/show_bug.cgi?id=28873
34658         * dom/EventListener.h:
34659         (WebCore::EventListener::):
34660         * inspector/InspectorBackend.cpp:
34661         (WebCore::InspectorBackend::selectDOMStorage):
34662         (WebCore::InspectorBackend::getDOMStorageEntries):
34663         (WebCore::InspectorBackend::setDOMStorageItem):
34664         (WebCore::InspectorBackend::removeDOMStorageItem):
34665         * inspector/InspectorBackend.h:
34666         * inspector/InspectorBackend.idl:
34667         * inspector/InspectorController.cpp:
34668         (WebCore::InspectorController::didCommitLoad):
34669         (WebCore::InspectorController::selectDOMStorage):
34670         (WebCore::InspectorController::getDOMStorageEntries):
34671         (WebCore::InspectorController::setDOMStorageItem):
34672         (WebCore::InspectorController::removeDOMStorageItem):
34673         (WebCore::InspectorController::getDOMStorageResourceForId):
34674         * inspector/InspectorController.h:
34675         * inspector/InspectorDOMStorageResource.cpp:
34676         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
34677         (WebCore::InspectorDOMStorageResource::bind):
34678         (WebCore::InspectorDOMStorageResource::unbind):
34679         (WebCore::InspectorDOMStorageResource::startReportingChangesToFrontend):
34680         (WebCore::InspectorDOMStorageResource::handleEvent):
34681         (WebCore::InspectorDOMStorageResource::operator==):
34682         * inspector/InspectorDOMStorageResource.h:
34683         (WebCore::InspectorDOMStorageResource::cast):
34684         (WebCore::InspectorDOMStorageResource::id):
34685         (WebCore::InspectorDOMStorageResource::domStorage):
34686         * inspector/InspectorFrontend.cpp:
34687         (WebCore::InspectorFrontend::selectDOMStorage):
34688         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
34689         (WebCore::InspectorFrontend::didSetDOMStorageItem):
34690         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
34691         (WebCore::InspectorFrontend::updateDOMStorage):
34692         * inspector/InspectorFrontend.h:
34693         * inspector/front-end/DOMStorage.js:
34694         (WebInspector.DOMStorage):
34695         (WebInspector.DOMStorage.prototype.get id):
34696         (WebInspector.DOMStorage.prototype.get domStorage):
34697         (WebInspector.DOMStorage.prototype.get isLocalStorage):
34698         (WebInspector.DOMStorage.prototype.getEntriesAsync):
34699         (WebInspector.DOMStorage.prototype.setItemAsync):
34700         (WebInspector.DOMStorage.prototype.removeItemAsync):
34701         * inspector/front-end/DOMStorageDataGrid.js:
34702         (WebInspector.DOMStorageDataGrid):
34703         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
34704         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
34705         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
34706         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
34707         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
34708         * inspector/front-end/DOMStorageItemsView.js:
34709         (WebInspector.DOMStorageItemsView.prototype.update):
34710         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
34711         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
34712         * inspector/front-end/StoragePanel.js:
34713         (WebInspector.StoragePanel.prototype.show):
34714         (WebInspector.StoragePanel.prototype.reset):
34715         (WebInspector.StoragePanel.prototype.selectDOMStorage):
34716         (WebInspector.StoragePanel.prototype.updateDOMStorage):
34717         (WebInspector.StoragePanel.prototype._domStorageForId):
34718         * inspector/front-end/inspector.js:
34719         (WebInspector.addDOMStorage):
34720         (WebInspector.updateDOMStorage):
34722 2009-09-22  Sam Weinig  <sam@webkit.org>
34724         Reviewed by Alexey Proskuryakov.
34726         Fix for XMLHttpRequest.abort() should destroy the response text.
34727         https://bugs.webkit.org/show_bug.cgi?id=29658
34728         <rdar://problem/5301430>
34730         Clearing the response text after calling XMLHttpRequest.abort() is necessary
34731         per spec and matches Firefox. It is also a potential memory win.
34733         Test: http/tests/xmlhttprequest/abort-should-destroy-responseText.html
34735         * xml/XMLHttpRequest.cpp:
34736         (WebCore::XMLHttpRequest::abort): Clear the response text making sure to
34737         keep the actual ResourceReponse around so that the response status and response
34738         status text are kept around.
34740 2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
34742         No review, rolling out r48639.
34743         http://trac.webkit.org/changeset/48639
34745         * bindings/v8/V8GCController.cpp:
34746         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
34748 2009-09-22  Dumitru Daniliuc  <dumi@chromium.org>
34750         Reviewed by Dimitri Glazkov.
34752         Changing the transaction coordinator to (re-)allow multiple read
34753         transactions on the same database to run concurrently (without
34754         risking a deadlock this time).
34756         https://bugs.webkit.org/show_bug.cgi?id=29115
34758         Tests: storage/read-and-write-transactions-dont-run-together.html
34759                storage/read-transactions-running-concurrently.html
34761         * storage/SQLTransaction.h:
34762         (WebCore::SQLTransaction::isReadOnly): Returns the type of the
34763         transaction.
34764         * storage/SQLTransactionCoordinator.cpp:
34765         (WebCore::SQLTransactionCoordinator::acquireLock): Changed to
34766         allow multiple read transactions on the same DB to run
34767         concurrently.
34768         (WebCore::SQLTransactionCoordinator::releaseLock): Changed to
34769         allow multiple read transactions on the same DB to run
34770         concurrently.
34771         (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map.
34772         * storage/SQLTransactionCoordinator.h:
34774 2009-09-22  Peter Kasting  <pkasting@google.com>
34776         Reviewed by David Levin.
34778         https://bugs.webkit.org/show_bug.cgi?id=29652
34779         Support true system colors for CSS system colors in Chromium/Win.
34781         * rendering/RenderThemeChromiumWin.cpp:
34782         (WebCore::cssValueIdToSysColorIndex):
34783         (WebCore::RenderThemeChromiumWin::systemColor):
34784         * rendering/RenderThemeChromiumWin.h:
34786 2009-09-22  Beth Dakin  <bdakin@apple.com>
34788         Reviewed by Dave Hyatt.
34790         Fix for <rdar://problem/6925121> SAP: Wrong width calculation in 
34791         table with fixed layout
34792         -and corresponding-
34793         https://bugs.webkit.org/show_bug.cgi?id=29501
34795         New Tests:
34796         * fast/table/fixed-table-with-percent-inside-percent-table.html: Added.
34797         * fast/table/fixed-table-with-percent-width-inside-auto-table.html: Added.
34798         * fast/table/fixed-table-with-percent-width-inside-div.html: Added.
34799         * fast/table/fixed-table-with-percent-width-inside-extra-large-div.html: Added.
34800         * fast/table/fixed-table-with-percent-width-inside-fixed-width-table.html: Added.
34801         * fast/table/fixed-table-with-small-percent-width.html: Added.
34803         This new quirk is very similar to an existing one that was 
34804         implemented in revision 4316.
34805         * rendering/FixedTableLayout.cpp:
34806         (WebCore::FixedTableLayout::calcPrefWidths):
34808 2009-09-22  Brian Weinstein  <bweinstein@apple.com>
34810         Reviewed by Timothy Hatcher.
34812         List HTTP status code with response headers in resources tab of Web Inspector.
34813         http://webkit.org/b/19945
34815         This patch adds a new top level list in the resources tab, HTTP Information, that 
34816         for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
34817         Additionally, it adds a colored dot next to the requested URL to show the status 
34818         (green for success, orange for redirect, red for error).
34820         * English.lproj/localizedStrings.js:
34821         * inspector/front-end/ImageView.js:
34822         (WebInspector.ImageView):
34823         * inspector/front-end/Images/errorRedDot.png: Added.
34824         * inspector/front-end/Images/successGreenDot.png: Added.
34825         * inspector/front-end/Images/warningOrangeDot.png: Added.
34826         * inspector/front-end/Resource.js:
34827         (WebInspector.Resource.StatusTextForCode):
34828         * inspector/front-end/ResourceView.js:
34829         (WebInspector.ResourceView):
34830         (WebInspector.ResourceView.prototype._refreshURL):
34831         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
34832         * inspector/front-end/inspector.css:
34834 2009-09-22  Brady Eidson  <beidson@apple.com>
34836         Reviewed by Darin Adler.
34838         Back list isn't properly updated for fragment changes after a redirect.
34839         <rdar://problem/6142803> and https://bugs.webkit.org/show_bug.cgi?id=20355
34841         Test: fast/loader/fragment-after-redirect-gets-back-entry.html
34843         * loader/FrameLoader.cpp:
34844         (WebCore::FrameLoader::loadURL): Properly reset the policy FrameLoadType before
34845           consulting the policy delegate for fragment scrolling.
34847 2009-09-22  Darin Fisher  <darin@chromium.org>
34849         Reviewed by Dimitri Glazkov.
34851         Drop down selects get stuck in the non-visible state and cannot be opened.
34852         https://bugs.webkit.org/show_bug.cgi?id=29645
34854         All paths that lead to hiding the popup menu must call popupDidHide on
34855         the PopupMenuClient.  This change makes it so by moving all of the
34856         hiding logic to PopupListBox::hidePopup.
34858         * platform/chromium/PopupMenuChromium.cpp:
34859         (WebCore::PopupContainer::hidePopup):
34860         (WebCore::PopupListBox::hidePopup):
34861         * platform/chromium/PopupMenuChromium.h:
34863 2009-09-22  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
34865         Reviewed by Timothy Hatcher.
34867         WebInspector.log() function not protected if console not yet created
34868         https://bugs.webkit.org/show_bug.cgi?id=29336
34869         
34870         No new tests.  Only affects Web Inspector developers adding logging
34871         to their code during development.
34873         * inspector/front-end/inspector.js:
34874         (WebInspector.log.isLogAvailable):
34875         (WebInspector.log.flushQueue):
34876         (WebInspector.log.flushQueueIfAvailable):
34877         (WebInspector.log.logMessage):
34878         (WebInspector.log):
34880 2009-09-22  Yaar Schnitman  <yaar@chromium.org>
34882         Reviewed by David Levin.
34884         Ported chromium.org's webcore.gyp for the webkit chromium port.
34886         https://bugs.webkit.org/show_bug.cgi?id=29617
34888         * WebCore.gyp/WebCore.gyp: Added.
34890 2009-09-22  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
34892         Reviewed by Adam Barth.
34894         [v8] Don't keep clean wrappers artificially alive        
34895         We currently keep all DOM node wrappers alive, even when there are
34896         no more references to them from JS, in case they have properties
34897         that we need to keep around if new JS references are created.
34898         This changes the policy to only keep wrappers artificially alive
34899         if they have changed since they were created. Empty wrappers are
34900         discarded and recreated as needed.
34901         https://bugs.webkit.org/show_bug.cgi?id=29330
34903         * bindings/v8/V8GCController.cpp:
34904         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
34906 2009-09-22  Pavel Feldman  <pfeldman@chromium.org>
34908         Reviewed by Timothy Hatcher.
34910         Web Inspector: console.count and console.timeEnd
34911         crash when inspector is opened.
34913         https://bugs.webkit.org/show_bug.cgi?id=29632
34915         * inspector/InspectorFrontend.cpp:
34916         (WebCore::InspectorFrontend::addMessageToConsole):
34918 2009-09-22  Adam Barth  <abarth@webkit.org>
34920         Unreviewed.
34922         Fix bogus build fix I did last night.
34924         * bindings/v8/custom/V8DOMWindowCustom.cpp:
34925         (WebCore::V8Custom::WindowSetTimeoutImpl):
34927 2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
34929         Reviewed by Simon Hausmann.
34931         NPAPI/Mac: Don't paint plugins if we don't have a CGContextRef
34933         * plugins/mac/PluginViewMac.cpp:
34935 2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
34937         Reivewed by Simon Hausmann.
34939         Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class)
34941         There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget()
34942         takes a QWidget*, not a QWebPageClient*
34944         * plugins/mac/PluginViewMac.cpp:
34945         (WebCore::PluginView::platformStart):
34947 2009-09-21  Adam Barth  <abarth@webkit.org>
34949         Attempted fix for the V8 build.
34951         * bindings/v8/custom/V8DOMWindowCustom.cpp:
34952         (WebCore::V8Custom::WindowSetTimeoutImpl):
34954 2009-09-21  Adam Barth  <abarth@webkit.org>
34956         Reviewed by Sam Weinig.
34958         Don't re-enter JavaScript after performing access checks
34959         https://bugs.webkit.org/show_bug.cgi?id=29531
34961         Moved the access check slightly later in this functions to avoid
34962         re-entering the JavaScript interpreter (typically via toString)
34963         after performing the access check.
34965         I can't really think of a meaningful test for this change.  It's more
34966         security hygiene.
34968         * bindings/js/JSDOMWindowCustom.cpp:
34969         (WebCore::JSDOMWindow::setLocation):
34970         (WebCore::JSDOMWindow::open):
34971         (WebCore::JSDOMWindow::showModalDialog):
34972         * bindings/js/JSLocationCustom.cpp:
34973         (WebCore::JSLocation::setHref):
34974         (WebCore::JSLocation::replace):
34975         (WebCore::JSLocation::assign):
34976         * bindings/v8/custom/V8DOMWindowCustom.cpp:
34977         (WebCore::V8Custom::WindowSetTimeoutImpl):
34978         (WebCore::if):
34979         (CALLBACK_FUNC_DECL):
34980         (V8Custom::WindowSetLocation):
34981         (V8Custom::ClearTimeoutImpl):
34982         * bindings/v8/custom/V8LocationCustom.cpp:
34983         (WebCore::ACCESSOR_SETTER):
34984         (WebCore::CALLBACK_FUNC_DECL):
34986 2009-09-21  Dumitru Daniliuc  <dumi@chromium.org>
34988         Reviewed by Eric Seidel.
34990         Make all write transaction start with a BEGIN IMMEDIATE command
34991         instead of BEGIN.
34993         We cannot test this change in a layout test, because in order to
34994         test it we need to spawn two database threads and execute
34995         transaction steps on these two threads in a very specific order,
34996         which seems impossible to do when they share the same main thread
34997         (as they would in a layout test). The SQLite docs and the case
34998         described in the bug though should be enough proof that we do have
34999         a problem here and that this patch will fix it.
35001         Relevant SQLite documentation:
35002         http://www.sqlite.org/lang_transaction.html
35003         http://www.sqlite.org/lockingv3.html#locking
35005         https://bugs.webkit.org/show_bug.cgi?id=29218
35007         * platform/sql/SQLiteTransaction.cpp:
35008         (WebCore::SQLiteTransaction::SQLiteTransaction): Added a readOnly
35009         parameter.
35010         (WebCore::SQLiteTransaction::begin): Changed to BEGIN IMMEDIATE
35011         for write transactions.
35012         * platform/sql/SQLiteTransaction.h:
35013         * storage/SQLTransaction.cpp:
35014         (WebCore::SQLTransaction::openTransactionAndPreflight): Passing
35015         the read-only flag to the SQLiteTransaction instance.
35017 2009-09-21  Brady Eidson  <beidson@apple.com>
35019         Rubberstamped by Mark Rowe.
35021         * DerivedSources.make: Fix the Xcode build on SnowLeopard.
35023 2009-09-15  John Abd-El-Malek  <jam@chromium.org>
35025         Reviewed by Darin Fisher.
35027         Prevent sleeps in unload handlers.
35028         https://bugs.webkit.org/show_bug.cgi?id=29193
35030         Test: fast/dom/Window/slow_unload_handler.html
35032         * WebCore.gypi:
35033         * bindings/v8/DateExtension.cpp: Added.
35034         (WebCore::DateExtension::DateExtension):
35035         (WebCore::DateExtension::get):
35036         (WebCore::DateExtension::setAllowSleep):
35037         (WebCore::DateExtension::GetNativeFunction):
35038         (WebCore::DateExtension::weakCallback):
35039         (WebCore::DateExtension::GiveEnableSleepDetectionFunction):
35040         (WebCore::DateExtension::OnSleepDetected):
35041         * bindings/v8/DateExtension.h: Added.
35042         * bindings/v8/V8AbstractEventListener.cpp:
35043         (WebCore::V8AbstractEventListener::invokeEventHandler):
35044         * bindings/v8/V8Proxy.cpp:
35045         (WebCore::V8Proxy::createNewContext):
35046         (WebCore::V8Proxy::registerExtensionWithV8):
35047         (WebCore::V8Proxy::registeredExtensionWithV8):
35048         * bindings/v8/V8Proxy.h:
35050 2009-09-21  Jian Li  <jianli@chromium.org>
35052         Reviewed by David Levin.
35054         [V8] Run-time exception in onmessage handler is not forwarded to the
35055         worker object.
35056         https://bugs.webkit.org/show_bug.cgi?id=28980
35058         The previous fix was partially reverted due to a reliability build break
35059         in chromium. The break happens when an exception is thrown without
35060         setting a message. We need to check for this scenario and handle it.
35062         Tested by worker-close.html.
35064         * bindings/v8/V8AbstractEventListener.cpp:
35065         (WebCore::V8AbstractEventListener::invokeEventHandler):
35066         * bindings/v8/V8Utilities.cpp:
35067         (WebCore::reportException):
35069 2009-09-21  Greg Bolsinga  <bolsinga@apple.com>
35071         Reviewed by Simon Fraser & Sam Weinig.
35073         Add ENABLE(ORIENTATION_EVENTS)
35074         https://bugs.webkit.org/show_bug.cgi?id=29508
35075         
35076         See documentation here:
35077         http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16
35079         * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS.
35080         Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL
35081         code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES.
35082         * WebCore.OrientationEvents.exp: Added.
35083         * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp.
35084         * dom/EventNames.h: Add onorientationchange.
35085         * html/HTMLAttributeNames.in: Ditto.
35086         * html/HTMLBodyElement.cpp: Handle onorientationchange properly.
35087         (WebCore::HTMLBodyElement::parseMappedAttribute):
35088         (WebCore::HTMLBodyElement::onorientationchange):
35089         (WebCore::HTMLBodyElement::setOnorientationchange):
35090         * html/HTMLBodyElement.h: Ditto.
35091         * html/HTMLBodyElement.idl: Ditto.
35092         * html/HTMLFrameSetElement.cpp: Ditto.
35093         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
35094         (WebCore::HTMLFrameSetElement::onorientationchange):
35095         (WebCore::HTMLFrameSetElement::setOnorientationchange):
35096         * html/HTMLFrameSetElement.h: Ditto.
35097         * html/HTMLFrameSetElement.idl: Ditto.
35098         * page/DOMWindow.cpp: Ditto.
35099         (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value.
35100         (WebCore::DOMWindow::onorientationchange):
35101         (WebCore::DOMWindow::setOnorientationchange):
35102         * page/DOMWindow.h: Handle onorientationchange properly.
35103         * page/DOMWindow.idl: Ditto.
35104         * page/Frame.cpp: Ditto.
35105         (WebCore::Frame::Frame):
35106         (WebCore::Frame::sendOrientationChangeEvent):
35107         * page/Frame.h: Ditto.
35108         (WebCore::Frame::orientation):
35110 2009-09-18  Anders Carlsson  <andersca@apple.com>
35112         Try fixing the build again.
35113         
35114         * platform/win/PopupMenuWin.cpp:
35115         (WebCore::PopupMenu::wndProc):
35117 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35119         Reviewed by Timothy Hatcher.
35121         Web Inspector: completions are always evaluated against
35122         window (discarding call frames).
35124         https://bugs.webkit.org/show_bug.cgi?id=29616
35126         * inspector/front-end/ConsoleView.js:
35127         (WebInspector.ConsoleView.prototype.completions):
35128         * inspector/front-end/InjectedScript.js:
35129         (InjectedScript.getCompletions):
35130         * inspector/front-end/ScriptsPanel.js:
35131         (WebInspector.ScriptsPanel.prototype.selectedCallFrameId):
35133 2009-09-21  Brent Fulgham  <bfulgham@webkit.org>
35135         Unreviewed build fix for Windows (Cairo) target.
35137         Add stubs for SocketStream classes added in @r47788, which
35138         broke the WinCairo build.
35140         No new tests. (Build failure).
35142         * WebCore.vcproj/WebCore.vcproj:  Add references to new files
35143           to Cairo build, exclude from standard Apple build.
35144         * platform/network/curl/SocketStreamError.h: Added.
35145         * platform/network/curl/SocketStreamHandle.h: Added.
35146         * platform/network/curl/SocketStreamHandleCurl.cpp: Added.
35148 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35150         Reviewed by Timothy Hatcher.
35152         Web Inspector: Expose InspectorResource fields.
35154         https://bugs.webkit.org/show_bug.cgi?id=29537
35156         * inspector/InspectorResource.cpp:
35157         (WebCore::InspectorResource::sourceString):
35158         (WebCore::InspectorResource::resourceData):
35159         * inspector/InspectorResource.h:
35160         (WebCore::InspectorResource::requestHeaderFields):
35161         (WebCore::InspectorResource::responseHeaderFields):
35162         (WebCore::InspectorResource::responseStatusCode):
35163         (WebCore::InspectorResource::requestMethod):
35164         (WebCore::InspectorResource::requestFormData):
35166 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35168         Reviewed by Timothy Hatcher.
35170         Web Inspector: JS error drilling down childless node.
35171         No need to dispatch double click twice - it is already handled
35172         in TreeElement.treeElementDoubleClicked.
35174         https://bugs.webkit.org/show_bug.cgi?id=22144
35176         * inspector/front-end/ElementsTreeOutline.js:
35177         (WebInspector.ElementsTreeOutline):
35179 2009-09-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
35181         Reviewed by Simon Hausmann.
35183         Implement new QWebPageClient class and let our classes
35184         QWebViewPrivate and QWebGraphicsItemPrivate inherit from it.
35186         For Qt, platformPageClient() will now return a class derived from
35187         the QWebPageClient, so the patch adapts our Qt hooks to go though
35188         this class and not depend on the QWebView.
35190         * WebCore.pro:
35191         * platform/Widget.h:
35192         * platform/qt/PlatformScreenQt.cpp:
35193         (WebCore::screenDepth):
35194         (WebCore::screenDepthPerComponent):
35195         (WebCore::screenIsMonochrome):
35196         (WebCore::screenRect):
35197         (WebCore::screenAvailableRect):
35198         * platform/qt/PopupMenuQt.cpp:
35199         (WebCore::PopupMenu::show):
35200         * platform/qt/QWebPageClient.h: Added.
35201         * platform/qt/WidgetQt.cpp:
35202         (WebCore::Widget::setCursor):
35203         * plugins/qt/PluginViewQt.cpp:
35204         (WebCore::PluginView::handleKeyboardEvent):
35205         (WebCore::PluginView::getValue):
35206         (WebCore::PluginView::platformStart):
35208 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35210         Reviewed by Timothy Hatcher.
35212         Web Inspector: Evaluating on call frame always returns "undefined".
35214         https://bugs.webkit.org/show_bug.cgi?id=29613
35216         * inspector/front-end/InjectedScript.js:
35217         (InjectedScript.evaluate):
35218         (InjectedScript._evaluateAndWrap):
35219         (InjectedScript._evaluateOn):
35220         (InjectedScript.evaluateInCallFrame):
35222 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35224         Reviewed by Timothy Hatcher.
35226         Web Inspector: Exception formatting is broken in console.
35228         https://bugs.webkit.org/show_bug.cgi?id=29608
35230         * inspector/front-end/ConsoleView.js:
35231         (WebInspector.ConsoleCommandResult):
35232         * inspector/front-end/InjectedScript.js:
35233         (InjectedScript.evaluate):
35234         (InjectedScript.createProxyObject):
35236 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35238         Reviewed by Timothy Hatcher.
35240         Web Inspector: Console object formatting is broken.
35242         https://bugs.webkit.org/show_bug.cgi?id=29607
35244         * inspector/front-end/ConsoleView.js:
35245         (WebInspector.ConsoleMessage.prototype._format):
35246         * inspector/front-end/ObjectProxy.js:
35247         (WebInspector.ObjectProxy.wrapPrimitiveValue):
35249 2009-09-21  Pavel Feldman  <pfeldman@chromium.org>
35251         Reviewed by Timothy Hatcher.
35253         Web Inspector: Crash When Logging an Element Before Opening Inspector
35255         https://bugs.webkit.org/show_bug.cgi?id=29514
35257         * inspector/InspectorController.cpp:
35258         (WebCore::InspectorController::populateScriptObjects):
35260 2009-09-21  Simon Fraser  <simon.fraser@apple.com>
35262         Reviewed by Dan Bernstein.
35264         Incorrect clipping with accelerated compositing content, and position:fixed
35265         https://bugs.webkit.org/show_bug.cgi?id=29347
35266         
35267         Fix the compositing clipping logic to behave correctly when position:fixed
35268         elements clip, by using the new backgroundClipRect() method to determine
35269         when we need to clip, and to compute the clipping layer position.
35271         Test: compositing/overflow/fixed-position-ancestor-clip.html
35273         * rendering/RenderLayerBacking.cpp:
35274         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
35275         * rendering/RenderLayerCompositor.cpp:
35276         (WebCore::RenderLayerCompositor::clippedByAncestor):
35278 2009-09-21  Nate Chapin  <japhet@chromium.org>
35280         Reviewed by Adam Barth.
35282         Add back in a special case for window.top in the V8 bindings.
35284         https://bugs.webkit.org/show_bug.cgi?id=29605
35286         Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port.
35288         * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling.
35290 2009-09-21  Eric Carlson  <eric.carlson@apple.com>
35292         Reviewed by Brady Eidson.
35294         HTMLMediaElement: media file should not reload when page comes out of page cache
35295         https://bugs.webkit.org/show_bug.cgi?id=29604
35297         Test: media/restore-from-page-cache.html
35299         * html/HTMLMediaElement.cpp:
35300         (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element
35301         is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING,
35302         otherwise set the network state to NETWORK_IDLE.
35304 2009-09-21  Sam Weinig  <sam@webkit.org>
35306         Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen.
35308         Clarify two FIXMEs.
35310         * bindings/js/JSHTMLCollectionCustom.cpp:
35311         (WebCore::getNamedItems):
35312         * bindings/js/JSHTMLFormElementCustom.cpp:
35313         (WebCore::JSHTMLFormElement::nameGetter):
35315 2009-09-21  Darin Fisher  <darin@chromium.org>
35317         Reviewed by Dimitri Glazkov.
35319         Drop down selects fail to close when a value is selected
35320         https://bugs.webkit.org/show_bug.cgi?id=29582
35322         Implement PopupListBox::hidePopup, which was previously
35323         declared but unimplemented.  Removes the declaration of
35324         showPopup since that method is not implemented.
35326         PopupListBox::hidePopup takes care of hiding the popup,
35327         by invoking hidePopup on its parent PopupContainer, and
35328         then informs the PopupMenuClient that popupDidHide.
35329         This mimics the old behavior prior to r48370.
35331         * platform/chromium/PopupMenuChromium.cpp:
35332         (WebCore::PopupListBox::handleKeyEvent):
35333         (WebCore::PopupListBox::abandon):
35334         (WebCore::PopupListBox::acceptIndex):
35335         (WebCore::PopupListBox::hidePopup):
35337 2009-09-21  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
35339         Rubber-stamped by Simon Hausmann.
35341         [Qt] Windows build fix.
35342         https://bugs.webkit.org/show_bug.cgi?id=29535
35344         * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h"  added.
35346 2009-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35348         Unreviewed make dist build fix. Missing files.
35350         * GNUmakefile.am:
35352 2009-09-20  Adam Barth  <abarth@webkit.org>
35354         Reviewed by Maciej Stachowiak.
35356         Crash when clicking link in unload handler
35357         https://bugs.webkit.org/show_bug.cgi?id=29525
35359         Test that the first navigation always wins when the page tries to start
35360         a new navigation in an unload handler.
35362         Tests: fast/loader/unload-form-about-blank.html
35363                fast/loader/unload-form-post-about-blank.html
35364                fast/loader/unload-form-post.html
35365                fast/loader/unload-form.html
35366                fast/loader/unload-hyperlink.html
35367                fast/loader/unload-javascript-url.html
35368                fast/loader/unload-reload.html
35369                fast/loader/unload-window-location.html
35371         * loader/FrameLoader.cpp:
35372         (WebCore::FrameLoader::loadURL):
35373         (WebCore::FrameLoader::loadWithDocumentLoader):
35375 2009-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35377         Reviewed by Xan Lopez.
35379         [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video
35380         https://bugs.webkit.org/show_bug.cgi?id=29496
35382         Protect the video sink object, and destroy it in an idle callback
35383         to hopefully avoid a race condition that leads to a crash.
35385         This is already tested by media/video-seekable.html
35387         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
35388         (WebCore::idleUnref):
35389         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
35390         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
35392 2009-09-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35394         Unreviewed build fix for GTKand a blind one for Qt after r48566.
35396         * GNUmakefile.am:
35397         * WebCore.pro:
35399 2009-09-19  Sam Weinig  <sam@webkit.org>
35401         Reviewed by Oliver Hunt.
35403         Fix for https://bugs.webkit.org/show_bug.cgi?id=29519
35404         Remove JSNameNodeCollection and just use StaticNodeList
35406         * WebCore.vcproj/WebCore.vcproj:
35407         * WebCore.xcodeproj/project.pbxproj:
35408         * WebCoreSources.bkl:
35409         * bindings/js/JSHTMLCollectionCustom.cpp:
35410         (WebCore::getNamedItems):
35411         * bindings/js/JSHTMLFormElementCustom.cpp:
35412         (WebCore::JSHTMLFormElement::nameGetter):
35413         * bindings/js/JSNamedNodesCollection.cpp: Removed.
35414         * bindings/js/JSNamedNodesCollection.h: Removed.
35416 2009-09-19  Daniel Bates  <dbates@webkit.org>
35418         Reviewed by Adam Barth.
35420         https://bugs.webkit.org/show_bug.cgi?id=29511
35421         
35422         Fixes an issue where script code that contains non-ASCII characters may bypass the 
35423         XSSAuditor.
35424         
35425         Before performing a comparison between the script source code and input parameters, we
35426         remove all non-ASCII characters, including non-printable ASCII characters from the
35427         script source code and input parameters.
35429         Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html
35430                http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html
35431                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html
35432                http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html
35434         * page/XSSAuditor.cpp:
35435         (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters,
35436         including non-printable ASCII characters.
35438 2009-09-19  Simon Fraser  <simon.fraser@apple.com>
35440         Reviewed by Dan Bernstein.
35442         Incorrect animation with scale(0) transform (singular matrix)
35443         https://bugs.webkit.org/show_bug.cgi?id=29465
35444         
35445         Make accelerated scale() and translate() animations go through the component animation
35446         path (rather than just matrix animation) to avoid problems with singular scale matrices,
35447         and be slightly more efficient.
35449         Test: compositing/transitions/singular-scale-transition.html
35451         * platform/graphics/mac/GraphicsLayerCA.mm:
35452         (WebCore::getTransformFunctionValue):
35453         (WebCore::getValueFunctionNameForTransformOperation):
35455 2009-09-19  Alex Milowski  <alex@milowski.com>
35457         Reviewed by Maciej Stachowiak.
35459         Adds CSS styling and basic DOM element support for MathML
35461         * DerivedSources.make:
35462           Added user stylesheet and tag factory generation
35464         * WebCore.xcodeproj/project.pbxproj:
35465           Added new DOM element code
35467         * css/CSSParser.cpp:
35468         (WebCore::CSSParser::parseAttr):
35469           Added check for document since stylesheet can be added before there is a document
35471         * css/CSSStyleSelector.cpp:
35472         (WebCore::CSSStyleSelector::styleForElement):
35473           Added check to add MathML user agent stylesheet
35475         * css/mathml.css: Added.
35476           MathML user agent stylesheet
35478         * dom/Document.cpp:
35479         (WebCore::Document::createElement):
35480           Added support for creation of MathML DOM objects
35482         * dom/Node.h:
35483         (WebCore::Node::isMathMLElement):
35484           Added check method for whether the node is a MathML node
35486         * mathml: Added.
35487         * mathml/MathMLElement.cpp: Added.
35488         (WebCore::MathMLElement::MathMLElement):
35489         (WebCore::MathMLElement::create):
35490         (WebCore::MathMLElement::createRenderer):
35491         * mathml/MathMLElement.h: Added.
35492         (WebCore::MathMLElement::isMathMLElement):
35493           MathML DOM base class
35496         * mathml/MathMLInlineContainerElement.cpp: Added.
35497         (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
35498         (WebCore::MathMLInlineContainerElement::create):
35499         (WebCore::MathMLInlineContainerElement::createRenderer):
35500         * mathml/MathMLInlineContainerElement.h: Added.
35501           Base class for non-text containers
35503         * mathml/MathMLMathElement.cpp: Added.
35504         (WebCore::MathMLMathElement::MathMLMathElement):
35505         (WebCore::MathMLMathElement::create):
35506         * mathml/MathMLMathElement.h: Added.
35507           Root Math element
35509         * mathml/mathtags.in: Added.
35510           Element list mappings
35512         * page/Frame.cpp:
35513         (WebCore::Frame::Frame):
35514           Added MathML name initialization
35515 2009-09-19  Adam Barth  <abarth@webkit.org>
35517         Reviewed by Oliver Hunt.
35519         Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
35520         https://bugs.webkit.org/show_bug.cgi?id=29305
35522         We need to special-case data URLs when tainting a canvas because we
35523         treat data URLs has having no security origin, unlike other
35524         browsers.  The reason we do this is to help sites avoid XSS via data
35525         URLs, but that consideration doesn't apply to canvas taint.
35527         Also, we were previously incorrectly taking document.domain state
35528         into account when tainting canvas.
35530         Tests: http/tests/security/canvas-remote-read-data-url-image.html
35531                http/tests/security/canvas-remote-read-data-url-svg-image.html
35532                http/tests/security/canvas-remote-read-remote-image-document-domain.html
35534         * html/canvas/CanvasRenderingContext2D.cpp:
35535         (WebCore::CanvasRenderingContext2D::checkOrigin):
35536         (WebCore::CanvasRenderingContext2D::createPattern):
35537         * page/SecurityOrigin.cpp:
35538         (WebCore::SecurityOrigin::taintsCanvas):
35539         * page/SecurityOrigin.h:
35541 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
35543         Fix stylistic issue raised in code review for previous commit.
35545         * rendering/RenderLayerBacking.cpp:
35546         (WebCore::hasNonZeroTransformOrigin):
35548 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
35550         Reviewed by Dan Bernstein.
35552         Element is misplaced during opacity transition with certain configuration of transform-origin and clipping
35553         https://bugs.webkit.org/show_bug.cgi?id=29495
35554         
35555         If an element has zero size, but has a transform origin with absolute values,
35556         then the transform origin would not be applied because it is implemented via
35557         anchorPoint, which is expressed as a fraction of the layer size.
35558         
35559         Work around this by artificially inflating the size of the backing store when we need to.
35561         Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html
35563         * rendering/RenderLayerBacking.h:
35564         * rendering/RenderLayerBacking.cpp:
35565         (WebCore::RenderLayerBacking::RenderLayerBacking):
35566         Init m_artificiallyInflatedBounds to false.
35567         
35568         (WebCore::hasNonZeroTransformOrigin):
35569         Utility function that describes whether the transform-origin contains non-percentage
35570         x or y offsets.
35571         
35572         (WebCore::RenderLayerBacking::updateCompositedBounds):
35573         New wrapper method around setCompositedBounds() that applies the size inflation
35574         when necessary, setting the m_artificiallyInflatedBounds as appropriate.
35575         
35576         (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds().
35577         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto
35578         
35579         * rendering/RenderLayerCompositor.cpp:
35580         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto
35581         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto
35583 2009-09-18  Antti Koivisto  <antti@apple.com>
35585         Reviewed by Maciej Stachowiak.
35587         https://bugs.webkit.org/show_bug.cgi?id=29512
35588         Don't recalculate style when restoring from the page cache
35590         FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 
35591         directly to update the scrollbars while keeping the existing style.
35592         
35593         Makes back/forward really fast on complex pages (in cases where page cache works).
35595         * loader/FrameLoader.cpp:
35596         (WebCore::FrameLoader::commitProvisionalLoad):
35598 2009-09-18  Oliver Hunt  <oliver@apple.com>
35600         Reviewed by Geoff Garen.
35602         Implement ES5 Object.defineProperty function
35603         https://bugs.webkit.org/show_bug.cgi?id=29503
35605         Override defineOwnProperty on JSDOMWindowShell to forward appropriately,
35606         and then override defineOwnProperty on JSDOMWindow to disallow cross origin
35607         defineOwnProperty usage.  We also override defineOwnProperty on QuarantinedObjectWrapper
35608         to ensure correct wrapping semantics of quarantined objects.
35610         One major caveat in this patch is that it currently disallows the use
35611         of Object.defineProperty on DOMObjects other than the window due to
35612         the significant work involved in correctly propagating attributes and
35613         ensuring correct semantics on dom objects.
35615         Tests: fast/js/Object-defineProperty.html
35616                http/tests/security/xss-DENIED-defineProperty.html
35618         * bindings/js/JSDOMBinding.cpp:
35619         (WebCore::DOMObject::defineOwnProperty):
35620         * bindings/js/JSDOMBinding.h:
35621         * bindings/js/JSDOMWindowCustom.cpp:
35622         (WebCore::JSDOMWindow::defineGetter):
35623         (WebCore::JSDOMWindow::defineSetter):
35624         (WebCore::JSDOMWindow::defineOwnProperty):
35625         * bindings/js/JSDOMWindowShell.cpp:
35626         (WebCore::JSDOMWindowShell::defineOwnProperty):
35627         (WebCore::JSDOMWindowShell::defineGetter):
35628         (WebCore::JSDOMWindowShell::defineSetter):
35629         * bindings/js/JSDOMWindowShell.h:
35630         * bindings/js/JSLocationCustom.cpp:
35631         (WebCore::JSLocation::defineGetter):
35632         (WebCore::JSLocationPrototype::defineGetter):
35633         * bindings/js/JSQuarantinedObjectWrapper.cpp:
35634         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
35635         (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty):
35636         * bindings/js/JSQuarantinedObjectWrapper.h:
35637         * bindings/scripts/CodeGeneratorJS.pm:
35639 2009-09-18  Alexey Proskuryakov  <ap@apple.com>
35641         Reviewed by Darin Adler.
35643         https://bugs.webkit.org/show_bug.cgi?id=29510
35644         Active DOM objects should be suspended while a modal dialog is displayed
35646         * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers.
35648         * page/PageGroupLoadDeferrer.cpp:
35649         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
35650         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
35651         Match other platforms, and make Mac also suspend active DOM objects. Since a page that
35652         currently displays a modal dialog cannot go into page cache, there is no danger of suspending
35653         an object twice.        
35655 2009-09-18  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
35657         Reviewed by Eric Seidel.
35659         [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513
35660         https://bugs.webkit.org/show_bug.cgi?id=29351
35662         * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject.
35663         * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected.
35665 2009-09-18  Yury Semikhatsky  <yurys@chromium.org>
35667         Reviewed by Timothy Hatcher.
35669         Fix parameter substitutions in console.log().
35671         https://bugs.webkit.org/show_bug.cgi?id=29366
35673         * inspector/front-end/ConsoleView.js:
35674         (WebInspector.ConsoleMessage.prototype._format):
35675         * inspector/front-end/InjectedScript.js:
35676         (InjectedScript.getPrototypes):
35677         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
35678         * inspector/front-end/utilities.js:
35679         ():
35681 2009-09-18  Sam Weinig  <sam@webkit.org>
35683         Reviewed by Geoffrey Garen and Brady Eidson.
35685         Temporarily remove an assertion that was getting hit when going
35686         back to a page in the page cache while a banner in Safari was visible.
35687         We should re-enable this once that is fixed. See <rdar://problem/7218118>
35689         * page/FrameView.cpp:
35690         (WebCore::FrameView::scheduleRelayout):
35692 2009-09-18  Anders Carlsson  <andersca@apple.com>
35694         Try fixing the build again.
35695         
35696         * platform/win/PopupMenuWin.cpp:
35697         (WebCore::PopupMenu::wndProc):
35699 2009-09-18  Anders Carlsson  <andersca@apple.com>
35701         Fix windows build.
35702         
35703         * platform/win/PopupMenuWin.cpp:
35705 2009-09-18  Sam Weinig  <sam@webkit.org>
35707         Reviewed by Gavin 'BearClaw' Barraclough.
35709         Convert another callback type object to store the global object
35710         instead of the frame.
35712         * bindings/js/JSCustomXPathNSResolver.cpp:
35713         (WebCore::JSCustomXPathNSResolver::create):
35714         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
35715         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
35716         * bindings/js/JSCustomXPathNSResolver.h:
35718 2009-09-18  Anders Carlsson  <andersca@apple.com>
35720         Reviewed by Sam Weinig.
35722         https://bugs.webkit.org/show_bug.cgi?id=29332
35723         <rdar://problem/7231652> 
35724         REGRESSION (r48446): While a <select> popup menu is open, the
35725         rest of the WebView doesn't respond to mouse move events.
35727         * platform/win/PopupMenuWin.cpp:
35728         (WebCore::translatePoint):
35729         New helper function that translates a point between HWND coordinates.
35730         
35731         (WebCore::PopupMenu::show):
35732         Protect the PopupMenu if someone removes the <select> in response to a mouse
35733         event. Handle WM_HOST_WINDOW_MOUSEMOVE events.
35734         
35735         (WebCore::PopupMenu::wndProc):
35736         in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 
35737         WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the
35738         mouse move event.
35740 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
35742         Reviewed by Dave Hyatt.
35744         Compositing layers are incorrectly positioned after scrolling with position:fixed
35745         https://bugs.webkit.org/show_bug.cgi?id=29262
35746         
35747         When scrolling a page with compositing layers inside a position:fixed element,
35748         we need to update the compositing layer positions when the scroll position changes.
35750         Test: compositing/geometry/fixed-position.html
35752         * WebCore.base.exp:
35753         Export FrameView::scrollPositionChanged()
35754         
35755         * page/FrameView.h:
35756         * page/FrameView.cpp:
35757         (WebCore::FrameView::scrollPositionChanged):
35758         New method that sends the scroll event, and updates compositing layers positions if necessary.
35760 2009-09-18  Simon Fraser  <simon.fraser@apple.com>
35762         Reviewed by Dave Hyatt.
35764         Transformed elements inside position:fixed container are clipped incorrectly
35765         https://bugs.webkit.org/show_bug.cgi?id=29346
35766         
35767         Fix clipping and hit testing on transformed elements inside a position:fixed element.
35768         Previously, the code used the overflowClipRect of the parent clip rects, but
35769         this is not correct for fixed postion elements. Instead, share code that is
35770         already present in calculateRects() to get the correct rect.
35772         Test: fast/overflow/position-fixed-transform-clipping.html
35774         * rendering/RenderLayer.h:
35775         * rendering/RenderLayer.cpp:
35776         (WebCore::RenderLayer::paintLayer):
35777         (WebCore::RenderLayer::hitTestLayer):
35778         Call the new backgroundClipRect() to get the correct clipRect.
35779         
35780         (WebCore::RenderLayer::backgroundClipRect):
35781         New method, factored out of calculateRects(), that computes the clip rect,
35782         doing the right thing for fixed position elements.
35783         
35784         (WebCore::RenderLayer::calculateRects):
35785         Call the new backgroundClipRect() method.
35786         
35787 2009-09-18  Dan Bernstein  <mitz@apple.com>
35789         Reviewed by Darin Adler.
35791         Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at
35792         WebCore::RenderBlock::layoutBlock()
35793         https://bugs.webkit.org/show_bug.cgi?id=29498
35795         Test: accessibility/nested-layout-crash.html
35797         * accessibility/AccessibilityRenderObject.cpp:
35798         (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to
35799             call Document::updateLayoutIgnorePendingStylesheets() instead of
35800             calling RenderObject::layoutIfNeeded(). The latter requires that
35801             there be no pending style recalc, which allows methods that call
35802             Document::updateLayout() to be called during layout without risking
35803             re-entry into layout.
35804         * accessibility/mac/AccessibilityObjectWrapper.mm:
35805         (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check
35806             m_object after calling updateBackingStore(), since style recalc may
35807             destroy the renderer, which destroys the accessibility object and
35808             detaches it from the wrapper.
35809         (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
35810         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
35811         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto.
35812         (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto.
35813         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
35814             Ditto.
35815         (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto.
35816         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
35817              Ditto.
35818         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto.
35819         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
35820             Ditto.
35821         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
35822             Ditto.
35823         (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto.
35824         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
35825             Ditto.
35826         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
35827             Ditto.
35828         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto.
35829         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
35830             Ditto.
35831         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
35832             Ditto.
35834 2009-09-18  Fumitoshi Ukai  <ukai@chromium.org>
35836         Reviewed by Simon Hausmann.
35838         Update Qt build system for Web Socket.
35839         https://bugs.webkit.org/show_bug.cgi?id=29270
35841         * WebCore.pro:
35842         * platform/network/qt/SocketStreamError.h: Added.
35843         * platform/network/qt/SocketStreamHandle.h: Added.
35844         * platform/network/qt/SocketStreamHandleSoup.cpp: Added.
35846 2009-09-18  Eric Carlson  <eric.carlson@apple.com>
35848         Reviewed by Darin Adler.
35850         NULL check HTMLMediaElement::m_playedTimeRanges.
35851         Fix for https://bugs.webkit.org/show_bug.cgi?id=29494
35853         * html/HTMLMediaElement.cpp:
35854         (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if
35855         necessary, add range specified.
35856         (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 
35857         (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 
35858         to be more readable.
35859         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
35860         * html/HTMLMediaElement.h:
35862 2009-09-18  Sam Weinig  <sam@webkit.org>
35864         Reviewed by Adele Peterson.
35866         Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276
35867         REGRESSION(r48334): WebKit crashes on file select by drag
35869         Don't use Document.elementFromPoint since it returns null if the point
35870         is outside the viewport.  Instead, just hit test ourselves.
35872         Test: fast/events/drag-file-crash.html
35874         * page/DragController.cpp:
35875         (WebCore::elementUnderMouse):
35876         (WebCore::DragController::tryDocumentDrag):
35877         (WebCore::DragController::concludeEditDrag):
35879 2009-09-18  Darin Adler  <darin@apple.com>
35881         Reviewed by Sam Weinig.
35883         Each wrapped Objective-C object should use a single RuntimeObjectImp
35884         https://bugs.webkit.org/show_bug.cgi?id=29351
35885         rdar://problem/7142294
35887         * WebCore.base.exp: Added a newly-needed exported symbol.
35889         * bindings/objc/DOMInternal.h: Eliminated unused
35890         createWrapperCacheWithIntegerKeys; it has not been needed since the
35891         RGBColor wrappers were reworked.
35892         * bindings/objc/DOMInternal.mm: Ditto.
35894         * bridge/objc/objc_instance.h: Made the create function non-inline.
35895         * bridge/objc/objc_instance.mm:
35896         (createInstanceWrapperCache): Added. Creates an appropriate map table.
35897         (ObjcInstance::create): Moved here from header. Uses NSMapGet and
35898         NSMapInsert to cache the instance in a map table.
35899         (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
35900         the instance from the map table.
35902         * bridge/qt/qt_instance.cpp:
35903         (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
35904         the instance from cachedObjects, which no longer exists.
35905         (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
35906         bottleneck. Caching is now handled by the base class.
35908         * bridge/runtime.cpp:
35909         (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
35910         (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
35911         (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
35912         if it's already set. Set m_runtimeObject and call addRuntimeObject
35913         if it's not.
35914         (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
35915         used only by createRuntimeObject.
35916         (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
35917         Calls removeRuntimeObject and then clears m_runtimeObject.
35918         (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
35919         Clears m_runtimeObject.
35921         * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
35922         willDestroyRuntimeObject, willInvalidateRuntimeObject,
35923         newRuntimeObject, and m_runtimeObject.
35925         * bridge/runtime_object.cpp:
35926         (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
35927         call, now handled by caller.
35928         (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
35929         call with willDestroyRuntimeObject call; the latter nows calls
35930         removeRuntimeObject.
35931         (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
35932         call.
35934         * bridge/runtime_object.h: Made invalidate non-virtual.
35936 2009-09-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
35938         Reviewed by Simon Hausmann.
35940         Make PlatformWindow return something else than PlatformWidget
35941         https://bugs.webkit.org/show_bug.cgi?id=29085
35943         Make platformWindow return a PlatformPageClient
35944         (for now typedef'ed to PlatformWidget)
35946         Also, change the name of platformWindow to platformPageClient()
35948         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35949         (getPangoLayoutForAtk):
35950         * accessibility/win/AXObjectCacheWin.cpp:
35951         (WebCore::AXObjectCache::postPlatformNotification):
35952         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
35953         * loader/EmptyClients.h:
35954         (WebCore::EmptyChromeClient::platformPageClient):
35955         * page/Chrome.cpp:
35956         (WebCore::Chrome::platformPageClient):
35957         * page/Chrome.h:
35958         * page/ChromeClient.h:
35959         * page/mac/EventHandlerMac.mm:
35960         (WebCore::EventHandler::wheelEvent):
35961         (WebCore::EventHandler::currentPlatformMouseEvent):
35962         (WebCore::EventHandler::sendContextMenuEvent):
35963         (WebCore::EventHandler::eventMayStartDrag):
35964         * platform/HostWindow.h:
35965         * platform/Widget.h:
35966         * platform/gtk/PlatformScreenGtk.cpp:
35967         (WebCore::getVisual):
35968         (WebCore::screenRect):
35969         (WebCore::screenAvailableRect):
35970         * platform/gtk/PopupMenuGtk.cpp:
35971         (WebCore::PopupMenu::show):
35972         * platform/gtk/ScrollViewGtk.cpp:
35973         (WebCore::ScrollView::platformAddChild):
35974         (WebCore::ScrollView::platformRemoveChild):
35975         (WebCore::ScrollView::visibleContentRect):
35976         * platform/gtk/WidgetGtk.cpp:
35977         (WebCore::Widget::setFocus):
35978         (WebCore::Widget::setCursor):
35979         * platform/qt/PlatformScreenQt.cpp:
35980         (WebCore::screenDepth):
35981         (WebCore::screenDepthPerComponent):
35982         (WebCore::screenIsMonochrome):
35983         (WebCore::screenRect):
35984         (WebCore::screenAvailableRect):
35985         * platform/qt/PopupMenuQt.cpp:
35986         (WebCore::PopupMenu::show):
35987         * platform/qt/WidgetQt.cpp:
35988         (WebCore::Widget::setCursor):
35989         * platform/win/PlatformScreenWin.cpp:
35990         (WebCore::monitorInfoForWidget):
35991         * platform/win/PopupMenuWin.cpp:
35992         (WebCore::PopupMenu::show):
35993         (WebCore::PopupMenu::calculatePositionAndSize):
35994         (WebCore::PopupMenu::wndProc):
35995         * platform/wx/RenderThemeWx.cpp:
35996         (WebCore::nativeWindowForRenderObject):
35997         * platform/wx/ScrollbarThemeWx.cpp:
35998         (WebCore::ScrollbarThemeWx::paint):
35999         * plugins/gtk/PluginViewGtk.cpp:
36000         (WebCore::PluginView::getValue):
36001         (WebCore::PluginView::forceRedraw):
36002         (WebCore::PluginView::platformStart):
36003         * plugins/mac/PluginViewMac.cpp:
36004         (WebCore::PluginView::platformStart):
36005         * plugins/qt/PluginViewQt.cpp:
36006         (WebCore::PluginView::handleKeyboardEvent):
36007         (WebCore::PluginView::getValue):
36008         (WebCore::PluginView::platformStart):
36009         * plugins/win/PluginViewWin.cpp:
36010         (WebCore::PluginView::getValue):
36011         (WebCore::PluginView::forceRedraw):
36012         (WebCore::PluginView::platformStart):
36014 2009-09-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
36016         Reviewed by Simon Hausmann.
36018         [Qt] Web inspector UI adjustments specific to the Qt platform:
36019         - Hide the close button
36020         - Hide the dock button
36021         - Disable the draggable toolbar
36023         https://bugs.webkit.org/show_bug.cgi?id=29384
36025         * inspector/front-end/inspector.css:
36026         * inspector/front-end/inspector.js:
36027         (WebInspector.toolbarDragStart):
36029 2009-09-18  Joerg Bornemann  <joerg.bornemann@nokia.com>
36031         Reviewed by Simon Hausmann.
36033         QtWebKit Windows CE compile fixes
36035         Exclude certain pure-WINCE specific code paths from the Qt build.
36037         * platform/graphics/BitmapImage.h:
36038         * platform/graphics/FontCache.h:
36039         * platform/graphics/MediaPlayer.cpp:
36040         * platform/text/TextEncodingRegistry.cpp:
36041         (WebCore::buildBaseTextCodecMaps):
36042         (WebCore::extendTextCodecMaps):
36043         * plugins/PluginView.cpp:
36044         (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as
36045         the corresponding PluginViewWndProc has the same guard in the header file.
36047 2009-09-18  Steve Block  <steveblock@google.com>
36049         Reviewed by Dimitri Glazkov.
36051         Geolocation does not correctly handle Infinity for PositionOptions properties.
36052         https://bugs.webkit.org/show_bug.cgi?id=29099
36054         * bindings/js/JSGeolocationCustom.cpp: Modified.
36055         (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case.
36056         * page/PositionOptions.h: Modified.
36057         (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age.
36058         (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age.
36059         (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age.
36060         (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set.
36061         (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set.
36063 2009-09-17  Sam Weinig  <sam@webkit.org>
36065         Reviewed by Adele Peterson.
36067         Fix for https://bugs.webkit.org/show_bug.cgi?id=29276
36068         REGRESSION(r48334): WebKit crashes on file select by drag
36070         Document.elementFromPoint now takes point in client space, not page space.
36072         * page/DragController.cpp:
36073         (WebCore::DragController::tryDocumentDrag):
36074         (WebCore::DragController::concludeEditDrag):
36076 2009-09-17  Albert J. Wong  <ajwong@chromium.org>
36078         Reviewed by David Levin.
36080         Reimplement default media UI for Mac Chromium to match the style
36081         of the Windows and Linux versions.  Also breaks the dependency
36082         on the internal wk* functions that were previously used to
36083         render the media controller widgets.
36084         https://bugs.webkit.org/show_bug.cgi?id=29161
36086         No media layout tests are currently enabled in Mac Chromium, so
36087         nothing needs rebaselineing, etc.
36089         This is a recommit of r48438 with a compile fix and merges of
36090         recent changes to the file.
36092         * css/mediaControlsChromium.css:
36093         * rendering/RenderThemeChromiumMac.h:
36094         * rendering/RenderThemeChromiumMac.mm:
36095         (WebCore::mediaElementParent):
36096         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
36097         (WebCore::mediaSliderThumbImage):
36098         (WebCore::mediaVolumeSliderThumbImage):
36099         (WebCore::RenderThemeChromiumMac::paintSliderTrack):
36100         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
36101         (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal):
36102         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
36103         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
36104         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
36105         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
36106         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
36107         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
36108         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
36109         * rendering/RenderThemeChromiumSkia.cpp:
36110         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
36112 2009-09-17  Brian Weinstein  <bweinstein@apple.com>
36114         Reviewed by Timothy Hatcher.
36116         The Console scope bar should have a divider between All and the other possible
36117         values (Errors, Warnings, Logs). It will look something like:
36118         
36119         All | Errors Warnings Logs.
36121         * inspector/front-end/ConsoleView.js:
36122         (WebInspector.ConsoleView.createDividerElement):
36123         (WebInspector.ConsoleView):
36124         * inspector/front-end/inspector.css:
36126 2009-09-17  Sam Weinig  <sam@webkit.org>
36128         Reviewed by Mark Rowe.
36130         Remove additional references to JSVoidCallback which no longer exists.
36132         * DerivedSources.cpp:
36133         * WebCore.vcproj/WebCore.vcproj:
36135 2009-09-17  Sam Weinig  <sam@webkit.org>
36137         Reviewed by Brady Eidson.
36139         Remove commented out onhashchange attribute now that it is implemented.
36141         * page/DOMWindow.idl:
36143 2009-09-17  Anders Carlsson  <andersca@apple.com>
36145         Reviewed by Oliver Hunt.
36147         <rdar://problem/7007541> 
36148         CrashTracer: 4800crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
36149         
36150         Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in
36151         crashes while we're calling into it).
36152         
36153         * bridge/runtime_object.cpp:
36154         (JSC::RuntimeObjectImp::RuntimeObjectImp):
36155         (JSC::RuntimeObjectImp::~RuntimeObjectImp):
36156         (JSC::RuntimeObjectImp::invalidate):
36157         (JSC::RuntimeObjectImp::fallbackObjectGetter):
36158         (JSC::RuntimeObjectImp::fieldGetter):
36159         (JSC::RuntimeObjectImp::methodGetter):
36160         (JSC::RuntimeObjectImp::getOwnPropertySlot):
36161         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
36162         (JSC::RuntimeObjectImp::put):
36163         (JSC::RuntimeObjectImp::defaultValue):
36164         (JSC::RuntimeObjectImp::getCallData):
36165         (JSC::RuntimeObjectImp::getConstructData):
36166         (JSC::RuntimeObjectImp::getPropertyNames):
36167         * bridge/runtime_object.h:
36168         (JSC::RuntimeObjectImp::getInternalInstance):
36170 2009-09-17  Yury Semikhatsky  <yurys@chromium.org>
36172         Reviewed by Timothy Hatcher.
36174         Wrap primitive values (as objects) in InspectorController::wrap.
36176         https://bugs.webkit.org/show_bug.cgi?id=28983
36178         * inspector/InspectorController.cpp:
36179         (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies,
36180          only object proxies will have objectId.
36181         * inspector/front-end/ConsoleView.js:
36182         (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi
36183          that accepts an expression and returns possible completions. This way we don't need to wrap
36184          and unwrap the completions result into a proxy object.
36185         * inspector/front-end/InjectedScript.js:
36186         (InjectedScript.getCompletions):
36187         (InjectedScript.evaluate):
36188         (InjectedScript._evaluateOn):
36189         (InjectedScript.createProxyObject):
36190         * inspector/front-end/InjectedScriptAccess.js:
36192 2009-09-17  Nate Chapin  <japhet@chromium.org>
36194         Reviewed by Dimitri Glazkov.
36196         Wrap PageTransitionEvents properly for V8's use.
36198         https://bugs.webkit.org/show_bug.cgi?id=29340
36200         Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html.
36202         * bindings/v8/V8DOMWrapper.cpp:
36203         (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly.
36205 2009-09-17  Simon Fraser  <simon.fraser@apple.com>
36207         Reviewed by Dave Hyatt.
36209         Hardware-accelerated opacity transition on inline asserts
36210         https://bugs.webkit.org/show_bug.cgi?id=29342
36211         
36212         Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just
36213         pass an empty size, because the box size is only required for transform animations.
36215         Test: compositing/transitions/opacity-on-inline.html
36217         * rendering/RenderLayerBacking.cpp:
36218         (WebCore::RenderLayerBacking::startTransition):
36220 2009-09-17  Adam Barth  <abarth@webkit.org>
36222         Reviewed by Eric Seidel.
36224         [V8] OwnHandle might get a weak callback after destruction
36225         https://bugs.webkit.org/show_bug.cgi?id=29172
36227         Be sure to clear out weak reference so we don't get a weak callback
36228         after we've destructed ourselves.  Also, removed some tricky methods
36229         that had no clients.
36231         * bindings/v8/OwnHandle.h:
36232         (WebCore::OwnHandle::clear):
36234 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
36236         Unreviewed, build fix.
36238         [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to
36239         fix crashes that started happening in V8Proxy::getEnteredContext().
36241         * bindings/v8/ScheduledAction.cpp:
36242         (WebCore::ScheduledAction::execute):
36244 2009-09-17  Chris Fleizach  <cfleizach@apple.com>
36246         Reviewed by Beth Dakin.
36248         AX: labels of checkboxes should, when hit-tested, return the checkbox
36249         https://bugs.webkit.org/show_bug.cgi?id=29335
36251         When an accessibility hit test is done and it hits the label of a control element,
36252         the control element should be returned instead of nothing, since the label
36253         itself is usually ignored.
36255         Test: accessibility/label-for-control-hittest.html
36257         * accessibility/AccessibilityObject.h:
36258         (WebCore::AccessibilityObject::correspondingControlForLabelElement):
36259         * accessibility/AccessibilityRenderObject.cpp:
36260         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
36261         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
36262         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
36263         * accessibility/AccessibilityRenderObject.h:
36265 2009-09-17  Avi Drissman  <avi@chromium.org>
36267         Reviewed by Dimitri Glazkov, build fix.
36269         Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC).
36270         https://bugs.webkit.org/show_bug.cgi?id=29243
36272         Covered by existing tests.
36274         * rendering/RenderThemeChromiumMac.mm:
36275         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
36277 2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
36279         Reviewed by Eric Seidel.
36281         [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType
36282         creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes.
36283         https://bugs.webkit.org/show_bug.cgi?id=26402
36285         Test: fast/dom/DOMImplementation/detached-doctype.html
36286               fast/dom/doctype-event-listener-crash.html
36288         * bindings/v8/V8DOMWrapper.cpp:
36289         (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check.
36291 2009-09-17  Dan Bernstein  <mitz@apple.com>
36293         Reviewed by Simon Fraser.
36295         FontDescription.h includes RenderStyleConstants.h, which violates layering
36296         https://bugs.webkit.org/show_bug.cgi?id=29327
36298         * GNUmakefile.am: Added FontSmoothingMode.h.
36299         * WebCore.gypi: Added FontSmoothingMode.h.
36300         * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h.
36301         * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made
36302             it a private header.
36303         * css/CSSComputedStyleDeclaration.cpp:
36304         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the
36305             font smoothing mode via the font description.
36306         * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h
36307         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename
36308             of FontSmoothing to FontSmoothingMode.
36309         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto.
36310         * css/CSSStyleSelector.cpp:
36311         (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode
36312             via the font description.
36313         * platform/graphics/FontDescription.h: Do not include
36314             RenderStyleConstants.h.
36315         (WebCore::FontDescription::fontSmoothing): Updated for the rename of
36316             FontSmoothing to FontSmoothingMode.
36317         (WebCore::FontDescription::setFontSmoothing): Ditto.
36318         * platform/graphics/FontSmoothingMode.h: Added.
36319         (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from
36320             RenderStyleConstants here and renamed it to this.
36321         * rendering/style/RenderStyle.h:
36322         (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since
36323             this can be accessed via the font description.
36324         * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum
36325             from here to FontSmoothingMode.h.
36327 2009-09-17  Kevin Ollivier  <kevino@theolliviers.com>
36329         wx 2.9 build fix.
36331         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
36332         (wxGetGdkWindowForDC):
36334 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
36336         Reviewed by Dan Bernstein.
36338         Elements appear behind <video> when they should be in front sometimes
36339         https://bugs.webkit.org/show_bug.cgi?id=29314
36340         
36341         r45598 added logic that tests for overlap with <video> to determine when to throw
36342         a layer into compositing mode. That logic was incorrect in some cases, and this patch
36343         fixes it. When testing overlap, the layer needs to be composited iff some previous layer
36344         is composited (which adds a rect to the overlay map), and there is overlap.
36346         Test: compositing/geometry/video-opacity-overlay.html
36348         * rendering/RenderLayerCompositor.cpp:
36349         (WebCore::CompositingState::CompositingState):
36350         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
36352 2009-09-17  Avi Drissman  <avi@google.com>
36354         Reviewed by Darin Fisher.
36356         Update the Chromium Mac theming files (RenderTheme and Theme) to be
36357         up-to-date.
36358         
36359         https://bugs.webkit.org/show_bug.cgi?id=29243
36360         http://crbug.com/19604
36362         Covered by existing tests.
36364         * WebCore.gypi:
36365         * platform/chromium/ThemeChromiumMac.h: Added.
36366         (WebCore::ThemeChromiumMac::ThemeChromiumMac):
36367         (WebCore::ThemeChromiumMac::~ThemeChromiumMac):
36368         (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace):
36369         * platform/chromium/ThemeChromiumMac.mm: Added.
36370         (WebCore::):
36371         (WebCore::platformTheme):
36372         (WebCore::controlSizeForFont):
36373         (WebCore::sizeFromFont):
36374         (WebCore::setControlSize):
36375         (WebCore::updateStates):
36376         (WebCore::inflateRect):
36377         (WebCore::checkboxSizes):
36378         (WebCore::checkboxMargins):
36379         (WebCore::checkboxSize):
36380         (WebCore::checkbox):
36381         (WebCore::paintCheckbox):
36382         (WebCore::radioSizes):
36383         (WebCore::radioMargins):
36384         (WebCore::radioSize):
36385         (WebCore::radio):
36386         (WebCore::paintRadio):
36387         (WebCore::buttonSizes):
36388         (WebCore::buttonMargins):
36389         (WebCore::button):
36390         (WebCore::paintButton):
36391         (WebCore::ThemeChromiumMac::baselinePositionAdjustment):
36392         (WebCore::ThemeChromiumMac::controlFont):
36393         (WebCore::ThemeChromiumMac::controlSize):
36394         (WebCore::ThemeChromiumMac::minimumControlSize):
36395         (WebCore::ThemeChromiumMac::controlBorder):
36396         (WebCore::ThemeChromiumMac::controlPadding):
36397         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
36398         (WebCore::ThemeChromiumMac::paint):
36399         * platform/graphics/FloatPoint.h:
36400         * platform/graphics/FloatRect.h:
36401         * platform/graphics/FloatSize.h:
36402         * platform/graphics/IntRect.h:
36403         * rendering/RenderThemeChromiumMac.h:
36404         (WebCore::RenderThemeChromiumMac::supportsControlTints):
36405         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
36406         (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
36407         * rendering/RenderThemeChromiumMac.mm:
36408         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
36409         (-[RTCMFlippedView isFlipped]):
36410         (-[RTCMFlippedView currentEditor]):
36411         (WebCore::):
36412         (WebCore::FlippedView):
36413         (WebCore::RenderTheme::themeForPage):
36414         (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor):
36415         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor):
36416         (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor):
36417         (WebCore::RenderThemeChromiumMac::systemFont):
36418         (WebCore::convertNSColorToColor):
36419         (WebCore::menuBackgroundColor):
36420         (WebCore::RenderThemeChromiumMac::systemColor):
36421         (WebCore::RenderThemeChromiumMac::isControlStyled):
36422         (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
36423         (WebCore::RenderThemeChromiumMac::inflateRect):
36424         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
36425         (WebCore::RenderThemeChromiumMac::setFontFromControlSize):
36426         (WebCore::RenderThemeChromiumMac::paintTextField):
36427         (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
36428         (WebCore::RenderThemeChromiumMac::paintTextArea):
36429         (WebCore::RenderThemeChromiumMac::paintMenuList):
36430         (WebCore::TopGradientInterpolate):
36431         (WebCore::BottomGradientInterpolate):
36432         (WebCore::MainGradientInterpolate):
36433         (WebCore::TrackGradientInterpolate):
36434         (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients):
36435         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
36436         (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
36437         (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
36438         (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop):
36439         (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom):
36440         (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
36441         (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle):
36442         (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle):
36443         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
36444         (WebCore::RenderThemeChromiumMac::paintSearchField):
36445         (WebCore::RenderThemeChromiumMac::setSearchCellState):
36446         (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
36447         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
36448         (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle):
36449         (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle):
36450         (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration):
36451         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle):
36452         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
36453         (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle):
36454         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
36455         (WebCore::mediaControllerTheme):
36456         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
36457         (WebCore::getMediaUIPartStateFlags):
36458         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
36459         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
36460         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
36461         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
36462         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
36463         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
36464         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
36465         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
36466         (WebCore::RenderThemeChromiumMac::paintMediaRewindButton):
36467         (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton):
36468         (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
36469         (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime):
36470         (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining):
36471         (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
36473 2009-09-16  Daniel Bates  <dbates@webkit.org>
36475         Reviewed by Darin Adler.
36477         https://bugs.webkit.org/show_bug.cgi?id=29306
36478         
36479         Fixes an issue where an attack that contains accented characters can
36480         bypass the XSSAuditor.
36481         
36482         XSSAuditor::decodeURL used the wrong length for the input string. 
36483         When the input string was decoded, the decoded result was truncated.
36484         Hence, XSSAuditor was comparing the source code of the script to the 
36485         truncated input parameters.
36487         Test: http/tests/security/xssAuditor/img-onerror-accented-char.html
36489         * page/XSSAuditor.cpp:
36490         (WebCore::XSSAuditor::decodeURL):
36492 2009-09-16  Brady Eidson  <beidson@apple.com>
36494         Reviewed by Sam Weinig.
36496         Explore allowing pages with unload handlers into the Page Cache
36497         https://bugs.webkit.org/show_bug.cgi?id=29021
36499         No new tests. (All previous tests continue to pass)
36501         * loader/FrameLoader.cpp:
36502         (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event.
36504 2009-09-16  Adam Barth  <abarth@webkit.org>
36506         Reviewed by Dimitri Glazkov.
36508         [V8] Teach ScheduledAction::execute about isolated worlds
36509         https://bugs.webkit.org/show_bug.cgi?id=27703
36511         We now save a handle to the original context.  We use that handle to
36512         call the timeout in the right context / world.
36514         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
36515                http/tests/security/isolatedWorld/window-setTimeout-string.html
36517         * bindings/v8/ScheduledAction.cpp:
36518         (WebCore::ScheduledAction::ScheduledAction):
36519         (WebCore::ScheduledAction::execute):
36520         * bindings/v8/ScheduledAction.h:
36521         (WebCore::ScheduledAction::ScheduledAction):
36522         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36523         (WebCore::V8Custom::WindowSetTimeoutImpl):
36524         * bindings/v8/custom/V8WorkerContextCustom.cpp:
36525         (WebCore::SetTimeoutOrInterval):
36527 2009-09-16  Adam Barth  <abarth@webkit.org>
36529         Reviewed by Dimitri Glazkov.
36531         [V8] Teach ScheduledAction::execute about isolated worlds
36532         https://bugs.webkit.org/show_bug.cgi?id=27703
36534         We now save a handle to the original context.  We use that handle to
36535         call the timeout in the right context / world.
36537         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
36538                http/tests/security/isolatedWorld/window-setTimeout-string.html
36540         * bindings/v8/ScheduledAction.cpp:
36541         (WebCore::ScheduledAction::ScheduledAction):
36542         (WebCore::ScheduledAction::execute):
36543         * bindings/v8/ScheduledAction.h:
36544         (WebCore::ScheduledAction::ScheduledAction):
36545         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36546         (WebCore::V8Custom::WindowSetTimeoutImpl):
36547         * bindings/v8/custom/V8WorkerContextCustom.cpp:
36548         (WebCore::SetTimeoutOrInterval):
36550 2009-09-16  Sam Weinig  <sam@webkit.org>
36552         Reviewed by Anders Carlsson.
36554         Add some groups to the xcode project to make the bindings/js/ group
36555         a little nicer.
36557         * WebCore.xcodeproj/project.pbxproj:
36559 2009-09-16  Sam Weinig  <sam@webkit.org>
36561         Reviewed by Anders Carlsson.
36563         Fix for https://bugs.webkit.org/show_bug.cgi?id=29320
36564         JS callback objects should store the global object
36566         This just changes the callback objects to store the global object instead
36567         of the frame. A follow up patch will change them to store the 'current' 
36568         global object instead of the lexical or dynamic.
36570         * DerivedSources.make: Remove unused VoidCallback.
36571         * WebCore.xcodeproj/project.pbxproj: Ditto.
36572         * bindings/js/JSCustomPositionCallback.cpp:
36573         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
36574         (WebCore::JSCustomPositionCallback::handleEvent):
36575         * bindings/js/JSCustomPositionCallback.h:
36576         (WebCore::JSCustomPositionCallback::create):
36577         * bindings/js/JSCustomPositionErrorCallback.cpp:
36578         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
36579         (WebCore::JSCustomPositionErrorCallback::handleEvent):
36580         * bindings/js/JSCustomPositionErrorCallback.h:
36581         (WebCore::JSCustomPositionErrorCallback::create):
36582         * bindings/js/JSCustomSQLStatementCallback.cpp:
36583         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
36584         (WebCore::JSCustomSQLStatementCallback::handleEvent):
36585         * bindings/js/JSCustomSQLStatementCallback.h:
36586         (WebCore::JSCustomSQLStatementCallback::create):
36587         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
36588         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
36589         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
36590         * bindings/js/JSCustomSQLStatementErrorCallback.h:
36591         (WebCore::JSCustomSQLStatementErrorCallback::create):
36592         * bindings/js/JSCustomSQLTransactionCallback.cpp:
36593         (WebCore::JSCustomSQLTransactionCallback::Data::Data):
36594         (WebCore::JSCustomSQLTransactionCallback::Data::globalObject):
36595         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
36596         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
36597         * bindings/js/JSCustomSQLTransactionCallback.h:
36598         (WebCore::JSCustomSQLTransactionCallback::create):
36599         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
36600         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
36601         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
36602         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
36603         (WebCore::JSCustomSQLTransactionErrorCallback::create):
36604         * bindings/js/JSCustomVoidCallback.cpp:
36605         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
36606         (WebCore::JSCustomVoidCallback::handleEvent):
36607         * bindings/js/JSCustomVoidCallback.h:
36608         (WebCore::JSCustomVoidCallback::create):
36609         * bindings/js/JSDatabaseCustom.cpp:
36610         (WebCore::JSDatabase::changeVersion):
36611         (WebCore::createTransaction):
36612         (WebCore::JSDatabase::transaction):
36613         (WebCore::JSDatabase::readTransaction):
36614         * bindings/js/JSGeolocationCustom.cpp:
36615         (WebCore::createPositionCallback):
36616         (WebCore::createPositionErrorCallback):
36617         (WebCore::JSGeolocation::getCurrentPosition):
36618         (WebCore::JSGeolocation::watchPosition):
36619         * bindings/js/JSSQLTransactionCustom.cpp:
36620         (WebCore::JSSQLTransaction::executeSql):
36622 2009-09-15  Kent Tamura  <tkent@chromium.org>
36624         Reviewed by Eric Seidel.
36626         <input maxlength=> should restrict only values specified by users.
36627         https://bugs.webkit.org/show_bug.cgi?id=21271
36629         * dom/InputElement.cpp:
36630         (WebCore::InputElement::setValueFromRenderer):
36631         (WebCore::InputElement::sanitizeValue):
36632         (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue().
36633         (WebCore::InputElement::handleBeforeTextInsertedEvent):
36634         (WebCore::InputElement::updateValueIfNeeded):
36635         * dom/InputElement.h:
36636         * html/HTMLInputElement.cpp:
36637         (WebCore::HTMLInputElement::setInputType):
36638         (WebCore::HTMLInputElement::value):
36639         (WebCore::HTMLInputElement::setValue):
36640         (WebCore::HTMLInputElement::sanitizeValue):
36641         * html/HTMLInputElement.h:
36642         * rendering/RenderTextControlSingleLine.cpp:
36643         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
36644         * wml/WMLInputElement.cpp:
36645         (WebCore::WMLInputElement::constrainValue):
36646         * wml/WMLInputElement.h:
36647         (WebCore::WMLInputElement::sanitizeValue):
36649 2009-09-16  Enrica Casucci  <enrica@apple.com>
36651         Reviewed by Eric Seidel.
36653         Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.
36654         https://bugs.webkit.org/show_bug.cgi?id=29319
36656         * editing/IndentOutdentCommand.cpp:
36657         Removed implementation of isAtUnsplittableElement.
36659         * editing/IndentOutdentCommand.h:
36660         Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions.
36662         * editing/htmlediting.cpp:
36663         (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand.
36665         * editing/htmlediting.h:
36666         Reordered functions to group them by type of object returned or operate upon.
36667         Added comments.
36668         Added isAtUnsplittableElement declaration.
36670 2009-09-16  Geoffrey Garen  <ggaren@apple.com>
36672         Reviewed by Sam Weinig and Anders Carlsson.
36674         Removed some vestigial and potentially crashy code that makes consolidating
36675         event listeners hard.
36677         * dom/Node.cpp:
36678         (WebCore::Node::addEventListener): No need to limit when event listeners
36679         can be added. Other EventTargets don't do this.
36680         
36681         Also, check for null when accessing document(). Technically, the JS bindings
36682         do this check for us, but let's not rely on that.
36684 2009-09-16  Anders Carlsson  <andersca@apple.com>
36686         Reviewed by Adam Roben.
36688         <rdar://problem/7155710>
36689         HTML selects on windows cause containing window to become inactive when opened
36690         
36691         Redo the way we handle events when a popup menu is shown, based on
36692         http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx
36693         
36694         Since a non-active window can't capture the mouse, we use the owning window 
36695         (the WebView) as the capture window. We then run a recursive message pump that 
36696         forwards all mouse and keyboard events to the popup menu.
36697         
36698         * platform/PopupMenu.h:
36699         * platform/win/PopupMenuWin.cpp:
36700         (WebCore::PopupMenu::PopupMenu):
36701         (WebCore::PopupMenu::show):
36702         (WebCore::PopupMenu::hide):
36703         (WebCore::PopupMenu::wndProc):
36705 2009-09-16  Dan Bernstein  <mitz@apple.com>
36707         Reviewed by Ada Chan.
36709         Speculative fix for
36710         <rdar://problem/6937089> Crashes at RenderWidget::destroy()
36712         * rendering/RenderWidget.cpp:
36713         (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node()
36714         is null. Add two assertions that can help determine how this crash
36715         happens (in particular, whether node() becomes null during destroy() or
36716         it is null before destroy() is called).
36718 2009-09-16  Beth Dakin  <bdakin@apple.com>
36720         Speculative build fix.
36722         * css/CSSStyleSelector.cpp:
36723         (WebCore::CSSStyleSelector::applyProperty):
36725 2009-09-16  Beth Dakin  <bdakin@apple.com>
36727         Reviewed by Darin Adler.
36729         Fix for <rdar://problem/7083741> Implement a CSS extension to 
36730         adjust sub-pixel anti-aliasing for text
36731         -and corresponding-
36732         https://bugs.webkit.org/show_bug.cgi?id=29291
36734         Added tests:
36735         * fast/css/font-smoothing.html: Added.
36736         * fast/css/parsing-webkit-font-smoothing.html: Added.
36738         This patch adds a new CSS property called -webkit-font-smoothing 
36739         that accepts the following as valid input: auto | none | 
36740         antialiased | subpixel-antialiased
36742         Return appropriate computed style for -webkit-font-smoothing
36743         * css/CSSComputedStyleDeclaration.cpp:
36744         (WebCore::):
36745         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
36747         Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
36748         input.
36749         * css/CSSParser.cpp:
36750         (WebCore::CSSParser::parseValue):
36752         Add mappings for FontSmoothing to the right CSS values.
36753         * css/CSSPrimitiveValueMappings.h:
36754         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
36755         (WebCore::CSSPrimitiveValue::operator FontSmoothing):
36757         Add -webkit-font-smoothing
36758         * css/CSSPropertyNames.in:
36760         Set fontSmoothing on the FontDescription.
36761         * css/CSSStyleSelector.cpp:
36762         (WebCore::CSSStyleSelector::applyProperty):
36764         Add antialiased and subpixel-antialiased as possible new CSS 
36765         values.
36766         * css/CSSValueKeywords.in:
36767         Store the font smoothing CSS value in the FontDescription.
36768         * platform/graphics/FontDescription.h:
36769         (WebCore::FontDescription::FontDescription):
36770         (WebCore::FontDescription::fontSmoothing):
36771         (WebCore::FontDescription::setFontSmoothing):
36772         (WebCore::FontDescription::operator==):
36774         Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
36775         based on the CSS fontSmoothing() value.
36776         * platform/graphics/mac/FontMac.mm:
36777         (WebCore::Font::drawGlyphs):
36778         * platform/graphics/win/FontCGWin.cpp:
36779         (WebCore::Font::drawGlyphs):
36781         New function fontSmoothing()
36782         * rendering/style/RenderStyle.h:
36783         (WebCore::InheritedFlags::fontSmoothing):
36785         New enum FontSmoothing.
36786         * rendering/style/RenderStyleConstants.h:
36787         (WebCore::):
36789 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
36791         Reviewed by Timothy Hatcher.
36793         Remove style property if empty string is entered.
36795         https://bugs.webkit.org/show_bug.cgi?id=29163
36797         * inspector/front-end/ElementsTreeOutline.js:
36798         (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception
36799         * inspector/front-end/InjectedScript.js:
36800         (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal
36801         * inspector/front-end/StylesSidebarPane.js:
36802         (WebInspector.StylePropertyTreeElement.prototype.):
36803         (WebInspector.StylePropertyTreeElement.prototype):
36805 2009-09-16  Yury Semikhatsky  <yurys@chromium.org>
36807         Reviewed by Timothy Hatcher.
36809         Always reset m_implicitShorthand to false after parsing
36810         background-repeat style property otherwise properties
36811         following after it may be erroneously marked as implicit.
36813         https://bugs.webkit.org/show_bug.cgi?id=28972
36814         https://bugs.webkit.org/show_bug.cgi?id=28973
36816         Test: fast/backgrounds/repeat/margin-shorthand.html
36818         * css/CSSParser.cpp:
36819         (WebCore::CSSParser::parseValue):
36821 2009-09-16  Carol Szabo  <carol.szabo@nokia.com>
36823         Reviewed by Alexey Proskuryakov.
36825         Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and
36826         XMLHttpRequest::getResponseHeader in the
36827         HEADERS_RECEIVED readyState.
36828         https://bugs.webkit.org/show_bug.cgi?id=29121
36830         Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html
36831                http/tests/xmlhttprequest/getResponseHeader.html
36833         * xml/XMLHttpRequest.cpp:
36834         (WebCore::XMLHttpRequest::getAllResponseHeaders):
36835         (WebCore::XMLHttpRequest::getResponseHeader):
36836         Changed the minimum valid state from LOADING to HEADERS_RECEIVED.
36838 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
36840         Reviewed by Dimitri Glazkov.
36842         [V8] Fix style violation in V8AbstractEventListener.
36843         https://bugs.webkit.org/show_bug.cgi?id=29303
36845         * bindings/v8/V8AbstractEventListener.h:
36846         (WebCore::V8AbstractEventListener::operator==):
36848 2009-09-16  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
36850         Reviewed by Timothy Hatcher.
36852         Add Watch Expression support to inspector
36853         https://bugs.webkit.org/show_bug.cgi?id=27514
36855         Manual test added.
36857         * English.lproj/localizedStrings.js:
36858         * WebCore.gypi:
36859         * WebCore.vcproj/WebCore.vcproj:
36860         * inspector/front-end/ConsoleView.js:
36861         (WebInspector.ConsoleView.prototype.completions):
36862         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
36863         (WebInspector.ConsoleView.prototype._enterKeyPressed):
36864         * inspector/front-end/ObjectPropertiesSection.js:
36865         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
36866         (WebInspector.ObjectPropertiesSection.prototype.update):
36867         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
36868         (WebInspector.ObjectPropertiesSection.CompareProperties):
36869         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
36870         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
36871         (WebInspector.ObjectPropertyTreeElement.prototype.update):
36872         * inspector/front-end/ScriptsPanel.js:
36873         (WebInspector.ScriptsPanel):
36874         (WebInspector.ScriptsPanel.prototype.reset):
36875         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
36876         * inspector/front-end/WatchExpressionsSidebarPane.js: Added.
36877         (WebInspector.WatchExpressionsSidebarPane):
36878         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
36879         (WebInspector.WatchExpressionsSection):
36880         (WebInspector.WatchExpressionsSection.prototype.update):
36881         (WebInspector.WatchExpressionsSection.prototype.addExpression):
36882         (WebInspector.WatchExpressionsSection.prototype.updateExpression):
36883         (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
36884         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
36885         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
36886         (WebInspector.WatchExpressionsSection.CompareProperties):
36887         (WebInspector.WatchExpressionTreeElement):
36888         (WebInspector.WatchExpressionTreeElement.prototype.update):
36889         (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked):
36890         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
36891         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
36892         (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
36893         * inspector/front-end/WebKit.qrc:
36894         * inspector/front-end/inspector.css:
36895         * inspector/front-end/inspector.html:
36896         * manual-tests/inspector/debugger-watch-expressions.html: Added.
36898 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
36900         Add ENABLE(INSPECTOR)
36901         https://bugs.webkit.org/show_bug.cgi?id=29260
36903         Reviewed by David Kilzer.
36905         No new tests. (No change in default behavior.)
36907         * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT.
36908         * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp.
36909         * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp.
36910         * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable.
36911         (WebCore::JSDOMWindowBase::supportsProfiling):
36912         * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR).
36913         * bindings/js/JSInspectorBackendCustom.cpp: Ditto.
36914         * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto.
36915         * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable.
36916         * bindings/js/ScriptObject.h: Ditto.
36917         * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR).
36918         * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable.
36919         (WebCore::Document::recalcStyle):
36920         (WebCore::Document::addMessage):
36921         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
36922         (WebCore::Document::scriptImported):
36923         * dom/Document.h: Ditto.
36924         * dom/Node.cpp: Ditto.
36925         (WebCore::Node::dispatchGenericEvent):
36926         * dom/ScriptExecutionContext.h: Ditto.
36927         (WebCore::):
36928         * html/HTMLDocument.cpp: Ditto.
36929         (WebCore::HTMLDocument::createTokenizer):
36930         * html/HTMLTokenizer.cpp: Ditto.
36931         (WebCore::HTMLTokenizer::write):
36932         * inspector/ConsoleMessage.cpp: Ditto.
36933         (WebCore::ConsoleMessage::ConsoleMessage):
36934         (WebCore::ConsoleMessage::isEqual):
36935         * inspector/ConsoleMessage.h: Ditto.
36936         * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR).
36937         * inspector/InspectorBackend.cpp: Ditto.
36938         * inspector/InspectorController.cpp: Ditto.
36939         * inspector/InspectorDOMAgent.cpp: Ditto.
36940         * inspector/InspectorDOMStorageResource.cpp: Ditto.
36941         * inspector/InspectorDatabaseResource.cpp: Ditto.
36942         * inspector/InspectorFrontend.cpp: Ditto.
36943         * inspector/InspectorResource.cpp: Ditto.
36944         * inspector/InspectorTimelineAgent.cpp: Ditto.
36945         * inspector/TimelineItem.cpp: Ditto.
36946         * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable.
36947         (WebCore::FrameLoader::detachFromParent):
36948         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
36949         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
36950         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
36951         (WebCore::FrameLoader::dispatchDidCommitLoad):
36952         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
36953         (WebCore::FrameLoader::dispatchWillSendRequest):
36954         (WebCore::FrameLoader::dispatchDidReceiveResponse):
36955         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
36956         (WebCore::FrameLoader::dispatchDidFinishLoading):
36957         * page/Chrome.cpp: Ditto.
36958         (WebCore::Chrome::mouseDidMoveOverElement):
36959         * page/Console.cpp: Ditto.
36960         (WebCore::Console::addMessage):
36961         (WebCore::Console::count):
36962         (WebCore::Console::profile):
36963         (WebCore::Console::profileEnd):
36964         (WebCore::Console::time):
36965         (WebCore::Console::timeEnd):
36966         (WebCore::Console::group):
36967         (WebCore::Console::groupEnd):
36968         * page/ContextMenuController.cpp: Ditto.
36969         (WebCore::ContextMenuController::handleContextMenuEvent):
36970         (WebCore::ContextMenuController::contextMenuItemSelected):
36971         * page/DOMWindow.cpp: Ditto.
36972         (WebCore::DOMWindow::sessionStorage):
36973         (WebCore::DOMWindow::localStorage):
36974         * page/EventHandler.cpp: Ditto.
36975         (WebCore::EventHandler::handleMousePressEvent):
36976         * page/FrameView.cpp: Ditto.
36977         (WebCore::FrameView::layout):
36978         (WebCore::FrameView::paintContents):
36979         * page/FrameView.h: Ditto.
36980         * page/Page.cpp: Ditto.
36981         (WebCore::Page::Page):
36982         (WebCore::Page::~Page):
36983         * page/Page.h: Ditto.
36984         * platform/ContextMenu.cpp: Ditto.
36985         (WebCore::ContextMenu::checkOrEnableIfNeeded):
36986         * platform/ContextMenuItem.h: Ditto.
36987         (WebCore::):
36988         * storage/Database.cpp: Ditto.
36989         (WebCore::Database::openDatabase):
36990         * workers/WorkerContext.cpp: Ditto.
36991         (WebCore::WorkerContext::importScripts):
36992         * xml/XMLHttpRequest.cpp: Ditto.
36993         (WebCore::XMLHttpRequest::didFinishLoading):
36995 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
36997         Add ENABLE(CONTEXT_MENUS)
36998         https://bugs.webkit.org/show_bug.cgi?id=29225
37000         Reviewed by David Kilzer.
37002         No new tests. (No change in default behavior.)
37004         * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS.
37005         * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp.
37006         * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp.
37007         * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
37008         (WebCore::Node::defaultEventHandler):
37009         * loader/EmptyClients.h: Ditto.
37010         * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
37011         * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
37012         * page/EventHandler.h: Ditto.
37013         * page/Page.cpp: Ditto.
37014         (WebCore::Page::Page):
37015         * page/Page.h: Ditto.
37016         * page/mac/EventHandlerMac.mm: Ditto.
37017         * page/mac/WebCoreViewFactory.h: Ditto.
37018         * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
37019         * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable.
37020         * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS).
37021         * platform/mac/ContextMenuMac.mm: Ditto.
37022         * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable.
37023         * svg/graphics/SVGImage.cpp: Ditto.
37024         (WebCore::SVGImage::dataChanged):
37026 2009-09-16  Dave Hyatt  <hyatt@apple.com>
37028         Reviewed by Adam Roben.
37030         Clean up invalidation for repainting.  Hoist the dirty rect intersection test in ScrollViewMac up
37031         into ScrollView so that all platforms do it.
37032         
37033         Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of
37034         the rectangle for repainting.
37036         * page/FrameView.cpp:
37037         (WebCore::FrameView::repaintContentRectangle):
37038         * platform/ScrollView.cpp:
37039         (WebCore::ScrollView::repaintContentRectangle):
37040         * platform/mac/ScrollViewMac.mm:
37041         (WebCore::ScrollView::platformRepaintContentRectangle):
37043 2009-09-16  Greg Bolsinga  <bolsinga@apple.com>
37045         Add ENABLE(DRAG_SUPPORT)
37046         https://bugs.webkit.org/show_bug.cgi?id=29233
37048         Reviewed by David Kilzer.
37050         No new tests. (No change in default behavior.)
37052         * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT.
37053         * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp.
37054         * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp.
37055         * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable.
37056         * loader/EmptyClients.h: Ditto.
37057         * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
37058         * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
37059         (WebCore::EventHandler::EventHandler):
37060         (WebCore::EventHandler::clear):
37061         (WebCore::EventHandler::handleMousePressEvent):
37062         (WebCore::EventHandler::handleMouseReleaseEvent):
37063         (WebCore::EventHandler::handleMouseMoveEvent):
37064         * page/EventHandler.h: Ditto.
37065         * page/Page.cpp: Ditto.
37066         (WebCore::Page::Page):
37067         * page/Page.h: Ditto.
37068         * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
37069         * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable.
37070         (WebCore::EventHandler::passSubframeEventToSubframe):
37071         * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
37072         * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
37073         * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable.
37074         * platform/mac/ClipboardMac.mm: Ditto.
37075         * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
37076         * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
37077         * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
37078         (WebCore::RenderLayer::autoscroll):
37079         * rendering/RenderObject.cpp: Ditto.
37080         * rendering/RenderObject.h: Ditto.
37081         * svg/graphics/SVGImage.cpp: Ditto.
37082         (WebCore::SVGImage::dataChanged):
37084 2009-09-16  Kevin Ollivier  <kevino@theolliviers.com>
37086         wxMSW build fix after adding support for high resolution times in Win.
37088         * page/Settings.cpp:
37089         * page/Settings.h:
37091 2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
37093         Reviewed by Dimitri Glazkov.
37095         [V8] Added operator==() to event listeners. This fixes V8 bindings
37096         build broken in http://trac.webkit.org/changeset/48402.
37097         https://bugs.webkit.org/show_bug.cgi?id=29298
37099         * bindings/v8/V8AbstractEventListener.cpp:
37100         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now
37101         uses JSEventListenerType.
37102         * bindings/v8/V8AbstractEventListener.h:
37103         (WebCore::V8AbstractEventListener::operator==): Only compares
37104         pointers since we create at most one wrapper for a JS object.
37106 2009-09-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
37108         Reviewed by Xan Lopez.
37110         [GTK] Crash when visiting http://flipper.googlelabs.com/
37111         https://bugs.webkit.org/show_bug.cgi?id=29293
37113         Check type for being null or empty before looking it up in the
37114         hash of supported types.
37116         Tested by http/tests/loading/redirect-with-no-location-crash.html
37118         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
37119         (WebCore::MediaPlayerPrivate::supportsType):
37121 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
37123         Reviewed by Sam Weinig.
37124         
37125         Removed the notion of "disconnected nodes with event listeners" because
37126         it was vestigial. The reference cycle it tried to solve was solved another
37127         way in https://bugs.webkit.org/show_bug.cgi?id=21260.
37129         * dom/Document.cpp:
37130         (WebCore::Document::removeAllEventListeners):
37131         * dom/Document.h:
37132         * dom/Node.cpp:
37133         (WebCore::Node::~Node):
37134         (WebCore::Node::insertedIntoDocument):
37135         (WebCore::Node::removedFromDocument):
37136         (WebCore::Node::willMoveToNewOwnerDocument):
37137         (WebCore::Node::didMoveToNewOwnerDocument):
37138         (WebCore::Node::addEventListener):
37139         (WebCore::Node::removeEventListener):
37140         (WebCore::Node::clearAttributeEventListener):
37142 2009-09-15  Chris Fleizach  <cfleizach@apple.com>
37144         Reviewed by Beth Dakin.
37146         WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles
37147         https://bugs.webkit.org/show_bug.cgi?id=28841
37149         Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 
37150         Consolidate increment/decrement/changeValue methods. 
37152         Test: accessibility/aria-slider-value-change.html
37154         * accessibility/AccessibilityObject.cpp:
37155         * accessibility/AccessibilityRenderObject.cpp:
37156         (WebCore::AccessibilityRenderObject::increment):
37157         (WebCore::AccessibilityRenderObject::decrement):
37158         (WebCore::AccessibilityRenderObject::changeValueByPercent):
37159         (WebCore::AccessibilityRenderObject::setValue):
37160         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
37161         * accessibility/AccessibilityRenderObject.h:
37162         * accessibility/AccessibilitySlider.cpp:
37163         * accessibility/AccessibilitySlider.h:
37164         * dom/Element.cpp:
37165         (WebCore::Element::updateAfterAttributeChanged):
37167 2009-09-15  Geoffrey Garen  <ggaren@apple.com>
37169         Reviewed by Sam Weinig.
37171         Removed the jsEventListeners set from JSDOMGlobalObject, to simplify
37172         creation and destruction of JSDOMGlobalObject and event listeners.
37173         
37174         Added an abstract operator==() to EventListener, to replace the
37175         jsEventListeners set's role in determining if two event listeners are
37176         equal from the DOM's perspective.
37177         
37178         Added a type field to EventListener, and casting operations, to support
37179         operator==() and other abstract operations.
37181         * WebCore.xcodeproj/project.pbxproj:
37182         * bindings/js/JSAbstractWorkerCustom.cpp:
37183         (WebCore::JSAbstractWorker::addEventListener):
37184         (WebCore::JSAbstractWorker::removeEventListener):
37185         * bindings/js/JSDOMApplicationCacheCustom.cpp:
37186         (WebCore::JSDOMApplicationCache::addEventListener):
37187         (WebCore::JSDOMApplicationCache::removeEventListener):
37188         * bindings/js/JSDOMGlobalObject.cpp:
37189         * bindings/js/JSDOMGlobalObject.h:
37190         * bindings/js/JSDOMWindowCustom.cpp:
37191         (WebCore::JSDOMWindow::addEventListener):
37192         (WebCore::JSDOMWindow::removeEventListener):
37193         * bindings/js/JSDesktopNotificationsCustom.cpp:
37194         (WebCore::JSNotification::addEventListener):
37195         (WebCore::):
37196         * bindings/js/JSEventListener.cpp:
37197         (WebCore::JSEventListener::JSEventListener):
37198         (WebCore::JSEventListener::~JSEventListener):
37199         (WebCore::JSEventListener::markJSFunction):
37200         (WebCore::JSEventListener::handleEvent):
37201         (WebCore::JSEventListener::reportError):
37202         (WebCore::JSEventListener::operator==):
37203         * bindings/js/JSEventListener.h:
37204         (WebCore::JSEventListener::cast):
37205         * bindings/js/JSEventSourceCustom.cpp:
37206         (WebCore::JSEventSource::addEventListener):
37207         (WebCore::JSEventSource::removeEventListener):
37208         * bindings/js/JSMessagePortCustom.cpp:
37209         (WebCore::JSMessagePort::addEventListener):
37210         (WebCore::JSMessagePort::removeEventListener):
37211         * bindings/js/JSNodeCustom.cpp:
37212         (WebCore::JSNode::addEventListener):
37213         (WebCore::JSNode::removeEventListener):
37214         * bindings/js/JSSVGElementInstanceCustom.cpp:
37215         (WebCore::JSSVGElementInstance::addEventListener):
37216         (WebCore::JSSVGElementInstance::removeEventListener):
37217         * bindings/js/JSWorkerContextCustom.cpp:
37218         (WebCore::JSWorkerContext::addEventListener):
37219         (WebCore::JSWorkerContext::removeEventListener):
37220         * bindings/js/JSXMLHttpRequestCustom.cpp:
37221         (WebCore::JSXMLHttpRequest::addEventListener):
37222         (WebCore::JSXMLHttpRequest::removeEventListener):
37223         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
37224         (WebCore::JSXMLHttpRequestUpload::addEventListener):
37225         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
37226         * bindings/objc/ObjCEventListener.h:
37227         (WebCore::ObjCEventListener::cast):
37228         * bindings/objc/ObjCEventListener.mm:
37229         (WebCore::ObjCEventListener::ObjCEventListener):
37230         (WebCore::ObjCEventListener::operator==):
37231         * dom/EventListener.h:
37232         (WebCore::EventListener::):
37233         (WebCore::EventListener::type):
37234         (WebCore::EventListener::EventListener):
37235         * dom/MessagePort.cpp:
37236         (WebCore::MessagePort::addEventListener):
37237         (WebCore::MessagePort::removeEventListener):
37238         * dom/Node.cpp:
37239         (WebCore::Node::removeEventListener):
37240         * inspector/InspectorDOMAgent.cpp:
37241         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
37242         (WebCore::InspectorDOMAgent::mainFrameDocument):
37243         (WebCore::InspectorDOMAgent::operator==):
37244         * inspector/InspectorDOMAgent.h:
37245         (WebCore::InspectorDOMAgent::cast):
37246         * loader/ImageDocument.cpp:
37247         (WebCore::ImageEventListener::cast):
37248         (WebCore::ImageEventListener::ImageEventListener):
37249         (WebCore::ImageEventListener::operator==):
37250         * loader/appcache/DOMApplicationCache.cpp:
37251         (WebCore::DOMApplicationCache::addEventListener):
37252         (WebCore::DOMApplicationCache::removeEventListener):
37253         * notifications/Notification.cpp:
37254         (WebCore::Notification::removeEventListener):
37255         * page/DOMWindow.cpp:
37256         (WebCore::DOMWindow::removeEventListener):
37257         * page/EventSource.cpp:
37258         (WebCore::EventSource::addEventListener):
37259         (WebCore::EventSource::removeEventListener):
37260         * svg/animation/SVGSMILElement.cpp:
37261         (WebCore::ConditionEventListener::cast):
37262         (WebCore::ConditionEventListener::ConditionEventListener):
37263         (WebCore::ConditionEventListener::operator==):
37264         (WebCore::ConditionEventListener::handleEvent):
37265         * workers/AbstractWorker.cpp:
37266         (WebCore::AbstractWorker::addEventListener):
37267         (WebCore::AbstractWorker::removeEventListener):
37268         * workers/WorkerContext.cpp:
37269         (WebCore::WorkerContext::addEventListener):
37270         (WebCore::WorkerContext::removeEventListener):
37271         * xml/XMLHttpRequest.cpp:
37272         (WebCore::XMLHttpRequest::addEventListener):
37273         (WebCore::XMLHttpRequest::removeEventListener):
37274         * xml/XMLHttpRequestUpload.cpp:
37275         (WebCore::XMLHttpRequestUpload::addEventListener):
37276         (WebCore::XMLHttpRequestUpload::removeEventListener):
37278 2009-09-15  Alex Milowski  <alex@milowski.com>
37280         Reviewed by Tor Arne Vestbø.
37282         Added ENABLE_MATHML to feature defines
37284         * Configurations/FeatureDefines.xcconfig:
37286 2009-09-14  Andrew Richards  <randrew@gmail.com>
37288         Reviewed by Sam Weinig.
37290         Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling.
37291         https://bugs.webkit.org/show_bug.cgi?id=29245
37293         Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport.
37295         * dom/Document.cpp:
37296         (WebCore::Document::elementFromPoint):
37297         (WebCore::Document::caretRangeFromPoint):
37299 2009-09-15  Jungshik Shin  <jshin@chromium.org>
37301         Reviewed by Eric Seidel
37303         http://bugs.webkit.org/show_bug.cgi?id=26660
37305         Chromium Windows: When rotated, the baseline for a span of complex
37306         script is completely misaligned with that of the adjacent 
37307         simple script text. It's fixed by not applying the baseline offset for
37308         the Skia code path.
37310         Test: transforms/2d/hindi-rotated.html
37312         * platform/graphics/chromium/UniscribeHelper.cpp:
37313         (WebCore::UniscribeHelper::draw):
37315 2009-09-15  Anders Carlsson  <andersca@apple.com>
37317         Reviewed by Adam Roben.
37319         Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in
37320         the WM_CREATE handler. This way we don't have to first create an zero size window and then size it.
37321         
37322         * platform/win/PopupMenuWin.cpp:
37323         (WebCore::PopupMenu::show):
37324         (WebCore::PopupMenu::PopupMenuWndProc):
37326 2009-09-15  Drew Wilson  <atwilson@google.com>
37328         Reviewed by Darin Adler.
37330         MessageEvent should not be cancelable by default
37331         https://bugs.webkit.org/show_bug.cgi?id=27846
37333         * dom/MessageEvent.cpp:
37334         (WebCore::MessageEvent::MessageEvent):
37335         Changed constructor to set cancelable=false by default, per the HTML5 spec.
37337 2009-09-15  Charles Wei  <charles.wei@torchmobile.com.cn>
37339         Reviewed by George Staikos.
37341         Fix SVG path parsing error if a command starts with dot '.'
37342         https://bugs.webkit.org/show_bug.cgi?id=29123
37344         * svg/SVGParserUtilities.cpp:
37345         (WebCore::SVGPathParser::parseSVG):
37347 2009-09-15  Alexander Pavlov  <apavlov@chromium.org>
37349         Reviewed by Timothy Hatcher.
37351         Implement conditional breakpoints in the Web Inspector frontend.
37352         https://bugs.webkit.org/show_bug.cgi?id=28908
37354         * English.lproj/localizedStrings.js:
37355         * WebCore.gypi:
37356         * WebCore.vcproj/WebCore.vcproj:
37357         * inspector/front-end/Breakpoint.js:
37358         (WebInspector.Breakpoint.prototype.set condition):
37359         * inspector/front-end/Popup.js: Added.
37360         (WebInspector.Popup):
37361         (WebInspector.Popup.prototype.show):
37362         (WebInspector.Popup.prototype.hide):
37363         (WebInspector.Popup.prototype.get visible):
37364         (WebInspector.Popup.prototype.set element):
37365         (WebInspector.Popup.prototype.get element):
37366         (WebInspector.Popup.prototype.positionElement):
37367         (WebInspector.Popup.prototype.set anchor):
37368         (WebInspector.Popup.prototype.get anchor):
37369         (WebInspector.Popup.prototype.set autoHide):
37370         (WebInspector.Popup.prototype._checkNotVisible):
37371         (WebInspector.Popup.prototype._keyEventHandler):
37372         (WebInspector.Popup.prototype._mouseDownEventHandler):
37373         * inspector/front-end/SourceFrame.js:
37374         (WebInspector.SourceFrame.prototype.revealLine):
37375         (WebInspector.SourceFrame.prototype._loaded):
37376         (WebInspector.SourceFrame.prototype._documentContextMenu):
37377         (WebInspector.SourceFrame.prototype._documentMouseDown):
37378         (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
37379         (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
37380         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
37381         (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
37382         (WebInspector.SourceFrame.prototype._createPopupElement):
37383         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
37384         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
37385         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
37386         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
37387         * inspector/front-end/WebKit.qrc:
37388         * inspector/front-end/inspector.html:
37389         * inspector/front-end/inspector.js:
37390         (WebInspector.set currentFocusElement):
37391         (WebInspector.set currentPanel):
37392         (WebInspector.loaded):
37393         (WebInspector.contextMenu):
37394         (WebInspector.elementDragStart):
37395         (WebInspector.updateResource):
37396         (WebInspector.drawLoadingPieChart):
37397         (WebInspector.linkifyURLAsNode):
37398         (WebInspector.startEditing.getContent):
37399         (WebInspector.startEditing.editingCancelled):
37400         (WebInspector.startEditing.editingCommitted):
37401         * inspector/front-end/utilities.js:
37402         (Element.prototype.positionAt):
37403         (Element.prototype.offsetRelativeToWindow):
37405 2009-09-14  Brady Eidson  <beidson@apple.com>
37407         Reviewed by Darin Adler.
37409         Page cache should support pages with unload handlers as an experiment.
37410         <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021
37412         For the experiment, only allow pages with unload handlers into the Page Cache on
37413         Mac and Windows.
37415         * loader/FrameLoader.cpp:
37416         (WebCore::FrameLoader::canCachePageContainingThisFrame):
37417         (WebCore::FrameLoader::logCanCacheFrameDecision):
37419 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
37421         Fix the change in r48376 to do a null-check to fix a crashing test.
37423         * dom/SelectElement.cpp:
37424         (WebCore::SelectElement::menuListDefaultEventHandler):
37426 2009-09-14  Simon Fraser  <simon.fraser@apple.com>
37428         Reviewed by Dan Bernstein.
37430         <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() 436
37431         
37432         Avoid a crash when a mouse event handler on a <select> changes the select from a popup
37433         to a list (by setting the 'size' property) inside the event handler.
37435         Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html
37437         * dom/SelectElement.cpp:
37438         (WebCore::SelectElement::menuListDefaultEventHandler):
37440 2009-09-14  Anders Carlsson  <andersca@apple.com>
37442         Reviewed by Jon Honeycutt.
37444         More PopupMenu cleanup.
37445         
37446         * platform/PopupMenu.h:
37447         * platform/win/PopupMenuWin.cpp:
37448         (WebCore::PopupMenu::show):
37449         Call registerClass.
37450         
37451         (WebCore::PopupMenu::registerClass):
37452         Make this a private static member function so it can refer to PopupMenuWndProc.
37453         
37454         (WebCore::PopupMenu::PopupMenuWndProc):
37455         Try to get the PopupMenu and call its wndProc member function.
37456         
37457         (WebCore::PopupMenu::wndProc):
37458         Make this a member function.
37460 2009-09-14  Brady Eidson  <beidson@apple.com>
37462         Not reviewed, maybe should've been:
37464         Cleaning up more Windows-specific fallout from the fix for:
37465         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
37467         * platform/network/cf/ResourceHandleCFNet.cpp:
37468         (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials,
37469           as related checks all look at nullity when they really mean to be looking for emptiness. 
37471 2009-09-14  Anders Carlsson  <andersca@apple.com>
37473         Speculative Qt build fix.
37474         
37475         * platform/qt/QWebPopup.cpp:
37476         (WebCore::QWebPopup::hidePopup):
37478 2009-09-14  Dirk Pranke  <dpranke@chromium.org>
37480         Reviewed by Darin Fisher.
37482         Fix RenderThemeChromiumWin::determineClassicState so that classic_state
37483         matches the state values (and you get a single classic_state value
37484         for a given {part,state} value. This change will be tested by a 
37485         chromium patch that will land after this.
37487         This will be tested by code landing downstream on Chromium.org; the
37488         code does not execute on webkit.org.
37490         * rendering/RenderThemeChromiumWin.cpp:
37491         (WebCore::RenderThemeChromiumWin::determineClassicState):
37492         (WebCore::RenderThemeChromiumWin::getThemeData):
37494 2009-09-14  Anders Carlsson  <andersca@apple.com>
37496         Reviewed by Adam Roben.
37498         https://bugs.webkit.org/show_bug.cgi?id=29138
37499         Simplify popup menu handling.
37501         * platform/PopupMenuClient.h:
37502         Rename hidePopup to popupDidHide.
37503         
37504         * platform/chromium/PopupMenuChromium.cpp:
37505         (WebCore::PopupListBox::handleKeyEvent):        
37506         (WebCore::PopupListBox::abandon):
37507         (WebCore::PopupListBox::acceptIndex):
37508         Call popupDidHide instead of hidePopup.
37509         
37510         * platform/gtk/PopupMenuGtk.cpp:
37511         (WebCore::PopupMenu::menuUnmapped):
37512         Ditto.
37513         
37514         * platform/mac/PopupMenuMac.mm:
37515         (WebCore::PopupMenu::show):
37516         Ditto.
37517         
37518         * platform/win/PopupMenuWin.cpp:
37519         (WebCore::PopupMenu::hide):
37520         Call popupDidHide.
37521         
37522         (WebCore::PopupWndProc):
37523         Call PopupMenu::hide.
37524         
37525         * platform/wx/PopupMenuWx.cpp:
37526         (WebCore::PopupMenu::OnMenuItemSelected):
37527         Call popupDidHide.
37528         
37529         * rendering/RenderMenuList.cpp:
37530         (WebCore::RenderMenuList::hidePopup):
37531         (WebCore::RenderMenuList::popupDidHide):
37532         * rendering/RenderMenuList.h:
37533         Set the "popup is visible" flag in popupDidHide.
37534         
37535         * rendering/RenderTextControlSingleLine.cpp:
37536         (WebCore::RenderTextControlSingleLine::hidePopup):
37537         (WebCore::RenderTextControlSingleLine::popupDidHide):
37538         * rendering/RenderTextControlSingleLine.h:
37539         Ditto.
37541 2009-09-14  Anders Carlsson  <andersca@apple.com>
37543         Reviewed by David Hyatt.
37545         - Fix <rdar://problem/7182275>.
37547         Make sure that the newly created scrollbar's style is up to date.
37548         
37549         * platform/win/PopupMenuWin.cpp:
37550         (WebCore::PopupMenu::~PopupMenu):
37551         Call setParent so that the scrollbar's parts are torn down correctly.
37552         
37553         (WebCore::PopupMenu::show):
37554         Call styleChanged.
37556 2009-09-11  Jon Honeycutt  <jhoneycutt@apple.com>
37558         <rdar://problem/7197644> WebKit should broadcast an MSAA event when
37559         jumping to a named anchor
37561         https://bugs.webkit.org/show_bug.cgi?id=28899
37563         Reviewed by Adam Roben.
37565         * accessibility/AXObjectCache.h:
37566         (WebCore::AXObjectCache::):
37567         Added declaration for handleScrolledToAnchor(). Added a new entry to
37568         the enum of accessibility notifications.
37570         * accessibility/AccessibilityObject.cpp:
37571         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
37572         Code moved from AccessibilityRenderObject::internalLinkElement() and
37573         refactored slightly; walks the tree until it finds a Node (with a
37574         renderer) whose accessibility is not ignored.
37576         * accessibility/AccessibilityObject.h:
37577         Added a declaration for firstAccessibleObjectFromNode().
37579         * accessibility/AccessibilityRenderObject.cpp:
37580         (WebCore::AccessibilityRenderObject::internalLinkElement):
37581         Code moved to AccessibilityObject::firstAccessibleObjectFromNode().
37583         * accessibility/chromium/AXObjectCacheChromium.cpp:
37584         (WebCore::AXObjectCache::handleScrolledToAnchor):
37585         Stubbed.
37587         * accessibility/gtk/AXObjectCacheAtk.cpp:
37588         (WebCore::AXObjectCache::handleScrolledToAnchor):
37589         Stubbed.
37591         * accessibility/mac/AXObjectCacheMac.mm:
37592         (WebCore::AXObjectCache::postPlatformNotification):
37593         Add a default case that returns early for notifications that Mac
37594         doesn't handle.
37595         (WebCore::AXObjectCache::handleScrolledToAnchor):
37596         Stubbed.
37598         * accessibility/win/AXObjectCacheWin.cpp:
37599         (WebCore::AXObjectCache::handleScrolledToAnchor):
37600         Post an AXScrolledToAnchor notification for the first accessible from
37601         the anchor Node.
37602         (WebCore::AXObjectCache::postPlatformNotification):
37603         If the notification is AXFocusedUIElementChanged, fire an
37604         EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
37605         EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
37606         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
37607         Code moved to postPlatformNotification().
37609         * page/FrameView.cpp:
37610         (WebCore::FrameView::scrollToAnchor):
37611         Call AXObjectCache::handleScrolledToAnchor().
37613 2009-09-14  Anthony Ricaud  <rik@webkit.org>
37615         Reviewed by Timothy Hatcher.
37617         Cookies are not inspectable after reloading a page
37618         https://bugs.webkit.org/show_bug.cgi?id=29222
37620         Create the cookieTreeElement on initialization instead of when the view is shown.
37621         Reset the selected element of the sidebar on reset.
37623         * inspector/front-end/StoragePanel.js:
37624         (WebInspector.StoragePanel):
37625         (WebInspector.StoragePanel.prototype.show):
37626         (WebInspector.StoragePanel.prototype.reset):
37629 2009-09-14  Brady Eidson  <beidson@apple.com>
37631         Windows build fix.
37633         * platform/network/cf/ResourceHandleCFNet.cpp:
37634         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
37635         (WebCore::ResourceHandle::receivedCredential):
37636         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
37637         (WebCore::WebCoreSynchronousLoader::load):
37639 2009-09-14  Brady Eidson  <beidson@apple.com>
37641         Reviewed by Alexey Proskuryakov.
37643         Safari 4 cannot be used to update firmware on Linksys routers.
37644         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
37646         In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 
37647         implemented our own in WebCore.
37649         One feature we lost is that CFNetwork would automatically send previously authenticated credentials
37650         with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication.  
37652         Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for
37653         HTTP Basic Authentication.  So now WebCore's CredentialStorage will track URL paths for Basic credentials.
37655         We're not making this enhancement for Digest at this time, since we don't know of anything that broke
37656         due to the change in Digest behavior.
37658         Test: http/tests/loading/basic-credentials-sent-automatically.html
37659               http/tests/loading/basic-auth-resend-wrong-credentials.html
37661         * WebCore.base.exp:
37662         * WebCore.vcproj/WebCore.vcproj:
37663         * WebCore.xcodeproj/project.pbxproj:
37665         * platform/network/Credential.cpp:
37666         (WebCore::Credential::isEmpty):
37667         * platform/network/Credential.h:
37669         Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to:
37670         * platform/network/CredentialStorage.cpp: Added.
37671         (WebCore::protectionSpaceToCredentialMap):
37672         (WebCore::originToDefaultCredentialMap):
37673         (WebCore::originStringFromURL):
37674         (WebCore::CredentialStorage::set):
37675         (WebCore::CredentialStorage::get):
37676         (WebCore::CredentialStorage::getDefaultAuthenticationCredential):
37677         * platform/network/CredentialStorage.h: Added.
37679         Allow ProtectionSpace to be a hash key:
37680         * platform/network/ProtectionSpace.cpp:
37681         (WebCore::ProtectionSpace::ProtectionSpace):
37682         * platform/network/ProtectionSpace.h:
37683         (WebCore::ProtectionSpace::ProtectionSpace):
37684         (WebCore::ProtectionSpace::isHashTableDeletedValue):
37685         * platform/network/ProtectionSpaceHash.h: Added.
37686         (WebCore::ProtectionSpaceHash::hash):
37687         (WebCore::ProtectionSpaceHash::equal):
37689         Allow ResourceHandles to remember the initial credential they used:
37690         * platform/network/ResourceHandleInternal.h:
37692         Allow mutable ResourceRequests to update their platform object if HTTP header fields change:
37693         * platform/network/ResourceRequestBase.cpp:
37694         (WebCore::ResourceRequestBase::addHTTPHeaderField):
37696         Remove WebCoreCredentialStorage:
37697         * platform/network/cf/AuthenticationCF.cpp:
37698         * platform/network/cf/AuthenticationCF.h:
37699         * platform/network/mac/AuthenticationMac.h:
37700         * platform/network/mac/AuthenticationMac.mm:
37702         Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate:
37703         * platform/network/cf/ResourceHandleCFNet.cpp:
37704         (WebCore::ResourceHandle::start):
37705         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
37706           Credential if it does not match the initially used Credential.
37707         (WebCore::ResourceHandle::receivedCredential):
37708         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed
37709           Credential if it does not match the initially used Credential.
37710         (WebCore::WebCoreSynchronousLoader::load):
37712         Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate:
37713         * platform/network/mac/ResourceHandleMac.mm:
37714         (WebCore::ResourceHandle::start):
37715         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
37716           Credential if it does not match the initially used Credential.
37717         (WebCore::ResourceHandle::receivedCredential):
37718         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 
37719           ProtectionSpace key'ed Credential if it does not match the initially used Credential.
37720         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
37722         Add base64-ability to CString:
37723         * platform/text/CString.cpp:
37724         (WebCore::CStringBuffer::base64Encode):
37725         (WebCore::CString::base64Encode):
37726         * platform/text/CString.h:
37727         (WebCore::CStringBuffer::create):
37728         (WebCore::CStringBuffer::CStringBuffer):
37730 2009-09-12  Mark Rowe  <mrowe@apple.com>
37732         Reviewed by Dan Bernstein.
37734         Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin.
37736         The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in
37737         being initialized.  This can run cause arbitrary JavaScript to run and may result in the RenderPartObject
37738         being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>.
37740         No test is possible until <rdar://problem/7090444> is fixed.
37742         * rendering/RenderPartObject.cpp:
37743         (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization.
37745 2009-09-12  Mark Rowe  <mrowe@apple.com>
37747         Reviewed by Dan Bernstein.
37749         Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the
37750         duration of a function.  Deploy it within RenderWidget.
37752         * rendering/RenderWidget.cpp:
37753         (WebCore::RenderWidget::setWidgetGeometry):
37754         (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly
37755         ref'ing and deref'ing the node.
37756         * rendering/RenderWidget.h:
37757         * rendering/RenderWidgetProtector.h:
37758         (WebCore::RenderWidgetProtector::RenderWidgetProtector):
37759         (WebCore::RenderWidgetProtector::~RenderWidgetProtector):
37761 2009-09-14  Cameron McCormack  <cam@mcc.id.au>
37763         Reviewed by Eric Seidel.
37765         CodeGenerator.pm needs some cleaning up
37766         https://bugs.webkit.org/show_bug.cgi?id=29238
37768         * bindings/scripts/CodeGenerator.pm:
37769         (FindParentsRecursively): Removed; its functionality is now handled in
37770         AddMethodsConstantsAndAttributesFromParentClasses.
37771         (ForAllParents): New function that visits an interface's ancestors and
37772         invokes a callback for each one.
37773         (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using
37774         ForAllParents.
37775         (GetMethodsAndAttributesFromParentClasses): Ditto.
37776         (IDLFileForInterface): Factored out previous calls to ScanDirectory into
37777         this new function, which returns the filename containing a given IDL
37778         interface definition.
37779         (ParseInterface): Simplified by using IDLFileForInterface.
37780         (ScanDirectory): Removed in lieu of IDLFileForInterface.
37781         * bindings/scripts/CodeGeneratorV8.pm: Drop call to
37782         FindParentsRecursively and get the list of parents from the
37783         AddMethodsConstantsAndAttributesFromParentClasses call instead.
37785 2009-09-14  Yael Aharon  <yael.aharon@nokia.com>
37787         Reviewed by Tor Arne Vestbø.
37789         [Qt] Assert hit when dropping a file in QtLauncher
37790         https://bugs.webkit.org/show_bug.cgi?id=29242
37792         Qt's implementation of DropData::asURL does not return a URL encoded string
37793         as expected.
37795         * platform/qt/DragDataQt.cpp:
37796         (WebCore::DragData::asURL):
37798 2009-09-13  Kevin Ollivier  <kevino@theolliviers.com>
37800         wx build fix, file was missed during TLS.cpp removal.
37802         * page/wx/FrameWx.cpp: Added.
37803         (WebCore::Frame::dragImageForSelection):
37805 2009-09-13  Anthony Ricaud  <rik@webkit.org>
37807         Reviewed by Oliver Hunt.
37809         Web Inspector: Add "New Style Rule" to the localizedStrings
37810         https://bugs.webkit.org/show_bug.cgi?id=29237
37812         * English.lproj/localizedStrings.js:
37814 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
37816         Reviewed by Kevin Ollivier.
37818         [wx] Implement filesystem functions.
37820         https://bugs.webkit.org/show_bug.cgi?id=29196
37822         * platform/wx/FileSystemWx.cpp:
37823         (WebCore::fileExists):
37824         (WebCore::deleteFile):
37825         (WebCore::deleteEmptyDirectory):
37826         (WebCore::getFileSize):
37827         (WebCore::getFileModificationTime):
37828         (WebCore::makeAllDirectories):
37829         (WebCore::pathByAppendingComponent):
37830         (WebCore::homeDirectoryPath):
37831         (WebCore::directoryName):
37833 2009-09-12  Kevin Ollivier  <kevino@theolliviers.com>
37835         wx build fixes for wx 2.9.
37837         * platform/wx/ScrollbarThemeWx.cpp:
37838         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
37839         (wxGetGdkWindowForDC):
37841 2009-09-12  Oliver Hunt  <oliver@apple.com>
37843         Reviewed by Maciej Stachowiak.
37845         [ES5] Implement Object.keys
37846         https://bugs.webkit.org/show_bug.cgi?id=29170
37848         Switch from getPropertyNames to getOwnPropertyNames, and provide custom
37849         getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper
37850         in order to ensure correct semantics are maintained.
37852         Test: fast/js/Object-keys.html
37854         * bindings/js/JSDOMWindowCustom.cpp:
37855         (WebCore::JSDOMWindow::getOwnPropertyNames):
37856         * bindings/js/JSDOMWindowShell.cpp:
37857         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
37858         * bindings/js/JSDOMWindowShell.h:
37859         * bindings/js/JSHistoryCustom.cpp:
37860         (WebCore::JSHistory::getOwnPropertyNames):
37861         * bindings/js/JSLocationCustom.cpp:
37862         (WebCore::JSLocation::getOwnPropertyNames):
37863         * bindings/js/JSQuarantinedObjectWrapper.cpp:
37864         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
37865         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
37866         * bindings/js/JSQuarantinedObjectWrapper.h:
37867         * bindings/js/JSStorageCustom.cpp:
37868         (WebCore::JSStorage::getOwnPropertyNames):
37869         * bindings/scripts/CodeGeneratorJS.pm:
37870         * bridge/runtime_object.cpp:
37871         (JSC::RuntimeObjectImp::getPropertyNames):
37872         (JSC::RuntimeObjectImp::getOwnPropertyNames):
37873         * bridge/runtime_object.h:
37875 2009-09-12  Sam Weinig  <sam@webkit.org>
37877         Reviewed by Anders Carlsson.
37879         Fix for https://bugs.webkit.org/show_bug.cgi?id=29219
37880         Document.elementFromPoint() should take page scroll into consideration
37882         Test: fast/dom/elementFromPoint-relative-to-viewport.html
37884         * dom/Document.cpp:
37885         (WebCore::Document::elementFromPoint):
37886         (WebCore::Document::caretRangeFromPoint):
37888 2009-09-12  Sam Weinig  <sam@webkit.org>
37890         Reviewed by Maciej Stachowiak.
37892         Fix for https://bugs.webkit.org/show_bug.cgi?id=29217
37893         Document.caretRangeFromPoint should take the scroll offset into account before hit testing
37895         In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret
37896         the point passed to it as relative to the viewport, not the document.
37898         Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html
37900         * dom/Document.cpp:
37901         (WebCore::Document::caretRangeFromPoint):
37903 2009-09-11  Chris Marrin  <cmarrin@apple.com>
37905         Reviewed by Oliver Hunt.
37907         Added some manual tests to show WebGL in action
37908         https://bugs.webkit.org/show_bug.cgi?id=29215
37910         * manual-tests/webgl: Added.
37911         * manual-tests/webgl/Earth.html: Added.
37912         * manual-tests/webgl/ManyPlanetsDeep.html: Added.
37913         * manual-tests/webgl/SpinningBox.html: Added.
37914         * manual-tests/webgl/TeapotPerPixel.html: Added.
37915         * manual-tests/webgl/TeapotPerVertex.html: Added.
37916         * manual-tests/webgl/resources: Added.
37917         * manual-tests/webgl/resources/CanvasMatrix.js: Added.
37918         * manual-tests/webgl/resources/earthmap1k.jpg: Added.
37919         * manual-tests/webgl/resources/mars500x250.png: Added.
37920         * manual-tests/webgl/resources/teapot.obj: Added.
37921         * manual-tests/webgl/resources/utils3d.js: Added.
37923 2009-09-10  Chris Fleizach  <cfleizach@apple.com>
37925         Reviewed by Darin Adler.
37927         aria definition role spelled wrong "defintion"
37928         https://bugs.webkit.org/show_bug.cgi?id=28840
37930         Test: accessibility/aria-slider-value-change.html
37932         * accessibility/AccessibilityRenderObject.cpp:
37933         (WebCore::RoleEntry::):
37935 2009-09-11  Erik Arvidsson  <arv@chromium.org>
37937         Reviewed by Eric Seidel.
37939         Fixes an assert in Node::isFocusable which was causing crashes in certain cases.
37940         https://bugs.webkit.org/show_bug.cgi?id=29210
37942         * dom/Node.cpp:
37943         (WebCore::Node::isFocusable):
37945 2009-09-11  Chris Marrin  <cmarrin@apple.com>
37947         Reviewed by Oliver Hunt.
37949         Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray
37950         https://bugs.webkit.org/show_bug.cgi?id=29139
37951         
37952         I also added a data() call to each of the CanvasArray subclasses to give back a types pointer
37953         to the baseAddress().
37955         * Configurations/FeatureDefines.xcconfig:
37956         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
37957         (WebCore::toArray):
37958         (WebCore::):
37959         (WebCore::dataFunctionf):
37960         (WebCore::dataFunctioni):
37961         (WebCore::dataFunctionMatrix):
37962         (WebCore::JSCanvasRenderingContext3D::uniform1fv):
37963         (WebCore::JSCanvasRenderingContext3D::uniform1iv):
37964         (WebCore::JSCanvasRenderingContext3D::uniform2fv):
37965         (WebCore::JSCanvasRenderingContext3D::uniform2iv):
37966         (WebCore::JSCanvasRenderingContext3D::uniform3fv):
37967         (WebCore::JSCanvasRenderingContext3D::uniform3iv):
37968         (WebCore::JSCanvasRenderingContext3D::uniform4fv):
37969         (WebCore::JSCanvasRenderingContext3D::uniform4iv):
37970         (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv):
37971         (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv):
37972         (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv):
37973         (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv):
37974         (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv):
37975         (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv):
37976         (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv):
37977         * html/canvas/CanvasByteArray.h:
37978         (WebCore::CanvasByteArray::data):
37979         * html/canvas/CanvasFloatArray.h:
37980         (WebCore::CanvasFloatArray::data):
37981         * html/canvas/CanvasIntArray.h:
37982         (WebCore::CanvasIntArray::data):
37983         * html/canvas/CanvasRenderingContext3D.cpp:
37984         (WebCore::CanvasRenderingContext3D::uniform1fv):
37985         (WebCore::CanvasRenderingContext3D::uniform1iv):
37986         (WebCore::CanvasRenderingContext3D::uniform2fv):
37987         (WebCore::CanvasRenderingContext3D::uniform2iv):
37988         (WebCore::CanvasRenderingContext3D::uniform3fv):
37989         (WebCore::CanvasRenderingContext3D::uniform3iv):
37990         (WebCore::CanvasRenderingContext3D::uniform4fv):
37991         (WebCore::CanvasRenderingContext3D::uniform4iv):
37992         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
37993         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
37994         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
37995         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
37996         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
37997         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
37998         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
37999         * html/canvas/CanvasRenderingContext3D.h:
38000         * html/canvas/CanvasRenderingContext3D.idl:
38001         * html/canvas/CanvasShortArray.h:
38002         (WebCore::CanvasShortArray::data):
38003         * html/canvas/CanvasUnsignedByteArray.h:
38004         (WebCore::CanvasUnsignedByteArray::data):
38005         * html/canvas/CanvasUnsignedIntArray.h:
38006         (WebCore::CanvasUnsignedIntArray::data):
38007         * html/canvas/CanvasUnsignedShortArray.h:
38008         (WebCore::CanvasUnsignedShortArray::data):
38009         * platform/graphics/GraphicsContext3D.h:
38010         * platform/graphics/mac/GraphicsContext3DMac.cpp:
38011         (WebCore::GraphicsContext3D::uniform1fv):
38012         (WebCore::GraphicsContext3D::uniform2fv):
38013         (WebCore::GraphicsContext3D::uniform3fv):
38014         (WebCore::GraphicsContext3D::uniform4fv):
38015         (WebCore::GraphicsContext3D::uniform1iv):
38016         (WebCore::GraphicsContext3D::uniform2iv):
38017         (WebCore::GraphicsContext3D::uniform3iv):
38018         (WebCore::GraphicsContext3D::uniform4iv):
38019         (WebCore::GraphicsContext3D::uniformMatrix2fv):
38020         (WebCore::GraphicsContext3D::uniformMatrix3fv):
38021         (WebCore::GraphicsContext3D::uniformMatrix4fv):
38022         (WebCore::GraphicsContext3D::vertexAttrib1fv):
38023         (WebCore::GraphicsContext3D::vertexAttrib2fv):
38024         (WebCore::GraphicsContext3D::vertexAttrib3fv):
38025         (WebCore::GraphicsContext3D::vertexAttrib4fv):
38027 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
38029         Reviewed by Eric Seidel.
38031         Add ENABLE(WEB_SOCKETS) guards.
38032         https://bugs.webkit.org/show_bug.cgi?id=29174
38034         * bindings/v8/custom/V8WebSocketCustom.cpp:
38036 2009-09-11  Eric Seidel  <eric@webkit.org>
38038         No review, rolling out r48229.
38039         http://trac.webkit.org/changeset/48229
38041         * WebCore.base.exp:
38042         * dom/Clipboard.cpp:
38043         (WebCore::Clipboard::Clipboard):
38044         (WebCore::Clipboard::sourceOperation):
38045         * page/DragController.cpp:
38046         (WebCore::DragController::DragController):
38047         (WebCore::DragController::dragExited):
38048         (WebCore::DragController::performDrag):
38049         (WebCore::DragController::dragEnteredOrUpdated):
38050         (WebCore::DragController::tryDHTMLDrag):
38051         (WebCore::DragController::startDrag):
38052         * page/DragController.h:
38053         * page/EventHandler.cpp:
38054         (WebCore::EventHandler::updateDragAndDrop):
38055         (WebCore::EventHandler::dragSourceMovedTo):
38056         (WebCore::EventHandler::handleDrag):
38057         * page/EventHandler.h:
38059 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
38061         Fix the build.
38063         * html/ValidityState.cpp:
38064         (WebCore::ValidityState::typeMismatch):
38066 2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
38068         Reviewed by Antti Koivisto.
38070         https://bugs.webkit.org/show_bug.cgi?id=27456
38071         Added support for static validation of url in
38072         ValidityState, for url state inputs.
38073         From HTML5 specs:
38074         http://www.whatwg.org/specs/web-apps/current-work/#url-state
38076         Test: fast/forms/ValidityState-typeMismatch-url.html
38078         * html/ValidityState.cpp:
38079         (WebCore::ValidityState::typeMismatch):
38081 2009-09-11  Evan Stade  <estade@chromium.org>
38083         Reviewed by Darin Adler.
38085         Revert r47992: Expose functions to change the focus ring color for
38086         Linux Chromium.
38088         As Darin Fisher has pointed out, there is a better way to do this.
38090         * rendering/RenderThemeChromiumLinux.cpp:
38091         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
38092         * rendering/RenderThemeChromiumLinux.h:
38094 2009-09-11  Alexey Proskuryakov  <ap@webkit.org>
38096         Reviewed by Geoff Garen.
38098         https://bugs.webkit.org/show_bug.cgi?id=29207
38099         Add checks for using WebCore JS context on secondary threads
38101         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
38102         Set the new debug-only mainThreadOnly flag.
38104 2009-09-11  Brian Weinstein  <bweinstein@apple.com>
38106         Reviewed by Timothy Hatcher.
38108         The inspector should have scope bars.
38109         https://bugs.webkit.org/show_bug.cgi?id=14353
38110         
38111         Add scope bars to the console, so the user can choose which category
38112         of messages they want to see (All, Errors, Warnings, Logs), and they
38113         can choose from one or more of {Errors, Warnings, Logs}.
38115         * inspector/front-end/ConsoleView.js:
38116         (WebInspector.ConsoleView.createFilterElement):
38117         (WebInspector.ConsoleView):
38118         (WebInspector.ConsoleView.prototype._updateFilter):
38119         (WebInspector.ConsoleView.prototype.filter):
38120         (WebInspector.ConsoleView.prototype.attach):
38121         * inspector/front-end/inspector.css:
38122         * inspector/front-end/inspector.html:
38124 2009-09-11  Yusuke Sato  <yusukes@chromium.org>
38126         Reviewed by Darin Fisher.
38128         [Chromium] Complex text doesn't show up with text stroking
38129         https://bugs.webkit.org/show_bug.cgi?id=28707
38131         Added extra NULL checks for HDC. This is the second fix for issue 28707,
38132         and the fix is similar to http://trac.webkit.org/changeset/45482.
38134         * platform/graphics/chromium/FontChromiumWin.cpp:
38135         (WebCore::Font::drawComplexText):
38136         * platform/graphics/chromium/UniscribeHelper.cpp:
38137         (WebCore::UniscribeHelper::draw):
38139 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
38141         Reviewed by Eric Seidel.
38143         Make ElementTimeControl methods return void and not throw.
38144         https://bugs.webkit.org/show_bug.cgi?id=28831
38146         SVG 1.1 erratum:
38147         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface
38149         Test: svg/dom/smil-methods.svg
38151         * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument.
38152         * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus.
38153         * svg/SVGAnimationElement.cpp:
38154         (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument.
38155         (WebCore::SVGAnimationElement::beginElementAt): Ditto.
38156         (WebCore::SVGAnimationElement::endElement): Ditto.
38157         (WebCore::SVGAnimationElement::endElementAt): Ditto.
38158         * svg/SVGAnimationElement.h: Ditto.
38160 2009-09-11  Chris Marrin  <cmarrin@apple.com>
38162         Reviewed by Oliver Hunt.
38164         Added support for texImage2D which takes CanvasArray
38165         https://bugs.webkit.org/show_bug.cgi?id=29191
38167         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
38168         (WebCore::JSCanvasRenderingContext3D::texImage2D):
38169         * platform/graphics/mac/GraphicsContext3DMac.cpp:
38170         (WebCore::GraphicsContext3D::texImage2D):
38172 2009-09-11  Steve Falkenburg  <sfalken@apple.com>
38174         Reviewed by Darin Adler.
38176         Allow WebKit clients to opt out of high resolution timers on Windows.
38177         https://bugs.webkit.org/show_bug.cgi?id=29192
38179         * page/Settings.cpp:
38180         (WebCore::Settings::setShouldUseHighResolutionTimers): Added.
38181         * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers.
38182         (WebCore::Settings::shouldUseHighResolutionTimers): Added.
38183         * platform/win/SharedTimerWin.cpp:
38184         (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled.
38186 2009-09-11  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
38188         Reviewed by Adam Barth.
38190         [v8] Share persistent context handles between events        
38191         Change events to use a single ref-counted shared persistent handle
38192         to the context in which to run, rather than create a new
38193         persistent handle for each new event which puts pressure on the
38194         gc.
38195         
38196         https://bugs.webkit.org/show_bug.cgi?id=29077
38198         * bindings/v8/ScheduledAction.cpp:
38199         (WebCore::ScheduledAction::execute):
38200         * bindings/v8/SharedPersistent.h: Added.
38201         (WebCore::SharedPersistent::set):
38202         (WebCore::SharedPersistent::get):
38203         (WebCore::SharedPersistent::disposeHandle):
38204         (WebCore::SharedPersistent::create):
38205         (WebCore::SharedPersistent::SharedPersistent):
38206         * bindings/v8/V8AbstractEventListener.cpp:
38207         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
38208         (WebCore::V8AbstractEventListener::handleEvent):
38209         * bindings/v8/V8AbstractEventListener.h:
38210         * bindings/v8/V8IsolatedWorld.cpp:
38211         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
38212         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
38213         * bindings/v8/V8IsolatedWorld.h:
38214         (WebCore::V8IsolatedWorld::context):
38215         (WebCore::V8IsolatedWorld::shared_context):
38216         * bindings/v8/V8Proxy.cpp:
38217         (WebCore::V8Proxy::evaluateInNewContext):
38218         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
38219         (WebCore::V8Proxy::isContextInitialized):
38220         (WebCore::V8Proxy::updateDocumentWrapperCache):
38221         (WebCore::V8Proxy::clearDocumentWrapperCache):
38222         (WebCore::V8Proxy::disposeContextHandles):
38223         (WebCore::V8Proxy::clearForClose):
38224         (WebCore::V8Proxy::clearForNavigation):
38225         (WebCore::V8Proxy::setSecurityToken):
38226         (WebCore::V8Proxy::updateDocument):
38227         (WebCore::V8Proxy::initContextIfNeeded):
38228         (WebCore::V8Proxy::shared_context):
38229         (WebCore::V8Proxy::mainWorldContext):
38230         (WebCore::V8Proxy::setContextDebugId):
38231         * bindings/v8/V8Proxy.h:
38232         (WebCore::V8Proxy::V8Proxy):
38233         (WebCore::V8Proxy::context):
38234         (WebCore::V8Proxy::shared_context):
38236 2009-09-11  Anton Muhin  <antonm@chromium.org>
38238         Reviewed by David Levin.
38240         Create a real handle (one which would save an object from GC).
38241         https://bugs.webkit.org/show_bug.cgi?id=29150
38243         * bindings/v8/V8Binding.cpp:
38244         (WebCore::v8ExternalString):
38246 2009-09-11  Anton Muhin  <antonm@chromium.org>
38248         Reviewed by David Levin.
38250         Inline WebCore::v8String as it only invokes WebCore::v8ExternalString.
38251         https://bugs.webkit.org/show_bug.cgi?id=29152
38253         * bindings/v8/V8Binding.cpp:
38254         * bindings/v8/V8Binding.h:
38255         (WebCore::v8String):
38257 2009-09-11  Ariya Hidayat  <ariya.hidayat@nokia.com>
38259         Reviewed by Simon Hausmann.
38261         Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
38262         renaming.
38264         * ChangeLog-2009-06-16:
38266 2009-09-11  Thiago Macieira  <thiago.macieira@nokia.com>
38268         Reviewed by Simon Hausmann.
38270         Use LIBS_PRIVATE on Qt/Mac.
38272         On the Mac, it means "-framework ApplicationServices -framework Carbon
38273         -framework AppKit" are no longer part of the default LIBS in Qt
38274         applications. This required a lot of fixes where we used Mac-specific
38275         code in Qt.
38277         * WebCore.pro:
38279 2009-09-11  Cameron McCormack  <cam@mcc.id.au>
38281         Reviewed by Eric Seidel.
38283         Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm
38284         https://bugs.webkit.org/show_bug.cgi?id=29165
38286         * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and
38287         WK_lcfirst, and call the ones in CodeGenerator.pm instead.
38289 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
38291         Reviewed by Darin Adler.
38293         https://bugs.webkit.org/show_bug.cgi?id=29132
38294         Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp.
38296         Add RegularExpression class qualifier before Private.
38298         * platform/text/RegularExpression.cpp:
38300 2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
38302         Reviewed by Darin Adler.
38304         https://bugs.webkit.org/show_bug.cgi?id=29131
38305         Use a different variadic macro format for Symbian compiler.
38306         
38307         Use arg... instead of ellipsis in variadic macro.        
38309         * platform/StaticConstructors.h:
38311 2009-09-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38313         Reviewed by Simon Hausmann.
38315         https://bugs.webkit.org/show_bug.cgi?id=28806
38317         [Qt] Make the WebInspector available as a QWidget.
38319         * WebCore.pro:
38321 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
38323         Unreviewed fix for the Web Inspector with the Qt build.
38325         Re-generate the Qt resource file by running
38326         WebKitTools/Scripts/generate-qt-inspector-resource
38328         * inspector/front-end/WebKit.qrc:
38330 2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
38332         Fix the Qt build, remove stray semicolon from function definition.
38334         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
38335         (WebCore::MediaPlayerPrivate::buffered):
38337 2009-09-10  Adam Barth  <abarth@webkit.org>
38339         Reviewed by Sam Weinig.
38341         Detect mixed content
38342         https://bugs.webkit.org/show_bug.cgi?id=29003
38344         Detect some basic kinds of mixed content (HTTP content loaded into an
38345         HTTPS context).  This new detection logic isn't perfect, but it's a
38346         place to start.
38348         Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
38349                http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
38350                http/tests/security/mixedContent/data-url-script-in-iframe.html
38351                http/tests/security/mixedContent/insecure-css-in-iframe.html
38352                http/tests/security/mixedContent/insecure-css-in-main-frame.html
38353                http/tests/security/mixedContent/insecure-iframe-in-iframe.html
38354                http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
38355                http/tests/security/mixedContent/insecure-image-in-iframe.html
38356                http/tests/security/mixedContent/insecure-image-in-main-frame.html
38357                http/tests/security/mixedContent/insecure-script-in-iframe.html
38358                http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
38359                http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
38360                http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
38361                http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
38363         * loader/DocLoader.cpp:
38364         (WebCore::DocLoader::canRequest):
38365         (WebCore::DocLoader::requestResource):
38366         (WebCore::DocLoader::checkCacheObjectStatus):
38367         * loader/FrameLoader.cpp:
38368         (WebCore::FrameLoader::isMixedContent):
38369         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
38370         (WebCore::FrameLoader::checkIfRunInsecureContent):
38371         * loader/FrameLoader.h:
38372         * loader/MainResourceLoader.cpp:
38373         (WebCore::MainResourceLoader::willSendRequest):
38375 2009-09-10  Mark Rowe  <mrowe@apple.com>
38377         Fix the Windows build.
38379         Restore platform/mock to the header search path after it was removed in r48270.
38381         * WebCore.vcproj/WebCoreCommon.vsprops:
38383 2009-09-08  Timothy Hatcher  <timothy@apple.com>
38385         Web Inspector: Move the option to create a new style rule under the Styles' gear menu.
38387         https://bugs.webkit.org/show_bug.cgi?id=29039
38389         Reviewed by Sam Weinig.
38391         * inspector/front-end/StylesSidebarPane.js:
38392         (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
38393         (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
38394         (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
38395         while calling the correct action.
38396         (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
38397         (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
38398         (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
38399         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
38400         (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
38401         (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
38402         is remembered by the editing code.
38403         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
38404         restored by the editing code.
38405         (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
38406         Remove event listener code.
38407         (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
38408         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the
38409         WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
38410         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
38411         override the base class.
38412         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
38413         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
38414         since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
38415         the end to correctly swtich to a real StylePropertiesSection.
38416         * inspector/front-end/inspector.js:
38417         (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks.
38418         (WebInspector.startEditing.editingCommitted): Ditto.
38420 2009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
38422         Reviewed by Eric Seidel.
38424         [Qt] Fix comparison between signed and unsigned integer warnings
38425         https://bugs.webkit.org/show_bug.cgi?id=29162
38427         No functional change.
38429         * bridge/qt/qt_runtime.cpp:
38430         (JSC::Bindings::findMethodIndex):
38431         * platform/MIMETypeRegistry.cpp:
38432         (WebCore::initializeSupportedImageMIMETypes):
38433         (WebCore::initializeSupportedImageMIMETypesForEncoding):
38434         * platform/graphics/qt/GraphicsContextQt.cpp:
38435         (WebCore::GraphicsContext::drawFocusRing):
38436         * platform/graphics/qt/ImageDecoderQt.cpp:
38437         (WebCore::ImageDecoderQt::duration):
38438         (WebCore::ImageDecoderQt::imageAtIndex):
38439         * plugins/qt/PluginPackageQt.cpp:
38440         (WebCore::PluginPackage::fetchInfo):
38442 2009-09-10  Martin Robinson  <martin.james.robinson@gmail.com>
38444         Reviewed by Gustavo Noronha.
38446         Build fix for GTKafter r48267.
38448         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38449         (WebCore::MediaPlayerPrivate::buffered):
38451 2009-09-08  John Abd-El-Malek  <jam@chromium.org>
38453         Reviewed by Dimitri Glazkov.
38455         Remove unneeded define for ActiveX.
38456         https://bugs.webkit.org/show_bug.cgi?id=29054
38458         * rendering/RenderPartObject.cpp:
38459         (WebCore::createClassIdToTypeMap):
38460         (WebCore::serviceTypeForClassId):
38461         (WebCore::RenderPartObject::updateWidget):
38463 2009-09-10  Mark Rowe  <mrowe@apple.com>
38465         Rubber-stamped by Sam Weinig.
38467         Don't copy IDL files in to the built framework.
38469         * WebCore.xcodeproj/project.pbxproj:
38471 2009-09-10  Xiaomei Ji  <xji@chromium.org>
38473         Reviewed by Eric Seidel.
38475         Implment Range.expand().
38476         https://bugs.webkit.org/show_bug.cgi?id=27632
38478         Test: fast/dom/Range/range-expand.html
38480         * dom/Range.cpp:
38481         (WebCore::Range::expand):
38482         * dom/Range.h:
38483         * dom/Range.idl:
38485 2009-09-10  Fumitoshi Ukai  <ukai@chromium.org>
38487         Reviewed by Alexey Proskuryakov.
38489         WebSocket API implementation.
38490         https://bugs.webkit.org/show_bug.cgi?id=28038
38491         
38492         Add build systems for GNUmakefile.am, WebCore.xcodeproj and
38493         WebCore.vcproj.
38494         Add websockets directory and WebSocket.idl in qt build system.
38495         Tests will be landed once the code is completed and functional.
38497         * DerivedSources.cpp:
38498         * GNUmakefile.am:
38499         * WebCore.pro:
38500         * WebCore.vcproj/WebCore.vcproj:
38501         * WebCore.vcproj/WebCoreCommon.vsprops:
38502         * WebCore.xcodeproj/project.pbxproj:
38503         * bindings/js/JSDOMWindowCustom.cpp:
38504         (WebCore::JSDOMWindow::webSocket):
38505         * bindings/js/JSEventTarget.cpp:
38506         (WebCore::toJS):
38507         (WebCore::toEventTarget):
38508         * dom/EventTarget.cpp:
38509         (WebCore::EventTarget::toWebSocket):
38510         * dom/EventTarget.h:
38511         * page/DOMWindow.idl:
38512         * websockets/WebSocket.cpp:
38513         (WebCore::ProcessWebSocketEventTask::create):
38514         (WebCore::ProcessWebSocketEventTask::performTask):
38515         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
38516         (WebCore::isValidProtocolString):
38517         (WebCore::WebSocket::connect):
38518         (WebCore::WebSocket::send):
38519         (WebCore::WebSocket::close):
38520         (WebCore::WebSocket::bufferedAmount):
38521         (WebCore::WebSocket::addEventListener):
38522         (WebCore::WebSocket::removeEventListener):
38523         (WebCore::WebSocket::dispatchEvent):
38524         (WebCore::WebSocket::didConnect):
38525         (WebCore::WebSocket::didReceiveMessage):
38526         (WebCore::WebSocket::didClose):
38527         (WebCore::WebSocket::dispatchOpenEvent):
38528         (WebCore::WebSocket::dispatchMessageEvent):
38529         (WebCore::WebSocket::dispatchCloseEvent):
38530         * websockets/WebSocket.h:
38531         (WebCore::WebSocket::create):
38532         (WebCore::WebSocket::):
38533         (WebCore::WebSocket::setOnopen):
38534         (WebCore::WebSocket::onopen):
38535         (WebCore::WebSocket::setOnmessage):
38536         (WebCore::WebSocket::onmessage):
38537         (WebCore::WebSocket::setOnclose):
38538         (WebCore::WebSocket::onclose):
38539         (WebCore::WebSocket::toWebSocket):
38540         (WebCore::WebSocket::eventListeners):
38541         (WebCore::WebSocket::refEventTarget):
38542         (WebCore::WebSocket::derefEventTarget):
38543         * websockets/WebSocketChannel.cpp: Added.
38544         * websockets/WebSocketChannel.h: Added.
38545         * websockets/WebSocketChannelClient.h: Added.
38546         * websockets/WebSocketHandshake.cpp: Added.
38547         * websockets/WebSocketHandshake.h: Added.
38549 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
38551         No review, windows build fix only.
38552         
38553         Spurious semicolon causing parse error in chromium build on windows.
38555         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
38556         (WebCore::MediaPlayerPrivate::buffered):
38558 2009-09-10  Albert J. Wong  <ajwong@chromium.org>
38560         No review, build fix only.
38562         Adding in a missed include from the last patch that is breaking the
38563         chromium build.
38565         * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h
38567 2009-09-10  Alpha Lam  <hclam@chromium.org>
38569         Reviewed by Eric Carlson.
38571         HTMLMediaElement buffered attribute should report a list of time ranges
38572         https://bugs.webkit.org/show_bug.cgi?id=29041
38574         Changed MediaPlayerPrivateInterface and MediaPlayer's definition to
38575         report a list of buffered time ranges as WebCore::TimeRanges. This
38576         change also got rid of the maxTimeBuffered() method.
38578         No new tests since this is a API change.
38580         * html/HTMLMediaElement.cpp:
38581         (WebCore::HTMLMediaElement::percentLoaded):
38582         Use MediaPlaier::buffered() instead of maxTimeBuffered().
38583         (WebCore::HTMLMediaElement::buffered):
38584         ditto.
38585         * platform/graphics/MediaPlayer.cpp:
38586         (WebCore::NullMediaPlayerPrivate::buffered):
38587         Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered().
38588         (WebCore::MediaPlayer::buffered):
38589         ditto.
38590         * platform/graphics/MediaPlayer.h:
38591         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
38592         * platform/graphics/MediaPlayerPrivate.h:
38593         ditto.
38594         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38595         Implements PassRefPtr<TimeRanges> buffered();
38596         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
38597         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
38598         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
38599         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
38600         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
38601         (WebCore::MediaPlayerPrivate::buffered):
38602         Implementation of buffered().
38603         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
38604         Implements PassRefPtr<TimeRanegs> buffered().
38605         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
38606         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
38607         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
38608         Implements PassRefPtr<TimeRanges> buffered().
38609         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
38610         Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
38611         * platform/graphics/wince/MediaPlayerPrivateWince.h:
38612         ditto.
38613         * rendering/RenderThemeChromiumMac.mm:
38614         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
38615         Use buffered() instead of maxTimeBuffered().
38616         * rendering/RenderThemeChromiumSkia.cpp:
38617         ditto.
38618         * rendering/RenderThemeMac.mm:
38619         (WebCore::RenderThemeMac::paintMediaSliderTrack):
38620         ditto.
38622 2009-09-10  Cameron McCormack  <cam@mcc.id.au>
38624         Reviewed by Eric Seidel.
38626         Make bindings generators more aware of IDL dependencies
38627         https://bugs.webkit.org/show_bug.cgi?id=29114
38629         Make the JS and ObjC bindings generators able to output dependency
38630         rules for DerivedSources.make to consume.  These rules make a given
38631         generated binding class file header, JSWhatever.h, depend on Whatever's
38632         ancestor interfaces.
38634         * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
38635         when generating JS and ObjC bindings.  Include dependency fies that are
38636         generated due to that.
38637         * bindings/scripts/CodeGenerator.pm: Make
38638         AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
38639         the ancestor interfaces that were visited.
38640         * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency
38641         file.
38642         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
38643         * bindings/scripts/generate-bindings.pl: Add a --write-dependencies
38644         option.
38646 2009-09-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38648         Reviewed by Xan Lopez and Dan Winship.
38650         Give all requests to libsoup, to let it queue, and schedule them
38651         itself, instead of throttling the number of requests in WebCore.
38653         * platform/network/ResourceRequestBase.cpp:
38654         * platform/network/soup/ResourceRequestSoup.cpp:
38655         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
38657 2009-09-10  Jian Li  <jianli@chromium.org>
38659         Reviewed by Eric Seidel.
38661         [V8] Make XMLHttpRequest.send handle File object.
38662         https://bugs.webkit.org/show_bug.cgi?id=28924
38664         Test: http/tests/local/send-dragged-file.html
38666         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
38667         (WebCore::CALLBACK_FUNC_DECL):
38669 2009-09-10  Zoltan Horvath  <zoltan@webkit.org>
38671         Reviewed by Darin Adler.
38673         Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 
38674         https://bugs.webkit.org/show_bug.cgi?id=25930
38676         Change using of operator new to fastNew and operator delete to
38677         fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call.
38679         This change fixes valgrind's 'mismatched free' notification.
38681         * css/CSSParser.cpp:
38682         (WebCore::CSSParser::~CSSParser):
38683         (WebCore::CSSParser::createFloatingSelector):
38684         * css/CSSSelectorList.cpp:
38685         (WebCore::CSSSelectorList::adoptSelectorVector):
38687 2009-09-10  Steve Block  <steveblock@google.com>
38689         Reviewed by Darin Adler.
38691         Geolocation does not correctly handle reentrant calls from callbacks.
38692         https://bugs.webkit.org/show_bug.cgi?id=29040
38694         Tests: fast/dom/Geolocation/reentrant-error.html
38695                fast/dom/Geolocation/reentrant-success.html
38697         * page/Geolocation.cpp: Modified.
38698         (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
38699         (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
38700         * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.
38702 2009-09-10  Erik Arvidsson  <arv@chromium.org>
38704         Reviewed by Eric Seidel.
38706         Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
38707         https://bugs.webkit.org/show_bug.cgi?id=27105
38709         Test: fast/events/blur-focus-window-should-blur-focus-element.html
38711         * page/FocusController.cpp:
38712         (WebCore::dispatchEventsOnWindowAndFocusedNode):
38713         (WebCore::FocusController::setFocused):
38714         (WebCore::FocusController::setActive):
38716 2009-09-10  Adam Roben  <aroben@apple.com>
38718         Make the play/pause button in <video> controls indicate the button's
38719         action, not the movie state
38721         This matches the Mac behavior, iTunes, and many other media players.
38723         No test possible.
38725         Fixes <http://webkit.org/b/29126> Play/pause button in <video>
38726         controls shows the wrong image
38728         Reviewed by Eric Carlson.
38730         * rendering/RenderMediaControls.cpp:
38731         (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
38732         we show the play vs. pause artwork, so that the button reflects what
38733         will happen when you click it, rather than the current state of the
38734         movie.
38736 2009-09-09  Steve Block  <steveblock@google.com>
38738         Reviewed by Maciej Stachowiak.
38740         Geolocation Coordinates::toString() prints bogus values for unspecified properties.
38741         https://bugs.webkit.org/show_bug.cgi?id=29080
38743         Test: fast/dom/Geolocation/position-string.html
38745         * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38746         * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38747         * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38748         * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38749         * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38750         * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
38751         * page/Coordinates.cpp: Removed.
38752         * page/Coordinates.h: Modified. Removes toString method.
38753         * page/Coordinates.idl: Modified. Removes toString method.
38754         * page/Geoposition.cpp: Removed.
38755         * page/Geoposition.h: Modified. Removes toString method.
38756         * page/Geoposition.idl: Modified. Removes toString method.
38758 2009-09-09  Steve Block  <steveblock@google.com>
38760         Reviewed by Adam Barth.
38762         Correctly applies the Geolocation timeout property.
38763         https://bugs.webkit.org/show_bug.cgi?id=27256
38765         If a timeout is specified, the timer is started as soon as the location acquistion process starts.
38766         If a position fix is not obtained within the timeout interval, the position request is cancelled
38767         and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
38768         interval, the timer is stopped. Permissions are then requested from the user if required. See
38769         http://www.w3.org/TR/geolocation-API/#position-options.
38771         Note that this logic means that the time required to obtain permissions from the user is not
38772         included in the timeout interval.
38774         Tests: fast/dom/Geolocation/timeout.html
38775                fast/dom/Geolocation/timeout-zero.html
38777         * page/Geolocation.cpp: Modified.
38778         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
38779         (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
38780         (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
38781         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
38782         (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
38783         (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
38784         (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
38785         (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
38786         (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
38787         (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
38788         (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
38789         (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
38790         (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
38791         (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
38792         * page/Geolocation.h: Modified.
38793         (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.
38795 2009-09-09  Chris Fleizach  <cfleizach@apple.com>
38797         AX notifications should be an ENUM type instead of strings
38798         https://bugs.webkit.org/show_bug.cgi?id=28963
38800         Build fix for Qt.
38802         * accessibility/AXObjectCache.h:
38803         (WebCore::AXObjectCache::postNotification):
38804         (WebCore::AXObjectCache::postPlatformNotification):
38806 2009-09-08  Chris Fleizach  <cfleizach@apple.com>
38808         Reviewed by Darin Adler.
38810         AX notifications should be an ENUM type instead of strings
38811         https://bugs.webkit.org/show_bug.cgi?id=28963
38813         Moves AX notifications over to an ENUM type instead of
38814         using the actual string values that are used on OS X.
38816         * accessibility/AXObjectCache.cpp:
38817         (WebCore::AXObjectCache::postNotification):
38818         (WebCore::AXObjectCache::selectedChildrenChanged):
38819         * accessibility/AXObjectCache.h:
38820         (WebCore::AXObjectCache::):
38821         * accessibility/AccessibilityRenderObject.cpp:
38822         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
38823         * accessibility/chromium/AXObjectCacheChromium.cpp:
38824         (WebCore::AXObjectCache::postPlatformNotification):
38825         * accessibility/gtk/AXObjectCacheAtk.cpp:
38826         (WebCore::AXObjectCache::postPlatformNotification):
38827         * accessibility/mac/AXObjectCacheMac.mm:
38828         (WebCore::AXObjectCache::postPlatformNotification):
38829         * accessibility/win/AXObjectCacheWin.cpp:
38830         (WebCore::AXObjectCache::postPlatformNotification):
38831         * dom/Document.cpp:
38832         (WebCore::Document::implicitClose):
38833         * dom/Element.cpp:
38834         (WebCore::Element::updateAfterAttributeChanged):
38835         * editing/Editor.cpp:
38836         (WebCore::Editor::respondToChangedContents):
38837         * editing/mac/SelectionControllerMac.mm:
38838         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
38839         * html/HTMLInputElement.cpp:
38840         (WebCore::HTMLInputElement::setChecked):
38841         * page/FrameView.cpp:
38842         (WebCore::FrameView::layout):
38843         * rendering/RenderTextControl.cpp:
38844         (WebCore::RenderTextControl::setInnerTextValue):
38846 2009-09-08  Adam Barth  <abarth@webkit.org>
38848         Reviewed by Eric Seidel.
38850         Missing checkout for getSVGDocument()
38851         https://bugs.webkit.org/show_bug.cgi?id=29064
38853         The V8 code generator didn't understand SVGCheckSecurityDocument.
38855         Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
38856                http/tests/security/xss-DENIED-getSVGDocument-object.html
38858         * bindings/scripts/CodeGeneratorV8.pm:
38860 2009-09-09  Cameron McCormack  <cam@mcc.id.au>
38862         Reviewed by Eric Seidel.
38864         Make SVGStyleElement inherit from SVGLangSpace
38865         https://bugs.webkit.org/show_bug.cgi?id=29058
38867         Required by SVG 1.1 Second Edition:
38868         http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement
38870         Test: svg/dom/SVGStyleElement/style-langspace.html
38872         * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
38873         (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
38874         initializer.
38875         (WebCore::SVGStyleElement::parseMappedAttribute): Call
38876         parseMappedAttribute on SVGLangSpace.
38877         * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
38878         * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
38879         as a superinterface.
38881 2009-09-09  Nate Chapin  <japhet@chromium.org>
38883         Reviewed by David Levin.
38885         Remove unnecessary includes and forward declarations in V8Proxy.h
38887         https://bugs.webkit.org/show_bug.cgi?id=29111
38889         * bindings/v8/V8Proxy.h:
38891 2009-07-30  Eric Seidel  <eric@webkit.org>
38893         Reviewed by Adam Barth.
38895         Add more position constructors
38896         positionBeforeNode, positionAfterNode
38897         firstPositionInNode, lastPositionInNode
38898         https://bugs.webkit.org/show_bug.cgi?id=25494
38900         I also added a lastOffsetInNode and deployed it to a couple places.
38902         There are no callers to these new constructors yet, but those
38903         will be coming in future patches.
38905         * dom/Position.cpp:
38906         (WebCore::Position::computeOffsetInContainerNode):
38907         * dom/Position.h:
38908         (WebCore::positionBeforeNode):
38909         (WebCore::positionAfterNode):
38910         (WebCore::lastOffsetInNode):
38911         (WebCore::firstPositionInNode):
38912         (WebCore::lastPositionInNode):
38913         * editing/ApplyStyleCommand.cpp:
38914         * editing/TextIterator.cpp:
38915         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
38916         * editing/htmlediting.cpp:
38917         (WebCore::lastOffsetForEditing):
38919 2009-04-30  Eric Seidel  <eric@webkit.org>
38921         Reviewed by Adam Barth.
38923         Rename positionBeforeNode to positionInParentBeforeNode
38924         and positionAfterNode to positionInParentAfterNode
38925         in preparation for adding a positionBeforeNode
38926         which returns a neighbor-anchored position.
38927         https://bugs.webkit.org/show_bug.cgi?id=25494
38929         No functional changes, thus no tests.
38931         * dom/PositionConstructors.h:
38932         (WebCore::positionInParentBeforeNode):
38933         (WebCore::positionInParentAfterNode):
38934         * dom/PositionIterator.cpp:
38935         (WebCore::PositionIterator::operator Position):
38936         * editing/ApplyStyleCommand.cpp:
38937         (WebCore::ApplyStyleCommand::applyInlineStyle):
38938         * editing/CompositeEditCommand.cpp:
38939         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
38940         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
38941         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
38942         * editing/CreateLinkCommand.cpp:
38943         (WebCore::CreateLinkCommand::doApply):
38944         * editing/DeleteButtonController.cpp:
38945         (WebCore::DeleteButtonController::deleteTarget):
38946         * editing/DeleteSelectionCommand.cpp:
38947         (WebCore::DeleteSelectionCommand::initializeStartEnd):
38948         (WebCore::updatePositionForNodeRemoval):
38949         * editing/InsertLineBreakCommand.cpp:
38950         (WebCore::InsertLineBreakCommand::doApply):
38951         * editing/InsertListCommand.cpp:
38952         (WebCore::InsertListCommand::doApply):
38953         * editing/InsertParagraphSeparatorCommand.cpp:
38954         (WebCore::InsertParagraphSeparatorCommand::doApply):
38955         * editing/InsertTextCommand.cpp:
38956         (WebCore::InsertTextCommand::input):
38957         * editing/ReplaceSelectionCommand.cpp:
38958         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
38959         (WebCore::ReplaceSelectionCommand::doApply):
38960         * editing/VisibleSelection.cpp:
38961         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
38962         * editing/htmlediting.cpp:
38963         (WebCore::firstEditablePositionAfterPositionInRoot):
38964         (WebCore::lastEditablePositionBeforePositionInRoot):
38965         (WebCore::rangeCompliantEquivalent):
38966         (WebCore::positionBeforeContainingSpecialElement):
38967         (WebCore::positionAfterContainingSpecialElement):
38968         (WebCore::positionBeforeTabSpan):
38970 2009-04-30  Eric Seidel  <eric@webkit.org>
38972         Reviewed by Adam Barth.
38974         Re-organize position creation functions in preparation for adding more
38975         https://bugs.webkit.org/show_bug.cgi?id=25494
38977         Make position functions inline to avoid ref-churn.
38978         Remove startPosition/endPosition as they were only used in one place.
38980         No functional changes, thus no tests.
38982         * dom/Position.cpp:
38983         * dom/Position.h:
38984         (WebCore::positionBeforeNode):
38985         (WebCore::positionAfterNode):
38986         * editing/SelectionController.cpp:
38987         (WebCore::SelectionController::moveTo):
38988         * editing/TypingCommand.cpp:
38989         * editing/htmlediting.cpp:
38990         * editing/htmlediting.h:
38991         (WebCore::firstDeepEditingPositionForNode):
38992         (WebCore::lastDeepEditingPositionForNode):
38993         * rendering/RenderObject.cpp:
38995 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
38997         Reviewed by Kevin Ollivier.
38998         
38999         [wx] Add wxSize conversions for IntSize.
39000         https://bugs.webkit.org/show_bug.cgi?id=29104
39002         * platform/graphics/IntSize.h:
39003         * platform/graphics/wx/IntSizeWx.cpp: Added.
39004         (WebCore::IntSize::IntSize):
39005         (WebCore::IntSize::operator wxSize):
39007 2009-09-09  Yaar Schnitman  <yaar@chromium.org>
39009         Reviewed by David Levin.
39010         
39011         Chromium uses its own config.h file that was forked from webkit's config.h.
39012         By merging in Chromium's defines, Chromium would again be able to use webkit's
39013         config.h.
39015         https://bugs.webkit.org/show_bug.cgi?id=28882 
39017         * config.h: Added chromium-specific defines. 
39019 2009-09-09  Jens Alfke  <snej@chromium.org>
39021         Reviewed by Eric Seidel.
39023         Initialize DataTransfer's effectAllowed and dropEffect properties correctly
39024         according to HTML5 spec (sec. 7.9.2-7.9.3).
39025         https://bugs.webkit.org/show_bug.cgi?id=26700
39026         - At the start of a drag operation, the value of effectAllowed should be
39027           the string "uninitialized".
39028         - At end of dragstart handler, if effectAllowed hasn't been set yet, it
39029           should be set to "copy".
39030         - on dragenter and dragover event, dropEffect should be initialized to a
39031           default value based on the value of effectAllowed.
39032         - at end of dragenter and dragover the dropEffect should be set to "none"
39033           if the value set by the handler doesn't match the effectAllowed.
39034         - on dragleave event, dropEffect should be "none".
39035         - on drop event, dropEffect should be the previously negotiated value.
39037         Test: fast/events/drag-dropeffect.html
39039         * WebCore.base.exp:
39040             Added a parameter to EventHandler::dragSourceMovedTo.
39041         * dom/Clipboard.cpp:
39042         (WebCore::Clipboard::Clipboard):
39043             Initialize m_effectAllowed to "uninitialized".
39044         (WebCore::Clipboard::sourceOperation):
39045             Treat "uninitialized" as meaning no value has been set.
39046         * page/DragController.cpp:
39047         (WebCore::DragController::DragController):
39048             Initialize new member m_destinationDragOperation.
39049         (WebCore::DragController::dragExited):
39050             Set m_destinationDragOperation to none on dragExit.
39051         (WebCore::DragController::performDrag):
39052             Set m_destinationDragOperation to current dropEffect.
39053         (WebCore::DragController::dragEnteredOrUpdated):
39054             Make sure to clear the operation if drag source doesn't allow it.
39055         (WebCore::DragController::tryDHTMLDrag):
39056             Set a default value for the dst drag op before sending dragEnter/Over.
39057         (WebCore::DragController::startDrag):
39058             Clear m_destinationDragOperation at start of drag.
39059         * page/DragController.h:
39060         (WebCore::DragController::destinationDragOperation):
39061             Added new member m_destinationDragOperation, and its public getter.
39062         * page/EventHandler.cpp:
39063         (WebCore::EventHandler::updateDragAndDrop):
39064             dropEffect should be 'none' during dropleave handler, per spec.
39065         (WebCore::EventHandler::dragSourceMovedTo):
39066             Added DragOperation parameter, so the handler sees the current dropEffect.
39067         (WebCore::EventHandler::handleDrag):
39068             Assume DragOperationEvery for non-DHTML drags.
39069         * page/EventHandler.h:
39070             Added DragOperation parameter to dragSourceMovedTo().
39072 2009-09-09  Dumitru Daniliuc  <dumi@chromium.org>
39074         Reviewed by Dimitri Glazkov.
39076         1. Adding support/bindings for read-only transactions.
39077         2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
39078         private browsing mode.
39079         3. Adding an authorizer test.
39081         https://bugs.webkit.org/show_bug.cgi?id=28918
39083         Test: storage/test-authorizer.html
39085         * bindings/js/JSDatabaseCustom.cpp:
39086         (WebCore::createTransaction): Parses all arguments and executes a
39087         transaction.
39088         (WebCore::JSDatabase::transaction): Refactored to use
39089         createTransaction().
39090         (WebCore::JSDatabase::readTransaction): Added to execute read-only
39091         transactions using createTransaction().
39092         * bindings/v8/custom/V8CustomBinding.h: Added the binding for
39093         Database::readTransaction().
39094         * bindings/v8/custom/V8DatabaseCustom.cpp:
39095         (WebCore::createTransaction): Parses all arguments and executes a
39096         transaction.
39097         (WebCore::transaction): Refactored to use createTransaction().
39098         (WebCore::readTransaction): Added to execute read-only
39099         transactions using createTransaction().
39100         * storage/Database.cpp:
39101         (WebCore::Database::transaction): Added support for read-only
39102         transactions.
39103         * storage/Database.h: Added support for read-only transactions.
39104         * storage/Database.idl: Added support for read-only transactions.
39105         * storage/DatabaseAuthorizer.cpp:
39106         (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
39107         that the statement will be denied in private browsing mode and
39108         read-only transactions.
39109         (WebCore::DatabaseAuthorizer::dropTempTable): Same.
39110         (WebCore::DatabaseAuthorizer::createTempIndex): Same.
39111         (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
39112         (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
39113         (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
39114         (WebCore::DatabaseAuthorizer::createView): Deny in private
39115         browsing mode and read-only transactions.
39116         (WebCore::DatabaseAuthorizer::createTempView): Same.
39117         (WebCore::DatabaseAuthorizer::dropView): Same.
39118         (WebCore::DatabaseAuthorizer::dropTempView): Same.
39119         (WebCore::DatabaseAuthorizer::allowReindex): Same.
39120         * storage/DatabaseAuthorizer.h:
39121         * storage/SQLTransaction.cpp: Added support for read-only
39122         transactions.
39123         (WebCore::SQLTransaction::create):
39124         (WebCore::SQLTransaction::SQLTransaction):
39125         (WebCore::SQLTransaction::executeSQL):
39126         (WebCore::SQLTransaction::acquireLock):
39127         * storage/SQLTransaction.h:
39128         * storage/SQLTransactionCoordinator.cpp:
39129         (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
39130         parameter in preparation for a change that will allow multiple
39131         read-only transactions on the same DB to run concurrently.
39132         * storage/SQLTransactionCoordinator.h:
39134 2009-09-09  Dave Hyatt  <hyatt@apple.com>
39136         Reviewed by Adam Roben.
39138         https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
39139         to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
39140         to all Frames in the PageGroup.
39142         Added userscripts/simple-stylesheet.html test case.
39144         * WebCore.base.exp:
39145         * WebCore.gypi:
39146         * WebCore.vcproj/WebCore.vcproj:
39147         * WebCore.xcodeproj/project.pbxproj:
39148         * css/CSSStyleSelector.cpp:
39149         (WebCore::CSSStyleSelector::CSSStyleSelector):
39150         * css/CSSStyleSelector.h:
39151         * dom/Document.cpp:
39152         (WebCore::Document::Document):
39153         (WebCore::Document::attach):
39154         (WebCore::Document::pageGroupUserSheets):
39155         (WebCore::Document::clearPageGroupUserSheets):
39156         (WebCore::Document::recalcStyleSelector):
39157         * dom/Document.h:
39158         * loader/PlaceholderDocument.cpp:
39159         (WebCore::PlaceholderDocument::attach):
39160         * page/PageGroup.cpp:
39161         (WebCore::PageGroup::addUserStyleSheet):
39162         (WebCore::PageGroup::removeUserContentForWorld):
39163         (WebCore::PageGroup::removeAllUserContent):
39164         * page/PageGroup.h:
39165         (WebCore::PageGroup::userStyleSheets):
39166         * page/UserStyleSheet.h: Added.
39167         (WebCore::UserStyleSheet::UserStyleSheet):
39168         (WebCore::UserStyleSheet::source):
39169         (WebCore::UserStyleSheet::url):
39170         (WebCore::UserStyleSheet::patterns):
39171         (WebCore::UserStyleSheet::worldID):
39172         * page/UserStyleSheetTypes.h: Added.
39174 2009-09-09  Carol Szabo  <carol.szabo@nokia.com>
39176         Reviewed by Ariya Hidayat.
39178         [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
39179         Qt platform
39180         https://bugs.webkit.org/show_bug.cgi?id=23291
39182         * platform/graphics/qt/GraphicsContextQt.cpp:
39183         (WebCore::GraphicsContext::drawRect):
39184         (WebCore::GraphicsContext::strokeArc):
39185         (WebCore::GraphicsContext::drawConvexPolygon):
39186         (WebCore::GraphicsContext::fillPath):
39187         (WebCore::GraphicsContext::strokePath):
39188         (WebCore::GraphicsContext::fillRect):
39189         (WebCore::GraphicsContext::fillRoundedRect):
39190          Added the ability to draw shadows for all these curves.
39192 2009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39194         Reviewed by Simon Hausmann.
39196         Add the qwebgraphicsitem.cpp to the build system.
39198         https://bugs.webkit.org/show_bug.cgi?id=28862
39200         * WebCore.pro:
39202 2009-09-09  Kevin Watters  <kevinwatters@gmail.com>
39204         Reviewed by Kevin Ollivier.
39206         [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
39207         they belong.
39209         https://bugs.webkit.org/show_bug.cgi?id=29088
39211         * editing/wx/EditorWx.cpp:
39212         (WebCore::Editor::showColorPanel):
39213         (WebCore::Editor::showFontPanel):
39214         (WebCore::Editor::showStylesPanel):
39215         * platform/graphics/wx/GraphicsContextWx.cpp:
39216         (WebCore::GraphicsContext::setPlatformShadow):
39217         (WebCore::GraphicsContext::clearPlatformShadow):
39218         (WebCore::GraphicsContext::beginTransparencyLayer):
39219         (WebCore::GraphicsContext::endTransparencyLayer):
39220         (WebCore::GraphicsContext::clearRect):
39221         (WebCore::GraphicsContext::strokeRect):
39222         (WebCore::GraphicsContext::setLineCap):
39223         (WebCore::GraphicsContext::setLineJoin):
39224         (WebCore::GraphicsContext::setMiterLimit):
39225         (WebCore::GraphicsContext::setAlpha):
39226         (WebCore::GraphicsContext::addInnerRoundedRectClip):
39227         * platform/graphics/wx/IconWx.cpp: Added.
39228         (WebCore::Icon::~Icon):
39229         (WebCore::Icon::createIconForFile):
39230         (WebCore::Icon::createIconForFiles):
39231         (WebCore::Icon::paint):
39232         * platform/graphics/wx/ImageWx.cpp:
39233         (WebCore::Image::loadPlatformResource):
39234         (WebCore::Image::drawPattern):
39235         * platform/wx/CursorWx.cpp:
39236         (WebCore::moveCursor):
39237         * platform/wx/FileChooserWx.cpp: Added.
39238         (WebCore::FileChooser::basenameForWidth):
39239         * platform/wx/KURLWx.cpp: Added.
39240         (WebCore::KURL::fileSystemPath):
39241         * platform/wx/SSLKeyGeneratorWx.cpp: Added.
39242         (WebCore::getSupportedKeySizes):
39243         (WebCore::signedPublicKeyAndChallengeString):
39244         * platform/wx/SearchPopupMenuWx.cpp: Added.
39245         (WebCore::SearchPopupMenu::SearchPopupMenu):
39246         (WebCore::SearchPopupMenu::saveRecentSearches):
39247         (WebCore::SearchPopupMenu::loadRecentSearches):
39248         (WebCore::SearchPopupMenu::enabled):
39249         * platform/wx/SharedBufferWx.cpp: Added.
39250         (WebCore::SharedBuffer::createWithContentsOfFile):
39251         * platform/wx/SystemTimeWx.cpp: Added.
39252         (WebCore::userIdleTime):
39253         * platform/wx/TemporaryLinkStubs.cpp: Removed.
39254         * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
39255         (WebCore::currentSearchLocaleID):
39256         (WebCore::currentTextBreakLocaleID):
39257         * platform/wx/WidgetWx.cpp:
39258         (WebCore::Widget::setIsSelected):
39260 2009-09-09  Steve Block  <steveblock@google.com>
39262         Reviewed by Adam Barth.
39264         Geolocation incorrectly calls error callback in case of exception in success callback.
39265         https://bugs.webkit.org/show_bug.cgi?id=27255
39267         Test: fast/dom/Geolocation/callback-exception.html
39269         * bindings/js/JSCustomPositionCallback.cpp: Modified.
39270         (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
39271         * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
39272         * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
39273         * page/Geolocation.cpp: Modified.
39274         (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
39275         * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.
39277 2009-09-09  Steve Block  <steveblock@google.com>
39279         Reviewed by Darin Adler.
39281         When Geolocation permission is denied, stops watches as well as one-shots.
39282         https://bugs.webkit.org/show_bug.cgi?id=28305.
39284         Tests: fast/dom/Geolocation/watch.html
39285                fast/dom/Geolocation/permission-denied-stops-watches.html
39287         * page/Geolocation.cpp: Modified.
39288         (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
39289         (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
39290         * page/PositionError.h: Modified.
39291         (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
39292         (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.
39294 2009-09-09  Roland Steiner  <rolandsteiner@google.com>
39296         Reviewed by Eric Seidel.
39298         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
39300         Added getter/setter methods and trivial inline implementations for each.
39301         (Note that they are not yet actually used.)
39302         Once the Chromium code is changed to use them instead of directly accessing the
39303         member variables, the member variables should be made private and cleaned up.
39305         No new tests (no functional behavior changed).
39307         * platform/chromium/ChromiumDataObject.h:
39308         (WebCore::ChromiumDataObject::mainURL):
39309         (WebCore::ChromiumDataObject::setMainURL):
39310         (WebCore::ChromiumDataObject::mainURLTitle):
39311         (WebCore::ChromiumDataObject::setMainURLTitle):
39312         (WebCore::ChromiumDataObject::textPlain):
39313         (WebCore::ChromiumDataObject::setTextPlain):
39314         (WebCore::ChromiumDataObject::textHTML):
39315         (WebCore::ChromiumDataObject::setTextHTML):
39316         (WebCore::ChromiumDataObject::htmlBaseURL):
39317         (WebCore::ChromiumDataObject::setHTMLBaseURL):
39318         (WebCore::ChromiumDataObject::content):
39319         (WebCore::ChromiumDataObject::releaseContent):
39320         (WebCore::ChromiumDataObject::setContent):
39321         (WebCore::ChromiumDataObject::contentFileExtension):
39322         (WebCore::ChromiumDataObject::setContentFileExtension):
39323         (WebCore::ChromiumDataObject::contentFileName):
39324         (WebCore::ChromiumDataObject::setContentFileName):
39325         (WebCore::ChromiumDataObject::fileNames):
39326         (WebCore::ChromiumDataObject::setFileNames):
39327         (WebCore::ChromiumDataObject::takeFileNames):
39329 2009-09-08  Pat Bradley  <vincent.bradley@nokia.com>
39331         Reviewed by Ariya Hidayat.
39333         [Qt] locale date displays incorrect date format in symbian.
39334         https://bugs.webkit.org/show_bug.cgi?id=29032
39336         strftime() in Symbian does not support #
39337         Layout tests cannot be run on Symbian yet, so they are not updated.
39339         * runtime/DatePrototype.cpp:
39340         (JSC::formatLocaleDate):
39342 2009-09-09  Rohini Ananth <rohini.ananth@nokia.com>
39344         Reviewed by Simon Hausmann.
39346         NPAPI Plugin NPP_AsFile not working on Qt Webkit
39347         https://bugs.webkit.org/show_bug.cgi?id=29068
39349         * platform/qt/FileSystemQt.cpp:
39350         (WebCore::openTemporaryFile)
39351         Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
39352         This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.
39354 2009-09-08  Oliver Hunt  <oliver@apple.com>
39356         Reviewed by NOBODY (Build fix).
39358         Remove a few incorrect changes I left in.
39360         * bindings/scripts/CodeGeneratorJS.pm:
39362 2009-09-08  Oliver Hunt  <oliver@apple.com>
39364         Reviewed by Sam Weinig.
39366         Support numeric index getters in bindings
39367         https://bugs.webkit.org/show_bug.cgi?id=29067
39369         Add HasNumericIndexGetter to indicate a non-custom getter that
39370         returns a number.  The numeric index getter also uses PropertySlot's
39371         setValue rather than setCustomIndex to avoid an additional indirect
39372         call.
39374         * bindings/js/JSCanvasByteArrayCustom.cpp:
39375         * bindings/js/JSCanvasFloatArrayCustom.cpp:
39376         * bindings/js/JSCanvasIntArrayCustom.cpp:
39377         * bindings/js/JSCanvasShortArrayCustom.cpp:
39378         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
39379         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
39380         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
39381         * bindings/scripts/CodeGeneratorJS.pm:
39382         * html/canvas/CanvasByteArray.h:
39383         (WebCore::CanvasByteArray::item):
39384         * html/canvas/CanvasByteArray.idl:
39385         * html/canvas/CanvasFloatArray.h:
39386         (WebCore::CanvasFloatArray::get):
39387         (WebCore::CanvasFloatArray::item):
39388         * html/canvas/CanvasFloatArray.idl:
39389         * html/canvas/CanvasIntArray.h:
39390         (WebCore::CanvasIntArray::get):
39391         (WebCore::CanvasIntArray::item):
39392         * html/canvas/CanvasIntArray.idl:
39393         * html/canvas/CanvasPixelArray.idl:
39394         * html/canvas/CanvasShortArray.h:
39395         (WebCore::CanvasShortArray::get):
39396         (WebCore::CanvasShortArray::item):
39397         * html/canvas/CanvasShortArray.idl:
39398         * html/canvas/CanvasUnsignedByteArray.h:
39399         (WebCore::CanvasUnsignedByteArray::get):
39400         (WebCore::CanvasUnsignedByteArray::item):
39401         * html/canvas/CanvasUnsignedByteArray.idl:
39402         * html/canvas/CanvasUnsignedIntArray.h:
39403         (WebCore::CanvasUnsignedIntArray::get):
39404         (WebCore::CanvasUnsignedIntArray::item):
39405         * html/canvas/CanvasUnsignedIntArray.idl:
39406         * html/canvas/CanvasUnsignedShortArray.h:
39407         (WebCore::CanvasUnsignedShortArray::item):
39408         * html/canvas/CanvasUnsignedShortArray.idl:
39410 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
39412         wx build fix for 2.8.
39414         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
39415         (wxRenderer_DrawScrollbar):
39417 2009-09-08  Jens Alfke  <snej@chromium.org>
39419         Reviewed by Eric Seidel.
39421         In Mac Chromium, clicking below the last line of an editable area (textarea or
39422         contenteditable) should put the caret at the end of the last line, as in Mac Safari.
39424         Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
39425                LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html
39427         * page/Settings.cpp:
39428         (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.
39430 2009-09-08  Dave Hyatt  <hyatt@apple.com>
39432         Reviewed by Mark Rowe.
39434         Make sure not to do an early return when a data URL stylesheet successfully loads.  We need to still
39435         clear the old cached sheet out of all existing Frames.  Fixes the data URL stylesheet layout test failure.
39437         * page/Page.cpp:
39438         (WebCore::Page::userStyleSheetLocationChanged):
39440 2009-09-08  Sam Weinig  <sam@webkit.org>
39442         Fix windows build.
39444         * dom/Document.idl:
39446 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
39448         More robust wx build fix for 2.9.
39450         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
39451         (wxRenderer_DrawScrollbar):
39453 2009-09-08  Sam Weinig  <sam@webkit.org>
39455         Reviewed by Timothy Hatcher.
39457         Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
39458         Implement CSSOM DocumentView.caretRangeFromPoint
39460         Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
39461                fast/dom/Document/CaretRangeFromPoint/replace-element.html
39463         * dom/Document.cpp:
39464         (WebCore::Document::caretRangeFromPoint):
39465         * dom/Document.h:
39466         * dom/Document.idl:
39468 2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
39470         wx build fix, generate derived sources earlier in order to make sure
39471         they're found by the build system when generating the list of sources to build.
39473         * wscript:
39475 2009-09-08  Nate Chapin  <japhet@chromium.org>
39477         Reviewed by Dimitri Glazkov.
39479         <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.
39481         Test: Chromium mac canary build is fixed.
39483         * bindings/v8/V8Proxy.h: Remove <iterator> include.
39485 2009-09-08  Xan Lopez  <xlopez@igalia.com>
39487         Unreviewed attempt to fix the GTKbuild.
39489         * GNUmakefile.am:
39491 2009-09-04  Dave Hyatt  <hyatt@apple.com>
39493         Reviewed by Eric Seidel.
39495         https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
39496         parsed form.  Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.
39498         * css/CSSStyleSelector.cpp:
39499         (WebCore::CSSStyleSelector::CSSStyleSelector):
39500         * css/CSSStyleSelector.h:
39501         * dom/Document.cpp:
39502         (WebCore::Document::attach):
39503         (WebCore::Document::pageUserSheet):
39504         (WebCore::Document::clearPageUserSheet):
39505         (WebCore::Document::recalcStyleSelector):
39506         * dom/Document.h:
39507         * loader/PlaceholderDocument.cpp:
39508         (WebCore::PlaceholderDocument::attach):
39509         * page/Page.cpp:
39510         (WebCore::Page::userStyleSheetLocationChanged):
39511         * page/Settings.cpp:
39512         (WebCore::Settings::setUserStyleSheetLocation):
39514 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39516         Unreviewed buildfix.
39518         Fix Qt build after 48167, by adding the new cpp/h files
39519         added to WebCore.gypi to WebCore.pro as well.
39521         * WebCore.pro:
39523 2009-09-08  Xan Lopez  <xlopez@igalia.com>
39525         Reviewed by Gustavo Noronha.
39527         should not pass URI fragments to libsoup
39528         https://bugs.webkit.org/show_bug.cgi?id=28687
39530         Strip the fragment from the URI before passing it to soup, since
39531         it forwards it to servers in some cases (like when using a proxy)
39532         which confuses them and makes them return 403/404.
39534         * platform/network/soup/ResourceHandleSoup.cpp:
39535         (WebCore::startHttp):
39536         (WebCore::):
39538 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39540         Reviewed by Simon Hausmann.
39542         Add QGraphicsScene events support to the Qt platform events.
39544         * platform/PlatformMouseEvent.h:
39545         * platform/PlatformWheelEvent.h:
39546         * platform/qt/PlatformMouseEventQt.cpp:
39547         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
39548         * platform/qt/WheelEventQt.cpp:
39549         (WebCore::PlatformWheelEvent::applyDelta):
39550         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
39552 2009-09-08  Michael Nordman  <michaeln@google.com>
39554         Reviewed by Eric Seidel.
39556         [Chromium] Cleanup: remove a few deprecated methods.
39557         https://bugs.webkit.org/show_bug.cgi?id=28960
39559         No new tests, just syntactic sugar.
39561         * platform/network/chromium/ResourceRequest.h:
39562         * platform/network/chromium/ResourceResponse.h:
39564 2009-09-08  Yongjun Zhang  <yongjun.zhang@nokia.com>
39566         Reviewed by Ariya Hidayat.
39568         https://bugs.webkit.org/show_bug.cgi?id=28981
39570         [Qt] make npapi.h compile in winscw compiler.
39572         Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
39573         specific changes in npapi.h.
39574         Undefine XP_WIN when building for Symbian to avoid including Windows specific code.
39576         * bridge/npapi.h:
39578 2009-09-08  Oliver Hunt  <oliver@apple.com>
39580         Reviewed by Geoff Garen.
39582         Web Inspector assertion failure related to marking
39583         https://bugs.webkit.org/show_bug.cgi?id=28997
39585         When wrapping the callback the JSInspectorCallbackWrapper creator was using
39586         inheritorID for the prototype structure which is unsafe for anything other
39587         than a pure JS object.  Instead we now create a new structure, which while
39588         inefficient is not problematic as this code is not hit frequently.
39590         * bindings/js/JSInspectorCallbackWrapper.cpp:
39591         (WebCore::JSInspectorCallbackWrapper::wrap):
39593 2009-09-08  Kelly Norton  <knorton@google.com>
39595         Reviewed by Dimitri Glazkov.
39597         Add missing extension to the file entry in WebCore.vcproj.
39599         * WebCore.vcproj/WebCore.vcproj: Added "cpp".
39601 2009-09-08  Jian Li  <jianli@chromium.org>
39603         Reviewed by David Levin.
39605         dataTransfer.types() should not return Files if file list is empty in the clipboard.
39606         https://bugs.webkit.org/show_bug.cgi?id=28891
39608         We change the behavior to handle the empty file list in order to match the spec.
39610         Tested by clipboard-file-access.html.
39612         * platform/mac/ClipboardMac.mm:
39613         (WebCore::addHTMLClipboardTypesForCocoaType):
39614         (WebCore::ClipboardMac::types):
39616 2009-09-08  Steve VanDeBogart  <vandebo@chromium.org>
39618         Reviewed by Eric Seidel.
39620         Handle middle click in Chromium like QT
39621         https://bugs.webkit.org/show_bug.cgi?id=28696
39623         Tested by middle-click-onpaste.html.
39625         * platform/Pasteboard.h:
39626         * platform/chromium/ChromiumBridge.h:
39627         * platform/chromium/ClipboardChromium.cpp:
39628         (WebCore::ClipboardChromium::getData):
39629         * platform/chromium/PasteboardChromium.cpp:
39630         (WebCore::Pasteboard::Pasteboard):
39631         (WebCore::Pasteboard::isSelectionMode):
39632         (WebCore::Pasteboard::setSelectionMode):
39633         (WebCore::Pasteboard::canSmartReplace):
39634         (WebCore::Pasteboard::plainText):
39635         (WebCore::Pasteboard::documentFragment):
39636         * platform/chromium/PasteboardPrivate.h:
39637         (WebCore::PasteboardPrivate::):
39639 2009-09-08  Kelly Norton  <knorton@google.com>
39641         Reviewed by Eric Seidel.
39643         WebInspector: Adds a timeline agent to InspectorController that collects
39644         high-level timing data about event dispatch, layout, painting and HTML
39645         parsing and makes it available to Inspector.
39646         https://bugs.webkit.org/show_bug.cgi?id=25503
39648         * WebCore.gypi:
39649         * WebCore.xcodeproj/project.pbxproj:
39650         * dom/Document.cpp:
39651         (WebCore::Document::recalcStyle):
39652         * dom/Document.h:
39653         (WebCore::Document::inspectorTimelineAgent):
39654         * dom/Node.cpp:
39655         (WebCore::Node::dispatchGenericEvent):
39656         * html/HTMLTokenizer.cpp:
39657         (WebCore::HTMLTokenizer::write):
39658         * inspector/DOMDispatchTimelineItem.cpp: Added.
39659         (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
39660         (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
39661         * inspector/DOMDispatchTimelineItem.h: Added.
39662         (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
39663         * inspector/InspectorBackend.cpp:
39664         (WebCore::InspectorBackend::enableTimeline):
39665         (WebCore::InspectorBackend::disableTimeline):
39666         (WebCore::InspectorBackend::timelineEnabled):
39667         * inspector/InspectorBackend.h:
39668         * inspector/InspectorBackend.idl:
39669         * inspector/InspectorController.cpp:
39670         (WebCore::InspectorController::setFrontendProxyObject):
39671         (WebCore::InspectorController::close):
39672         (WebCore::InspectorController::resetScriptObjects):
39673         (WebCore::InspectorController::enableTimeline):
39674         (WebCore::InspectorController::disableTimeline):
39675         (WebCore::InspectorController::timelineEnabled):
39676         * inspector/InspectorController.h:
39677         (WebCore::InspectorController::timelineAgent):
39678         * inspector/InspectorFrontend.cpp:
39679         (WebCore::InspectorFrontend::timelineWasEnabled):
39680         (WebCore::InspectorFrontend::timelineWasDisabled):
39681         (WebCore::InspectorFrontend::addItemToTimeline):
39682         * inspector/InspectorFrontend.h:
39683         * inspector/InspectorTimelineAgent.cpp: Added.
39684         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
39685         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
39686         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
39687         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
39688         (WebCore::InspectorTimelineAgent::willLayout):
39689         (WebCore::InspectorTimelineAgent::didLayout):
39690         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
39691         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
39692         (WebCore::InspectorTimelineAgent::willPaint):
39693         (WebCore::InspectorTimelineAgent::didPaint):
39694         (WebCore::InspectorTimelineAgent::willWriteHTML):
39695         (WebCore::InspectorTimelineAgent::didWriteHTML):
39696         (WebCore::InspectorTimelineAgent::reset):
39697         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
39698         (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
39699         (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
39700         * inspector/InspectorTimelineAgent.h: Added.
39701         * inspector/TimelineItem.cpp: Added.
39702         (WebCore::TimelineItem::TimelineItem):
39703         (WebCore::TimelineItem::addToTimeline):
39704         (WebCore::TimelineItem::convertToScriptObject):
39705         (WebCore::TimelineItem::convertChildrenToScriptArray):
39706         (WebCore::TimelineItem::addChildItem):
39707         * inspector/TimelineItem.h: Added.
39708         (WebCore::):
39709         (WebCore::TimelineItem::~TimelineItem):
39710         (WebCore::TimelineItem::previous):
39711         (WebCore::TimelineItem::releasePrevious):
39712         (WebCore::TimelineItem::setEndTime):
39713         (WebCore::TimelineItem::type):
39714         * inspector/front-end/TimelineAgent.js: Added.
39715         (WebInspector.TimelineAgent):
39716         (WebInspector.addItemToTimeline):
39717         (WebInspector.timelineWasEnabled):
39718         (WebInspector.timelineWasDisabled):
39719         * inspector/front-end/inspector.html:
39720         * page/FrameView.cpp:
39721         (WebCore::FrameView::layout):
39722         (WebCore::FrameView::paintContents):
39723         * page/FrameView.h:
39724         (WebCore::FrameView::inspectorTimelineAgent):
39725         * page/Page.cpp:
39726         (WebCore::Page::inspectorTimelineAgent):
39727         * page/Page.h:
39729 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
39731         Reviewed by Simon Hausmann.
39733         [Qt] Fix unused variable warnings
39734         https://bugs.webkit.org/show_bug.cgi?id=29018
39736         No functional change, no tests.
39738         * history/qt/HistoryItemQt.cpp:
39739         (WebCore::HistoryItem::restoreState):
39740         * platform/graphics/qt/ImageBufferQt.cpp:
39741         (WebCore::putImageData):
39742         * platform/qt/RenderThemeQt.cpp:
39743         (WebCore::RenderThemeQt::paintMenuList):
39745 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
39747         Reviewed by Ariya Hidayat.
39749         [Qt] Use the declaration order in initializer lists
39750         https://bugs.webkit.org/show_bug.cgi?id=29017
39752         No functional change, no new tests.
39754         * platform/graphics/qt/FontCacheQt.cpp:
39755         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
39756         * platform/network/qt/QNetworkReplyHandler.cpp:
39757         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
39759 2009-09-08  Kent Tamura  <tkent@chromium.org>
39761         Reviewed by Eric Seidel.
39763         Implement ValidityState::typeMismatch() for <input type=number>.
39764         https://bugs.webkit.org/show_bug.cgi?id=28934
39766         Test: fast/forms/ValidityState-typeMismatch-number.html
39768         * html/HTMLInputElement.cpp:
39769         (WebCore::HTMLInputElement::formStringToDouble):
39770         * html/HTMLInputElement.h:
39771         * html/ValidityState.cpp:
39772         (WebCore::ValidityState::typeMismatch):
39773         * html/ValidityState.h:
39775 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
39777         Reviewed by Gustavo Noronha.
39779         [Gtk] Another attempt of a buildfix.
39781         * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
39783 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39785         Reviewed by Simon Hausmann.
39787         [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
39788         https://bugs.webkit.org/show_bug.cgi?id=28865
39790         Save the QCursor as a property in WidgetQt::setCursor
39791         and actually change the cursor in QWebView::event() by making use
39792         of the QEvent::DynamicPropertyChange event type.
39793         When unsetCursor() is called on the QWidget we can fallback to
39794         the cursor set by WebCore.
39796         Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
39797                  Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
39799         * platform/qt/WidgetQt.cpp:
39800         (WebCore::Widget::setCursor):
39802 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
39804         Reviewed by Gustavo Noronha.
39806         [Gtk] Buildfix for build error introduced in r48150.
39808         * GNUmakefile.am: Modified. Added missing IDL files.
39810 2009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
39812         Reviewed by Tor Arne Vestbø.
39814         [Qt] Buildfix. Build error caused by r48150.
39816         * WebCore.pro: missing IDL files added
39818 2009-09-07  Chris Marrin  <cmarrin@apple.com>
39820         Reviewed by Oliver Hunt.
39822         Update Canvas 3D implementation to match spec
39823         https://bugs.webkit.org/show_bug.cgi?id=29010
39825         This adds several new CanvasXXXArray classes each of which has a custom constructor
39826         and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
39827         to match the new and changed API.
39829         * DerivedSources.make:
39830         * WebCore.xcodeproj/project.pbxproj:
39831         * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39832         * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39833         * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39834         * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39835         * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39836         * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39837         * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39838         * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39839         * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39840         * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39841         * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39842         * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39843         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
39844         (WebCore::JSCanvasRenderingContext3D::bufferData):
39845         (WebCore::JSCanvasRenderingContext3D::bufferSubData):
39846         (WebCore::JSCanvasRenderingContext3D::texImage2D):
39847         (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
39848         * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39849         * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39850         * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39851         * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39852         * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39853         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39854         * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39855         * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39856         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39857         * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
39858         * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
39859         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
39860         * bindings/js/JSDOMWindowCustom.cpp:
39861         (WebCore::JSDOMWindow::canvasArrayBuffer):
39862         (WebCore::JSDOMWindow::canvasByteArray):
39863         (WebCore::JSDOMWindow::canvasUnsignedByteArray):
39864         (WebCore::JSDOMWindow::canvasIntArray):
39865         (WebCore::JSDOMWindow::canvasUnsignedIntArray):
39866         (WebCore::JSDOMWindow::canvasShortArray):
39867         (WebCore::JSDOMWindow::canvasUnsignedShortArray):
39868         (WebCore::JSDOMWindow::canvasFloatArray):
39869         * html/HTMLCanvasElement.cpp:
39870         (WebCore::HTMLCanvasElement::getContext):
39871         (WebCore::HTMLCanvasElement::paint):
39872         * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39873         * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
39874         * html/canvas/CanvasArray.idl: Added.
39875         * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
39876         * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
39877         * html/canvas/CanvasArrayBuffer.idl: Added.
39878         * html/canvas/CanvasByteArray.cpp:
39879         * html/canvas/CanvasByteArray.h:
39880         * html/canvas/CanvasByteArray.idl:
39881         * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39882         * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
39883         * html/canvas/CanvasFloatArray.idl: Added.
39884         * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39885         * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
39886         * html/canvas/CanvasIntArray.idl: Added.
39887         * html/canvas/CanvasRenderingContext3D.cpp:
39888         (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
39889         (WebCore::CanvasRenderingContext3D::markContextChanged):
39890         (WebCore::CanvasRenderingContext3D::beginPaint):
39891         (WebCore::CanvasRenderingContext3D::endPaint):
39892         (WebCore::CanvasRenderingContext3D::reshape):
39893         (WebCore::CanvasRenderingContext3D::sizeInBytes):
39894         (WebCore::CanvasRenderingContext3D::bindTexture):
39895         (WebCore::CanvasRenderingContext3D::bufferData):
39896         (WebCore::CanvasRenderingContext3D::bufferSubData):
39897         (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
39898         (WebCore::CanvasRenderingContext3D::clear):
39899         (WebCore::CanvasRenderingContext3D::createBuffer):
39900         (WebCore::CanvasRenderingContext3D::createFramebuffer):
39901         (WebCore::CanvasRenderingContext3D::createTexture):
39902         (WebCore::CanvasRenderingContext3D::createProgram):
39903         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
39904         (WebCore::CanvasRenderingContext3D::createShader):
39905         (WebCore::CanvasRenderingContext3D::deleteBuffer):
39906         (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
39907         (WebCore::CanvasRenderingContext3D::deleteProgram):
39908         (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
39909         (WebCore::CanvasRenderingContext3D::deleteShader):
39910         (WebCore::CanvasRenderingContext3D::deleteTexture):
39911         (WebCore::CanvasRenderingContext3D::drawArrays):
39912         (WebCore::CanvasRenderingContext3D::drawElements):
39913         (WebCore::CanvasRenderingContext3D::getBoolean):
39914         (WebCore::CanvasRenderingContext3D::getBooleanv):
39915         (WebCore::CanvasRenderingContext3D::getBufferParameteri):
39916         (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
39917         (WebCore::CanvasRenderingContext3D::getFloat):
39918         (WebCore::CanvasRenderingContext3D::getFloatv):
39919         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
39920         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
39921         (WebCore::CanvasRenderingContext3D::getInteger):
39922         (WebCore::CanvasRenderingContext3D::getIntegerv):
39923         (WebCore::CanvasRenderingContext3D::getProgrami):
39924         (WebCore::CanvasRenderingContext3D::getProgramiv):
39925         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
39926         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
39927         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
39928         (WebCore::CanvasRenderingContext3D::getShaderi):
39929         (WebCore::CanvasRenderingContext3D::getShaderiv):
39930         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
39931         (WebCore::CanvasRenderingContext3D::getShaderSource):
39932         (WebCore::CanvasRenderingContext3D::getTexParameterf):
39933         (WebCore::CanvasRenderingContext3D::getTexParameterfv):
39934         (WebCore::CanvasRenderingContext3D::getTexParameteri):
39935         (WebCore::CanvasRenderingContext3D::getTexParameteriv):
39936         (WebCore::CanvasRenderingContext3D::getUniformf):
39937         (WebCore::CanvasRenderingContext3D::getUniformfv):
39938         (WebCore::CanvasRenderingContext3D::getUniformi):
39939         (WebCore::CanvasRenderingContext3D::getUniformiv):
39940         (WebCore::CanvasRenderingContext3D::getUniformLocation):
39941         (WebCore::CanvasRenderingContext3D::getVertexAttribf):
39942         (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
39943         (WebCore::CanvasRenderingContext3D::getVertexAttribi):
39944         (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
39945         (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
39946         (WebCore::CanvasRenderingContext3D::texImage2D):
39947         (WebCore::CanvasRenderingContext3D::texParameterf):
39948         (WebCore::CanvasRenderingContext3D::texParameteri):
39949         (WebCore::CanvasRenderingContext3D::texSubImage2D):
39950         (WebCore::CanvasRenderingContext3D::uniform1f):
39951         (WebCore::CanvasRenderingContext3D::uniform1fv):
39952         (WebCore::CanvasRenderingContext3D::uniform1i):
39953         (WebCore::CanvasRenderingContext3D::uniform1iv):
39954         (WebCore::CanvasRenderingContext3D::uniform2f):
39955         (WebCore::CanvasRenderingContext3D::uniform2fv):
39956         (WebCore::CanvasRenderingContext3D::uniform2i):
39957         (WebCore::CanvasRenderingContext3D::uniform2iv):
39958         (WebCore::CanvasRenderingContext3D::uniform3f):
39959         (WebCore::CanvasRenderingContext3D::uniform3fv):
39960         (WebCore::CanvasRenderingContext3D::uniform3i):
39961         (WebCore::CanvasRenderingContext3D::uniform3iv):
39962         (WebCore::CanvasRenderingContext3D::uniform4f):
39963         (WebCore::CanvasRenderingContext3D::uniform4fv):
39964         (WebCore::CanvasRenderingContext3D::uniform4i):
39965         (WebCore::CanvasRenderingContext3D::uniform4iv):
39966         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
39967         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
39968         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
39969         (WebCore::CanvasRenderingContext3D::useProgram):
39970         (WebCore::CanvasRenderingContext3D::validateProgram):
39971         (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
39972         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
39973         (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
39974         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
39975         (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
39976         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
39977         (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
39978         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
39979         (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
39980         (WebCore::CanvasRenderingContext3D::viewport):
39981         * html/canvas/CanvasRenderingContext3D.h:
39982         * html/canvas/CanvasRenderingContext3D.idl:
39983         * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39984         * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
39985         * html/canvas/CanvasShortArray.idl: Added.
39986         * html/canvas/CanvasTexture.cpp:
39987         (WebCore::CanvasTexture::CanvasTexture):
39988         * html/canvas/CanvasTexture.h:
39989         (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
39990         (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
39991         * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39992         * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
39993          * html/canvas/CanvasUnsignedByteArray.idl: Added.
39994         * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39995         * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
39996         * html/canvas/CanvasUnsignedIntArray.idl: Added.
39997         * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
39998         * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
39999         * html/canvas/CanvasUnsignedShortArray.idl: Added.
40000         * page/DOMWindow.idl:
40001         * platform/graphics/GraphicsContext3D.h:
40002         * platform/graphics/mac/GraphicsContext3DMac.cpp:
40003         (WebCore::GraphicsContext3D::beginPaint):
40004         (WebCore::GraphicsContext3D::endPaint):
40005         (WebCore::GraphicsContext3D::bindTexture):
40006         (WebCore::GraphicsContext3D::bufferData):
40007         (WebCore::GraphicsContext3D::bufferSubData):
40008         (WebCore::GraphicsContext3D::checkFramebufferStatus):
40009         (WebCore::GraphicsContext3D::drawArrays):
40010         (WebCore::GraphicsContext3D::drawElements):
40011         (WebCore::GraphicsContext3D::texParameterf):
40012         (WebCore::GraphicsContext3D::texParameteri):
40013         (WebCore::GraphicsContext3D::uniform1f):
40014         (WebCore::GraphicsContext3D::uniform1fv):
40015         (WebCore::GraphicsContext3D::uniform2f):
40016         (WebCore::GraphicsContext3D::uniform2fv):
40017         (WebCore::GraphicsContext3D::uniform3f):
40018         (WebCore::GraphicsContext3D::uniform3fv):
40019         (WebCore::GraphicsContext3D::uniform4f):
40020         (WebCore::GraphicsContext3D::uniform4fv):
40021         (WebCore::GraphicsContext3D::uniform1i):
40022         (WebCore::GraphicsContext3D::uniform1iv):
40023         (WebCore::GraphicsContext3D::uniform2i):
40024         (WebCore::GraphicsContext3D::uniform2iv):
40025         (WebCore::GraphicsContext3D::uniform3i):
40026         (WebCore::GraphicsContext3D::uniform3iv):
40027         (WebCore::GraphicsContext3D::uniform4i):
40028         (WebCore::GraphicsContext3D::uniform4iv):
40029         (WebCore::GraphicsContext3D::uniformMatrix2fv):
40030         (WebCore::GraphicsContext3D::uniformMatrix3fv):
40031         (WebCore::GraphicsContext3D::uniformMatrix4fv):
40032         (WebCore::GraphicsContext3D::vertexAttrib1f):
40033         (WebCore::GraphicsContext3D::vertexAttrib1fv):
40034         (WebCore::GraphicsContext3D::vertexAttrib2f):
40035         (WebCore::GraphicsContext3D::vertexAttrib2fv):
40036         (WebCore::GraphicsContext3D::vertexAttrib3f):
40037         (WebCore::GraphicsContext3D::vertexAttrib3fv):
40038         (WebCore::GraphicsContext3D::vertexAttrib4f):
40039         (WebCore::GraphicsContext3D::vertexAttrib4fv):
40040         (WebCore::GraphicsContext3D::vertexAttribPointer):
40041         (WebCore::GraphicsContext3D::getBoolean):
40042         (WebCore::GraphicsContext3D::getBooleanv):
40043         (WebCore::GraphicsContext3D::getFloat):
40044         (WebCore::GraphicsContext3D::getFloatv):
40045         (WebCore::GraphicsContext3D::getInteger):
40046         (WebCore::GraphicsContext3D::getIntegerv):
40047         (WebCore::GraphicsContext3D::getBufferParameteri):
40048         (WebCore::GraphicsContext3D::getBufferParameteriv):
40049         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
40050         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
40051         (WebCore::GraphicsContext3D::getProgrami):
40052         (WebCore::GraphicsContext3D::getProgramiv):
40053         (WebCore::GraphicsContext3D::getRenderbufferParameteri):
40054         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
40055         (WebCore::GraphicsContext3D::getShaderi):
40056         (WebCore::GraphicsContext3D::getShaderiv):
40057         (WebCore::GraphicsContext3D::getTexParameterf):
40058         (WebCore::GraphicsContext3D::getTexParameterfv):
40059         (WebCore::GraphicsContext3D::getTexParameteri):
40060         (WebCore::GraphicsContext3D::getTexParameteriv):
40061         (WebCore::GraphicsContext3D::getUniformf):
40062         (WebCore::GraphicsContext3D::getUniformfv):
40063         (WebCore::GraphicsContext3D::getUniformi):
40064         (WebCore::GraphicsContext3D::getUniformiv):
40065         (WebCore::GraphicsContext3D::getVertexAttribf):
40066         (WebCore::GraphicsContext3D::getVertexAttribfv):
40067         (WebCore::GraphicsContext3D::getVertexAttribi):
40068         (WebCore::GraphicsContext3D::getVertexAttribiv):
40069         (WebCore::GraphicsContext3D::getVertexAttribOffset):
40070         (WebCore::GraphicsContext3D::texImage2D):
40071         (WebCore::GraphicsContext3D::texSubImage2D):
40072         (WebCore::GraphicsContext3D::sizeInBytes):
40074 2009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40076         Reviewed by Timothy Hatcher.
40078         Make m_windowVisible more consistent with the actual visibility of the inspector.
40080         * inspector/InspectorController.cpp:
40081         (WebCore::InspectorController::setWindowVisible):
40083 2009-09-07  Adam Barth  <abarth@webkit.org>
40085         Unreviewed speculative build fix for Snow Leopard.
40087         * platform/GeolocationService.cpp:
40088         (WebCore::createGeolocationServiceNull):
40090 2009-09-07  Steve Block  <steveblock@google.com>
40092         Reviewed by Adam Barth.
40094         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
40095         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
40096         Geolocation service with DumpRenderTree.
40097         https://bugs.webkit.org/show_bug.cgi?id=28264
40099         The mock Geolocation service returns a fixed position or error. This position or error can be
40100         set through static methods on the GeolocationService class. The position or error is shared
40101         between all instances of the mock Geolocation service.
40103         Implementation details.
40104         The GeolocationService object maintains a pointer to a factory function which it uses to create
40105         Geolocation service instances. Each platform implementing Geolocation sets this pointer
40106         to the factory function for their platform's implementation. When the mock Geolocation service
40107         is activated, the factory function pointer is reset to the factory function for the mock service.
40109         Test: fast/dom/Geolocation/error.html
40111         * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
40112         * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
40113         * WebCore.gypi: Modified. Added GeolocationServiceMock files.
40114         * WebCore.pro: Modified. Added GeolocationServiceMock files.
40115         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
40116         * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
40117         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
40118         * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
40119         * page/ChromeClient.h: Modified. Fixed comment.
40120         * page/Geolocation.cpp: Modified.
40121         (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
40122         * platform/GeolocationService.cpp: Modified.
40123         (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
40124         (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
40125         (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
40126         * platform/GeolocationService.h: Modified.
40127         * platform/mock: Added.
40128         * platform/mock/GeolocationServiceMock.cpp: Added.
40129         (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
40130         (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
40131         (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
40132         (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
40133         (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
40134         (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
40135         (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
40136         (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
40137         (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
40138         (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
40139         (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
40140         (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
40141         * platform/mock/GeolocationServiceMock.h: Added.
40142         (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
40143         (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
40144         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
40145         (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
40146         * platform/gtk/GeolocationServiceGtk.h: Modified.
40147         * platform/mac/GeolocationServiceMac.h: Modified.
40148         * platform/mac/GeolocationServiceMac.mm: Modified.
40149         (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
40151 2009-09-07  Adam Barth  <abarth@webkit.org>
40153         Reviewed by Dimitri Glazkov.
40155         https://bugs.webkit.org/show_bug.cgi?id=28985
40157         We need to be slightly more careful about how we pick up a script
40158         execution context.  In particular, we were getting the wrong document
40159         for frames that had been navigated somewhere else.
40161         In the long term, we should think about a better algorithm for
40162         computing the script context.
40164         Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
40166         * bindings/v8/V8Proxy.cpp:
40167         (WebCore::V8Proxy::retrieveFrame):
40169 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
40171         wx build fix for 2.8 compilation.
40173         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
40174         (wxRenderer_DrawScrollbar):
40176 2009-09-07  Drew Wilson  <atwilson@google.com>
40178         Unreviewed build fix.
40180         Reverting r48121 to fix Windows build errors.
40182         * DerivedSources.cpp:
40183         * GNUmakefile.am:
40184         * WebCore.xcodeproj/project.pbxproj:
40185         * bindings/js/JSDOMWindowCustom.cpp:
40186         * bindings/js/JSEventTarget.cpp:
40187         (WebCore::toJS):
40188         (WebCore::toEventTarget):
40189         * dom/EventTarget.cpp:
40190         * dom/EventTarget.h:
40191         * page/DOMWindow.idl:
40192         * websockets/WebSocket.cpp:
40193         (WebCore::WebSocket::connect):
40194         (WebCore::WebSocket::send):
40195         (WebCore::WebSocket::close):
40196         (WebCore::WebSocket::bufferedAmount):
40197         (WebCore::WebSocket::addEventListener):
40198         (WebCore::WebSocket::removeEventListener):
40199         (WebCore::WebSocket::dispatchEvent):
40200         (WebCore::WebSocket::didConnect):
40201         (WebCore::WebSocket::didReceiveMessage):
40202         (WebCore::WebSocket::didClose):
40203         (WebCore::WebSocket::dispatchOpenEvent):
40204         (WebCore::WebSocket::dispatchMessageEvent):
40205         (WebCore::WebSocket::dispatchCloseEvent):
40206         * websockets/WebSocket.h:
40207         (WebCore::WebSocket::create):
40208         (WebCore::WebSocket::):
40209         (WebCore::WebSocket::setOnopen):
40210         (WebCore::WebSocket::onopen):
40211         (WebCore::WebSocket::setOnmessage):
40212         (WebCore::WebSocket::onmessage):
40213         (WebCore::WebSocket::setOnclose):
40214         (WebCore::WebSocket::onclose):
40215         (WebCore::WebSocket::toWebSocket):
40216         (WebCore::WebSocket::refEventTarget):
40217         (WebCore::WebSocket::derefEventTarget):
40218         * websockets/WebSocketChannel.cpp: Removed.
40219         * websockets/WebSocketChannel.h: Removed.
40220         * websockets/WebSocketChannelClient.h: Removed.
40221         * websockets/WebSocketHandshake.cpp: Removed.
40222         * websockets/WebSocketHandshake.h: Removed.
40224 2009-09-07  Drew Wilson  <atwilson@google.com>
40226         Unreviewed speculative build fix.
40228         Reverted previous build fix as it didn't fix the problem.
40230         * bindings/js/JSEventTarget.cpp:
40231         (WebCore::toEventTarget):
40233 2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40235         Unreviewed, build fix.
40237         [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
40239         * WebCore.pro:
40241 2009-09-07  Drew Wilson  <atwilson@google.com>
40243         Unreviewed build fix.
40245         Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
40247         * bindings/js/JSEventTarget.cpp:
40248         (WebCore::toEventTarget):
40250 2009-09-07  Drew Wilson  <atwilson@google.com>
40252         Reviewed by David Levin.
40254         Enable SHARED_WORKERS by default.
40255         https://bugs.webkit.org/show_bug.cgi?id=28959
40257         Tests (enabled in a separate patch):
40258                fast/workers/shared-worker-constructor.html
40259                fast/workers/shared-worker-context-gc.html
40260                fast/workers/shared-worker-event-listener.html
40261                fast/workers/shared-worker-exception.html
40262                fast/workers/shared-worker-frame-lifecycle.html
40263                fast/workers/shared-worker-gc.html
40264                fast/workers/shared-worker-lifecycle.html
40265                fast/workers/shared-worker-load-error.html
40266                fast/workers/shared-worker-location.html
40267                fast/workers/shared-worker-navigator.html
40268                fast/workers/shared-worker-replace-global-constructor.html
40269                fast/workers/shared-worker-replace-self.html
40270                fast/workers/shared-worker-shared.html
40271                fast/workers/shared-worker-simple.html
40272                http/tests/workers/shared-worker-importScripts.html
40273                http/tests/workers/shared-worker-redirect.html
40274                http/tests/xmlhttprequest/workers/shared-worker-close.html
40275                http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
40276                http/tests/xmlhttprequest/workers/shared-worker-methods.html
40277                http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
40279         * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
40280         * Configurations/FeatureDefines.xcconfig:
40281         * WebCore.pro:
40282         * WebCore.vcproj/WebCoreCommon.vsprops:
40283         * WebCore.vcproj/build-generated-files.sh:
40284         * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
40285         * workers/DefaultSharedWorkerRepository.cpp:
40286         (WebCore::SharedWorkerScriptLoader::load):
40287         Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
40288         * workers/SharedWorkerContext.cpp:
40289         (WebCore::SharedWorkerContext::dispatchConnect):
40290         Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
40292 2009-09-07  Xan Lopez  <xlopez@igalia.com>
40294         Unreviewed build fix.
40296         Add new file to sources list.
40298         * GNUmakefile.am:
40300 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
40302         wx build fixes for wx SVN trunk. 
40304         * config.h:
40305         * platform/wx/RenderThemeWx.cpp:
40306         (WebCore::RenderThemeWx::paintButton):
40307         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
40308         (WebCore::drawTextWithSpacing):
40309         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
40310         (wxRenderer_DrawScrollbar):
40312 2009-09-07  Chris Hills <chaz@chaz6.com>
40314         Reviewed by Tor Arne Vestbø.
40316         [Qt] Use direct includes for Phonon, not the pretty ones
40318         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
40320 2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
40322         Reviewed by Alexey Proskuryakov.
40324         WebSocket API implementation.
40325         https://bugs.webkit.org/show_bug.cgi?id=28038
40326         
40327         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
40328         Other build systems will be updated once the code is functional.
40329         Tests will be landed once the code is completed and functional.
40331         * DerivedSources.cpp:
40332         * GNUmakefile.am:
40333         * WebCore.xcodeproj/project.pbxproj:
40334         * bindings/js/JSDOMWindowCustom.cpp:
40335         (WebCore::JSDOMWindow::webSocket):
40336         * bindings/js/JSEventTarget.cpp:
40337         (WebCore::toJS):
40338         (WebCore::toEventTarget):
40339         * dom/EventTarget.cpp:
40340         (WebCore::EventTarget::toWebSocket):
40341         * dom/EventTarget.h:
40342         * page/DOMWindow.idl:
40343         * websockets/WebSocket.cpp:
40344         (WebCore::ProcessWebSocketEventTask::create):
40345         (WebCore::ProcessWebSocketEventTask::performTask):
40346         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
40347         (WebCore::isValidProtocolString):
40348         (WebCore::WebSocket::connect):
40349         (WebCore::WebSocket::send):
40350         (WebCore::WebSocket::close):
40351         (WebCore::WebSocket::bufferedAmount):
40352         (WebCore::WebSocket::addEventListener):
40353         (WebCore::WebSocket::removeEventListener):
40354         (WebCore::WebSocket::dispatchEvent):
40355         (WebCore::WebSocket::didConnect):
40356         (WebCore::WebSocket::didReceiveMessage):
40357         (WebCore::WebSocket::didClose):
40358         (WebCore::WebSocket::dispatchOpenEvent):
40359         (WebCore::WebSocket::dispatchMessageEvent):
40360         (WebCore::WebSocket::dispatchCloseEvent):
40361         * websockets/WebSocket.h:
40362         (WebCore::WebSocket::create):
40363         (WebCore::WebSocket::):
40364         (WebCore::WebSocket::setOnopen):
40365         (WebCore::WebSocket::onopen):
40366         (WebCore::WebSocket::setOnmessage):
40367         (WebCore::WebSocket::onmessage):
40368         (WebCore::WebSocket::setOnclose):
40369         (WebCore::WebSocket::onclose):
40370         (WebCore::WebSocket::toWebSocket):
40371         (WebCore::WebSocket::eventListeners):
40372         (WebCore::WebSocket::refEventTarget):
40373         (WebCore::WebSocket::derefEventTarget):
40374         * websockets/WebSocketChannel.cpp: Added.
40375         * websockets/WebSocketChannel.h: Added.
40376         * websockets/WebSocketChannelClient.h: Added.
40377         * websockets/WebSocketHandshake.cpp: Added.
40378         * websockets/WebSocketHandshake.h: Added.
40380 2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
40382         Reviewed by Xan Lopez.
40384         https://bugs.webkit.org/show_bug.cgi?id=26854
40385         [GTK] Needs API to allow more control over outgoing requests
40387         Add infrastructure required to provide the new
40388         WebKitNetworkResponse object in our API.
40390         * GNUmakefile.am: Add new files to the build.
40391         * platform/network/soup/ResourceRequestSoup.cpp:
40392         (WebCore::ResourceRequest::updateFromSoupMessage):
40393         * platform/network/soup/ResourceResponse.h:
40394         * platform/network/soup/ResourceResponseSoup.cpp: Added.
40395         (WebCore::ResourceResponse::toSoupMessage):
40397 2009-09-07  Mads Ager  <ager@chromium.org>
40399         Reviewed by Adam Barth.
40401         [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
40402         https://bugs.webkit.org/show_bug.cgi?id=29009
40404         Be consistent in document and frame null checks.
40406         * bindings/v8/custom/V8DOMWindowCustom.cpp:
40407         (WebCore::V8Custom::WindowSetTimeoutImpl):
40408         (WebCore::ACCESSOR_GETTER):
40409         (WebCore::ACCESSOR_SETTER):
40410         (WebCore::CALLBACK_FUNC_DECL):
40411         (WebCore::NAMED_PROPERTY_GETTER):
40412         (WebCore::V8Custom::ClearTimeoutImpl):
40414 2009-09-07  Xan Lopez  <xlopez@igalia.com>
40416         Reviewed by Gustavo Noronha.
40418         [Soup] Limit the number of connections
40419         https://bugs.webkit.org/show_bug.cgi?id=18431
40421         Increase the maximum number of per host and total connections to
40422         similar values than those used by the other modern browsers. Seems
40423         to significantly improve page loading time in many cases.
40425         * platform/network/soup/ResourceHandleSoup.cpp:
40426         (WebCore::ensureSessionIsInitialized):
40428 2009-09-07  Michael Nordman  <michaeln@google.com>
40430         Reviewed by Darin Fisher.
40432         Various minor chromium appcache modifications.
40433         https://bugs.webkit.org/show_bug.cgi?id=28960
40435         No new tests.
40437         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
40438           Fix a null pointer exception.
40439         (WebCore::ACCESSOR_GETTER):
40440         * platform/network/chromium/ResourceRequest.h:
40441           Switch from appCache 'context' to 'host' terminology.
40442           Note: leaving the old deprecated accessors in place until the matching
40443           change in chrome is landed to use the new accessors.
40444         (WebCore::ResourceRequest::ResourceRequest):
40445         (WebCore::ResourceRequest::appCacheHostID):
40446         (WebCore::ResourceRequest::setAppCacheHostID):
40447         (WebCore::ResourceRequest::appCacheContextID):
40448         (WebCore::ResourceRequest::setAppCacheContextID):
40449         * platform/network/chromium/ResourceResponse.h:
40450           Add an appCacheManifestURL getter/setter.
40451           Drop the 'get' prefix from the appCacheID getter.
40452           Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
40453           change in chrome is landed to use the new accessor.
40454         (WebCore::ResourceResponse::appCacheID):
40455         (WebCore::ResourceResponse::appCacheManifestURL):
40456         (WebCore::ResourceResponse::setAppCacheManifestURL):
40457         (WebCore::ResourceResponse::getAppCacheID):
40459 2009-09-07  Michael Nordman  <michaeln@google.com>
40461         Reviewed by Alexey Proskuryakov.
40463         https://bugs.webkit.org/show_bug.cgi?id=28359
40464         Cleanup: Undo some accidental changes around DOMApplicationCache.
40465         - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
40466         - Return a non-null object for window.applicationCache when the feature is disabled.
40467         - Simplify the swapCache method.
40469         Test: http/tests/appcache/disabled.html
40471         * loader/appcache/DOMApplicationCache.cpp:
40472         (WebCore::DOMApplicationCache::DOMApplicationCache):
40473         (WebCore::DOMApplicationCache::swapCache):
40474         (WebCore::DOMApplicationCache::scriptExecutionContext):
40475         * loader/appcache/DOMApplicationCache.h:
40476         * page/DOMWindow.cpp:
40477         (WebCore::DOMWindow::applicationCache):
40479 2009-09-06  Yael Aharon  <yael.aharon@nokia.com>
40481         Reviewed by Darin Adler.
40483         hostname and host are mixed up when manipulating anchor elements.
40484         https://bugs.webkit.org/show_bug.cgi?id=28954
40486         handle the case of port 0.
40488         * html/HTMLAnchorElement.cpp:
40489         (WebCore::HTMLAnchorElement::host):
40491 2009-09-06  Erik Arvidsson  <arv@chromium.org>
40493         Reviewed by Eric Seidel.
40495         Make hidden elements not focusable.
40497         Clean up supportsFocus and isFocusable.
40498         supportsFocus now strictly means that the node can be focused by default.
40499         This is true for links, form controls and content editable elements for example.
40500         isFocusable means that the user can actually focus it.
40501         All (2) calls to supportsFocus have been updated to take this into account.
40502         
40503         Make a elements without href work correctly as well.
40505         https://bugs.webkit.org/show_bug.cgi?id=27099
40507         Tests: fast/events/click-focus-anchor.html
40508                fast/events/tab-focus-anchor.html
40509                fast/events/tab-focus-hidden.html
40511         * dom/Element.cpp:
40512         (WebCore::Element::focus):
40513         * dom/Node.cpp:
40514         (WebCore::Node::supportsFocus):
40515         (WebCore::Node::isFocusable):
40516         * dom/Node.h:
40517         * html/HTMLAnchorElement.cpp:
40518         (WebCore::HTMLAnchorElement::supportsFocus):
40519         (WebCore::HTMLAnchorElement::isMouseFocusable):
40520         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
40521         * html/HTMLAnchorElement.h:
40522         * html/HTMLAreaElement.cpp:
40523         (WebCore::HTMLAreaElement::supportsFocus):
40524         * html/HTMLAreaElement.h:
40525         * html/HTMLElement.cpp:
40526         (WebCore::HTMLElement::supportsFocus):
40527         * html/HTMLElement.h:
40528         * html/HTMLFieldSetElement.cpp:
40529         (WebCore::HTMLFieldSetElement::supportsFocus):
40530         * html/HTMLFieldSetElement.h:
40531         * html/HTMLFormControlElement.cpp:
40532         (WebCore::HTMLFormControlElement::supportsFocus):
40533         (WebCore::HTMLFormControlElement::isFocusable):
40534         * html/HTMLFrameElementBase.cpp:
40535         (WebCore::HTMLFrameElementBase::supportsFocus):
40536         * html/HTMLFrameElementBase.h:
40537         * html/HTMLLegendElement.cpp:
40538         (WebCore::HTMLLegendElement::supportsFocus):
40539         * html/HTMLLegendElement.h:
40540         * html/HTMLOptGroupElement.cpp:
40541         (WebCore::HTMLOptGroupElement::supportsFocus):
40542         (WebCore::HTMLOptGroupElement::isFocusable):
40543         * html/HTMLOptGroupElement.h:
40544         * html/HTMLOptionElement.cpp:
40545         (WebCore::HTMLOptionElement::supportsFocus):
40546         (WebCore::HTMLOptionElement::isFocusable):
40547         * html/HTMLOptionElement.h:
40548         * page/EventHandler.cpp:
40549         (WebCore::EventHandler::dispatchMouseEvent):
40550         * page/FocusController.cpp:
40551         (WebCore::FocusController::advanceFocus):
40552         * svg/SVGAElement.cpp:
40553         (WebCore::SVGAElement::supportsFocus):
40554         (WebCore::SVGAElement::isFocusable):
40555         * wml/WMLAElement.cpp:
40556         (WebCore::WMLAElement::supportsFocus):
40557         * wml/WMLAElement.h:
40558         * wml/WMLFormControlElement.cpp:
40559         (WebCore::WMLFormControlElement::supportsFocus):
40560         (WebCore::WMLFormControlElement::isFocusable):
40561         * wml/WMLFormControlElement.h:
40563 2009-09-06  Joel Stanley  <joel@jms.id.au>
40565         Reviewed by Dimitri Glazkov.
40567         Expose functions to set the caret blink interval for Linux Chromium.
40568         Default value is set to that of RenderTheme::caretBlankInterval().
40569         Uses caretBlinkIntervalInternal to avoid overriding
40570         RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
40571         of blinking caret required for layout tests.
40572         https://bugs.webkit.org/show_bug.cgi?id=28931
40574         * rendering/RenderThemeChromiumLinux.cpp:
40575         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
40576         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
40577         (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
40578         * rendering/RenderThemeChromiumLinux.h:
40580 2009-09-06  Ada Chan  <adachan@apple.com>
40582         Remove an extra </File> in WebCore.vcproj.
40584         * WebCore.vcproj/WebCore.vcproj:
40586 2009-09-06  Timothy Hatcher  <timothy@apple.com>
40588         Adds a persistent setting for color format in the Web Inspector.
40590         https://bugs.webkit.org/show_bug.cgi?id=28889
40592         Reviewed by Dan Bernstein.
40594         * English.lproj/localizedStrings.js: New strings.
40595         * inspector/front-end/Color.js: Minor style fixes.
40596         (WebInspector.Color.prototype.toString): Added. Replaces the individual
40597         "toFoo" functions. Takes a optional arguments for the color format to return.
40598         * inspector/front-end/Images/paneSettingsButtons.png: Added.
40599         * inspector/front-end/StylesSidebarPane.js:
40600         (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
40601         the new color format.
40602         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
40603         Use the new toString function on Color.
40604         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
40605         to format colors by default. Add a tooltip for the color swatch.
40606         * inspector/front-end/inspector.css: New styles for the settings menu.
40607         * inspector/front-end/inspector.js:
40608         (WebInspector.loaded): Initilize the colorFormat preference.
40610 2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40612         Reviewed by Eric Seidel.
40614         [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
40615         https://bugs.webkit.org/show_bug.cgi?id=28993
40617         * platform/network/qt/DnsPrefetchHelper.cpp:
40618         * platform/network/qt/DnsPrefetchHelper.h:
40620 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
40622         Reviewed by Eric Seidel.
40624         Drop <definition-src> support
40625         https://bugs.webkit.org/show_bug.cgi?id=28991
40627         http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
40629         * DerivedSources.cpp: Remove references to definition-src.
40630         * DerivedSources.make: Ditto.
40631         * GNUmakefile.am: Ditto.
40632         * WebCore.gypi: Ditto.
40633         * WebCore.pro: Ditto.
40634         * WebCore.vcproj/WebCore.vcproj: Ditto.
40635         * WebCore.xcodeproj/project.pbxproj: Ditto.
40636         * bindings/objc/DOM.mm:
40637         (WebCore::createElementClassMap): Ditto.
40638         * bindings/objc/DOMSVG.h: Ditto.
40639         * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
40640         * bindings/v8/V8DOMWrapper.cpp: Ditto.
40641         * bindings/v8/V8Index.cpp: Ditto.
40642         * bindings/v8/V8Index.h: Ditto.
40643         * svg/SVGAllInOne.cpp: Ditto.
40644         * svg/SVGDefinitionSrcElement.cpp: Removed.
40645         * svg/SVGDefinitionSrcElement.h: Removed.
40646         * svg/SVGDefinitionSrcElement.idl: Removed.
40647         * svg/SVGFontFaceElement.cpp:
40648         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
40649         definition-src child.
40650         * svg/svgtags.in: Remove definition-src.
40652 2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
40654         Unreviewed, build fix.
40656         [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
40657         logic of retrieving default caret blink interval was incorrect (non-existent)
40658         and caused layout test flakiness.
40660         * rendering/RenderThemeChromiumLinux.cpp:
40661         * rendering/RenderThemeChromiumLinux.h:
40663 2009-09-05  Jian Li  <jianli@chromium.org>
40665         Reviewed by NOBODY (Chromium reliability build break).
40667         Back up partial change in r48072 in order to fix chromium reliability build break.
40669         * bindings/v8/V8AbstractEventListener.cpp:
40670         (WebCore::V8AbstractEventListener::invokeEventHandler):
40672 2009-09-05  Nicolas Weber  <thakis@chromium.org>
40674         Reviewed by Darin Fisher.
40676         https://bugs.webkit.org/show_bug.cgi?id=28975
40677         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
40678         such as screenshots by default, can now be uploaded to sites such as
40679         imgur.com.
40681         * platform/FileSystem.h:
40682         Add pathGetDisplayFileName().
40683         * platform/chromium/FileChooserChromium.cpp:
40684         (WebCore::FileChooser::basenameForWidth):
40685         Call pathGetDisplayFileName() instead of pathGetFileName().
40686         * platform/chromium/FileSystemChromiumLinux.cpp:
40687         (WebCore::pathGetDisplayFileName):
40688         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
40689         * platform/chromium/FileSystemChromiumMac.mm:
40690         (WebCore::pathGetFileName):
40691         Now returns a real filename instead of a presentational one, which
40692         fixes the problem addressed by this change.
40693         (WebCore::pathGetDisplayFileName):
40694         New function that returns a presentational filename; does what
40695         pathGetDisplayFileName() did prior to this patch.
40696         * platform/chromium/FileSystemChromiumWin.cpp:
40697         (WebCore::pathGetDisplayFileName):
40698         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
40700 2009-09-05  Joel Stanley  <joel@jms.id.au>
40702         Reviewed by David Levin.
40704         Expose functions to set the caret blink interval for Linux Chromium.
40705         https://bugs.webkit.org/show_bug.cgi?id=28931
40707         * rendering/RenderThemeChromiumLinux.cpp:
40708         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
40709         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
40710         * rendering/RenderThemeChromiumLinux.h:
40712 2009-09-04  Dmitry Titov  <dimich@chromium.org>
40714         Reviewed by David Levin.
40716         Prevent UI freeze in case when too many timers are in the timer queue.
40717         https://bugs.webkit.org/show_bug.cgi?id=23865
40719         The fix measures the elapsed time while executing timers. If we have too many
40720         timers and it takes significant time to fire, quit the loop and reschedule.
40721         This lets the run loop process user input (close the window for example).
40723         * platform/ThreadTimers.h:
40724         * platform/ThreadTimers.cpp:
40725         (WebCore::ThreadTimers::sharedTimerFiredInternal):
40726         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
40727         Removed functions and members used before to grab a list of all expired timers.
40728         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
40729         * platform/Timer.cpp:
40730         (WebCore::TimerBase::isActive):
40731         (WebCore::TimerBase::setNextFireTime):
40732         Since timers are now fired one by one, there is no need to keep track of updated timers.
40733         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
40734         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
40735         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
40736         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
40737         eventSender, which does not reproduce the UI freeze that happens with real input.
40739 2009-09-04  Anders Carlsson  <andersca@apple.com>
40741         Reviewed by Adele Peterson.
40743         <rdar://problem/7201063>
40744         
40745         Detach any custom scrollbars before detaching the document.
40746         
40747         * page/Frame.cpp:
40748         (WebCore::Frame::setView):
40750 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40752                 Unreviewed, build fix.
40754                 Remove remaining references to UserStyleSheetLoader after r48075.
40756                 * WebCore.gypi:
40757                 * WebCore.xcodeproj/project.pbxproj:
40758                 * page/qt/FrameQt.cpp:
40759                 * page/wince/FrameWince.cpp:
40761 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
40763                 Reviewed by David Levin.
40765                 https://bugs.webkit.org/show_bug.cgi?id=28988
40766                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
40767                 HTML5 specs:
40768                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
40770                 * html/HTMLFormElement.cpp:
40771                 (WebCore::HTMLFormElement::noValidate):
40772                 (WebCore::HTMLFormElement::setNoValidate):
40773                 * html/HTMLFormElement.h:
40774                 * html/HTMLFormElement.idl:
40776 2009-09-04  Dmitry Titov  <dimich@chromium.org>
40778         Reviewed by David Levin.
40780         Remove unused line of code from WorkerContext
40781         https://bugs.webkit.org/show_bug.cgi?id=28990
40783         * workers/WorkerContext.cpp:
40784         (WebCore::WorkerContext::importScripts):
40786 2009-09-04  Darin Adler  <darin@apple.com>
40788         Reviewed by Oliver Hunt.
40790         Fix assertion seen when running buildbot.
40792         * bindings/js/JSDOMBinding.h:
40793         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
40794         the HasDefaultMark bit since this has a custom mark function.
40796 2009-09-04  Dave Hyatt  <hyatt@apple.com>
40798         Reviewed by Adam Roben.
40800         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
40801         Make sure the other code path (now used by everybody) can handle data URLs.
40803         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
40804         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
40805         that anybody is relying on this support.
40806         
40807         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
40808         code.
40810         * WebCore.pro:
40811         * WebCore.xcodeproj/project.pbxproj:
40812         * dom/Document.cpp:
40813         (WebCore::Document::userStyleSheet):
40814         * dom/Document.h:
40815         * loader/FrameLoader.cpp:
40816         (WebCore::FrameLoader::begin):
40817         * loader/UserStyleSheetLoader.cpp: Removed.
40818         * loader/UserStyleSheetLoader.h: Removed.
40819         * page/Frame.cpp:
40820         (WebCore::Frame::reapplyStyles):
40821         * page/Frame.h:
40822         * page/Page.cpp:
40823         (WebCore::Page::userStyleSheetLocationChanged):
40824         (WebCore::Page::userStyleSheet):
40825         * page/mac/FrameMac.mm:
40826         * page/qt/FrameQt.cpp:
40828 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
40830         Reviewed by Timothy Hatcher.
40832         Add "sampling profiler" preference, simplify data display when it's set.
40834         https://bugs.webkit.org/show_bug.cgi?id=28969
40836         * inspector/front-end/ProfileDataGridTree.js:
40837         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
40838         (WebInspector.ProfileDataGridNode.prototype.get data):
40839         * inspector/front-end/ProfileView.js:
40840         (WebInspector.ProfileView):
40841         * inspector/front-end/inspector.js:
40843 2009-09-04  Jian Li  <jianli@chromium.org>
40845         Reviewed by Adam Barth.
40847         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
40848         https://bugs.webkit.org/show_bug.cgi?id=28980
40850         Tested by worker-close.html.
40852         * bindings/v8/ScriptFunctionCall.cpp:
40853         * bindings/v8/V8AbstractEventListener.cpp:
40854         (WebCore::V8AbstractEventListener::invokeEventHandler):
40855         * bindings/v8/V8Utilities.cpp:
40856         (WebCore::getScriptExecutionContext):
40857         (WebCore::reportException):
40858         * bindings/v8/V8Utilities.h:
40859         (WebCore::getScriptExecutionContext):
40860         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
40861         (WebCore::CALLBACK_FUNC_DECL):
40862         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
40863         (WebCore::CALLBACK_FUNC_DECL):
40864         * bindings/v8/custom/V8WorkerCustom.cpp:
40865         (WebCore::CALLBACK_FUNC_DECL):
40866         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
40867         (WebCore::CALLBACK_FUNC_DECL):
40868         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
40869         (WebCore::CALLBACK_FUNC_DECL):
40871 2009-09-04  Dave Hyatt  <hyatt@apple.com>
40873         Reviewed by Anders Carlsson.
40875         Remove unused m_sheet variable and setCSSStyleSheet methods.
40877         * dom/Document.cpp:
40878         * dom/Document.h:
40880 2009-09-04  Anders Carlsson  <andersca@apple.com>
40882         Reviewed by David Hyatt and Adele Peterson.
40884         (Based on a patch from Adele).
40885         
40886         Fix <rdar://problem/7185875>.
40887         
40888         * page/Frame.cpp:
40889         (WebCore::Frame::setView):
40890         Detach any custom scroll bars from the old view.
40891         
40892         * page/FrameView.cpp:
40893         (WebCore::FrameView::detachCustomScrollbars):
40894         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
40895         not a RenderPart object.
40897         * rendering/RenderObject.cpp:
40898         (WebCore::RenderObject::destroy):
40899         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
40901 2009-09-04  Dave Hyatt  <hyatt@apple.com>
40903         Reviewed by Adam Roben.
40905         Make m_userStyleSheetLoader in Frame an OwnPtr.
40907         * page/Frame.cpp:
40908         (WebCore::Frame::Frame):
40909         (WebCore::Frame::~Frame):
40910         * page/Frame.h:
40911         * page/mac/FrameMac.mm:
40912         (WebCore::Frame::setUserStyleSheetLocation):
40913         (WebCore::Frame::setUserStyleSheet):
40915 2009-09-04  Timothy Hatcher  <timothy@apple.com>
40917         Show color swatches in the Web Inspector before the color text so clicking them will not
40918         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
40920         https://bugs.webkit.org/show_bug.cgi?id=28978
40922         Reviewed by Darin Adler.
40924         * inspector/front-end/StylesSidebarPane.js:
40925         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
40926         the processing we do on the property value. This eliminated the old nickname code, since the new
40927         WebInspector.Color class handles this. We could also simplify the color regex since more
40928         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
40929         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
40930         process a value given a regex and processor functions. 
40931         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
40932         URL with "url()" syntax surrounding it.
40933         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
40934         there was an exception just return a text node.
40935         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
40936         Moved from later in the file.
40937         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
40938         * inspector/front-end/inspector.css:
40940 2009-09-04  Mark Mentovai  <mark@chromium.org>
40942         Reviewed by Dave Hyatt.
40944         https://bugs.webkit.org/show_bug.cgi?id=28614
40946         Account for scrollbar state changes that occur during layout.
40948         * platform/ScrollView.cpp:
40949         (WebCore::ScrollView::updateScrollbars):
40951         Perform a layout prior to checking whether the scrollbar modes are
40952         off, on, or automatic.  The modes may change during layout.
40954         * WebCore.base.exp:
40955         * WebCore.order:
40956         * page/Frame.cpp:
40957         (WebCore::Frame::createView):
40958         * page/FrameView.cpp:
40959         (WebCore::FrameView::FrameView):
40960         (WebCore::FrameView::resetScrollbars):
40961         (WebCore::FrameView::layout):
40962         * page/FrameView.h:
40963         * platform/ScrollView.h:
40965         Eliminate duplicated (and incorrect) scrollbar mode tracking between
40966         FrameView and ScrollView.
40968 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
40970         Reviewed by Darin Adler.
40972         hostname and host are mixed up when manipulating anchor elements.
40973         https://bugs.webkit.org/show_bug.cgi?id=28954
40975         Swapped the implementation of host and hostname, and made sure not to return
40976         the port number if it is default for the given protocol. 
40977         FireFox also avoids returning the protocol number if it is default.
40979         Test: fast/dom/Element/hostname-host.html
40981         * html/HTMLAnchorElement.cpp:
40982         (WebCore::HTMLAnchorElement::host):
40983         (WebCore::HTMLAnchorElement::hostname):
40984         * page/SecurityOrigin.cpp:
40985         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
40986         * page/SecurityOrigin.h:
40988 2009-09-04  Anders Carlsson  <andersca@apple.com>
40990         Reviewed by Darin Adler and Steve Falkenburg.
40992         Fix <rdar://problem/7192902>.
40994         Add the necessary plumbing for having QTMovieWin use WebCore timers.
40995         
40996         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
40997         (WebCore::TaskTimer::initialize):
40998         Create the timer and call QTMovieWin::setTaskTimerFuncs.
40999         
41000         (WebCore::TaskTimer::setTaskTimerDelay):
41001         Start the timer.
41002         
41003         (WebCore::TaskTimer::stopTaskTimer):
41004         Stop the timer.
41005         
41006         (WebCore::TaskTimer::fired):
41007         Call QTMovieWin::taskTimerFired().
41008         
41009         (WebCore::MediaPlayerPrivate::load):
41010         Initialize the Task timer.
41011         
41012         * platform/graphics/win/QTMovieWin.cpp:
41013         (updateTaskTimer):
41014         Call the global stopTaskTimer function and setTaskTimerDelay.
41015         
41016         (QTMovieWin::taskTimerFired):
41017         Make this a member function.
41018         
41019         (QTMovieWin::setTaskTimerFuncs):
41020         Set the global function pointers.
41021         
41022         (QTMovieWin::initializeQuickTime):
41023         (DllMain):
41024         No need to use the QT shared timer.
41025         * platform/graphics/win/QTMovieWin.h:
41027 2009-09-04  Tony Chang  <tony@chromium.org>
41029         Reviewed by David Levin.
41031         Fix Chromium Win compile.  Missing return statement in
41032         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
41033         https://bugs.webkit.org/show_bug.cgi?id=28974
41035         No new tests, build fix.
41037         * rendering/RenderThemeChromiumSkia.cpp:
41038         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
41040 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
41042         Unreviewed, build fix.
41044         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
41045         the build.
41046         https://bugs.webkit.org/show_bug.cgi?id=28696
41048 2009-09-04  Anders Carlsson  <andersca@apple.com>
41050         Fix vcproj file.
41052         * WebCore.vcproj/WebCore.vcproj:
41054 2009-09-03  Dave Hyatt  <hyatt@apple.com>
41056         Reviewed by Adam Roben.
41058         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
41059         
41060         This patch adds new API for adding and removing user scripts from page groups.  User scripts
41061         are bundled together in isolated worlds (you can have multiple scripts together in the same
41062         world).
41064         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
41066         * WebCore.base.exp:
41067         * WebCore.vcproj/WebCore.vcproj:
41068         * WebCore.xcodeproj/project.pbxproj:
41069         * bindings/js/ScriptController.cpp:
41070         (WebCore::ScriptController::evaluateInIsolatedWorld):
41071         * bindings/js/ScriptController.h:
41072         * bindings/v8/ScriptController.cpp:
41073         (WebCore::ScriptController::evaluateInIsolatedWorld):
41074         * bindings/v8/ScriptController.h:
41075         * loader/FrameLoader.cpp:
41076         (WebCore::FrameLoader::finishedParsing):
41077         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
41078         * page/Frame.cpp:
41079         (WebCore::Frame::injectUserScripts):
41080         (WebCore::Frame::injectUserScriptsForWorld):
41081         * page/Frame.h:
41082         * page/PageGroup.cpp:
41083         (WebCore::PageGroup::~PageGroup):
41084         (WebCore::PageGroup::addUserScript):
41085         (WebCore::PageGroup::removeUserContentForWorld):
41086         (WebCore::PageGroup::removeAllUserContent):
41087         * page/PageGroup.h:
41088         (WebCore::PageGroup::userScripts):
41089         * page/UserScript.h: Added.
41090         (WebCore::UserScript::UserScript):
41091         (WebCore::UserScript::source):
41092         (WebCore::UserScript::url):
41093         (WebCore::UserScript::patterns):
41094         (WebCore::UserScript::worldID):
41095         (WebCore::UserScript::injectionTime):
41096         * page/UserScriptTypes.h: Added.
41097         (WebCore::):
41099 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
41101         Reviewed by Eric Seidel.
41103         https://bugs.webkit.org/show_bug.cgi?id=26402
41104         Crashes when using a detached DocumentType node
41106         Test: fast/dom/DOMImplementation/detached-doctype.html
41108         DocumentType nodes are the only one that can have null document(), and they can never have
41109         children, so they are a degenerate case for NodeLists.
41111         * dom/Node.cpp:
41112         (WebCore::Node::childNodes): Don't try register node list with document if there's no
41113         document. Since there are no changes possible for a DocumentType's node list, this is not
41114         necessary.
41115         (WebCore::Node::registerDynamicNodeList): Ditto.
41116         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
41117         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
41118         de-registration code path that I saw taken was via Node destructor, and that already has
41119         a null check for document).
41121         * bindings/js/JSNodeCustom.cpp:
41122         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
41123         if there is no window).
41124         (WebCore::JSNode::removeEventListener): Ditto.
41126 2009-09-04  Xan Lopez  <xlopez@igalia.com>
41128         Reviewed by Gustavo Noronha.
41130         [GTK] loadFinished never emitted
41131         https://bugs.webkit.org/show_bug.cgi?id=28935
41133         Do not report errors right away from
41134         ResourceHandle::start. Instead return true and schedule an error
41135         to be reported in the handle later. Otherwise WebCore gets
41136         confused and thinks the resource never finished loading, making it
41137         not emit the finished status.
41139         * platform/network/soup/ResourceHandleSoup.cpp:
41140         (WebCore::startHttp):
41141         (WebCore::):
41143 2009-09-04  Ben Murdoch  <benm@google.com>
41145         Reviewed by Eric Seidel.
41147         [V8] DOM Storage bindings: Event Handler should create StorageEvents
41148         https://bugs.webkit.org/show_bug.cgi?id=28942
41149         
41150         Tests:
41151         Causes the following tests that were failing with V8 to pass:
41152         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
41153         * storage/domstorage/localstorage/complex-keys.html
41154         * storage/domstorage/localstorage/onstorage-attribute-markup.html
41155         * storage/domstorage/localstorage/simple-events.html
41156         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
41157         * storage/domstorage/localstorage/index-get-and-set.html
41158         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
41159         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
41160         * storage/domstorage/sessionstorage/simple-events.html
41161         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
41162         * storage/domstorage/sessionstorage/index-get-and-set.html
41164         Code changes:
41165         * bindings/v8/V8DOMWrapper.cpp:
41166         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
41167         * bindings/v8/custom/V8StorageCustom.cpp:
41168         (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
41170 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
41172         Reviewed by Timothy Hatcher.
41174         https://bugs.webkit.org/show_bug.cgi?id=28911
41176         * WebCore.gypi:
41177         * WebCore.vcproj/WebCore.vcproj:
41178         * inspector/InspectorBackend.cpp:
41179         (WebCore::InspectorBackend::dispatchOnInjectedScript):
41180         * inspector/InspectorBackend.h:
41181         * inspector/InspectorBackend.idl:
41182         * inspector/front-end/ConsoleView.js:
41183         (WebInspector.ConsoleView.prototype.doEvalInWindow):
41184         (WebInspector.ConsoleView.prototype._formatarray):
41185         (WebInspector.ConsoleView.prototype._formatnode):
41186         * inspector/front-end/DOMAgent.js:
41187         * inspector/front-end/ElementsPanel.js:
41188         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
41189         (WebInspector.ElementsPanel.prototype.searchCanceled):
41190         (WebInspector.ElementsPanel.prototype.performSearch):
41191         * inspector/front-end/InjectedScript.js:
41192         (InjectedScript.dispatch):
41193         * inspector/front-end/InjectedScriptAccess.js: Added.
41194         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
41195         (InjectedScriptAccess._installHandler):
41196         * inspector/front-end/MetricsSidebarPane.js:
41197         (WebInspector.MetricsSidebarPane.prototype.update):
41198         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
41199         * inspector/front-end/ObjectPropertiesSection.js:
41200         (WebInspector.ObjectPropertiesSection.prototype.update):
41201         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
41202         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
41203         * inspector/front-end/PropertiesSidebarPane.js:
41204         (WebInspector.PropertiesSidebarPane.prototype.update):
41205         * inspector/front-end/ResourcesPanel.js:
41206         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
41207         * inspector/front-end/ScriptsPanel.js:
41208         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
41209         * inspector/front-end/StylesSidebarPane.js:
41210         (WebInspector.StylesSidebarPane.prototype.update):
41211         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
41212         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
41213         (WebInspector.StylePropertyTreeElement.prototype):
41214         * inspector/front-end/inspector.html:
41216 2009-09-04  Tony Chang  <tony@chromium.org>
41218         Reviewed by Eric Seidel.
41220         Implement <input type="range"> for Chromium Linux by painting
41221         the slider and the thumb using skia.
41222         https://bugs.webkit.org/show_bug.cgi?id=28928
41224         Covered by existing tests (we're currently hitting an assert for them).
41226         * rendering/RenderThemeChromiumLinux.cpp:
41227         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
41228         * rendering/RenderThemeChromiumLinux.h:
41229         * rendering/RenderThemeChromiumSkia.cpp:
41230         (WebCore::drawVertLine):
41231         (WebCore::drawHorizLine):
41232         (WebCore::drawBox):
41233         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
41234         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
41235         * rendering/RenderThemeChromiumSkia.h:
41237 2009-09-04  Kent Tamura  <tkent@chromium.org>
41239         Reviewed by Eric Seidel.
41241         - Implement <input type=color> as a text field.
41242         - ValidityState::typeMismatch supports for type=color.
41243         https://bugs.webkit.org/show_bug.cgi?id=28966
41245         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
41246                fast/forms/ValidityState-typeMismatch-color.html
41248         * html/HTMLInputElement.cpp:
41249         (WebCore::HTMLInputElement::valueMissing):
41250         (WebCore::HTMLInputElement::patternMismatch):
41251         (WebCore::HTMLInputElement::setInputType):
41252         (WebCore::HTMLInputElement::formControlType):
41253         (WebCore::HTMLInputElement::saveFormControlState):
41254         (WebCore::HTMLInputElement::restoreFormControlState):
41255         (WebCore::HTMLInputElement::accessKeyAction):
41256         (WebCore::HTMLInputElement::rendererIsNeeded):
41257         (WebCore::HTMLInputElement::createRenderer):
41258         (WebCore::HTMLInputElement::appendFormData):
41259         (WebCore::HTMLInputElement::valueWithDefault):
41260         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
41261         (WebCore::HTMLInputElement::defaultEventHandler):
41262         (WebCore::HTMLInputElement::isRequiredFormControl):
41263         (WebCore::HTMLInputElement::dataList):
41264         * html/HTMLInputElement.h:
41265         (WebCore::HTMLInputElement::):
41266         (WebCore::HTMLInputElement::isTextField):
41267         * html/ValidityState.cpp:
41268         (WebCore::ValidityState::typeMismatch):
41269         (WebCore::ValidityState::isValidColorString):
41270         * html/ValidityState.h:
41272 2009-09-04  Mads Ager  <ager@chromium.org>
41274         Reviewed by David Levin.
41276         [V8] Crash when updating document cache
41277         https://bugs.webkit.org/show_bug.cgi?id=28965
41279         Initialization of a V8 JavaScript context can fail.  When that
41280         happens, do not attempt to update the document wrapper cache.
41282         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
41284         * bindings/v8/V8Proxy.cpp:
41285         (WebCore::V8Proxy::updateDocument):
41287 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
41289         Reviewed by Eric Seidel.
41291         Two bugs:
41293         https://bugs.webkit.org/show_bug.cgi?id=25489
41294         CSS property background-position is now serialized in shorthand string as
41295         background-position-x background-position-y, as the specification requires
41296         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
41297         
41299         https://bugs.webkit.org/show_bug.cgi?id=26541
41300         CSS background-color is now be serialized before other background properties, 
41301         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
41303         An existing layout test that accepted wrong order and skipped position test 
41304         had to be modified.
41306         * css/CSSMutableStyleDeclaration.cpp:
41307         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
41309 2009-09-03  Kent Tamura  <tkent@chromium.org>
41311         Reviewed by David Levin.
41313         Add support for HTMLTextAreaElement.textLength
41314         https://bugs.webkit.org/show_bug.cgi?id=28929
41316         Test: fast/forms/textarea-textlength.html
41318         * html/HTMLTextAreaElement.h:
41319         (WebCore::HTMLTextAreaElement::textLength):
41320         * html/HTMLTextAreaElement.idl:
41322 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
41324         Reviewed by Darin Adler.
41326         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
41327         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
41329         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
41331         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
41332         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
41333         DocumentType node in two documents.
41335 2009-09-03  Brady Eidson  <beidson@apple.com>
41337         Reviewed by Sam Weinig.
41339         Page Cache should support pages with Frames.
41340         https://bugs.webkit.org/show_bug.cgi?id=13631
41342         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
41343                fast/loader/frames-with-unload-handlers-in-page-cache.html
41345         * loader/FrameLoader.cpp:
41346         (WebCore::FrameLoader::canCachePageContainingThisFrame):
41347         (WebCore::FrameLoader::logCanCacheFrameDecision):
41349 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
41351         Reviewed by Eric Seidel.
41353         Handle middle click in Chromium like QT
41354         https://bugs.webkit.org/show_bug.cgi?id=28696
41356         Tested by middle-click-onpaste.html.
41358         * platform/Pasteboard.h:
41359         * platform/chromium/ChromiumBridge.h:
41360         * platform/chromium/ClipboardChromium.cpp:
41361         (WebCore::ClipboardChromium::getData):
41362         * platform/chromium/PasteboardChromium.cpp:
41363         (WebCore::Pasteboard::Pasteboard):
41364         (WebCore::Pasteboard::isSelectionMode):
41365         (WebCore::Pasteboard::setSelectionMode):
41366         (WebCore::Pasteboard::canSmartReplace):
41367         (WebCore::Pasteboard::plainText):
41368         (WebCore::Pasteboard::documentFragment):
41369         * platform/chromium/PasteboardPrivate.h:
41370         (WebCore::PasteboardPrivate::):
41372 2009-09-03  Brady Eidson  <beidson@apple.com>
41374         Reviewed by Sam Weinig.
41376         More partial work towards "Page Cache should support pages with Frames"
41377         https://bugs.webkit.org/show_bug.cgi?id=13631
41379         Fix a bug where subframes weren't asked if they were cacheable.
41381         No new tests, especially since page caching for frames isn't turned on yet.
41382         A layout test will come in my next patch, which enables frames in the page cache.
41384         * loader/FrameLoader.cpp:
41385         (WebCore::FrameLoader::canCachePageContainingThisFrame):
41387 2009-09-03  Adam Barth  <abarth@webkit.org>
41389         Reviewed by eric@webkit.org.
41391         https://bugs.webkit.org/show_bug.cgi?id=24696
41393         Added mixed content methods to FrameLoaderClient.
41395         * loader/EmptyClients.h:
41396         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
41397         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
41398         * loader/FrameLoaderClient.h:
41400 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
41402         Reviewed by Kevin Ollivier.
41404         [wx] Frames support
41405         https://bugs.webkit.org/show_bug.cgi?id=19041
41407         * page/wx/EventHandlerWx.cpp:
41408         (WebCore::EventHandler::passMousePressEventToSubframe):
41409         (WebCore::EventHandler::passMouseMoveEventToSubframe):
41410         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
41411         (WebCore::EventHandler::passWheelEventToWidget):
41412         (WebCore::EventHandler::tabsToAllControls):
41413         (WebCore::EventHandler::passSubframeEventToSubframe):
41414         (WebCore::EventHandler::passMouseDownEventToWidget):
41415         * platform/wx/RenderThemeWx.cpp:
41416         (WebCore::nativeWindowForRenderObject):
41417         (WebCore::RenderThemeWx::paintButton):
41418         (WebCore::RenderThemeWx::paintTextField):
41419         (WebCore::RenderThemeWx::paintMenuList):
41420         (WebCore::RenderThemeWx::paintMenuListButton):
41421         * platform/wx/ScrollbarThemeWx.cpp: Added.
41422         (WebCore::ScrollbarTheme::nativeTheme):
41423         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
41424         (WebCore::ScrollbarThemeWx::scrollbarThickness):
41425         (WebCore::ScrollbarThemeWx::hasThumb):
41426         (WebCore::ScrollbarThemeWx::buttonSize):
41427         (WebCore::ScrollbarThemeWx::backButtonRect):
41428         (WebCore::ScrollbarThemeWx::forwardButtonRect):
41429         (WebCore::ScrollbarThemeWx::trackRect):
41430         (WebCore::ScrollbarThemeWx::paintScrollCorner):
41431         (WebCore::ScrollbarThemeWx::paint):
41432         * platform/wx/ScrollbarThemeWx.h: Added.
41433         (WebCore::ScrollbarThemeWx::hasButtons):
41434         * platform/wx/TemporaryLinkStubs.cpp:
41435         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
41436         (wxStyleForPart):
41437         (GetButtonWidget):
41438         (wxGetGdkWindowForDC):
41439         (wxRenderer_DrawScrollbar):
41440         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
41441         (wxScrollbarPartToHIPressedState):
41442         (wxRenderer_DrawScrollbar):
41443         * platform/wx/wxcode/scrollbar_render.h: Added.
41444         (calcThumbStartAndLength):
41445         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
41446         (WebCore::drawTextWithSpacing):
41447         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
41448         (GraphicsHDC::GraphicsHDC):
41449         (GraphicsHDC::~GraphicsHDC):
41450         (GraphicsHDC::operator HDC):
41451         (getTSStateForPart):
41452         (wxRenderer_DrawScrollbar):
41453         * webcore-wx.bkl:
41455 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
41457         Reviewed by Simon Hausmann.
41459         [Qt] Page content is not displayed in case of HTTP status error
41460         https://bugs.webkit.org/show_bug.cgi?id=28949
41462         If the server sent content, show it to the user instead of an error,
41463         even if the HTTP status code is not success.
41465         * platform/network/qt/QNetworkReplyHandler.cpp:
41466         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41467         (WebCore::QNetworkReplyHandler::finish):
41468         (WebCore::QNetworkReplyHandler::forwardData):
41469         (WebCore::QNetworkReplyHandler::resetState):
41470         * platform/network/qt/QNetworkReplyHandler.h:
41472 2009-09-03  Drew Wilson  <atwilson@google.com>
41474         Reviewed by Dimitri Glazkov.
41476         Need to update v8 bindings to support passing multiple ports to postMessage()
41477         https://bugs.webkit.org/show_bug.cgi?id=28839
41479         Added support for passing MessagePortArray to v8 bindings.
41481         New tests that now pass with V8:
41482                fast/events/message-port-multi.html
41483                fast/workers/worker-context-multi-port.html
41484                fast/workers/worker-multi-port.html
41486         * WebCore.gypi:
41487         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
41488         * bindings/v8/custom/V8CustomBinding.h:
41489         Added custom postMessage() handlers for various classes.
41490         * bindings/v8/custom/V8DOMWindowCustom.cpp:
41491         (WebCore::DOMWindowPostMessage):
41492         Added custom handler that supports MessagePortArray.
41493         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
41494         (WebCore::DedicatedWorkerContextPostMessage):
41495         Added custom handler that supports MessagePortArray.
41496         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
41497         (WebCore::MessageEventPorts):
41498         Added getter for ports attribute.
41499         (WebCore::MessageEventInitMessageEvent):
41500         Added custom handler that supports MessagePortArray.
41501         * bindings/v8/custom/V8MessagePortCustom.cpp:
41502         (WebCore::MessagePortPostMessage):
41503         Added custom handler that supports MessagePortArray.
41504         (WebCore::getMessagePortArray):
41505         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
41506         * bindings/v8/custom/V8MessagePortCustom.h: Added.
41507         Added declaration for getMessagePortArray().
41508         * bindings/v8/custom/V8WorkerCustom.cpp:
41509         (WebCore::WorkerPostMessage):
41510         Added custom handler that supports MessagePortArray.
41512 2009-09-03  Drew Wilson  <atwilson@google.com>
41514         Reviewed by Sam Weinig.
41516         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
41517         https://bugs.webkit.org/show_bug.cgi?id=28460
41519         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
41521         Tests: fast/events/message-port-multi.html
41522                fast/workers/worker-context-multi-port.html
41523                fast/workers/worker-multi-port.html
41525         * GNUmakefile.am:
41526         * WebCore.gypi:
41527         * WebCore.pro:
41528         * WebCore.vcproj/WebCore.vcproj:
41529         * WebCore.xcodeproj/project.pbxproj:
41530         * WebCoreSources.bkl:
41531         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
41532         * bindings/js/JSDOMBinding.cpp:
41533         (WebCore::toJSSequence):
41534         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
41535         * bindings/js/JSDOMBinding.h:
41536         * bindings/js/JSDOMWindowCustom.cpp:
41537         (WebCore::JSDOMWindow::postMessage):
41538         Added custom handler for postMessage() that handles being passed MessagePortArrays.
41539         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
41540         (WebCore::JSDedicatedWorkerContext::postMessage):
41541         Added custom handler for postMessage() that handles being passed MessagePortArrays.
41542         * bindings/js/JSMessageEventCustom.cpp: Added.
41543         (WebCore::JSMessageEvent::ports):
41544         Added custom ports() getter that converts from MessagePortArray to JSArray.
41545         (WebCore::JSMessageEvent::initMessageEvent):
41546         Added support for passing a MessagePortArray.
41547         * bindings/js/JSMessagePortCustom.cpp:
41548         (WebCore::JSMessagePort::postMessage):
41549         Added custom handler for postMessage() that handles being passed MessagePortArray.
41550         (WebCore::fillMessagePortArray):
41551         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
41552         * bindings/js/JSMessagePortCustom.h: Added.
41553         * bindings/js/JSWorkerCustom.cpp:
41554         (WebCore::JSWorker::postMessage):
41555         Added custom handler for postMessage() that handles being passed MessagePortArray.
41556         * dom/MessageEvent.cpp:
41557         * dom/MessageEvent.h:
41558         (WebCore::MessageEvent::ports):
41559         Changed ports() to return a MessagePortArray* since this value can be null.
41560         * dom/MessageEvent.idl:
41561         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
41562         * dom/MessagePort.cpp:
41563         * dom/MessagePort.h:
41564         * dom/MessagePort.idl:
41565         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
41566         * page/DOMWindow.h:
41567         * page/DOMWindow.idl:
41568         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
41569         * workers/DedicatedWorkerContext.cpp:
41570         * workers/DedicatedWorkerContext.h:
41571         * workers/DedicatedWorkerContext.idl:
41572         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
41573         * workers/Worker.cpp:
41574         * workers/Worker.h:
41575         * workers/Worker.idl:
41576         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
41578 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
41580         Reviewed by Timothy Hatcher.
41582         WebInspector: Do not query non-function call frames for function name.
41584         https://bugs.webkit.org/show_bug.cgi?id=28799
41586         * inspector/front-end/InjectedScript.js:
41587         (InjectedScript.CallFrameProxy):
41588         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
41590 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
41592         Reviewed by Timothy Hatcher.
41594         Crash after typing "clear" and pressing return in inspector console.
41596         https://bugs.webkit.org/show_bug.cgi?id=28684
41598         * inspector/front-end/InjectedScript.js:
41599         (InjectedScript._clearConsoleMessages):
41600         (InjectedScript._inspectObject):
41601         (InjectedScript._ensureCommandLineAPIInstalled):
41603 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
41605         Reviewed by Adam Barth.
41607         [V8] Squeezed out some performance from string conversion.
41608         https://bugs.webkit.org/show_bug.cgi?id=28945
41610         * bindings/v8/V8Binding.cpp:
41611         (WebCore::WebCoreStringResource::WebCoreStringResource):
41612         (WebCore::WebCoreStringResource::~WebCoreStringResource):
41613         (WebCore::WebCoreStringResource::data):
41614         (WebCore::WebCoreStringResource::length):
41615         (WebCore::WebCoreStringResource::atomicString):
41616         (WebCore::WebCoreStringResource::string):
41617         Avoid calling virtual length method. Be more explicit with
41618         external memory computation. Avoid function calls in data and
41619         length.
41620         (WebCore::):
41621         (WebCore::v8StringToWebCoreString):
41622         (WebCore::v8StringToAtomicWebCoreString):
41623         (WebCore::v8NonStringValueToWebCoreString):
41624         (WebCore::v8NonStringValueToAtomicWebCoreString):
41625         Avoid extra calls of WebCoreStringResource::toString. When
41626         AtomicString is computed pass it immediately when constructing
41627         WebCoreStringResource. Use inline buffer for small strings.
41628         * bindings/v8/V8Binding.h:
41629         (WebCore::v8ValueToWebCoreString):
41630         (WebCore::v8ValueToAtomicWebCoreString):
41631         (WebCore::toString):
41632         Inline dispatch of string vs. non-string values.
41634 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
41636         Reviewed by Adam Barth.
41638         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
41639         up V8Proxy lookup.
41640         https://bugs.webkit.org/show_bug.cgi?id=28946
41642         * bindings/v8/V8IsolatedWorld.cpp:
41643         (WebCore::V8IsolatedWorld::getEnteredImpl):
41644         * bindings/v8/V8IsolatedWorld.h:
41645         (WebCore::V8IsolatedWorld::getEntered):
41647 2009-09-03  Kent Tamura  <tkent@chromium.org>
41649         Reviewed by Eric Seidel.
41651         Fix a regression bug that maxLength doesn't work for IME input.
41652         https://bugs.webkit.org/show_bug.cgi?id=25253
41654         Tests: fast/forms/input-maxlength-ime-completed.html
41655                fast/forms/input-maxlength-ime-preedit.html
41657         * dom/InputElement.cpp:
41658         (WebCore::InputElement::handleBeforeTextInsertedEvent):
41659         * dom/InputElement.h:
41660         * html/HTMLInputElement.cpp:
41661         (WebCore::HTMLInputElement::defaultEventHandler):
41662         * wml/WMLInputElement.cpp:
41663         (WebCore::WMLInputElement::defaultEventHandler):
41665 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
41667         Reviewed by Eric Seidel.
41669         Make SVGStyleElement title/media/type setters do something
41670         https://bugs.webkit.org/show_bug.cgi?id=28828
41672         Test: svg/dom/style-reflect.html
41674         * svg/SVGStyleElement.cpp:
41675         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
41676         (WebCore::SVGStyleElement::setType): Ditto.
41677         (WebCore::SVGStyleElement::setMedia): Ditto.
41678         (WebCore::SVGStyleElement::setTitle): Ditto.
41680 2009-09-03  Ben Murdoch  <benm@google.com>
41682         https://bugs.webkit.org/show_bug.cgi?id=28872
41683         
41684         Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
41686         Test: storage/statement-error-callback.html
41688         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
41689         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
41691 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
41693         Reviewed by Eric Seidel.
41695         [Haiku] Adding three font-specific files to WebCore:
41696         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
41697         and FontPlatformData.h
41698         https://bugs.webkit.org/show_bug.cgi?id=28131
41700         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
41701         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
41702         (WebCore::FontCustomPlatformData::fontPlatformData):
41703         (WebCore::createFontCustomPlatformData):
41704         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
41705         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
41706         * platform/graphics/haiku/FontPlatformData.h: Added.
41707         (WebCore::FontPlatformData::FontPlatformData):
41708         (WebCore::FontPlatformData::font):
41709         (WebCore::FontPlatformData::size):
41710         (WebCore::FontPlatformData::bold):
41711         (WebCore::FontPlatformData::oblique):
41712         (WebCore::FontPlatformData::hashTableDeletedFontValue):
41714 2009-09-02  Brady Eidson  <beidson@apple.com>
41716         Reviewed by Darin Adler.
41718         More partial work towards "Page Cache should support pages with Frames"
41719         https://bugs.webkit.org/show_bug.cgi?id=13631
41721         No new tests. (No change in behavior, current tests pass).
41723         * loader/DocumentLoader.cpp:
41724         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
41726         * loader/FrameLoader.cpp:
41727         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
41728           only unload, or unload and pagehide.
41729         (WebCore::FrameLoader::closeURL):
41730         (WebCore::FrameLoader::scheduleRedirection):
41731         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
41732         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
41733           where a page is added to the PageCache.
41734         * loader/FrameLoader.h:
41736         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
41738 2009-09-02  Brady Eidson  <beidson@apple.com>
41740         Reviewed by Darin Adler.
41742         More partial work towards "Page Cache should support pages with Frames"
41743         https://bugs.webkit.org/show_bug.cgi?id=13631
41745         - More CachedFrame destruction work.
41746         - Including related Frame and FrameLoader changes and cleanup.
41748         No new tests. (No change in behavior, current tests pass).
41750         * history/CachedFrame.cpp:
41751         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
41752         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
41753         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
41754           the PageCache, do lightweight cleanup to:
41755           A - Prevent referring to a stale Page object.
41756           B - Prevent World Leaks of WebKit objects.
41758         * loader/FrameLoader.cpp:
41759         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
41760           in the PageCache. ASSERT that fact.
41761         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
41762           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
41763         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
41764           referencing it.
41765         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
41766         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
41767         * loader/FrameLoader.h:
41769         * page/Frame.cpp:
41770         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
41771         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
41772         * page/Frame.h:
41774 2009-09-02  Jungshik Shin  <jshin@chromium.org>
41776         Reviewed by Dimitri Glazkov
41778         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
41779         in Chromium. This is to fix a new file added in r28742 since the
41780         last patch for this issue.
41782         https://bugs.webkit.org/show_bug.cgi?id=28410
41784         No change in the test result.
41786         * platform/graphics/chromium/FontLinux.cpp:
41787         (WebCore::TextRunWalker::getNormalizedTextRun):
41789 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
41791         Unreviewed, build fix.
41793         [Chromium] Correct a typo to fix bustage, caused by r47991.
41794         https://bugs.webkit.org/show_bug.cgi?id=27933
41796         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
41798 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
41800         Unreviewed, build fix.
41802         [Chromium] Add a missing include to fix bustage, caused by r47991.
41803         https://bugs.webkit.org/show_bug.cgi?id=27933
41805         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
41807 2009-09-02  Jian Li  <jianli@chromium.org>
41809         Reviewed by Dimitri Glazkov.
41811         [Chromium] Implement file support for DragData.
41812         https://bugs.webkit.org/show_bug.cgi?id=28896
41814         * platform/chromium/DragDataChromium.cpp:
41815         (WebCore::DragData::containsURL):
41816         (WebCore::DragData::asURL):
41817         (WebCore::DragData::containsCompatibleContent):
41819 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
41821         Reviewed by Kevin Ollivier.
41823         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
41824         https://bugs.webkit.org/show_bug.cgi?id=28920
41826         * platform/network/curl/ResourceHandleManager.cpp:
41827         (WebCore::sharedResourceMutex):
41828         (WebCore::curl_lock_callback):
41829         (WebCore::curl_unlock_callback):
41830         (WebCore::ResourceHandleManager::ResourceHandleManager):
41832 2009-09-02  Evan Stade  <estade@chromium.org>
41834         Reviewed by Eric Seidel.
41836         Expose functions to change the focus ring color for Linux Chromium
41838         https://bugs.webkit.org/show_bug.cgi?id=28887
41840         * rendering/RenderThemeChromiumLinux.cpp:
41841         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
41842         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
41843         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
41844         * rendering/RenderThemeChromiumLinux.h:
41846 2009-09-02  Dirk Schulze  <krit@webkit.org>
41848         Reviewed by Eric Seidel.
41850         SVG Filter premultiplied color support for getImageDate/putImageData
41851         [https://bugs.webkit.org/show_bug.cgi?id=27933]
41853         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
41855         * platform/graphics/skia/ImageBufferSkia.cpp:
41856         (WebCore::getImageData):
41857         (WebCore::putImageData):
41859 2009-09-02  Brady Eidson  <beidson@apple.com>
41861         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
41863         * history/CachedFrame.cpp:
41864         (WebCore::CachedFrameBase::restore):
41865         (WebCore::CachedFrame::open):
41866         * history/CachedFrame.h:
41867         * history/CachedPage.cpp:
41868         (WebCore::CachedPage::restore):
41870 2009-09-02  Brady Eidson  <beidson@apple.com>
41872         Reviewed by Darin Adler.
41874         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
41875         Removing them is a little trouble, but worth it going forward.
41876         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
41877         was suggested by Darin Adler.
41879         No new tests. (No change in behavior)
41881         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
41882         * history/CachedFrame.cpp:
41883         (WebCore::CachedFrameBase::CachedFrameBase):
41884         (WebCore::CachedFrameBase::~CachedFrameBase):
41885         (WebCore::CachedFrameBase::restore):
41886         (WebCore::CachedFrame::CachedFrame):
41887         (WebCore::CachedFrame::openInFrameLoader):
41888         * history/CachedFrame.h:
41889         (WebCore::CachedFrameBase::document):
41890         (WebCore::CachedFrameBase::view):
41891         (WebCore::CachedFrameBase::domWindow):
41892         (WebCore::CachedFrame::create):
41893         (WebCore::CachedFrame::documentLoader):
41894         (WebCore::CachedFrame::mousePressNode):
41896         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
41897         thing capable of interacting with FrameLoader::open(CachedFrameBase):
41898         * history/CachedPage.cpp:
41899         (WebCore::CachedPage::restore):
41900         * history/CachedPage.h:
41901         (WebCore::CachedPage::documentLoader):
41903         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
41904         * loader/FrameLoader.cpp:
41905         (WebCore::FrameLoader::open):
41906         * loader/FrameLoader.h:
41908 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
41910         Reviewed by Eric Seidel.
41912         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
41913         https://bugs.webkit.org/show_bug.cgi?id=24866
41915         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
41916         (a list to break out of is inside another list item).
41918         When the empty list item appears at the end of another list item, WebKit breaks out of
41919         the outer list item, and adds new item below the outer list item.
41920         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
41922         Test: editing/execCommand/break-out-of-empty-list-item.html
41924         * editing/CompositeEditCommand.cpp:
41925         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
41927 2009-09-02  Brady Eidson  <beidson@apple.com>
41929         Reviewed by Sam Weinig.
41931         More partial work towards "Page Cache should support pages with Frames"
41932         https://bugs.webkit.org/show_bug.cgi?id=13631
41934         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
41935         based on whether a CachedFrame is the main frame or a subframe.
41937         - Store whether a CachedFrame represents the main frame or a subframe.
41938         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
41939           are reused and need to start new page loads with an empty frame tree.
41940         - Reattach the frame tree to the main frame when restoring it.
41941         - open() the cached subframes in their respective loaders when restoring.
41942         - Properly clear() and destroy() cached subframes.
41943         - When committing to a new page load, and after caching the previous page, only clear the
41944           FrameView for the main frame.
41946         Note that all of above will eventually be necessary as I continue to land this work in pieces,
41947         but doesn't actually change any behavior right now because we still refuse to even *try* to
41948         cache pages with frames.
41950         No new tests. No change in behavior, and current tests continue to pass.
41952         * history/CachedFrame.cpp:
41953         (WebCore::CachedFrame::CachedFrame):
41954         (WebCore::CachedFrame::restore):
41955         (WebCore::CachedFrame::clear):
41956         (WebCore::CachedFrame::destroy):
41957         * history/CachedFrame.h:
41958         (WebCore::CachedFrame::isMainFrame):
41960         * loader/FrameLoader.cpp:
41961         (WebCore::FrameLoader::clear):
41962         (WebCore::FrameLoader::open):
41963         * loader/FrameLoader.h:
41965 2009-09-02  Brady Eidson  <beidson@apple.com>
41967         No review, build fix.
41969         http://trac.webkit.org/changeset/47976 broke the build.  
41970         Let's try compiling before we land things, shall we?
41972         * platform/graphics/SimpleFontData.cpp:
41973         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
41975 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
41977         waf build fixes for Windows/MSVC.
41979         * wscript:
41981 2009-09-02  Ben Murdoch  <benm@google.com>
41983         Unreviewed build fix for Chromium.
41985         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
41987         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
41989 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
41991         waf build fix, don't define symbols we now grab from other sources.
41993         * platform/wx/TemporaryLinkStubs.cpp:
41995 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
41997         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
41999         * plugins/PluginView.cpp:
42000         (WebCore::PluginView::stop):
42001         * plugins/PluginViewNone.cpp:
42002         (WebCore::PluginView::platformDestroy):
42004 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
42006         Reviewed by Eric Seidel.
42008         Fix the build failure of WebKit for Linux/Qt when WML is enabled
42010         No test cases needed since this just fixes the build problem.
42012         * wml/WMLElement.cpp:
42013         (WebCore::WMLElement::create):
42014         * wml/WMLTableElement.cpp:
42015         (WebCore::WMLTableElement::joinSuperflousColumns):
42016         (WebCore::WMLTableElement::padWithEmptyColumns):
42018 2009-09-02 Yong Li <yong.li@torchmobile.com>
42020         Reviewed by Adam Barth.
42022         WINCE PORT: use shared buffer for custom font data
42023         https://bugs.webkit.org/show_bug.cgi?id=27734
42025         Refactored by Joe Mason <joe.mason@torchmobile.com>
42027         * loader/CachedFont.cpp:
42028         add WINCE to platforms using cached custom data
42029         * platform/graphics/opentype/OpenTypeUtilities.cpp:
42030         (WebCore::renameFont): implement for WinCE
42031         * platform/graphics/opentype/OpenTypeUtilities.h:
42032         build fixes
42033         * platform/graphics/wince/FontCustomPlatformData.cpp:
42034         (WebCore::setCustomFontCache): add accessor
42035         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
42036         * platform/graphics/wince/FontCustomPlatformData.h:
42037         update function signatures 
42039 2009-09-02 Yong Li <yong.li@torchmobile.com>
42041         Reviewed by Adam Barth.
42043         WINCE PORT: font-related build fixes and minor bugfixes
42044         https://bugs.webkit.org/show_bug.cgi?id=27734
42046         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
42047         * platform/graphics/GlyphPageTreeNode.cpp:
42048         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
42049         * platform/graphics/SimpleFontData.cpp:
42050         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
42051         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
42053 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
42055         Reviewed by Adam Barth.
42057         Another pass at releasing the storage mutex.
42058         https://bugs.webkit.org/show_bug.cgi?id=28904
42060         Another pass at releasing the storage mutex (when applicable) when we finish
42061         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
42062         describes the required behavior.
42064         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
42065         the problem correctly.  First of all, I missed that events and timeouts go
42066         through a different call path.  Second of all, I didn't consider recursion
42067         correctly.  Third of all, my check to see if LocalStorage is alive actually
42068         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
42069         it.  So I'm reverting that change completely and doing it more cleanly.
42070         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
42071         implementation for now).
42073         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
42074         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
42075         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
42076         scenareos where you can have nested callbacks probably should have always been
42077         protected by a recursion guard.
42079         Unfortunately, this can't be tested without a hook added to the layout test
42080         controllers since the lock is (by design) not supposed to be observable by
42081         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
42083         * bindings/js/ScriptController.cpp:
42084         (WebCore::ScriptController::evaluate): revert
42085         * bindings/v8/ScriptController.cpp:
42086         (WebCore::ScriptController::evaluate): revert
42087         * bindings/v8/V8Proxy.cpp:
42088         (WebCore::V8Proxy::runScript):
42089             Add releaseStorageMutex call.  A small amount of clean up.
42090         (WebCore::V8Proxy::callFunction):
42091             Add releaseStorageMutex call.  A small amount of clean up.
42092         (WebCore::V8Proxy::releaseStorageMutex):
42093             Check to see if localStorage has been instantiated.  If so, tell it to
42094             unlock all storage areas.
42095         * bindings/v8/V8Proxy.h:
42096         * page/PageGroup.h:
42097         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
42099 2009-09-02  Yong Li  <yong.li@torchmobile.com>
42101         Reviewed by Adam Barth.
42103         WINCE PORT: Implement ImageBuffer for WINCE
42104         Implement Image interface with a light class BufferedImage
42105         for rendering ImageBuffer
42106         https://bugs.webkit.org/show_bug.cgi?id=28167
42108         * platform/graphics/wince/ImageBufferData.h: Added.
42109         * platform/graphics/wince/ImageBufferWince.cpp: Added.
42111 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42113         Reviewed by Eric Seidel.
42115         Join the various PluginView destructors into one shared implementation
42117         https://bugs.webkit.org/show_bug.cgi?id=27706
42119         The Qt port used to delete the platform plugin widget as the last step.
42120         Now this is done before cleaning up the script objects and unloading the
42121         plugin package, similar to how the Win port does it.
42123         * plugins/PluginView.cpp:
42124         * plugins/PluginViewNone.cpp:
42125         * plugins/gtk/PluginViewGtk.cpp:
42126         * plugins/mac/PluginViewMac.cpp:
42127         * plugins/qt/PluginViewQt.cpp:
42128         * plugins/win/PluginViewWin.cpp:
42130 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42132         Reviewed by Eric Seidel.
42134         Share PluginView::init() between ports
42136         https://bugs.webkit.org/show_bug.cgi?id=27706
42138         The port-spesific bits are moved to platformStart(), which now returns
42139         a bool based on the success of the platformStart.
42141         m_hasPendingGeometryChange is now initialized in the initializer list
42142         instead of in PluginViewQt's init()
42144         PluginViewMac (currently used only by the Qt port) used to manually call
42145         stop() in the case where an unsupported drawing or event model was detected.
42146         This was wrong, as the m_status and m_isStarted fields should be used to
42147         guard against doing operations on a plugin in this intermediate state.
42149         * plugins/PluginView.cpp:
42150         * plugins/PluginView.h:
42151         * plugins/PluginViewNone.cpp:
42152         * plugins/gtk/PluginViewGtk.cpp:
42153         * plugins/mac/PluginViewMac.cpp:
42154         * plugins/qt/PluginViewQt.cpp:
42155         * plugins/win/PluginViewWin.cpp:
42157 2009-09-02  Ben Murdoch  <benm@google.com>
42159         https://bugs.webkit.org/show_bug.cgi?id=28737
42160         
42161         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
42163         * bindings/js/JSSQLTransactionCustom.cpp:
42164         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
42165         * bindings/v8/V8Binding.cpp:
42166         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
42167         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
42168         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
42170 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
42172         Reviewed by Timothy Hatcher.
42174         WebInspector: Migrate Databases tab to InjectedScript /
42175         serialized interaction.
42177         https://bugs.webkit.org/show_bug.cgi?id=28873
42179         * inspector/InspectorDOMAgent.cpp:
42180         (WebCore::InspectorDOMAgent::handleEvent):
42181         * inspector/front-end/Database.js:
42182         (WebInspector.Database.prototype.isDB):
42183         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
42184         (WebInspector.Database.prototype.runWithTableNames):
42185         (WebInspector.Database.prototype.executeSql):
42186         (WebInspector.Database.prototype.executeSql.errorCallback):
42187         (WebInspector.Database.prototype.executeSql.queryTransaction):
42188         * inspector/front-end/DatabaseQueryView.js:
42189         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
42190         (WebInspector.DatabaseQueryView.prototype._queryFinished):
42191         * inspector/front-end/DatabaseTableView.js:
42192         (WebInspector.DatabaseTableView):
42193         * inspector/front-end/StoragePanel.js:
42194         (WebInspector.StoragePanel.prototype.selectDatabase):
42195         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
42196         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
42197         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
42198         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
42200 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
42202         Not reviewed (trivial followup fix). 
42203         
42204         Web Inspector: Trivial follow up fix to r47944.
42206         https://bugs.webkit.org/show_bug.cgi?id=28800
42208         * inspector/InspectorBackend.cpp:
42209         (WebCore::InspectorBackend::nodeForId):
42211 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
42213         Reviewed by John Sullivan.
42215         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
42217         * accessibility/AccessibilityRenderObject.cpp:
42218         (WebCore::AccessibilityRenderObject::isReadOnly):
42220 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
42222         Reviewed by Timothy Hatcher.
42224         https://bugs.webkit.org/show_bug.cgi?id=28047
42225         add utility method to enable logging messages for inspector development
42227         manual test case added (see below)
42229         * inspector/front-end/ConsoleView.js:
42230         (WebInspector.ConsoleMessage.prototype.toMessageElement):
42231         (WebInspector.ConsoleMessage.prototype.toString):
42232         * inspector/front-end/inspector.css:
42233         * inspector/front-end/inspector.js:
42234         (WebInspector.log):
42235         * manual-tests/inspector/webinspector-log.html: Added.
42236         * page/Console.cpp:
42237         (WebCore::printMessageSourceAndLevelPrefix):
42238         * page/Console.h:
42239         (WebCore::):
42241 2009-09-01  Alexey Proskuryakov  <ap@apple.com>
42243         Reviewed by Darin Adler.
42245         https://bugs.webkit.org/show_bug.cgi?id=21990
42246         When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
42247         is mistreated as Shift_JIS
42249         <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
42251         WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
42252         This didn't really match any browser, and did cause problems on some sites.
42254         Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
42255         cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
42256         especially in comments. Also, some valid EUC-JP sequences are not known to it.
42258         Some pages that are fixed by this change:
42260         <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
42261         page has incorrect encoding in title, so no browser displays it 100% fine. We now match
42262         Firefox and IE.
42264         <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
42265         in Safari. There is a stray byte in comments that was makes charset detector think it can't
42266         be EUC-JP.
42268         <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
42269         Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
42270         fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
42271         Shift_JIS in normal HTML view though).
42273         Test: fast/encoding/japanese-encoding-mix.html
42275         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
42276         detection if there is no solid charset information yet.
42278 2009-09-01  Jian Li  <jianli@chromium.org>
42280         Reviewed by Dimitri Glazkov.
42282         [V8] FileList cannot be accessed via index in Chromium.
42283         https://bugs.webkit.org/show_bug.cgi?id=28883
42285         Tested by clipboard-file-access.html.
42287         * WebCore.gypi:
42288         * bindings/v8/V8DOMWrapper.cpp:
42289         (WebCore::V8DOMWrapper::getTemplate):
42290         * bindings/v8/custom/V8CustomBinding.h:
42291         * bindings/v8/custom/V8FileListCustom.cpp: Added.
42293 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
42295         Remove the workaround added in r47316.
42297         Reviewed by Sam Weinig.
42299         * accessibility/AXObjectCache.cpp:
42300         (WebCore::AXObjectCache::AXObjectCache):
42302         * accessibility/AXObjectCache.h:
42303         Remove the Document argument to the AXObjectCache constructor and the
42304         m_document member variable, and replace the no-parameter
42305         handleFocusedUIElementChanged() with the two-parameter GTK function.
42306         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
42308         * accessibility/chromium/AXObjectCacheChromium.cpp:
42309         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
42311         * accessibility/gtk/AXObjectCacheAtk.cpp:
42312         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
42314         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
42315         (fallbackObject):
42316         Don't pass a null Document when constructing the AXObjectCache.
42318         * accessibility/mac/AXObjectCacheMac.mm:
42319         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
42321         * accessibility/win/AXObjectCacheWin.cpp:
42322         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
42323         Get the document from the RenderObject; m_document was removed.
42325         * dom/Document.cpp:
42326         (WebCore::Document::axObjectCache):
42327         Don't pass the Document when constructing the AXObjectCache.
42328         (WebCore::Document::setFocusedNode):
42329         Pass the old and new focused RenderObjects when calling
42330         handleFocusedUIElementChanged().
42332 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
42334         Reviewed by Timothy Hatcher.
42336         Check that InspectorDOMAgent and InspectorFrontend are not null
42337         before accessing them in InspectorBackend. They may be null if
42338         InspectorController is closed before an asynchronous operation is
42339         started.
42341         https://bugs.webkit.org/show_bug.cgi?id=28800
42343         * inspector/InspectorBackend.cpp:
42344         (WebCore::InspectorBackend::getCookies):
42345         (WebCore::InspectorBackend::getChildNodes):
42346         (WebCore::InspectorBackend::setAttribute):
42347         (WebCore::InspectorBackend::removeAttribute):
42348         (WebCore::InspectorBackend::setTextNodeValue):
42349         (WebCore::InspectorBackend::highlight):
42350         (WebCore::InspectorBackend::nodeForId):
42351         (WebCore::InspectorBackend::pushNodePathToFrontend):
42352         (WebCore::InspectorBackend::addNodesToSearchResult):
42353         (WebCore::InspectorBackend::selectDatabase):
42354         (WebCore::InspectorBackend::selectDOMStorage):
42355         (WebCore::InspectorBackend::inspectorDOMAgent):
42356         (WebCore::InspectorBackend::inspectorFrontend):
42357         * inspector/InspectorBackend.h:
42359 2009-09-01  Brady Eidson  <beidson@apple.com>
42361         Reviewed by Sam Weinig.
42363         Page Cache should support pages with frames
42364         https://bugs.webkit.org/show_bug.cgi?id=13631
42366         Things learned in the full task that this patch addresses:
42367         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
42368           needed to be managed separately.
42369         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
42370           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
42371           will be guided by the CachedFrames themselves.
42373         No new tests. (No change in behavior, current layout tests pass)
42374         
42375         * history/CachedFrame.cpp:
42376         (WebCore::CachedFrame::CachedFrame):
42377         (WebCore::CachedFrame::~CachedFrame):
42378         (WebCore::CachedFrame::clear): Only clear pointers out.
42379         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
42380           occur simply by navigating back to a page with a CachedFrame.
42381         * history/CachedFrame.h:
42383         * history/CachedPage.cpp:
42384         (WebCore::CachedPage::~CachedPage):
42385         (WebCore::CachedPage::restore): Call clear() after restoring.
42386         (WebCore::CachedPage::clear):
42387         (WebCore::CachedPage::destroy):
42388         * history/CachedPage.h:
42390         * history/PageCache.cpp:
42391         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
42392           instead of clearing them.
42394         * loader/FrameLoader.cpp:
42395         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
42396         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
42397         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
42398           Even though CachedFrame::restore() isn't used for now, it will be soon.
42400 2009-09-01  Andrei Popescu  <andreip@google.com>
42402         Reviewed by David Levin.
42404         Add a "lowMemoryNotification" method to the V8 ScriptController class.
42405         This is needed in order to allow the host application (Android Web browser in this case)
42406         to call the v8::V8::LowMemoryNotification() method added to V8 in
42407         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
42408         
42409         https://bugs.webkit.org/show_bug.cgi?id=28776
42412         * bindings/v8/ScriptController.cpp:
42413         (WebCore::ScriptController::lowMemoryNotification):
42414         * bindings/v8/ScriptController.h:
42416 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
42418         Reviewed by Adam Barth.
42420         V8 Bindings for WebSocket API.
42421         https://bugs.webkit.org/show_bug.cgi?id=28844
42423         * bindings/v8/DOMObjectsInclude.h:
42424         * bindings/v8/DerivedSourcesAllInOne.cpp:
42425         * bindings/v8/V8DOMWrapper.cpp:
42426         (WebCore::V8DOMWrapper::getTemplate):
42427         (WebCore::V8DOMWrapper::convertToV8Object):
42428         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
42429         * bindings/v8/V8DOMWrapper.h:
42430         * bindings/v8/V8Index.cpp:
42431         * bindings/v8/V8Index.h:
42432         * bindings/v8/WorkerContextExecutionProxy.cpp:
42433         * bindings/v8/custom/V8CustomBinding.h:
42434         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
42436 2009-09-01  Peter Kasting  <pkasting@google.com>
42438         Unreviewed (build fix).
42440         Missed a "." -> "->" conversion.
42442         * platform/graphics/qt/ImageDecoderQt.cpp:
42443         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
42445 2009-09-01  Peter Kasting  <pkasting@google.com>
42447         Unreviewed (build fix).
42449         Try to fix Qt build, take 2.  The Qt code had what looks like a
42450         broken virtual function override.
42452         * platform/graphics/qt/ImageDecoderQt.cpp:
42453         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
42454         (WebCore::ImageDecoderQt::setData):
42455         * platform/graphics/qt/ImageDecoderQt.h:
42457 2009-09-01  Adam Barth  <abarth@webkit.org>
42459         Reviewed by Sam Weinig.
42461         Uninitialized variable in XSSAuditor
42462         https://bugs.webkit.org/show_bug.cgi?id=28874
42464         One ought to initialize variables before use even when it doesn't
42465         matter.  No behavior change.
42467         * page/XSSAuditor.h:
42468         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
42470 2009-09-01  Peter Kasting  <pkasting@google.com>
42472         Unreviewed (build fix).
42474         Try to fix Qt build.
42476         * platform/graphics/ImageSource.cpp:
42478 2009-08-28  Peter Kasting  <pkasting@google.com>
42480         Reviewed by Eric Seidel.
42482         https://bugs.webkit.org/show_bug.cgi?id=27965
42483         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
42485         * WebCore.pro:
42486         * platform/graphics/ImageSource.cpp:
42487         (WebCore::ImageSource::frameHasAlphaAtIndex):
42488         * platform/graphics/qt/ImageSourceQt.cpp:
42489         (WebCore::ImageSource::createFrameAtIndex):
42490         (WebCore::ImageSource::frameHasAlphaAtIndex):
42491         (WebCore::ImageSource::frameIsCompleteAtIndex):
42493 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
42495         Reviewed by Timothy Hatcher.
42497         WebInspector: Make InjectedScript self-contained (move necessary
42498         methods from utilities.js into InjectedScript).
42500         https://bugs.webkit.org/show_bug.cgi?id=28871
42502         * inspector/front-end/ElementsPanel.js:
42503         (WebInspector.ElementsPanel.prototype.generateStylesheet):
42504         * inspector/front-end/InjectedScript.js:
42505         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
42506         (InjectedScript._ensureCommandLineAPIInstalled):
42507         (InjectedScript.pushNodeToFrontend):
42508         (InjectedScript.createProxyObject):
42509         (Object.type):
42510         (Object.hasProperties):
42511         (Object.className):
42512         (String.prototype.escapeCharacters):
42513         * inspector/front-end/utilities.js:
42515 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
42517         Reviewed by Timothy Hatcher.
42519         WebInspector: console log message repeat count double.
42521         https://bugs.webkit.org/show_bug.cgi?id=28856
42523         * inspector/front-end/InjectedScript.js:
42524         (InjectedScript._evaluateOn):
42526 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
42528         Reviewed by Mark Rowe.
42530         [Gtk] Fix DATALIST build
42531         https://bugs.webkit.org/show_bug.cgi?id=28826
42533         Add ENABLE_DATALIST to FEATURE_DEFINES.
42535         * GNUmakefile.am:
42537 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
42539         Reviewed by Eric Seidel.
42541         SVGSVGElement suspend methods argument/return types incorrect
42542         https://bugs.webkit.org/show_bug.cgi?id=28860
42544         Also fix the style of the argument names.
42546         * svg/SVGSVGElement.cpp:
42547         (WebCore::SVGSVGElement::suspendRedraw):
42548         (WebCore::SVGSVGElement::unsuspendRedraw):
42549         * svg/SVGSVGElement.h:
42551 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
42553         Reviewed by Eric Seidel.
42555         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
42556         (https://bugs.webkit.org/show_bug.cgi?id=28808)
42558         The bug fix adds an explicit check for the validity of the path when it is 
42559         transformed into local coordinates. 
42560         This was the most suitable place I could find that didn't cause an inordinate 
42561         amount of refactoring. Also, it seems pertinent and may also catch other cases 
42562         that are not limited to clipping paths.
42564         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
42566         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
42567         (WebCore::):
42568         * platform/graphics/skia/PlatformContextSkia.cpp:
42569         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
42571 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
42573         Reviewed by Eric Seidel.
42575         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
42576         https://bugs.webkit.org/show_bug.cgi?id=28742 
42578         Normalize (NFC) a TextRun when the run contains combining diacritical marks
42579         so that Skia can pick a correct glyph without relying on GSUB table in a font.
42580         This change is for Chromium Linux.
42582         * platform/graphics/chromium/FontLinux.cpp:
42583         (WebCore::TextRunWalker::getTextRun): Added.
42584         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
42586         This function is called when the run contains U+0300..U+036F and converts characters in
42587         the run to the combined form (NFC) using ICU.
42589 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
42591         Reviewed by Dimitri Glazkov.
42593         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
42594         V8Proxy::createWrapperFromCache.
42595         https://bugs.webkit.org/show_bug.cgi?id=28848
42597         * bindings/v8/V8DOMWrapper.cpp:
42598         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
42599         function for document wrapping.
42600         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
42601         wrapping a new node.
42602         * bindings/v8/V8DOMWrapper.h:
42603         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
42604         path from V8DOMWrapper.cpp.
42605         * bindings/v8/V8Proxy.cpp:
42606         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
42607         * bindings/v8/V8Proxy.h:
42608         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
42609         from V8Proxy.cpp.
42611 2009-09-01  Eric Seidel  <eric@webkit.org>
42613         No review, windows build fix only.  Clearly I should have read the patch closer. :(
42615         Allow excluding certain plugins from loading
42616         https://bugs.webkit.org/show_bug.cgi?id=28677
42618         * plugins/PluginDatabase.cpp:
42619         (WebCore::PluginDatabase::refresh):
42621 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
42623         Reviewed by Timothy Hatcher.
42625         Implement conditional breakpoints in the Web Inspector backend
42626         and add frontend JavaScript stubs.
42627         https://bugs.webkit.org/show_bug.cgi?id=28846
42629         * inspector/InspectorBackend.cpp:
42630         (WebCore::InspectorBackend::profiles):
42631         (WebCore::InspectorBackend::addBreakpoint):
42632         (WebCore::InspectorBackend::updateBreakpoint):
42633         * inspector/InspectorBackend.h:
42634         * inspector/InspectorBackend.idl:
42635         * inspector/JavaScriptDebugServer.cpp:
42636         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
42637         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
42638         (WebCore::JavaScriptDebugServer::addBreakpoint):
42639         (WebCore::JavaScriptDebugServer::breakpointInfo):
42640         (WebCore::JavaScriptDebugServer::updateBreakpoint):
42641         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
42642         (WebCore::JavaScriptDebugServer::removeBreakpoint):
42643         (WebCore::JavaScriptDebugServer::hasBreakpoint):
42644         (WebCore::JavaScriptDebugServer::clearBreakpoints):
42645         * inspector/JavaScriptDebugServer.h:
42646         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
42647         * inspector/front-end/Breakpoint.js:
42648         (WebInspector.Breakpoint):
42649         (WebInspector.Breakpoint.prototype.get id):
42650         (WebInspector.Breakpoint.prototype.get condition):
42651         (WebInspector.Breakpoint.prototype.set condition):
42652         * inspector/front-end/BreakpointsSidebarPane.js:
42653         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
42654         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
42655         * inspector/front-end/ScriptsPanel.js:
42656         (WebInspector.ScriptsPanel.prototype.addScript):
42658 2009-09-01  Marius Renn  <damarvy@gmail.com>
42660         Reviewed by Eric Seidel.
42662         Added delegate to PluginDatabase to disable loading certain plugins.
42663         This is useful when you want to load from the standard plugin
42664         directory, but want to exclude certain plugins. Plugins may be
42665         excluded early on by name, so that no plugin code is executed (which
42666         may have caused a crash).
42668         * plugins/PluginDatabase.cpp:
42669         (WebCore::PluginDatabase::PluginDatabase):
42670         (WebCore::PluginDatabase::refresh):
42671         * plugins/PluginDatabase.h:
42672         (WebCore::PluginDatabase::setClient):
42673         * plugins/PluginDatabaseClient.h: Added.
42674         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
42676 2009-08-31  Brady Eidson  <beidson@apple.com>
42678         Rubberstamped by Sam Weinig
42680         * WebCore.base.exp: Removed an unneeded symbol export.
42682 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
42684         Reviewed by Alexey Proskuryakov.
42686         https://bugs.webkit.org/show_bug.cgi?id=28466
42687         When downloading a file, two GET requests are sent to the HTTP server
42689         Can't think of a way to test this.
42691         * loader/ResourceLoader.cpp:
42692         (WebCore::ResourceLoader::releaseResources): only nullify the
42693         handle's client when it is the ResourceLoader, to support the case
42694         in which a download API uses a different client
42696 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
42698         Reviewed by Darin Adler.
42700         Text Fields and Text Areas are reported as read-only by inspect32.exe.
42701         https://bugs.webkit.org/show_bug.cgi?id=28854
42703         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
42704         and texts areas are read-only.
42706         * accessibility/AccessibilityRenderObject.cpp:
42707         (WebCore::AccessibilityRenderObject::isReadOnly):
42708         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
42710 2009-08-31  Drew Wilson  <atwilson@google.com>
42712         Reviewed by Alexey Proskuryakov.
42714         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
42715         https://bugs.webkit.org/show_bug.cgi?id=28795
42717         Changed WorkerContext::close() to no longer stop the worker thread.
42718         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
42720         * workers/AbstractWorker.cpp:
42721         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
42722         * workers/DefaultSharedWorkerRepository.cpp:
42723         (WebCore::SharedWorkerProxy::workerContextClosed):
42724         Now shuts down the worker thread when notified that the context is closed.
42725         (WebCore::SharedWorkerProxy::close):
42726         Now handles being invoked when the context is already in the process of shutting down.
42727         * workers/WorkerContext.cpp:
42728         (WebCore::WorkerContext::close):
42729         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
42730         * workers/WorkerContext.h:
42731         (WebCore::WorkerContext::isClosing):
42732         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
42733         * workers/WorkerMessagingProxy.cpp:
42734         (WebCore::WorkerExceptionTask::performTask):
42735         Error events should still be delivered even if the worker thread is closing.
42736         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
42737         (WebCore::WorkerTerminateTask::create):
42738         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
42739         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
42740         (WebCore::WorkerTerminateTask::performTask):
42741         (WebCore::WorkerMessagingProxy::workerContextClosed):
42742         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
42743         * workers/WorkerMessagingProxy.h:
42744         WorkerMessagingProxy now overrides workerContextClosed().
42745         * workers/WorkerRunLoop.cpp:
42746         (WebCore::WorkerRunLoop::runInMode):
42747         Now drops tasks on the floor if the WorkerContext is closing.
42749 2009-08-31  Ojan Vafai  <ojan@chromium.org>
42751         Not reviewed (build fix)
42753         Build fix for Chromium to match r49707.
42755         * bindings/v8/ScriptCallFrame.cpp:
42756         (WebCore::ScriptCallFrame::ScriptCallFrame):
42757         * bindings/v8/ScriptSourceCode.h:
42758         (WebCore::ScriptSourceCode::ScriptSourceCode):
42759         * platform/KURLGoogle.cpp:
42760         (WebCore::KURL::KURL):
42761         (WebCore::blankURL):
42763 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
42765         Reviewed by Darin Adler.
42767         https://bugs.webkit.org/show_bug.cgi?id=28858
42768         Element.baseURI parses xml:base attribute incorrectly
42770         Test: fast/dom/base-attribute-parsing.xhtml
42772         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
42773         release mode).
42775 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
42777         Reverting http://trac.webkit.org/changeset/47904, because it caused
42778         layout test failure.
42780         Test: fast/dom/Window/new-window-opener.html
42782 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
42784         Reviewed by Darin Adler.
42786         https://bugs.webkit.org/show_bug.cgi?id=28852
42787         Rename KURL single argument constructor to avoid confusion
42789         * platform/KURL.h: The constructor that used to be single argument should now be invoked
42790         as KURL(ParsedURLString, myString).
42792         * WebCore.base.exp:
42793         * bindings/js/JSDOMWindowCustom.cpp:
42794         (WebCore::createWindow):
42795         * bindings/js/ScriptCallFrame.cpp:
42796         (WebCore::ScriptCallFrame::ScriptCallFrame):
42797         * bindings/v8/NPV8Object.cpp:
42798         (_NPN_EvaluateHelper):
42799         * bindings/v8/custom/V8DOMWindowCustom.cpp:
42800         (WebCore::createWindow):
42801         * css/CSSCursorImageValue.cpp:
42802         (WebCore::isSVGCursorIdentifier):
42803         * css/CSSImageValue.cpp:
42804         (WebCore::CSSImageValue::cachedImage):
42805         * css/CSSImportRule.cpp:
42806         (WebCore::CSSImportRule::insertedIntoParent):
42807         * css/StyleBase.cpp:
42808         (WebCore::StyleBase::baseURL):
42809         * dom/Document.cpp:
42810         (WebCore::Document::initSecurityContext):
42811         * dom/Element.cpp:
42812         (WebCore::Element::baseURI):
42813         * editing/markup.cpp:
42814         (WebCore::completeURLs):
42815         * history/HistoryItem.cpp:
42816         (WebCore::HistoryItem::url):
42817         (WebCore::HistoryItem::originalURL):
42818         * inspector/InspectorController.cpp:
42819         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
42820         * inspector/InspectorResource.cpp:
42821         (WebCore::InspectorResource::createCached):
42822         * loader/Cache.cpp:
42823         (WebCore::Cache::revalidateResource):
42824         * loader/DocLoader.cpp:
42825         (WebCore::DocLoader::requestResource):
42826         * loader/DocumentLoader.cpp:
42827         (WebCore::DocumentLoader::getSubresources):
42828         * loader/FrameLoader.cpp:
42829         (WebCore::FrameLoader::init):
42830         (WebCore::FrameLoader::iconURL):
42831         (WebCore::FrameLoader::scheduleLocationChange):
42832         (WebCore::FrameLoader::redirectionTimerFired):
42833         (WebCore::FrameLoader::loadURLIntoChildFrame):
42834         (WebCore::FrameLoader::startRedirectionTimer):
42835         * loader/appcache/ApplicationCache.cpp:
42836         (WebCore::ApplicationCache::resourceForURL):
42837         * loader/appcache/ApplicationCacheGroup.cpp:
42838         (WebCore::ApplicationCacheGroup::startLoadingEntry):
42839         (WebCore::ApplicationCacheGroup::addEntry):
42840         * loader/appcache/ApplicationCacheStorage.cpp:
42841         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
42842         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
42843         (WebCore::ApplicationCacheStorage::loadCache):
42844         (WebCore::ApplicationCacheStorage::manifestURLs):
42845         * loader/archive/cf/LegacyWebArchive.cpp:
42846         (WebCore::LegacyWebArchive::createResource):
42847         (WebCore::LegacyWebArchive::create):
42848         * loader/loader.cpp:
42849         (WebCore::Loader::load):
42850         * notifications/NotificationCenter.h:
42851         (WebCore::NotificationCenter::createHTMLNotification):
42852         * platform/KURL.cpp:
42853         (WebCore::KURL::KURL):
42854         (WebCore::blankURL):
42855         * platform/KURLHash.h:
42856         * platform/chromium/ClipboardChromium.cpp:
42857         (WebCore::ClipboardChromium::setData):
42858         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
42859         (WebCore::MediaPlayerPrivate::createQTMovie):
42860         * platform/network/cf/ResourceErrorCF.cpp:
42861         (WebCore::ResourceError::operator CFErrorRef):
42862         * platform/network/cf/ResourceRequest.h:
42863         (WebCore::ResourceRequest::ResourceRequest):
42864         * platform/network/chromium/ResourceRequest.h:
42865         (WebCore::ResourceRequest::ResourceRequest):
42866         * platform/network/curl/ResourceHandleManager.cpp:
42867         (WebCore::handleLocalReceiveResponse):
42868         (WebCore::headerCallback):
42869         * platform/network/curl/ResourceRequest.h:
42870         (WebCore::ResourceRequest::ResourceRequest):
42871         * platform/network/mac/ResourceErrorMac.mm:
42872         (WebCore::ResourceError::operator NSError*):
42873         * platform/network/mac/ResourceRequest.h:
42874         (WebCore::ResourceRequest::ResourceRequest):
42875         * platform/network/qt/ResourceRequest.h:
42876         (WebCore::ResourceRequest::ResourceRequest):
42877         * platform/network/soup/ResourceRequest.h:
42878         (WebCore::ResourceRequest::ResourceRequest):
42879         * platform/win/ClipboardWin.cpp:
42880         (WebCore::filesystemPathFromUrlOrTitle):
42881         (WebCore::ClipboardWin::setData):
42882         * svg/graphics/SVGImage.cpp:
42883         (WebCore::SVGImage::dataChanged):
42884         * xml/XSLImportRule.cpp:
42885         (WebCore::XSLImportRule::loadSheet):
42886         * xml/XSLTProcessor.cpp:
42887         (WebCore::docLoaderFunc):
42888         Adapt to the change everywhere the single argument constructor was used. I did a very
42889         cursory check of whether these locations were using this constructor properly, and didn't
42890         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
42891         better when refactoring any such code.
42893 2009-08-31  Beth Dakin  <bdakin@apple.com>
42895         Reviewed by Darin Adler.
42897         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
42898         Backgrounds and Borders] Add support for 2-keyword values for 
42899         background-repeat
42901         This patch allows background-repeat to take two values by making 
42902         background-repeat just like background-position internally. There 
42903         is a little extra legwork for background-repeat because the spec 
42904         indicates that its computed value should be equivalent to how it 
42905         was specified. I keep track of the specified thing by setting the 
42906         implicit flag whenever background-repeat is defined with only one 
42907         value (since internally, we now store this as 2 values.)
42908         
42909         Here we can't access the implicit flag, so for backwards-
42910         compatibility's sake, we always return one value when that makes 
42911         sense.
42912         * css/CSSComputedStyleDeclaration.cpp:
42913         (WebCore::fillRepeatToCSSValue):
42914         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
42916         Here we check for the implicit flag and return one value when it is 
42917         set.
42918         * css/CSSMutableStyleDeclaration.cpp:
42919         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
42920         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
42921         (WebCore::CSSMutableStyleDeclaration::cssText):
42923         Add support for CSSPropertyBackgroundRepeatX and 
42924         CSSPropertyBackgroundRepeatY
42925         * css/CSSParser.cpp:
42926         (WebCore::CSSParser::parseValue):
42927         (WebCore::CSSParser::parseFillShorthand):
42928         (WebCore::CSSParser::parseFillRepeat):
42929         (WebCore::CSSParser::parseFillProperty):
42930         * css/CSSParser.h:
42932         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
42933         need those parts of the EFillRepeat enum anymore.
42934         * css/CSSPrimitiveValueMappings.h:
42935         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
42936         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
42938         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
42939         * css/CSSPropertyLonghand.cpp:
42940         (WebCore::initShorthandMap):
42942         Add background-repeat-x and -y.
42943         * css/CSSPropertyNames.in:
42945         Break repeat into x and y.
42946         * css/CSSStyleSelector.cpp:
42947         (WebCore::CSSStyleSelector::applyProperty):
42948         (WebCore::CSSStyleSelector::mapFillRepeatX):
42949         (WebCore::CSSStyleSelector::mapFillRepeatY):
42950         * css/CSSStyleSelector.h:
42952         There is no more RepeatXFill. Instead, look for 
42953         fillLayer->repeatX() == RepeatFill
42954         * rendering/RenderBoxModelObject.cpp:
42955         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
42957         Break m_repeat into m_repeatX and m_repeatY
42958         * rendering/style/FillLayer.cpp:
42959         (WebCore::FillLayer::FillLayer):
42960         (WebCore::FillLayer::operator=):
42961         (WebCore::FillLayer::operator==):
42962         (WebCore::FillLayer::fillUnsetProperties):
42963         (WebCore::FillLayer::cullEmptyLayers):
42964         * rendering/style/FillLayer.h:
42965         (WebCore::FillLayer::repeatX):
42966         (WebCore::FillLayer::repeatY):
42967         (WebCore::FillLayer::isRepeatXSet):
42968         (WebCore::FillLayer::isRepeatYSet):
42969         (WebCore::FillLayer::setRepeatX):
42970         (WebCore::FillLayer::setRepeatY):
42971         (WebCore::FillLayer::clearRepeatX):
42972         (WebCore::FillLayer::clearRepeatY):
42973         (WebCore::FillLayer::initialFillRepeatX):
42974         (WebCore::FillLayer::initialFillRepeatY):
42976         Again, break backgroundRepeat into backgroundRepeatX and 
42977         backgroundRepeatY
42978         * rendering/style/RenderStyle.h:
42979         (WebCore::InheritedFlags::backgroundRepeatX):
42980         (WebCore::InheritedFlags::backgroundRepeatY):
42981         (WebCore::InheritedFlags::maskRepeatX):
42982         (WebCore::InheritedFlags::maskRepeatY):
42984         We don't need RepeatXFill or RepeatYFill. Now that we store two 
42985         values, they are represented by Repeat-NoRepeat and NoRepeat-
42986         Repeat, respectively.
42987         * rendering/style/RenderStyleConstants.h:
42988         (WebCore::):
42990 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
42992         Reviewed by Dan Bernstein.
42994         Compositing layer size needs to take into account software reflections on children.
42995         https://bugs.webkit.org/show_bug.cgi?id=28837
42996         
42997         When computing the bounds of a composited layer, take software-rendered
42998         reflections into account.
43000         Test: compositing/reflections/reflection-in-composited.html
43002         * rendering/RenderLayerCompositor.cpp:
43003         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
43005 2009-08-31  Mark Mentovai  <mark@chromium.org>
43007         Reviewed by Dave Hyatt.
43009         https://bugs.webkit.org/show_bug.cgi?id=28614
43011         Perform a layout prior to checking whether the scrollbar modes are
43012         off, on, or automatic.  The modes may change during layout.
43014         * platform/ScrollView.cpp:
43015         (WebCore::ScrollView::updateScrollbars):
43017 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
43019         Reviewed by Timothy Hatcher.
43021         Inspector Request Headers Should Show Data Sent With Request
43022         https://bugs.webkit.org/show_bug.cgi?id=22920
43024         Manual test added - see below.
43026         * English.lproj/localizedStrings.js:
43027         * inspector/InspectorResource.cpp:
43028         (WebCore::InspectorResource::updateRequest):
43029         (WebCore::InspectorResource::createScriptObject):
43030         (WebCore::InspectorResource::updateScriptObject):
43031         * inspector/InspectorResource.h:
43032         * inspector/front-end/Resource.js:
43033         (WebInspector.Resource):
43034         * inspector/front-end/ResourceView.js:
43035         (WebInspector.ResourceView):
43036         (WebInspector.ResourceView.prototype._refreshURL):
43037         (WebInspector.ResourceView.prototype._refreshQueryString):
43038         (WebInspector.ResourceView.prototype._refreshFormData):
43039         (WebInspector.ResourceView.prototype._refreshRequestPayload):
43040         (WebInspector.ResourceView.prototype._refreshParms):
43041         (WebInspector.ResourceView.prototype._toggleURLdecoding):
43042         (WebInspector.ResourceView.prototype._getHeaderValue):
43043         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
43044         * inspector/front-end/inspector.css:
43045         * inspector/front-end/inspector.js:
43046         (WebInspector.addResource):
43047         (WebInspector.updateResource):
43048         * manual-tests/inspector/display-form-data.html: Added.
43050 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
43052         Reviewed by Timothy Hatcher.
43054         WebInspector: pass call frames into the frontend as a part of
43055         pausedScript event.
43057         https://bugs.webkit.org/show_bug.cgi?id=28847
43059         * inspector/InspectorController.cpp:
43060         (WebCore::InspectorController::didPause):
43061         * inspector/InspectorFrontend.cpp:
43062         (WebCore::InspectorFrontend::pausedScript):
43063         * inspector/InspectorFrontend.h:
43064         * inspector/front-end/ScriptsPanel.js:
43065         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
43066         * inspector/front-end/inspector.js:
43067         (WebInspector.pausedScript):
43069 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43071         Reviewed by Ariya Hidayat.
43073         [Qt] Un-blacklist Silverlight on Mac
43075         Does not seem to crash anymore, probably due to how we now handle
43076         drawing and event model handshake better.
43078         * plugins/mac/PluginPackageMac.cpp:
43079         (WebCore::PluginPackage::isPluginBlacklisted):
43081 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
43083         Reviewed by Eric Seidel.
43085         https://bugs.webkit.org/show_bug.cgi?id=28827
43086         SVGSVGElement.unsuspendRedraw() shouldn't throw
43088         * svg/SVGSVGElement.cpp:
43089         (WebCore::SVGSVGElement::unsuspendRedraw):
43090         * svg/SVGSVGElement.h:
43091         * svg/SVGSVGElement.idl:
43093 2009-08-31  Kent Tamura  <tkent@chromium.org>
43095         Reviewed by Eric Seidel.
43097         - Change the reutrn type of HTMLInputElement::list so that it
43098           conforms to the standard.
43099         - Add HTMLInputElement::dataList()
43100         https://bugs.webkit.org/show_bug.cgi?id=28769
43103         * html/HTMLInputElement.cpp:
43104         (WebCore::HTMLInputElement::list):
43105         (WebCore::HTMLInputElement::dataList):
43106         (WebCore::HTMLInputElement::selectedOption):
43107         * html/HTMLInputElement.h:
43108         * html/HTMLInputElement.idl:
43110 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
43112         Reviewed by Eric Seidel.
43114         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
43115         https://bugs.webkit.org/show_bug.cgi?id=28802
43117         Remove ASSERT because the frame could be null if the
43118         ResourceHandle is not associated with any frame, e.g. if we are
43119         downloading a file.
43120         If the frame is not null but the page is null this must be an
43121         attempted load from an onUnload handler, so let's just block it.
43123         * platform/network/curl/ResourceHandleCurl.cpp:
43124         (WebCore::ResourceHandle::start):
43126 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
43128         Reviewed by Eric Seidel.
43130         Build fix for platforms which don't enable DOM_STORAGE.
43131         https://bugs.webkit.org/show_bug.cgi?id=28834
43133         * bindings/js/ScriptController.cpp:
43134         (WebCore::ScriptController::evaluate):
43135         * bindings/v8/ScriptController.cpp:
43136         (WebCore::ScriptController::evaluate):
43138 2009-08-29  Adele Peterson  <adele@apple.com>
43140         Reviewed by Dan Bernstein.
43142         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
43143         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
43145         Test: accessibility/aria-activedescendant-crash.html
43147         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
43149 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
43151         Reviewed by Oliver Hunt.
43153         Gtk Build broken for OSX Quartz
43154         https://bugs.webkit.org/show_bug.cgi?id=28727
43156         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
43157         port in Mac and Unix/Linux.
43159         * plugins/PluginView.cpp:
43160         (WebCore::PluginView::PluginView):
43161         * plugins/PluginView.h:
43162         * plugins/gtk/PluginViewGtk.cpp:
43163         (WebCore::PluginView::setNPWindowIfNeeded):
43164         (WebCore::PluginView::getValueStatic):
43165         (WebCore::PluginView::getValue):
43166         (WebCore::PluginView::init):
43168 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
43170         Reviewed by Dan Bernstein.
43172         Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
43173         https://bugs.webkit.org/show_bug.cgi?id=28754
43174         
43175         For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
43176         ancestor, since the layer x and y are relative to that ancestor. However, this could
43177         skip over the ancestorLayer, thus giving the wrong result.
43178         
43179         Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
43180         and checking for ancestorLayer along the way. If found, compute offset of both to
43181         the enclosingPositionedAncestor() and subtract.
43182         
43183         This also fixes a positioning bug with abs. positioned elements in reflections,
43184         so there is a new reflection test with a pixel result.
43186         Tests: compositing/geometry/abs-position-inside-opacity.html
43187                fast/reflections/abs-position-in-reflection.html
43189         * rendering/RenderLayer.cpp:
43190         (WebCore::isPositionedContainer):
43191         (WebCore::RenderLayer::enclosingPositionedAncestor):
43192         (WebCore::RenderLayer::enclosingTransformedAncestor):
43193         (WebCore::RenderLayer::convertToLayerCoords):
43195 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
43197         Reviewed by Mark Rowe
43199         Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
43200         https://bugs.webkit.org/show_bug.cgi?id=27727
43202         When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
43203         CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
43204         because there is not a unique enum value for WebkitCSSTransformValue.
43206         * bindings/objc/DOMCSS.mm:
43207         (kitClass):
43209 2009-08-28  Peter Kasting  <pkasting@google.com>
43211         Reviewed by Jan Michael Alonzo.
43213         https://bugs.webkit.org/show_bug.cgi?id=28308
43214         Fix some warnings introduced by r47381.
43216         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
43217         (WebCore::convertCMYKToRGBA):
43218         (WebCore::convertRGBToRGBA):
43220 2009-08-28  Ada Chan  <adachan@apple.com>
43222         Reviewed by Adam Roben.
43224         https://bugs.webkit.org/show_bug.cgi?id=21442
43225         Make sure filesystemPathFromUrlOrTitle() returns a string with length
43226         <= MAX_PATH - 1.
43228         * platform/win/ClipboardWin.cpp:
43229         (WebCore::filesystemPathFromUrlOrTitle):
43231 2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
43233         Reviewed by Dimitri Glazkov.
43235         Adding Chromium's VFS for Linux and Mac.
43237         https://bugs.webkit.org/show_bug.cgi?id=28750
43239         * WebCore.gypi:
43240         * platform/chromium/ChromiumBridge.h:
43241         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
43242         (WebCore::SQLiteFileSystem::openDatabase):
43243         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
43244         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
43245         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
43246         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
43247         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
43249 2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
43251         Reviewed by Dimitri Glazkov.
43253         [V8] Made bindings use Node::setOnEvent functions for Node descendants
43254         instead of Node::setAttributeEventListener.
43256         Node::setAttributeEventListener is an internal function and
43257         doesn't do the forwarding to DOM window that is required for some
43258         HTML elements.
43259         https://bugs.webkit.org/show_bug.cgi?id=28709
43261         Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
43263         * bindings/scripts/CodeGeneratorV8.pm:
43264         Now generates EventListener accessors for Node descendants instead
43265         of using custom callbacks.
43266         * bindings/v8/V8DOMWrapper.cpp:
43267         (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
43268         * bindings/v8/V8DOMWrapper.h:
43269         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
43270         signature.
43271         * bindings/v8/V8Utilities.cpp:
43272         (WebCore::createHiddenDependency):
43273         (WebCore::removeHiddenDependency):
43274         Changed signature to accept Handle instead of Local.
43275         * bindings/v8/V8Utilities.h:
43276         * bindings/v8/custom/V8CustomBinding.h:
43277         * bindings/v8/custom/V8NodeCustom.cpp:
43278         (WebCore::CALLBACK_FUNC_DECL):
43279         Removed custom callbacks for EventListener accessors.
43281 2009-08-28  Ben Murdoch  <benm@google.com>
43283         https://bugs.webkit.org/show_bug.cgi?id=28803
43284         
43285         Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
43287         * bindings/v8/custom/V8CustomVoidCallback.cpp:
43288         (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
43290 2009-08-28  Peter Kasting  <pkasting@google.com>
43292         Not reviewed (build fix).
43294         * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
43295         (WebCore::ImageDecoder::create):
43296         (WebCore::ImageDecoderQt::ImageDecoderQt):
43297         * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
43299 2009-08-28  Peter Kasting  <pkasting@google.com>
43301         Reviewed by Eric Seidel.
43303         https://bugs.webkit.org/show_bug.cgi?id=27965
43304         Move ImageDecoder creation function to a factory function on
43305         ImageDecoder.  This is arguably where it makes the most sense anyway,
43306         and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
43307         function.
43309         * platform/graphics/ImageSource.cpp:
43310         * platform/graphics/qt/ImageDecoderQt.cpp:
43311         (WebCore::ImageDecoder::create):
43312         * platform/graphics/qt/ImageDecoderQt.h:
43313         * platform/graphics/qt/ImageSourceQt.cpp:
43314         (WebCore::ImageSource::setData):
43315         * platform/image-decoders/ImageDecoder.cpp:
43316         * platform/image-decoders/ImageDecoder.h:
43318 2009-08-28  Peter Kasting  <pkasting@google.com>
43320         Reviewed by Eric Seidel.
43322         https://bugs.webkit.org/show_bug.cgi?id=28785
43323         Combine duplicated code from ImageDecoder*.cpp into the main
43324         ImageDecoder.cpp.
43326         * platform/image-decoders/ImageDecoder.cpp:
43327         (WebCore::RGBA32Buffer::RGBA32Buffer):
43328         (WebCore::RGBA32Buffer::clear):
43329         (WebCore::RGBA32Buffer::zeroFill):
43330         (WebCore::RGBA32Buffer::copyBitmapData):
43331         (WebCore::RGBA32Buffer::setSize):
43332         (WebCore::RGBA32Buffer::hasAlpha):
43333         (WebCore::RGBA32Buffer::setHasAlpha):
43334         (WebCore::RGBA32Buffer::setStatus):
43335         (WebCore::RGBA32Buffer::operator=):
43336         (WebCore::RGBA32Buffer::width):
43337         (WebCore::RGBA32Buffer::height):
43338         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
43339         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
43340         * platform/image-decoders/wx/ImageDecoderWx.cpp:
43342 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43344         Reviewed by Holger Freyther.
43346         https://bugs.webkit.org/show_bug.cgi?id=25889
43347         [GTK] scrollbar policy for main frame is not implementable
43349         Override setScrollbarModes to correctly forward scrollbar modes
43350         policy changes to client code, via a new platform-specific method,
43351         scrollbarsPolicyDidChange.
43353         * page/ChromeClient.h:
43354         (WebCore::ChromeClient::scrollbarsPolicyDidChange):
43355         * platform/ScrollView.cpp:
43356         (WebCore::ScrollView::createScrollbar):
43357         * platform/ScrollView.h:
43358         * platform/gtk/ScrollViewGtk.cpp:
43359         (WebCore::ScrollView::setScrollbarModes):
43361 2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
43363         Reviewed by Tor Arne Vestbø
43365         [Qt/Mac] Un-blacklist the QuickTime plugin
43367         https://bugs.webkit.org/show_bug.cgi?id=28768
43369         Now that the drawing model is properly negotiated, there is no need the
43370         blacklist the QuickTime plugin anymore.
43372         This revealed a bug in PluginView::performRequest: it should not initiate a
43373         request if the plugin has been stopped, which is what happens when a plugin
43374         only supports the QuickDraw drawing model.
43376         * plugins/PluginView.cpp:
43377         * plugins/mac/PluginPackageMac.cpp:
43379 2009-08-28  Yury Semikhatsky  <yurys@chromium.org>
43381         Reviewed by Timothy Hatcher.
43383         Set DOM agent document to 0 in InspectorController::close to
43384         make DOM agent remove DOM listeners from the inspected document.
43386         Replace windowVisible checks with m_frontend checks to as inspector
43387         window lives in a different process in Chromium while frontend proxy
43388         is in the inspected page process.
43390         https://bugs.webkit.org/show_bug.cgi?id=28800
43392         * inspector/InspectorController.cpp:
43393         (WebCore::InspectorController::inspect):
43394         (WebCore::InspectorController::addConsoleMessage):
43395         (WebCore::InspectorController::close):
43396         (WebCore::InspectorController::pruneResources):
43397         (WebCore::InspectorController::didCommitLoad):
43398         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
43399         (WebCore::InspectorController::identifierForInitialRequest):
43400         (WebCore::InspectorController::willSendRequest):
43401         (WebCore::InspectorController::didReceiveResponse):
43402         (WebCore::InspectorController::didReceiveContentLength):
43403         (WebCore::InspectorController::didFinishLoading):
43404         (WebCore::InspectorController::didFailLoading):
43405         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
43406         (WebCore::InspectorController::scriptImported):
43407         (WebCore::InspectorController::didOpenDatabase):
43408         (WebCore::InspectorController::didUseDOMStorage):
43409         (WebCore::InspectorController::addProfile):
43410         * inspector/InspectorController.h:
43412 2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
43414         Reviewed by Timothy Hatcher.
43416         Remove dependency of SummaryBar on WebInspector.resourceCategories.
43418         https://bugs.webkit.org/show_bug.cgi?id=28801
43420         * inspector/front-end/ResourcesPanel.js:
43421         (WebInspector.ResourcesPanel):
43422         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
43423         * inspector/front-end/SummaryBar.js:
43424         (WebInspector.SummaryBar):
43425         (WebInspector.SummaryBar.prototype.update):
43427 2009-08-28  Pavel Feldman  <pfeldman@chromium.org>
43429         Not reviewed (patching in l18n change that was missing due to
43430         the git binary diff format).
43432         https://bugs.webkit.org/show_bug.cgi?id=28429
43434         * English.lproj/localizedStrings.js:
43436 2009-08-28  Adam Barth  <abarth@webkit.org>
43438         Reviewed by Eric Seidel.
43440         Make XSSAuditor go fast
43441         https://bugs.webkit.org/show_bug.cgi?id=28667
43443         Make the XSSAuditor go faster by implementing two optimizations:
43445         1) We avoid canonicalizing scripts that are larger than the page's URL.
43446            This saves a bunch of time for large inline scripts.
43448         2) We memoize canonicalizing the page's URL because it's silly to
43449            canonicalize repeated for each inline event listener.
43451         These optimizations have a measurable affect on the intl1 page cycler.
43453         No behavior change.
43455         * page/XSSAuditor.cpp:
43456         (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
43457         (WebCore::XSSAuditor::canEvaluate):
43458         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
43459         (WebCore::XSSAuditor::canCreateInlineEventListener):
43460         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
43461         (WebCore::XSSAuditor::canLoadObject):
43462         (WebCore::XSSAuditor::canSetBaseElementURL):
43463         (WebCore::XSSAuditor::decodeURL):
43464         (WebCore::XSSAuditor::findInRequest):
43465         * page/XSSAuditor.h:
43467 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
43469         Unreviewed, build fix.
43471         Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
43472         fast/canvas/change-context.html. And it's alright to reach it.
43474         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
43475         (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
43477 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
43479         Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
43481         Peter's change forgot one m_decoder->
43483         * platform/graphics/ImageSource.cpp:
43484         (WebCore::ImageSource::frameSizeAtIndex):
43486 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
43488         Unreviewed, build fix.
43490         [V8] Add NULL-check, since the context ain't changeable no more, and
43491         thus getContext could return 0.
43493         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
43494         (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
43496 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
43498         Reviewed by Eric Seidel.
43500         dataTransfer.types() should include type "Files" when files are present in the clipboard.
43501         https://bugs.webkit.org/show_bug.cgi?id=28780
43503         Add dataTransfer type "Files" to the chromium port.  Add eseidel's
43504         patch for same for the mac port.
43506         * platform/chromium/ClipboardChromium.cpp:
43508 2009-08-27  Chris Marrin  <cmarrin@apple.com>
43510         Reviewed by Simon Fraser.
43512         Removed GL_ from all constants, and gl prefix from all calls
43513         https://bugs.webkit.org/show_bug.cgi?id=28773
43515         This was done for the external API in CanvasRenderingContext3D and
43516         the internal API in GraphicsContext3D.
43518         * html/canvas/CanvasRenderingContext3D.cpp:
43519         * html/canvas/CanvasRenderingContext3D.h:
43520         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
43521         * html/canvas/CanvasRenderingContext3D.idl:
43522         * platform/graphics/GraphicsContext3D.h:
43523         * platform/graphics/mac/GraphicsContext3DMac.cpp:
43525 2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
43527         Qt and Gtk build fixes. Not reviewed.
43529         Add CanvasRenderingContext3D.idl to the build scripts.
43531         * GNUmakefile.am:
43532         * WebCore.pro:
43534 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
43536         Reviewed by Darin Fisher.
43538         Release the storage mutex whenever leaving JavaScript execution.
43539         https://bugs.webkit.org/show_bug.cgi?id=28789
43541         http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
43542         required behavior.  After we leave JavaScript, we must be sure the storage
43543         mutex has been released.  At the end of evaluate(), if localStorage has been
43544         instantiated, tell it to release any locks that may be applicable.
43546         * bindings/js/ScriptController.cpp:
43547         (WebCore::ScriptController::evaluate):
43548         * bindings/v8/ScriptController.cpp:
43549         (WebCore::ScriptController::evaluate):
43551 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
43553         Reviewed by Oliver Hunt.
43555         https://bugs.webkit.org/show_bug.cgi?id=28753
43556         <rdar://problem/7173448> Excessive number of threads (and a crash)
43558         Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
43559         - when resolver is idle, the first few requests are sent immediately (they may or may not
43560         hit the wire);
43561         - if there are a few requests in flight already, coalesce all requests for one second;
43562         - to avoid pathological cases with lots of links to different sites on a page, only ask
43563         CFHost about a handful of names (dropping the rest).
43565         Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
43566         link, and these tend to have identical host name.
43568         * platform/network/cf/DNSCFNet.cpp:
43569         (WebCore::DNSResolveQueue::DNSResolveQueue):
43570         (WebCore::DNSResolveQueue::shared):
43571         (WebCore::DNSResolveQueue::add):
43572         (WebCore::DNSResolveQueue::decrementRequestCount):
43573         (WebCore::DNSResolveQueue::fired):
43574         (WebCore::clientCallback):
43575         (WebCore::DNSResolveQueue::resolve):
43576         (WebCore::prefetchDNS):
43578 2009-08-27  Chris Marrin  <cmarrin@apple.com>
43580         Reviewed by Simon Fraser.
43582         Final patch for Canvas 3D support
43583         https://bugs.webkit.org/show_bug.cgi?id=28018
43585         This hooks everything up and provides a working implementation of
43586         Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
43587         passing the opaque context and texture pointers so a Canvas3DLayer can be
43588         created (more on that later). It also plumbs changes to the 3D canvas so
43589         that Canvas3DLayer can recomposite the results.
43590         
43591         A 3D Canvas element needs a RenderLayer and compositing layer to render.
43592         This is because it renders to an off-screen texture in the GPU and then
43593         hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
43594         render that texture as a 3D quad. This keeps everything in GPU memory to 
43595         maximize performance. When a CanvasRenderingContext3D is created it 
43596         forces a style recalc which creates the RenderLayer and compositing 
43597         layer if needed. 
43598         
43599         I repurposed an existing flag which was put in place for animation to accomplish 
43600         this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
43601         AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
43602         to do a complete style recalc, even though the style itself has not really
43603         changed.
43604         
43605         This patch also fixes a couple of bugs discovered when testing with 3d-canvas
43606         turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
43607         This is needed when making a JS wrapper for the object so the prototype 
43608         property can be set.
43610         Test: fast/canvas/change-context.html
43612         * WebCore.xcodeproj/project.pbxproj:
43613         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
43614         (WebCore::JSCanvasRenderingContext3D::glDrawElements):
43615         * bindings/js/JSCanvasRenderingContextCustom.cpp:
43616         (WebCore::toJS):
43617         * dom/Element.cpp:
43618         (WebCore::Element::recalcStyle):
43619         * dom/Node.cpp:
43620         (WebCore::Node::setNeedsStyleRecalc):
43621         * dom/Node.h:
43622         (WebCore::):
43623         * html/HTMLCanvasElement.cpp:
43624         (WebCore::HTMLCanvasElement::getContext):
43625         (WebCore::HTMLCanvasElement::is3D):
43626         * html/HTMLCanvasElement.h:
43627         * html/canvas/CanvasBuffer.cpp:
43628         (WebCore::CanvasBuffer::create):
43629         (WebCore::CanvasBuffer::CanvasBuffer):
43630         (WebCore::CanvasBuffer::_deleteObject):
43631         * html/canvas/CanvasBuffer.h:
43632         * html/canvas/CanvasFramebuffer.cpp:
43633         (WebCore::CanvasFramebuffer::create):
43634         (WebCore::CanvasFramebuffer::CanvasFramebuffer):
43635         (WebCore::CanvasFramebuffer::_deleteObject):
43636         * html/canvas/CanvasFramebuffer.h:
43637         * html/canvas/CanvasObject.cpp:
43638         (WebCore::CanvasObject::CanvasObject):
43639         (WebCore::CanvasObject::~CanvasObject):
43640         (WebCore::CanvasObject::deleteObject):
43641         * html/canvas/CanvasObject.h:
43642         (WebCore::CanvasObject::context):
43643         * html/canvas/CanvasProgram.cpp:
43644         (WebCore::CanvasProgram::create):
43645         (WebCore::CanvasProgram::CanvasProgram):
43646         (WebCore::CanvasProgram::_deleteObject):
43647         * html/canvas/CanvasProgram.h:
43648         * html/canvas/CanvasRenderbuffer.cpp:
43649         (WebCore::CanvasRenderbuffer::create):
43650         (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
43651         (WebCore::CanvasRenderbuffer::_deleteObject):
43652         * html/canvas/CanvasRenderbuffer.h:
43653         * html/canvas/CanvasRenderingContext3D.cpp:
43654         (WebCore::CanvasRenderingContext3D::createBuffer):
43655         (WebCore::CanvasRenderingContext3D::createFramebuffer):
43656         (WebCore::CanvasRenderingContext3D::createTexture):
43657         (WebCore::CanvasRenderingContext3D::createProgram):
43658         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
43659         (WebCore::CanvasRenderingContext3D::createShader):
43660         * html/canvas/CanvasRenderingContext3D.h:
43661         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
43662         * html/canvas/CanvasShader.cpp:
43663         (WebCore::CanvasShader::create):
43664         (WebCore::CanvasShader::CanvasShader):
43665         (WebCore::CanvasShader::_deleteObject):
43666         * html/canvas/CanvasShader.h:
43667         * html/canvas/CanvasTexture.cpp:
43668         (WebCore::CanvasTexture::create):
43669         (WebCore::CanvasTexture::CanvasTexture):
43670         (WebCore::CanvasTexture::_deleteObject):
43671         * html/canvas/CanvasTexture.h:
43672         * page/DOMWindow.idl:
43673         * page/animation/AnimationBase.cpp:
43674         (WebCore::AnimationBase::setNeedsStyleRecalc):
43675         * page/animation/AnimationController.cpp:
43676         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
43677         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
43678         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
43679         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
43680         (WebCore::AnimationController::cancelAnimations):
43681         * platform/graphics/GraphicsContext3D.h:
43682         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
43683         (WebCore::GraphicsContext3D::platformTexture):
43684         * platform/graphics/GraphicsLayer.h:
43685         (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
43686         (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
43687         * platform/graphics/mac/GraphicsContext3DMac.cpp:
43688         (WebCore::GraphicsContext3D::~GraphicsContext3D):
43689         (WebCore::GraphicsContext3D::reshape):
43690         * platform/graphics/mac/GraphicsLayerCA.h:
43691         (WebCore::GraphicsLayerCA::):
43692         * platform/graphics/mac/GraphicsLayerCA.mm:
43693         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
43694         (WebCore::GraphicsLayerCA::commitLayerChanges):
43695         (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
43696         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
43697         (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
43698         * rendering/RenderHTMLCanvas.cpp:
43699         (WebCore::RenderHTMLCanvas::requiresLayer):
43700         * rendering/RenderHTMLCanvas.h:
43701         (WebCore::RenderHTMLCanvas::isCanvas):
43702         * rendering/RenderLayerBacking.cpp:
43703         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
43704         (WebCore::RenderLayerBacking::canUseDirectCompositing):
43705         (WebCore::RenderLayerBacking::rendererContentChanged):
43706         * rendering/RenderLayerCompositor.cpp:
43707         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
43708         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
43709         * rendering/RenderLayerCompositor.h:
43710         * rendering/RenderObject.h:
43711         (WebCore::RenderObject::isCanvas):
43713 2009-08-27  Peter Kasting  <pkasting@google.com>
43715         Reviewed by Eric Seidel.
43717         https://bugs.webkit.org/show_bug.cgi?id=28751
43718         Clean up ImageDecoder*.cpp a bit.
43720         * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
43721           order as in the header file.  Also, since there's already an anonymous
43722           namespace in this file, use it to enclose the local helper functions.
43723         (WebCore::):
43724         (WebCore::ImageDecoder::upperBoundScaledX):
43725         (WebCore::ImageDecoder::lowerBoundScaledX):
43726         (WebCore::ImageDecoder::scaledY):
43727         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
43728         (WebCore::RGBA32Buffer::width): Style fix.
43729         (WebCore::RGBA32Buffer::height): Style fix.
43730         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
43731         (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
43732         (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
43733         (WebCore::RGBA32Buffer::operator=): Simplify.
43734         * platform/image-decoders/wx/ImageDecoderWx.cpp:
43735         (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
43736         (WebCore::RGBA32Buffer::width): Style fix.
43737         (WebCore::RGBA32Buffer::height): Style fix.
43739 2009-08-27  Peter Kasting  <pkasting@google.com>
43741         Reviewed by Eric Seidel.
43743         https://bugs.webkit.org/show_bug.cgi?id=28751
43744         Clean up ImageSource.* in preparation for more fixes on bug 27965.
43746         * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
43747         (WebCore::ImageSource::isSizeAvailable): Shorten.
43748         (WebCore::ImageSource::size): Shorten.
43749         (WebCore::ImageSource::frameSizeAtIndex): Shorten.
43750         (WebCore::ImageSource::repetitionCount): Shorten.
43751         (WebCore::ImageSource::frameIsCompleteAtIndex):
43752         * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
43754 2009-08-27  Peter Kasting  <pkasting@google.com>
43756         Reviewed by Eric Seidel.
43758         https://bugs.webkit.org/show_bug.cgi?id=28785
43759         Add ImageDecoder.cpp to various build files so platforms will be able to
43760         use it.  Move an ENABLE to not cover the whole file, in preparation for
43761         adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
43762         vs. everyone else", which also gives new platforms a reasonable default
43763         behavior.
43765         * GNUmakefile.am:
43766         * WebCore.gypi:
43767         * WebCore.vcproj/WebCore.vcproj:
43768         * WebCoreSources.bkl:
43769         * platform/image-decoders/ImageDecoder.cpp:
43770         (WebCore::):
43771         * platform/image-decoders/ImageDecoder.h:
43772         (WebCore::RGBA32Buffer::getAddr):
43774 2009-08-27  Antti Koivisto  <antti@apple.com>
43776         Reviewed by Dave Kilzer.
43777         
43778         https://bugs.webkit.org/show_bug.cgi?id=28784
43779         
43780         Add an exported method to flush pending repaints.
43782         * WebCore.base.exp:
43783         * page/FrameView.cpp:
43784         (WebCore::FrameView::layoutIfNeededRecursive):
43785         (WebCore::FrameView::flushDeferredRepaints):
43786         * page/FrameView.h:
43788 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
43790         Reviewed by Eric Seidel.
43792         [V8] Expose files from the pasteboard in drop events.
43793         https://bugs.webkit.org/show_bug.cgi?id=28782
43795         Update chromium port to expose dataTransfer.files() as per
43796         HTML5 drag drop (Aug 2009 edition).
43798         * platform/chromium/ClipboardChromium.cpp:
43800 2009-08-27  Yury Semikhatsky  <yurys@chromium.org>
43802         Reviewed by Dmitry Glazkov.
43804         ScriptState now keeps explicit Handle of devtools front-end
43805         utility context instead of trying to retrieve it from inspected
43806         Frame.
43808         https://bugs.webkit.org/show_bug.cgi?id=28772
43810         * bindings/v8/ScriptController.cpp:
43811         (WebCore::ScriptController::ScriptController):
43812         * bindings/v8/ScriptController.h:
43813         * bindings/v8/ScriptObjectQuarantine.cpp:
43814         (WebCore::getQuarantinedScriptObject):
43815         * bindings/v8/ScriptScope.cpp:
43816         (WebCore::ScriptScope::ScriptScope):
43817         * bindings/v8/ScriptState.cpp:
43818         (WebCore::ScriptState::ScriptState):
43819         (WebCore::ScriptState::~ScriptState):
43820         (WebCore::scriptStateFromPage):
43821         * bindings/v8/ScriptState.h:
43822         (WebCore::ScriptState::context):
43823         * bindings/v8/ScriptValue.h:
43824         (WebCore::ScriptValue::~ScriptValue):
43825         * inspector/InspectorController.h:
43826         (WebCore::InspectorController::frontendScriptState):
43828 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
43830         Reviewed by Timothy Hatcher.
43832         WebInspector: Console won't close.
43834         https://bugs.webkit.org/show_bug.cgi?id=28778
43836         * inspector/front-end/ElementsPanel.js:
43837         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
43838         * inspector/front-end/utilities.js:
43839         (Node.prototype.isAncestor):
43841 2009-08-27  Eric Seidel  <eric@webkit.org>
43843         Reviewed by Adam Barth.
43845         Fix a typo in files() causing image drags to have junk file arrays.
43846         https://bugs.webkit.org/show_bug.cgi?id=28755
43848         Test: editing/pasteboard/files-during-page-drags.html
43850         * platform/mac/ClipboardMac.mm:
43851         (WebCore::ClipboardMac::files):
43853 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
43855         Not reviewed.  Build fix for Chromium.
43857         * bindings/v8/DOMObjectsInclude.h:
43858         * bindings/v8/DerivedSourcesAllInOne.cpp:
43859         * bindings/v8/V8Index.cpp:
43860         * bindings/v8/V8Index.h:
43862 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
43864         Windows build fix.
43866         * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
43868 2009-08-26  Alexey Proskuryakov  <ap@apple.com>
43870         Reviewed by Adele Peterson.
43872         https://bugs.webkit.org/show_bug.cgi?id=28758
43873         <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
43875         Tests: fast/events/pageshow-pagehide-on-back-cached.html
43876                fast/events/pageshow-pagehide-on-back-uncached.html
43877                fast/events/pageshow-pagehide.html
43879         * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
43880         (this function is called both when a document goes away, and when it goes to b/f cache).
43882         * page/DOMWindow.cpp:
43883         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
43884         (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
43885         that can be installed on Window object.
43886         (WebCore::DOMWindow::onpagehide): Ditto.
43887         (WebCore::DOMWindow::setOnpagehide): Ditto.
43888         (WebCore::DOMWindow::onpageshow): Ditto.
43889         (WebCore::DOMWindow::setOnpageshow): Ditto.
43891         * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
43892         that isn't being restored from cache.
43894         * dom/PageTransitionEvent.cpp: Added.
43895         (WebCore::PageTransitionEvent::PageTransitionEvent):
43896         (WebCore::PageTransitionEvent::~PageTransitionEvent):
43897         (WebCore::PageTransitionEvent::initPageTransitionEvent):
43898         * dom/PageTransitionEvent.h: Added.
43899         (WebCore::PageTransitionEvent::create):
43900         (WebCore::PageTransitionEvent::isPageTransitionEvent):
43901         (WebCore::PageTransitionEvent::persisted):
43902         * dom/PageTransitionEvent.idl: Added.
43903         Add event class implementation.
43905         * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
43906         inline listener definition (note that adding listeners to document.body programmatically
43907         is not supported, matching Firefox).
43909         * dom/Document.cpp:
43910         (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
43911         (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
43912         Docuemnt.
43913         (WebCore::Document::createEvent): Ditto.
43915         * dom/Document.h: Added dispatchPageTransitionEvent.
43917         * DerivedSources.make:
43918         * GNUmakefile.am:
43919         * WebCore.gypi:
43920         * WebCore.pro:
43921         * WebCore.vcproj/WebCore.vcproj:
43922         * WebCore.xcodeproj/project.pbxproj:
43923         * WebCoreSources.bkl:
43924         * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
43925         * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
43926         * dom/Event.h:
43927         * dom/EventNames.h:
43928         * html/HTMLAttributeNames.in:
43929         * page/DOMWindow.h:
43930         * page/DOMWindow.idl:
43931         Do what it takes to add a new event type.
43933 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
43935         Reviewed by NOBODY (build fix).
43937         Adding missing file from previous commit.
43939         https://bugs.webkit.org/show_bug.cgi?id=28740
43941         * inspector/front-end/SummaryBar.js: Added.
43942         (WebInspector.SummaryBar):
43943         (WebInspector.SummaryBar.prototype.get calculator):
43944         (WebInspector.SummaryBar.prototype.set calculator):
43945         (WebInspector.SummaryBar.prototype.reset):
43946         (WebInspector.SummaryBar.prototype.update):
43947         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
43948         (WebInspector.SummaryBar.prototype._drawSwatch):
43949         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
43950         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
43951         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
43952         (WebInspector.SummaryBar.prototype._fadeOutRect):
43953         (WebInspector.SummaryBar.prototype._makeLegendElement):
43955 2009-08-27  Mikhail Naganov  <mnaganov@chromium.org>
43957         Reviewed by Timothy Hatcher.
43959         Factor out Factor out summary bar from Resources panel.
43961         https://bugs.webkit.org/show_bug.cgi?id=28740
43963         * WebCore.gypi:
43964         * WebCore.vcproj/WebCore.vcproj:
43965         * inspector/front-end/ResourcesPanel.js:
43966         (WebInspector.ResourcesPanel.prototype.reset):
43967         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
43968         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
43969         (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
43970         * inspector/front-end/SummaryBar.js: Added.
43971         (WebInspector.SummaryBar):
43972         (WebInspector.SummaryBar.prototype.get calculator):
43973         (WebInspector.SummaryBar.prototype.set calculator):
43974         (WebInspector.SummaryBar.prototype.reset):
43975         (WebInspector.SummaryBar.prototype.update):
43976         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
43977         (WebInspector.SummaryBar.prototype._drawSwatch):
43978         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
43979         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
43980         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
43981         (WebInspector.SummaryBar.prototype._fadeOutRect):
43982         (WebInspector.SummaryBar.prototype._makeLegendElement):
43983         * inspector/front-end/WebKit.qrc:
43984         * inspector/front-end/inspector.css:
43985         * inspector/front-end/inspector.html:
43987 2009-08-26  Mikhail Naganov  <mnaganov@chromium.org>
43989         Reviewed by Timothy Hatcher.
43991         Start adding heap profiler to Inspector (hidden behind a flag.)
43993         https://bugs.webkit.org/show_bug.cgi?id=28429
43995         * English.lproj/localizedStrings.js:
43996         * inspector/front-end/ProfilesPanel.js:
43997         (WebInspector.ProfilesPanel):
43998         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
43999         (WebInspector.ProfilesPanel.prototype.reset):
44000         (WebInspector.ProfilesPanel.prototype.addProfile):
44001         (WebInspector.ProfilesPanel.prototype._updateInterface):
44002         (WebInspector.ProfilesPanel.prototype._snapshotClicked):
44003         * inspector/front-end/inspector.css:
44004         * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
44006 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
44008         Reviewed by Timothy Hatcher.
44010         WebInspector: Metrics sidebar editing is broken.
44012         https://bugs.webkit.org/show_bug.cgi?id=28434
44014         * inspector/front-end/MetricsSidebarPane.js:
44015         (WebInspector.MetricsSidebarPane.prototype.update):
44017 2009-08-27  Darin Fisher  <darin@chromium.org>
44019         Reviewed by Dimitri Glazkov.
44021         https://bugs.webkit.org/show_bug.cgi?id=28767
44023         Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
44024         KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.
44026         * platform/KURLGoogle.cpp:
44027         (WebCore::decodeURLEscapeSequences):
44029 2009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
44031         Reviewed by Tor Arne Vestbø.
44033         [Qt] Build fix, missing functions after r47763.
44035         * platform/qt/Localizations.cpp:
44036         (WebCore::localizedMediaControlElementString):
44037         (WebCore::localizedMediaControlElementHelpText):
44038         (WebCore::localizedMediaTimeDescription):
44040 2009-08-26  Dumitru Daniliuc  <dumi@chromium.org>
44042         Reviewed by Adam Barth.
44044         Removing trailing whitespaces from all storage classes.
44046         https://bugs.webkit.org/show_bug.cgi?id=28075
44048         * storage/ChangeVersionWrapper.cpp:
44049         * storage/Database.cpp:
44050         * storage/Database.h:
44051         * storage/DatabaseDetails.h:
44052         * storage/DatabaseThread.cpp:
44053         * storage/DatabaseTracker.cpp:
44054         * storage/DatabaseTracker.h:
44055         * storage/LocalStorageTask.cpp:
44056         * storage/LocalStorageTask.h:
44057         * storage/LocalStorageThread.cpp:
44058         * storage/LocalStorageThread.h:
44059         * storage/OriginQuotaManager.cpp:
44060         * storage/OriginUsageRecord.cpp:
44061         * storage/OriginUsageRecord.h:
44062         * storage/SQLError.h:
44063         * storage/SQLResultSetRowList.h:
44064         * storage/SQLStatement.cpp:
44065         * storage/SQLStatement.h:
44066         * storage/SQLStatementCallback.h:
44067         * storage/SQLStatementErrorCallback.h:
44068         * storage/SQLTransaction.cpp:
44069         * storage/SQLTransaction.h:
44070         * storage/SQLTransactionCallback.h:
44071         * storage/SQLTransactionErrorCallback.h:
44072         * storage/Storage.cpp:
44073         * storage/Storage.h:
44074         * storage/StorageArea.h:
44075         * storage/StorageAreaImpl.cpp:
44076         * storage/StorageAreaImpl.h:
44077         * storage/StorageAreaSync.cpp:
44078         * storage/StorageAreaSync.h:
44079         * storage/StorageEvent.cpp:
44080         * storage/StorageEvent.h:
44081         * storage/StorageMap.cpp:
44082         * storage/StorageMap.h:
44083         * storage/StorageNamespaceImpl.cpp:
44084         * storage/StorageSyncManager.cpp:
44085         * storage/StorageSyncManager.h:
44087 2009-08-26  Dave Hyatt  <hyatt@apple.com>
44089         Reviewed by Anders Carlsson.
44091         https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
44093         Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
44094         to do this in order for overflow information to be properly recomputed.
44096         * rendering/style/RenderStyle.cpp:
44097         (WebCore::RenderStyle::diff):
44099 2009-08-26  Eric Carlson  <eric.carlson@apple.com>
44101         Reviewed by Simon Fraser.
44103         HTMLMediaElement sometimes loses events
44104         https://bugs.webkit.org/show_bug.cgi?id=28762
44105         <rdar://problem/7172437>
44107         A media element triggers the resource selection algorithm if 
44108         play() is called when the networkState attribute is NETWORK_EMPTY, but
44109         it also immediately queues 'play' and either 'waiting' or 'playing' events.
44110         One of the steps in preparing to load is to flush pending events, so those 
44111         events were lost if the load timer fired quickly enough. Fixed by deleting
44112         pending events before scheduling the load timer.
44114         Test: media/audio-play-event.html
44116         * html/HTMLMediaElement.cpp:
44117         (WebCore::HTMLMediaElement::scheduleLoad):
44118             Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
44119             pending events is flushed immediately.
44120         (WebCore::HTMLMediaElement::scheduleNextSourceChild):
44121             New, start the load timer without flushing pending events.
44122         (WebCore::HTMLMediaElement::load):
44123             Call prepareForLoad();
44124         (WebCore::HTMLMediaElement::prepareForLoad):
44125             New, load setup code moved from loadInternal.
44126         (WebCore::HTMLMediaElement::loadInternal):
44127             Moved some setup code to prepareForLoad so it can be invoked immediately before
44128             arming the load timer.
44129         (WebCore::HTMLMediaElement::setNetworkState):
44130             Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
44131             pending events.
44132         * html/HTMLMediaElement.h:
44133             Declare scheduleNextSourceChild.
44135 2009-08-26  Peter Kasting  <pkasting@google.com>
44137         Reviewed by Eric Seidel.
44139         https://bugs.webkit.org/show_bug.cgi?id=28751
44140         Switch ICO decoder from a Vector of raw pointers to a Vector of
44141         OwnPtrs now that that is possible.  Makes code slightly simpler.
44143         * platform/image-decoders/ico/ICOImageDecoder.cpp:
44144         (WebCore::ICOImageDecoder::decodeAtIndex):
44145         (WebCore::ICOImageDecoder::processDirectory):
44146         * platform/image-decoders/ico/ICOImageDecoder.h:
44148 2009-08-26  Dave Hyatt  <hyatt@apple.com>
44150         Reviewed by Dan Bernstein.
44152         https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
44153         Make sure vertical overflow is still computed across self-painting layers, even though it isn't
44154         propagated to parents.
44156         Added fast/repaint/rel-positioned-inline-with-overflow.html
44158         * rendering/InlineFlowBox.cpp:
44159         (WebCore::InlineFlowBox::computeVerticalOverflow):
44161 2009-08-26  David Levin  <levin@chromium.org>
44163         Reviewed by Darin Fisher.
44165         ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
44166         https://bugs.webkit.org/show_bug.cgi?id=28735
44168         Renaming the method to imply its wider implications of affecting cookies
44169         over any protocol that supports them.
44171         No change in functionality so no new tests.
44173         * WebCore.order:
44174         * loader/DocumentThreadableLoader.cpp:
44175         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
44176         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
44177         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
44178         * platform/network/ResourceRequestBase.cpp:
44179         (WebCore::ResourceRequestBase::adopt):
44180         (WebCore::ResourceRequestBase::copyData):
44181         (WebCore::ResourceRequestBase::allowCookies):
44182         (WebCore::ResourceRequestBase::setAllowCookies):
44183         (WebCore::equalIgnoringHeaderFields):
44184         * platform/network/ResourceRequestBase.h:
44185         (WebCore::ResourceRequestBase::ResourceRequestBase):
44186         * platform/network/cf/ResourceRequestCFNet.cpp:
44187         (WebCore::ResourceRequest::doUpdatePlatformRequest):
44188         (WebCore::ResourceRequest::doUpdateResourceRequest):
44189         * platform/network/mac/ResourceRequestMac.mm:
44190         (WebCore::ResourceRequest::doUpdateResourceRequest):
44191         (WebCore::ResourceRequest::doUpdatePlatformRequest):
44192         * platform/network/soup/ResourceRequestSoup.cpp:
44193         (WebCore::ResourceRequest::updateFromSoupMessage):
44195 2009-08-26  Dan Bernstein  <mitz@apple.com>
44197         Reviewed by Dave Hyatt.
44199         Made RenderInline::clippedOverflowRectForRepaint() actually include
44200         overflow.
44202         Test: fast/repaint/inline-overflow.html
44204         * rendering/RenderInline.cpp:
44205         (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
44206             the bounding box of all lines’ visible overflow boxes (under the
44207             assumption that the first and last lines determine the top and
44208             bottom, respectively).
44209         (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
44210             linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
44211         * rendering/RenderInline.h:
44213 2009-08-26  John Gregg  <johnnyg@google.com>
44215         Reviewed by David Levin.
44217         minor style correction and include fix for notifications
44218         https://bugs.webkit.org/show_bug.cgi?id=28745
44220         No change in behavior, so no tests.
44222         * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
44223         * notifications/Notification.cpp: change enum style to InterCaps
44224         (WebCore::Notification::Notification):
44225         * notifications/NotificationPresenter.h:
44226         (WebCore::NotificationPresenter::):
44228 2009-08-25  Drew Wilson  <atwilson@google.com>
44230         Reviewed by David Levin.
44232         postMessage() spec now supports sending arrays of ports
44233         https://bugs.webkit.org/show_bug.cgi?id=26902
44235         Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
44237         No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
44239         * WebCore.xcodeproj/project.pbxproj:
44240         Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
44241         * dom/MessageEvent.cpp:
44242         Updated APIs to support passing MessagePortArrays.
44243         (WebCore::MessageEvent::MessageEvent):
44244         (WebCore::MessageEvent::initMessageEvent):
44245         (WebCore::MessageEvent::messagePort):
44246         * dom/MessageEvent.h:
44247         (WebCore::MessageEvent::create):
44248         Now accepts a MessagePortArray parameter instead of a single MessagePort.
44249         (WebCore::MessageEvent::ports):
44250         * dom/MessagePort.cpp:
44251         (WebCore::MessagePort::postMessage):
44252         (WebCore::MessagePort::dispatchMessages):
44253         (WebCore::MessagePort::disentanglePorts):
44254         Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
44255         (WebCore::MessagePort::entanglePorts):
44256         Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
44257         * dom/MessagePort.h:
44258         * dom/MessagePortChannel.cpp:
44259         EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
44260         (WebCore::MessagePortChannel::EventData::create):
44261         (WebCore::MessagePortChannel::EventData::EventData):
44262         * dom/MessagePortChannel.h:
44263         (WebCore::MessagePortChannel::EventData::channels):
44264         * page/DOMWindow.cpp:
44265         (WebCore::PostMessageTimer::PostMessageTimer):
44266         (WebCore::PostMessageTimer::event):
44267         (WebCore::DOMWindow::postMessage):
44268         Now accepts a MessagePortArray parameter instead of a single MessagePort.
44269         * page/DOMWindow.h:
44270         * workers/DedicatedWorkerContext.cpp:
44271         (WebCore::DedicatedWorkerContext::postMessage):
44272         Now accepts a MessagePortArray parameter instead of a single MessagePort.
44273         (WebCore::DedicatedWorkerContext::dispatchMessage):
44274         * workers/DedicatedWorkerContext.h:
44275         * workers/Worker.cpp:
44276         (WebCore::Worker::postMessage):
44277         Now accepts a MessagePortArray parameter instead of a single MessagePort.
44278         (WebCore::Worker::dispatchMessage):
44279         * workers/Worker.h:
44280         * workers/WorkerContextProxy.h:
44281         * workers/WorkerMessagingProxy.cpp:
44282         Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
44283         (WebCore::MessageWorkerContextTask::create):
44284         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
44285         (WebCore::MessageWorkerContextTask::performTask):
44286         (WebCore::MessageWorkerTask::create):
44287         (WebCore::MessageWorkerTask::MessageWorkerTask):
44288         (WebCore::MessageWorkerTask::performTask):
44289         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
44290         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
44291         * workers/WorkerMessagingProxy.h:
44292         * workers/WorkerObjectProxy.h:
44293         Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
44295 2009-08-26  Fumitoshi Ukai  <ukai@chromium.org>
44297         Reviewed by Alexey Proskuryakov.
44299         SocketStreamHandle interface for WebSocket API
44300         https://bugs.webkit.org/show_bug.cgi?id=28037
44302         Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
44303         Other build systems will be updated once the code is functional.
44304         Tests will be landed once this code is complete and functional.
44306         * GNUmakefile.am:
44307         * WebCore.xcodeproj/project.pbxproj:
44308         * platform/network/SocketStreamErrorBase.cpp: Added.
44309         * platform/network/SocketStreamErrorBase.h: Added.
44310         * platform/network/SocketStreamHandleBase.cpp: Added.
44311         * platform/network/SocketStreamHandleBase.h: Added.
44312         * platform/network/SocketStreamHandleClient.h: Added.
44313         * platform/network/cf/SocketStreamError.h: Added.
44314         * platform/network/cf/SocketStreamHandle.h: Added.
44315         * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
44316         * platform/network/soup/SocketStreamError.h: Added.
44317         * platform/network/soup/SocketStreamHandle.h: Added.
44318         * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
44320 2009-08-26  Mads Ager  <ager@chromium.org>
44322         Reviewed by Dimitri Glazkov.
44324         [V8] setTimeout does not convert non-string argument to string
44325         https://bugs.webkit.org/show_bug.cgi?id=28739
44327         Convert non-string argument to setTimeout to string in the V8
44328         bindings.
44330         * bindings/v8/custom/V8DOMWindowCustom.cpp:
44331         (WebCore::V8Custom::WindowSetTimeoutImpl):
44333 2009-08-25  Oliver Hunt  <oliver@apple.com>
44335         Reviewed by Gavin Barraclough.
44337         [ES5] Implement getOwnPropertyDescriptor
44338         https://bugs.webkit.org/show_bug.cgi?id=28724
44340         Implement the WebCore side of getOwnPropertyDescriptor.  This
44341         requires a custom implementation of getOwnPropertyDescriptor
44342         for every class with a custom implementation of getOwnPropertySlot.
44344         The bindings generator has been updated to generate appropriate
44345         versions of getOwnPropertyDescriptor for the general case where
44346         a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
44347         about how getOwnPropertyDescriptor should work in the context of
44348         "host" functions with polymorphic [[GetOwnProperty]], so it seems
44349         okay that occasionally we "guess" what attributes -- eg. determining
44350         whether a property is writable.
44352         Test: fast/js/getOwnPropertyDescriptor.html
44354         * bindings/js/JSDOMWindowCustom.cpp:
44355         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
44356         * bindings/js/JSDOMWindowShell.cpp:
44357         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
44358         * bindings/js/JSDOMWindowShell.h:
44359         * bindings/js/JSHTMLAppletElementCustom.cpp:
44360         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
44361         * bindings/js/JSHTMLEmbedElementCustom.cpp:
44362         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
44363         * bindings/js/JSHTMLObjectElementCustom.cpp:
44364         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
44365         * bindings/js/JSHistoryCustom.cpp:
44366         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
44367         * bindings/js/JSLocationCustom.cpp:
44368         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
44369         * bindings/js/JSNamedNodesCollection.cpp:
44370         (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
44371         * bindings/js/JSNamedNodesCollection.h:
44372         * bindings/js/JSPluginElementFunctions.cpp:
44373         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
44374         * bindings/js/JSPluginElementFunctions.h:
44375         * bindings/js/JSQuarantinedObjectWrapper.cpp:
44376         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
44377         * bindings/js/JSQuarantinedObjectWrapper.h:
44378         * bindings/js/JSWorkerContextCustom.cpp:
44379         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
44380         * bindings/scripts/CodeGeneratorJS.pm:
44381         * bridge/objc/objc_runtime.h:
44382         * bridge/objc/objc_runtime.mm:
44383         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
44384         * bridge/runtime.h:
44385         (JSC::Bindings::Instance::getOwnPropertyDescriptor):
44386         * bridge/runtime_array.cpp:
44387         (JSC::RuntimeArray::getOwnPropertyDescriptor):
44388         * bridge/runtime_array.h:
44389         * bridge/runtime_method.cpp:
44390         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
44391         * bridge/runtime_method.h:
44392         * bridge/runtime_object.cpp:
44393         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
44394         * bridge/runtime_object.h:
44396 2009-08-26  Vincent Untz <vuntz@gnome.org>
44398         Reviewed by Xan Lopez.
44400         GObject checks for NULL (and not 0) in g_object_get, so use that
44401         as we were already doing elsewhere to make the compiler happy.
44403         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44404         (WebCore::MediaPlayerPrivate::hasAudio):
44406 2009-08-26  Alpha Lam  <hclam@chromium.org>
44408         Reviewed by David Levin.
44410         RenderThemeMac.mm has incorrect casting for media control element.
44411         https://bugs.webkit.org/show_bug.cgi?id=28730
44413         MediaControlMuteButtonElement was incorrectly casted to
44414         MediaControlPlayButtonElement. This is corrected in this patch.
44416         No new tests because this is code cleanup and is already covered by existing
44417         media layout tests.
44419         * rendering/RenderThemeMac.mm:
44420         (WebCore::RenderThemeMac::paintMediaMuteButton):
44422 2009-08-26  Robert Sesek  <rsesek@chromium.org>
44424         Reviewed by Eric Seidel.
44426         [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
44427         https://bugs.webkit.org/show_bug.cgi?id=28670
44429         Change the condition regarding the key modifier check for non-contiguous
44430         selection on a multi-value list from just PLATFORM(MAC) to
44431         PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
44433         No new tests. This patch only changes the condition on which a certain mouse
44434         event modifier key is used.
44436         * dom/SelectElement.cpp:
44437         (WebCore::SelectElement::listBoxDefaultEventHandler):
44439 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
44441         Reviewed by Dan Bernstein
44443         r47744 causes media/video-controls-with-mutation-event-handler.html to crash
44444         https://bugs.webkit.org/show_bug.cgi?id=28732
44446         * rendering/MediaControlElements.cpp:
44447         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
44448             Don't call setAttribute from the construtor, any registered mutation event 
44449             listener will cause a crash.
44451         * rendering/RenderMedia.cpp:
44452         (WebCore::RenderMedia::createVolumeSlider):
44453             Set the maxAttr here instead of in the constructor.
44455 2009-08-25  Dmitry Titov  <dimich@chromium.org>
44457         Reviewed by Brady Eidson.
44459         Timers from cached pages fire instantly rather than the after the specified timeout delay
44460         https://bugs.webkit.org/show_bug.cgi?id=28683
44462         Test: fast/dom/Window/timer-resume-on-navigation-back.html
44464         * history/CachedPage.cpp:
44465         (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
44466             it should be done only once in FrameLoader::open(cachedFrame)
44467         * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
44468         (WebCore::DOMTimer::DOMTimer): Ditto.
44469         (WebCore::DOMTimer::suspend): Ditto.
44470         (WebCore::DOMTimer::resume): Ditto.
44471         * page/DOMTimer.h: Ditto.
44473 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
44475         Reviewed by Simon Fraser.
44477         Setting the volume of a media element has no effect if called too early
44478         https://bugs.webkit.org/show_bug.cgi?id=28731
44480         * manual-tests/audio-volume.html: 
44481             Added.
44483         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
44484         (WebCore::MediaPlayerPrivate::setVolume):
44485         (WebCore::MediaPlayerPrivate::setRate):
44486             Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
44487             volume as soon as the movie has been created.
44489 2009-08-25  David Levin  <levin@chromium.org>
44491         Reviewed by Maciej Stachowiak.
44493         DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
44494         https://bugs.webkit.org/show_bug.cgi?id=28728
44496         Test: This code path is exercised while running xhr layout tests in chromium.
44498         * loader/DocumentThreadableLoader.cpp:
44499         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
44500         back synchronously, the loader is 0, so the assert is changed to allow for that.
44501         (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
44502         done before SubresourceLoader::create finishes, so ensure that any previous loader
44503         -- from a preflight request -- is cleared before calling SubresourceLoader::create.
44505 2009-08-25  Mark Rowe  <mrowe@apple.com>
44507         Stop installing IDL files in to the framework.
44509         * WebCore.xcodeproj/project.pbxproj:
44511 2009-08-25  Kent Tamura  <tkent@chromium.org>
44513         Reviewed by Eric Seidel.
44515         Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
44516         https://bugs.webkit.org/show_bug.cgi?id=27756
44518         Tests: fast/forms/input-list.html
44519                fast/forms/input-selectedoption.html
44521         * html/HTMLAttributeNames.in:
44522         * html/HTMLInputElement.cpp:
44523         (WebCore::HTMLInputElement::parseMappedAttribute):
44524         (WebCore::HTMLInputElement::list):
44525         (WebCore::HTMLInputElement::selectedOption):
44526         * html/HTMLInputElement.h:
44527         * html/HTMLInputElement.idl:
44529 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
44531         Reviewed by Oliver Hunt.
44533         <video> and <audio> controller should be accessible (edit)
44534         https://bugs.webkit.org/show_bug.cgi?id=28081
44536         Test: accessibility/media-element.html
44538         * GNUmakefile.am:
44539         * WebCore.gypi:
44540         * WebCore.pro:
44541         * WebCore.vcproj/WebCore.vcproj:
44542         * WebCore.xcodeproj/project.pbxproj:
44543         * WebCoreSources.bkl:
44544             Add AccessibilityMediaControls.cpp/.h
44546         * accessibility/AXObjectCache.cpp:
44547         * accessibility/AXObjectCache.h:
44548         (WebCore::AXObjectCache::getOrCreate):
44549             Create AccessibilityMediaControl. Update Copyright
44551         * accessibility/AccessibilityMediaControls.cpp:
44552         * accessibility/AccessibilityMediaControls.h:
44553             Added.
44555         * accessibility/AccessibilityObject.cpp:
44556         * accessibility/AccessibilityObject.h:
44557             Add isMediaTimeline. Update Copyright.
44559         * accessibility/AccessibilitySlider.h:
44560             Make constructor protected instead of private so AccessibilityMediaTimeline can
44561             call it.
44563         * accessibility/mac/AccessibilityObjectWrapper.mm:
44564         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
44565             Add NSAccessibilityValueDescriptionAttribute to range attributes. 
44566         (-[AccessibilityObjectWrapper subrole]):
44567             Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
44569         * dom/Node.h:
44570             add isMediaControlElement.
44572         * page/mac/WebCoreViewFactory.h:
44573         * platform/LocalizedStrings.h:
44574         * platform/mac/LocalizedStringsMac.mm:
44575         (WebCore::localizedMediaControlElementString): 
44576         (WebCore::localizedMediaControlElementHelpText):
44577         (WebCore::localizedMediaTimeDescription): 
44578             New, return localized media controller strings.
44580         * platform/gtk/LocalizedStringsGtk.cpp:
44581         (WebCore::mediaElementLoadingStateText):
44582         (WebCore::mediaElementLiveBroadcastStateText):
44583             Move inside of "#if ENABLE(VIDEO)"
44584         (WebCore::localizedMediaControlElementString):
44585         (WebCore::localizedMediaControlElementHelpText):
44586         (WebCore::localizedMediaTimeDescription):
44588         * rendering/MediaControlElements.cpp:
44589         (WebCore::MediaControlElement::MediaControlElement):
44590             Initialize m_displayType.
44591         (WebCore::MediaControlElement::MediaControlElement):
44592         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
44593             Fix style.
44594         (WebCore::MediaControlInputElement::MediaControlInputElement):
44595             Set m_displayType based on pseudo style ID.
44596         (WebCore::MediaControlInputElement::MediaControlInputElement):
44597             rename local "o" to "object".
44598         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
44599         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
44600         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
44601         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
44602         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
44603         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
44604         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
44605         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
44606         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
44607         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
44608             Update for MediaControlInputElement constructor change.
44609         (WebCore::MediaControlTimeDisplayElement::formatTime):
44610             New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
44611         (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
44612             New, set text to current time.
44613         * rendering/MediaControlElements.h:
44615         * rendering/RenderMedia.cpp:
44616         (WebCore::RenderMedia::updateControls):
44617             Create controls in tab order.
44618         (WebCore::RenderMedia::formatTime):
44619             Moved to MediaControlTimeDisplayElement::formatTime.
44620         (WebCore::RenderMedia::updateTimeDisplay):
44621             Call MediaControlTimeDisplayElement::setCurrentValue.
44622         * rendering/RenderMedia.h:
44624 2009-08-25  Jian Li  <jianli@chromium.org>
44626         Reviewed by David Levin.
44628         [V8] Fix Canvas layout test failures in Chromium build.
44629         https://bugs.webkit.org/show_bug.cgi?id=28720
44631         The previous fix r47757 does not handle the V8 object conversion correctly.
44633         * bindings/v8/custom/V8DocumentCustom.cpp:
44634         (WebCore::CALLBACK_FUNC_DECL):
44635         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
44636         (WebCore::CALLBACK_FUNC_DECL):
44638 2009-08-25  Jian Li  <jianli@chromium.org>
44640         Reviewed by David Levin.
44642         [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
44643         https://bugs.webkit.org/show_bug.cgi?id=28717
44645         * bindings/v8/DOMObjectsInclude.h:
44646         * bindings/v8/DerivedSourcesAllInOne.cpp:
44647         * bindings/v8/V8Index.cpp:
44648         * bindings/v8/V8Index.h:
44649         * bindings/v8/custom/V8DocumentCustom.cpp:
44650         (WebCore::CALLBACK_FUNC_DECL):
44651         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
44652         (WebCore::CALLBACK_FUNC_DECL):
44654 2009-08-25  Alpha Lam  <hclam@chromium.org>
44656         Reviewed by David Levin.
44658         [chromium] Implement media volume slider for chromium
44659         https://bugs.webkit.org/show_bug.cgi?id=28715
44661         Provided the implementation of the volume slider and its container for
44662         chromium port. With this change there will be a usable volume control
44663         slider for chromium theme.
44665         No new tests since this is covered by existing media layout tests.
44667         * css/mediaControlsChromium.css: CSS style for the volume slider.
44668         * rendering/RenderThemeChromiumSkia.cpp:
44669         (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
44670         (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
44671         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
44672         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
44673         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
44674         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
44676 2009-08-25  Chris Marrin  <cmarrin@apple.com>
44678         Reviewed by Simon Fraser.
44680         Missed checking in 2 Canvas3D files
44681         https://bugs.webkit.org/show_bug.cgi?id=28018
44683         * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
44684         * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
44686 2009-08-25  Mads Ager  <ager@chromium.org>
44688         Reviewed by Adam Barth.
44690         [V8] Exception from JavaScript propagates to main script
44691         https://bugs.webkit.org/show_bug.cgi?id=26433
44693         Make sure that exceptions thrown both at compile time and at
44694         runtime in javascript URLs are isolated from the main script.
44696         Test: fast/dom/javascript-url-exception-isolation.html
44698         * bindings/v8/V8Proxy.cpp:
44699         (WebCore::V8Proxy::evaluate):
44701 2009-08-25  Chris Marrin  <cmarrin@apple.com>
44703         Reviewed by Simon Fraser.
44705         Added all new Canvas3D files to the build
44706         https://bugs.webkit.org/show_bug.cgi?id=28018
44708         This also hooks up CanvasRenderingContext as the common base class for
44709         CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
44710         of logic throughout to support the new CanvasRenderingContext3D object.
44711         But nothing is hooked up yet.
44713         * DerivedSources.make:
44714         * WebCore.pro:
44715         * WebCore.vcproj/WebCore.vcproj:
44716         * WebCore/GNUmakefile.am:
44717         * WebCore/WebCore.gypi:
44718         * WebCore/WebCoreSources.bkl:
44719         * WebCore.xcodeproj/project.pbxproj:
44720         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
44721         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
44722         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
44723         (WebCore::JSCanvasRenderingContext2D::fillStyle):
44724         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
44725         (WebCore::JSCanvasRenderingContext2D::setFillColor):
44726         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
44727         (WebCore::JSCanvasRenderingContext2D::strokeRect):
44728         (WebCore::JSCanvasRenderingContext2D::drawImage):
44729         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
44730         (WebCore::JSCanvasRenderingContext2D::setShadow):
44731         (WebCore::JSCanvasRenderingContext2D::createPattern):
44732         (WebCore::JSCanvasRenderingContext2D::putImageData):
44733         (WebCore::JSCanvasRenderingContext2D::fillText):
44734         (WebCore::JSCanvasRenderingContext2D::strokeText):
44735         * bindings/js/JSDOMBinding.cpp:
44736         (WebCore::isObservableThroughDOM):
44737         * bindings/js/JSDocumentCustom.cpp:
44738         * bindings/js/JSHTMLCanvasElementCustom.cpp:
44739         (WebCore::JSHTMLCanvasElement::markChildren):
44740         * dom/Document.cpp:
44741         (WebCore::Document::getCSSCanvasContext):
44742         * dom/Document.h:
44743         * html/HTMLCanvasElement.cpp:
44744         (WebCore::HTMLCanvasElement::getContext):
44745         (WebCore::HTMLCanvasElement::willDraw):
44746         (WebCore::HTMLCanvasElement::reset):
44747         (WebCore::HTMLCanvasElement::paint):
44748         (WebCore::HTMLCanvasElement::is3D):
44749         (WebCore::HTMLCanvasElement::context3D):
44750         (WebCore::HTMLCanvasElement::texture3D):
44751         * html/HTMLCanvasElement.h:
44752         (WebCore::HTMLCanvasElement::renderingContext):
44753         * html/canvas/CanvasObject.cpp:
44754         (WebCore::CanvasObject::~CanvasObject):
44755         * html/canvas/CanvasRenderingContext.idl:
44756         * html/canvas/CanvasRenderingContext2D.cpp:
44757         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
44758         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
44759         * html/canvas/CanvasRenderingContext2D.h:
44760         (WebCore::CanvasRenderingContext2D::is2d):
44761         * html/canvas/CanvasRenderingContext2D.idl:
44762         * html/canvas/CanvasRenderingContext3D.cpp:
44763         * html/canvas/CanvasRenderingContext3D.idl:
44765 2009-08-25  Dan Bernstein  <mitz@apple.com>
44767         Reviewed by Anders Carlsson.
44769         REGRESSION (r47630): fast/repaint/background-generated.html is failing
44770         https://bugs.webkit.org/show_bug.cgi?id=28704
44772         * rendering/RenderBoxModelObject.cpp:
44773         (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
44774         * rendering/style/FillLayer.cpp:
44775         (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
44776         * rendering/style/FillLayer.h:
44777         (WebCore::FillSize::FillSize): Changed assignment to initialization and
44778             removed redundant assignment to size.
44780 2009-08-25  Yusuke Sato  <yusukes@chromium.org>
44782         Reviewed by Darin Fisher.
44784         [Chromium] Complex text doesn't show up with text stroking
44785         https://bugs.webkit.org/show_bug.cgi?id=28707
44787         Skip the NULL check of m_hdc if Windows GDI is not in use.
44789         * platform/graphics/chromium/FontChromiumWin.cpp:
44790         (WebCore::Font::drawComplexText):
44792 2009-08-25  Alpha Lam  <hclam@chromium.org>
44794         Reviewed by David Levin.
44796         Media controls panel does not have a volume control slider
44797         https://bugs.webkit.org/show_bug.cgi?id=28241
44799         Introduced "-webkit-media-controls-volume-slider",
44800         "-webkit-media-controls-volume-slider-container" and the supporting
44801         implementation. Also added appearances of "media-volume-slider" and
44802         "media-volume-slider-container".
44804         The implementation of the controls are in WebCore::MediaControlElements.
44805         Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
44807         No new tests since this change doesn't have theme implementation and the
44808         volume slider is disabled by default.
44810         * accessibility/AccessibilitySlider.cpp:
44811         (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
44812         * css/CSSPrimitiveValueMappings.h:
44813         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
44814         * css/CSSSelector.cpp:
44815         (WebCore::CSSSelector::extractPseudoType): ditto.
44816         * css/CSSSelector.h:
44817         (WebCore::CSSSelector::): ditto.
44818         * css/CSSStyleSelector.cpp:
44819         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
44820         * css/CSSValueKeywords.in: ditto.
44821         * css/mediaControls.css: Makes the volume slider disabled by default.
44822         * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
44823         (WebCore::):
44824         * rendering/MediaControlElements.cpp:
44825         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
44826         (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
44827         Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
44828         (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
44829         (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
44830         (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
44831         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
44832         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
44833         * rendering/MediaControlElements.h:
44834         (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
44835         (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
44836         * rendering/RenderMedia.cpp:
44837         (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
44838         (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
44839         (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
44840         (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
44841         (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
44842         (WebCore::RenderMedia::forwardEvent):
44843         Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
44844         * rendering/RenderMedia.h:
44845         Added definition for RenderMedia::updateVolumeSliderContainer().
44846         * rendering/RenderMediaControls.cpp:
44847         (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
44848         * rendering/RenderSlider.cpp:
44849         (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
44850         (WebCore::RenderSlider::thumbRect): ditto.
44851         (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
44852         (WebCore::RenderSlider::setValueForPosition): ditto.
44853         (WebCore::RenderSlider::positionForOffset): ditto.
44854         (WebCore::RenderSlider::currentPosition): ditto.
44855         (WebCore::RenderSlider::trackSize): ditto.
44856         * rendering/RenderTheme.cpp:
44857         (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
44858         (WebCore::RenderTheme::paint): Paints volume control parts using theme.
44859         * rendering/RenderTheme.h:
44860         (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
44861         (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
44862         (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
44863         * rendering/style/RenderStyleConstants.h:
44864         (WebCore::): Constants for volume control parts.
44866 2009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
44868         Reviewed by Ariya Hidayat.
44870         [Qt/Mac] Use CONFIG+=build_all only when building libraries
44872         If no configuration is specified when building WebKit we pass the
44873         debug_and_release option to QMake which results in Makefiles for
44874         both configurations being generated.
44876         Previously we built both of these configurations by default, for
44877         all targets (both the QtWebKit framework/dyldlib and the various
44878         executables such as QtLauncher and tests). This makes sense for
44879         the libraries, which get the _debug suffix and can be loaded on
44880         demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
44881         ended up building the same executable twice.
44883         We now only build one instance of each executable, and since this
44884         is a developer build we build the debug-version. Passing either
44885         --debug or --release to build-webkit will override this, and
44886         even in the default case the release version can still be built
44887         by running 'make release' in the the build directory of each
44888         target.
44890         * WebCore.pro:
44892 2009-08-25  Xan Lopez  <xlopez@igalia.com>
44894         Reviewed by Jan Alonzo.
44896         https://bugs.webkit.org/show_bug.cgi?id=28690
44897         Build failure in webkitgtk+-1.1.3
44899         Do not use deprecated function to unref a pixbuf.
44901         * platform/gtk/CursorGtk.cpp:
44902         (WebCore::Cursor::Cursor):
44904 2009-08-24  Hironori Bono  <hbono@chromium.org>
44906         Reviewed by Adam Barth.
44908         Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
44909         <https://bugs.webkit.org/show_bug.cgi?id=27827>.
44911         Because of the lack of mappings from GDK key-codes to WebKit key-codes,
44912         Chromium cannot send valid key-codes to JavaScript when a user types
44913         function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
44915         To write layout tests for this issue, added mappings from function-key
44916         names to platform-specific key-codes to EventSendingController objects
44917         so that eventSender.keyDown() can send function-key events without using
44918         platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
44919         is only for Mac. So this change adds this new test to Skipped tests for other
44920         platforms to prevent this change from crashing the build trees.)
44922         Test: fast/events/keydown-function-keys.html
44924        * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
44925         to WebKit key-code for function keys.
44926         (WebCore::windowsKeyCodeForKeyEvent):
44928 2009-08-24  Antti Koivisto  <antti@apple.com>
44930         Reviewed by Simon Fraser.
44931         
44932         https://bugs.webkit.org/show_bug.cgi?id=28698
44933         Avoid unnecessary transformations for the window resizer rect.
44935         * platform/Scrollbar.cpp:
44936         (WebCore::Scrollbar::setFrameRect):
44938 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
44940         Reviewed by Anders Carlsson.
44942         <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
44943         (DNS prefetching support)
44945         * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
44946         thread on Windows, because there isn't one on main one.
44948 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
44950         Reviewed by Darin Adler.
44952         https://bugs.webkit.org/show_bug.cgi?id=28374
44953         Cross-scheme requests should not be blocked by appcache rules
44955         Test: http/tests/appcache/different-scheme.html
44957         * loader/appcache/ApplicationCacheHost.cpp:
44958         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
44959         Resources with different schemes can never be loaded from appcache.
44961 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
44963         Reviewed by Darin Adler and Sam Weinig.
44965         https://bugs.webkit.org/show_bug.cgi?id=28688
44966         REGRESSION(r24994): Cannot create a frame with a javascript URL
44968         Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
44970         * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
44971         * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
44972         * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
44973         * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
44974         Omit the checks if there is no document in frame yet.
44976 2009-08-24  Nate Chapin  <japhet@chromium.org>
44978         Reviewed by Eric Seidel.
44980         Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
44981         RenderStyle being accessed.
44983         https://bugs.webkit.org/show_bug.cgi?id=28681
44985         * dom/Element.cpp:
44986         (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
44988 2009-08-24  Dan Bernstein  <mitz@apple.com>
44990         Reviewed by Simon Fraser.
44992         <rdar://problem/5743105> Long freezing during loading and selecting text
44993         of a large table
44994         https://bugs.webkit.org/show_bug.cgi?id=14918
44996         * rendering/RenderView.cpp:
44997         (WebCore::RenderView::setSelection): Added calls to
44998             beginDeferredRepaints() and endDeferredRepaints() around the
44999             invalidation of the selection, in order to better coalesce multiple
45000             invalid rectangles.
45002 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
45004         Reviewed by Timothy Hatcher.
45006         WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
45008         https://bugs.webkit.org/show_bug.cgi?id=28680
45010         * inspector/front-end/ElementsPanel.js:
45011         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
45012         * inspector/front-end/ElementsTreeOutline.js:
45013         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
45014         * inspector/front-end/treeoutline.js:
45015         (TreeOutline.prototype.getCachedTreeElement):
45016         (TreeOutline.prototype.findTreeElement):
45017         * inspector/front-end/utilities.js:
45018         (isAncestorNode):
45019         ():
45021 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
45023         Reviewed by Timothy Hatcher.
45025         WebInspector: Do expand local scope when hitting the break
45027         https://bugs.webkit.org/show_bug.cgi?id=28678
45029         * inspector/front-end/ScopeChainSidebarPane.js:
45030         (WebInspector.ScopeChainSidebarPane.prototype.update):
45032 2009-08-24  Ada Chan  <adachan@apple.com>
45034         Reviewed by Steve Falkenburg.
45036         Make sure we use the current FrameView's frame rect when
45037         going back to a cached page.
45038         
45039         https://bugs.webkit.org/show_bug.cgi?id=28659
45041         * loader/FrameLoader.cpp:
45042         (WebCore::FrameLoader::open):
45044 2009-08-24  Cameron McCormack  <cam@mcc.id.au>
45046         Reviewed by Darin Adler.
45048         Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
45049         https://bugs.webkit.org/show_bug.cgi?id=28673
45051         Test: svg/dom/text-rotate-live.html
45053         * svg/SVGNumberList.cpp:
45054         (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
45055         numbers.
45057 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
45059         Reviewed by NOBODY (build fix)
45061         Turn off ENABLE_3D_CANVAS in the xconfig files.
45063         * Configurations/FeatureDefines.xcconfig:
45065 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
45067         Reviewed by Timothy Hatcher.
45069         WebInspector: Only expand local scope when hitting the break
45071         https://bugs.webkit.org/show_bug.cgi?id=28678
45073         * inspector/front-end/ScopeChainSidebarPane.js:
45074         (WebInspector.ScopeChainSidebarPane.prototype.update):
45076 2009-08-24  Dan Bernstein  <mitz@apple.com>
45078         Reviewed by Simon Fraser.
45080         background-size fails to parse if a single length/percentage/auto is followed by a comma
45081         https://bugs.webkit.org/show_bug.cgi?id=28674
45083         * css/CSSParser.cpp:
45084         (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
45085             which is set to false when this method consumes a comma. Moved
45086             handling of 'contain' and 'cover' from parseFillProperty into this
45087             method.
45088         (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
45089             processing the next value, and pass allowComma to parseFillSize.
45090         * css/CSSParser.h:
45092 2009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>
45094         Reviewed by Gustavo Noronha.
45096         [GTK] Support for cursors that are images
45097         https://bugs.webkit.org/show_bug.cgi?id=28346
45099         Added support for cursors which are images for CursorGtk. Added
45100         a manual test for this.
45102         * manual-tests/gtk/cursor-image.html: Added.
45103         * manual-tests/gtk/resources/redcursor.cur: Added.
45104         * platform/gtk/CursorGtk.cpp:
45105         (WebCore::Cursor::Cursor):
45107 2009-08-24  Zan Dobersek  <zandobersek@gmail.com>
45109         Reviewed by Gustavo Noronha.
45111         [GTK] Integrate GStreamer video with the graphics backend
45112         https://bugs.webkit.org/show_bug.cgi?id=16356
45114         Improves GStreamer backend implementation of MediaPlayerPrivate class.
45116         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45117         (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
45118         error for different GStreamer errors to MediaPlayerPrivate.
45119         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
45120         initialization boolean to a better place.
45121         (WebCore::MediaPlayerPrivate::play):
45122         (WebCore::MediaPlayerPrivate::pause):
45123         (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
45124         consider the source as stream if duration query failed.
45125         (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
45126         an early return.
45127         (WebCore::MediaPlayerPrivate::seek): Return if error occured.
45128         (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
45129         function doesn't seem to be used anywhere in WebCore.
45130         (WebCore::MediaPlayerPrivate::paused):
45131         (WebCore::MediaPlayerPrivate::seeking):
45132         (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
45133         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
45134         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
45135         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
45136         (WebCore::MediaPlayerPrivate::bytesLoaded):
45137         (WebCore::MediaPlayerPrivate::totalBytesKnown):
45138         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
45139         (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
45140         after seek ended with a successful change
45141         (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
45142         (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
45143         (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
45144         (WebCore::MediaPlayerPrivate::getSupportedTypes):
45145         (WebCore::MediaPlayerPrivate::supportsType):
45146         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
45147         (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
45148         support.
45149         (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
45150         do not set playbin's audio sink.
45151         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
45152         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
45153         (webkit_video_sink_idle_func): Use C+casts, decrease reference count of async
45154         queue at the end of the idle function.
45155         (webkit_video_sink_render): Increase reference count of async queue.
45156         (webkit_video_sink_stop): Remove any idle functions with the sink as data.
45158 2009-08-23  Chris Marrin  <cmarrin@apple.com>
45160         Reviewed by Simon Fraser.
45162         Remaining new files for Canvas3D
45163         https://bugs.webkit.org/show_bug.cgi?id=28018
45165         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
45166         * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
45167         * html/canvas/CanvasByteArray.h: Added.
45168         * html/canvas/CanvasByteArray.idl: Added.
45169         * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
45170         * html/canvas/CanvasNumberArray.h: Added.
45171         * html/canvas/CanvasNumberArray.idl: Added.
45173 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
45175         Reviewed by Timothy Hatcher.
45177         WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
45179         https://bugs.webkit.org/show_bug.cgi?id=28408
45181         * inspector/front-end/CallStackSidebarPane.js:
45182         (WebInspector.CallStackSidebarPane.prototype.update):
45183         * inspector/front-end/ConsoleView.js:
45184         (WebInspector.ConsoleView.prototype.doEvalInWindow):
45185         (WebInspector.ConsoleTextMessage):
45186         * inspector/front-end/DOMAgent.js:
45187         (WebInspector.DOMAgent.prototype.get domWindow):
45188         (InspectorController.openInInspectedWindow):
45189         (InspectorController.getCallFrames):
45190         (InspectorController.evaluateInCallFrame):
45191         * inspector/front-end/ElementsPanel.js:
45192         (WebInspector.ElementsPanel.prototype.reset):
45193         (WebInspector.ElementsPanel.prototype.generateStylesheet):
45194         * inspector/front-end/InjectedScript.js:
45195         (InjectedScript.evaluate):
45196         (InjectedScript._evaluateOn):
45197         (InjectedScript.openInInspectedWindow):
45198         (InjectedScript.getCallFrames):
45199         (InjectedScript.evaluateInCallFrame):
45200         (InjectedScript._callFrameForId):
45201         (InjectedScript._objectForId):
45202         (InjectedScript.CallFrameProxy):
45203         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
45204         * inspector/front-end/ObjectPropertiesSection.js:
45205         (WebInspector.ObjectPropertiesSection.prototype._update):
45206         * inspector/front-end/ObjectProxy.js:
45207         (WebInspector.ObjectPropertyProxy):
45208         * inspector/front-end/ResourcesPanel.js:
45209         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
45210         * inspector/front-end/ScopeChainSidebarPane.js:
45211         (WebInspector.ScopeChainSidebarPane):
45212         (WebInspector.ScopeChainSidebarPane.prototype.update):
45213         (WebInspector.ScopeVariableTreeElement.prototype.onattach):
45214         (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
45215         (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
45216         * inspector/front-end/ScriptsPanel.js:
45217         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
45218         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
45219         (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
45220         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
45222 2009-08-24  Kent Tamura  <tkent@chromium.org>
45224         Reviewed by Eric Seidel.
45226         Add support for the placeholder attribute and DOM property of the textarea element.
45227         https://bugs.webkit.org/show_bug.cgi?id=21248
45229         A DOM node for an INPUT element doesn't have a flag for placeholder
45230         visibility anymore.  This patch also fixes a bug that a renderer
45231         doesn't reflect a corresponding DOM value change.
45233         Tests: fast/forms/textarea-placeholder-dom-property.html
45234                fast/forms/textarea-placeholder-pseudo-style.html
45235                fast/forms/textarea-placeholder-set-attribute.html
45236                fast/forms/textarea-placeholder-set-value.html
45238         * css/html.css: Add the default style for placeholder of textarea.
45239         * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
45240         (WebCore::InputElement::dispatchFocusEvent):
45241         (WebCore::InputElement::dispatchBlurEvent):
45242         (WebCore::InputElement::placeholderShouldBeVisible):
45243         (WebCore::InputElement::updatePlaceholderVisibility):
45244         (WebCore::InputElement::setValueFromRenderer):
45245         (WebCore::InputElementData::InputElementData):
45246         * dom/InputElement.h:
45247         * html/HTMLInputElement.cpp:
45248         (WebCore::HTMLInputElement::dispatchFocusEvent):
45249         (WebCore::HTMLInputElement::dispatchBlurEvent):
45250         (WebCore::HTMLInputElement::setValue):
45251         (WebCore::HTMLInputElement::placeholderShouldBeVisible):
45252         * html/HTMLInputElement.h:
45253         (WebCore::HTMLInputElement::updatePlaceholderVisibility):
45254         * html/HTMLTextAreaElement.cpp:
45255         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
45256         (WebCore::HTMLTextAreaElement::setValue):
45257         (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
45258         (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
45259         (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
45260         (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
45261         * html/HTMLTextAreaElement.h:
45262         * html/HTMLTextAreaElement.idl:
45263         * rendering/RenderTextControl.cpp:
45264         (WebCore::RenderTextControl::RenderTextControl):
45265         (WebCore::RenderTextControl::styleDidChange):
45266         (WebCore::RenderTextControl::setInnerTextStyle):
45267         (WebCore::RenderTextControl::updatePlaceholderVisibility):
45268         * rendering/RenderTextControl.h:
45269         * rendering/RenderTextControlMultiLine.cpp:
45270         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
45271         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
45272         (WebCore::RenderTextControlMultiLine::updateFromElement):
45273         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
45274         (WebCore::RenderTextControlMultiLine::textBaseStyle):
45275         * rendering/RenderTextControlMultiLine.h:
45276         * rendering/RenderTextControlSingleLine.cpp:
45277         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
45278         (WebCore::RenderTextControlSingleLine::textBaseStyle):
45279         (WebCore::RenderTextControlSingleLine::updateFromElement):
45280         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
45281         * rendering/RenderTextControlSingleLine.h:
45282         * wml/WMLInputElement.cpp:
45283         (WebCore::WMLInputElement::dispatchFocusEvent):
45284         (WebCore::WMLInputElement::dispatchBlurEvent):
45285         (WebCore::WMLInputElement::setValue):
45286         (WebCore::WMLInputElement::placeholderShouldBeVisible):
45288 2009-08-23  Dirk Schulze  <krit@webkit.org>
45290         Reviewed by Mark Rowe.
45292         Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
45293         into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
45294         files. They are needed there after r47688.
45296         * dom/Document.cpp:
45297         * svg/SVGComponentTransferFunctionElement.h:
45298         * svg/SVGFELightElement.h:
45299         * svg/SVGFEMergeNodeElement.h:
45300         * svg/SVGFilterPrimitiveStandardAttributes.h:
45302 2009-08-23  Gustavo Noronha Silva  <gns@gnome.org>
45304         Unreviewed, build fix for make distcheck on GTK+.
45306         * GNUmakefile.am: Added files needed for the build.
45307         * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
45308         with #if clause.
45309         * bindings/js/JSEventTarget.cpp: Dito.
45310         * dom/Document.cpp: Dito.
45311         * loader/FrameLoader.cpp: Dito.
45313 2009-08-23  Joseph Pecoraro  <joepeck@webkit.org>
45315         Reviewed by Timothy Hatcher.
45317         Inspector: Throws an Error on "null"
45318         https://bugs.webkit.org/show_bug.cgi?id=28665
45320         * inspector/front-end/InjectedScript.js:
45321         (InjectedScript.evaluate):
45323 2009-08-23  Pavel Feldman  <pfeldman@chromium.org>
45325         Reviewed by Timothy Hatcher.
45327         Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
45329         https://bugs.webkit.org/show_bug.cgi?id=28666
45331         * inspector/front-end/InjectedScript.js:
45332         (InjectedScript.getProperties):
45333         (InjectedScript.createProxyObject):
45335 2009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>
45337         Reviewed by Xan Lopez.
45339         [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
45340         https://bugs.webkit.org/show_bug.cgi?id=28345
45342         When doing the conversion between cairo_surface_t* and GdkPixbuf*
45343         account for the differences in the respective formats' in-memory
45344         image format.
45346         * platform/graphics/gtk/ImageGtk.cpp:
45347         (WebCore::getCairoSurfacePixel):
45348         (WebCore::getGdkPixbufPixel):
45349         (WebCore::BitmapImage::getGdkPixbuf):
45351 2009-08-22  Darin Adler  <darin@apple.com>
45353         Reviewed by Oliver Hunt.
45355         Make DOM classes start with a reference count of 1, like all other RefCounted
45356         
45357         Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
45358         HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
45359         HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
45361         * DerivedSources.make: Fix error seen every time we build by escaping the $
45362         in the build rule, since you have to use $$ for that in make.
45364         * WebCore.base.exp: Updated.
45366         * bindings/objc/DOM.mm:
45367         Added now-needed include of SVGNames.h.
45369         * dom/Document.cpp: Added now-needed include of SVGNames.h.
45370         (WebCore::Document::createElement): Use create instead of new.
45372         * dom/Element.cpp:
45373         (WebCore::Element::Element): Added ConstructionType argument so the caller
45374         can determine whether this starts with a reference count of either 0 or 1.
45375         Later we will remove this again once they are all 1.
45376         (WebCore::Element::create): Added.
45378         * dom/Element.h: Added create and made constructor protected.
45380         * dom/StyledElement.cpp:
45381         (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
45382         * dom/StyledElement.h: Made many functions protected or private, including
45383         the constructor.
45385         * dom/make_names.pl: Use create to create the base elements HTMLElement,
45386         SVGElement, and WMLElement.
45388         * editing/CreateLinkCommand.cpp:
45389         (WebCore::CreateLinkCommand::doApply): Use create instead of new.
45390         * editing/UnlinkCommand.cpp:
45391         (WebCore::UnlinkCommand::doApply): Ditto.
45393         * html/HTMLAnchorElement.cpp:
45394         (WebCore::HTMLAnchorElement::create): Added.
45395         * html/HTMLAnchorElement.h: Made constructor protected and added create.
45396         Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
45398         * html/HTMLAppletElement.cpp:
45399         (WebCore::HTMLAppletElement::create): Added.
45400         * html/HTMLAppletElement.h: Made constructor private and added create.
45402         * html/HTMLAreaElement.cpp:
45403         (WebCore::HTMLAreaElement::create): Added.
45404         * html/HTMLAreaElement.h: Made constructor private and added create.
45406         * html/HTMLElement.cpp:
45407         (WebCore::HTMLElement::create): Added.
45408         * html/HTMLElement.h: Made constructor protected and added create.
45409         Made other functions protected and private. Also added inline
45410         definition of constructor.
45412         * html/HTMLEmbedElement.cpp:
45413         (WebCore::HTMLEmbedElement::create): Added.
45414         * html/HTMLEmbedElement.h: Made constructor private and added create.
45415         Made other functions private.
45417         * html/HTMLFrameElement.cpp:
45418         (WebCore::HTMLFrameElement::create): Added.
45419         (WebCore::HTMLFrameElement::parseMappedAttribute):
45420         * html/HTMLFrameElement.h: Made constructor private and added create.
45421         Made other functions private.
45423         * html/HTMLFrameElementBase.h: Made functions protected and private.
45425         * html/HTMLFrameOwnerElement.cpp:
45426         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
45427         CreateElement so reference count starts at 1.
45429         * html/HTMLFrameOwnerElement.h: Made functions protected and private.
45431         * html/HTMLIFrameElement.cpp:
45432         (WebCore::HTMLIFrameElement::create): Added.
45433         * html/HTMLIFrameElement.h: Made constructor private and added create.
45434         Made other functions private.
45436         * html/HTMLObjectElement.cpp:
45437         (WebCore::HTMLObjectElement::create): Added.
45438         (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
45439         into a for loop and tweaked formatting.
45441         * html/HTMLObjectElement.h: Made constructor private and added create.
45442         Made other functions private.
45444         * html/HTMLPlugInElement.h: Made constructor protected.
45445         Made other functions protected and private.
45447         * html/HTMLPlugInImageElement.h: Made constructor and another function
45448         protected.
45450         * html/HTMLTagNames.in: Removed createWithNew from all classes that
45451         now have create functions. Moved conditional noscript to a separate
45452         paragraph.
45454         * html/HTMLViewSourceDocument.cpp:
45455         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
45456         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
45457         * page/DragController.cpp:
45458         (WebCore::documentFragmentFromDragData): Ditto.
45460         * svg/SVGElement.cpp:
45461         (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
45462         so reference count still starts at 0. Will change this class later.
45463         (WebCore::SVGElement::create): Added.
45464         * svg/SVGElement.h: Added create, made constructor protected, and
45465         made other functions protected and private. Removed unneeded
45466         SVGNames.h include.
45468         * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
45469         include.
45471         * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
45472         Made functions private.
45474         * wml/WMLElement.cpp:
45475         (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
45476         so reference count still starts at 0. Will change this class later.
45477         (WebCore::WMLElement::create): Added.
45478         * wml/WMLElement.h: Added create and made constructor protected.
45480         * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
45482 2009-08-22  Adele Peterson  <adele@apple.com>
45484         Reviewed by Anders Carlsson.
45486         Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
45488         Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
45489         and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.
45491         I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
45493         * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
45494           They'll get reattached when the document comes out of the page cache.
45495         * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
45497 2009-08-22  David Hyatt  <hyatt@apple.com>
45499         Reviewed by Dan Bernstein.
45501         Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
45502         the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
45503         "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
45504         
45505         The implication is that the bottom margin can still collapse, and the block-inside-inline form of
45506         fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
45507         on it to get comparable results.
45509         Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
45511         * rendering/RenderBlock.cpp:
45512         (WebCore::RenderBlock::MarginInfo::MarginInfo):
45513         (WebCore::RenderBlock::collapseMargins):
45514         (WebCore::RenderBlock::clearFloatsIfNeeded):
45515         (WebCore::RenderBlock::handleBottomOfBlock):
45516         * rendering/RenderBlock.h:
45517         (WebCore::RenderBlock::MarginInfo::clearMargin):
45518         (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
45520 2009-08-22  Chris Fleizach  <cfleizach@apple.com>
45522         Reviewed by Darin Adler.
45524         Need to implement ARIA role="listitem" and role="list"
45525         https://bugs.webkit.org/show_bug.cgi?id=28606
45527         Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
45529         * accessibility/AXObjectCache.cpp:
45530         (WebCore::AXObjectCache::getOrCreate):
45531         * accessibility/AccessibilityList.cpp:
45532         (WebCore::AccessibilityList::isUnorderedList):
45533         * accessibility/AccessibilityRenderObject.cpp:
45534         (WebCore::RoleEntry::):
45536 2009-08-21  Dan Bernstein  <mitz@apple.com>
45538         Reviewed by Darin Adler.
45540         Clean up fill image geometry calculation
45541         https://bugs.webkit.org/show_bug.cgi?id=28652
45543         * rendering/RenderBoxModelObject.cpp:
45544         (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
45545             calculateBackgroundSize() to this. Replaced separate scaledWidth and
45546             scaledHeight parameters with a single scaledSize parameter. Renamed
45547             parameters and local variables.
45548         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
45549             to use CSS3 Backgrounds and Borders terminology in comments and
45550             local variable names. Renamed, clarified and consolidated some local
45551             variables.
45552         * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
45554 2009-08-22  Chris Marrin  <cmarrin@apple.com>
45556         Unreviewed, build fix.
45558         Backing out http://trac.webkit.org/changeset/47669
45560         * html/canvas/CanvasRenderingContext2D.cpp:
45561         * html/canvas/CanvasRenderingContext2D.h:
45563 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
45565         Unreviewed, build fix.
45567         Backing out http://trac.webkit.org/changeset/47671 in preparation of
45568         rolling out http://trac.webkit.org/changeset/47669.
45570 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
45572         Reviewed by Anders Carlsson.
45574         Build fix, add CanvasRenderingContext to build systems.
45575         https://bugs.webkit.org/show_bug.cgi?id=28018
45577         * DerivedSources.make: Added CanvasRenderinContext.
45578         * GNUmakefile.am: Ditto.
45579         * WebCore.gypi: Ditto.
45580         * WebCore.pro: Ditto.
45581         * WebCore.xcodeproj/project.pbxproj: Ditto.
45582         * WebCoreSources.bkl: Ditto.
45584 2009-08-21  Chris Marrin  <cmarrin@apple.com>
45586         Reviewed by Oliver Hunt.
45588         New files implementing GL buffer wrappers, and support to make them platform independent
45589         https://bugs.webkit.org/show_bug.cgi?id=28018
45591         * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
45592         * html/canvas/CanvasBuffer.h: Added.
45593         * html/canvas/CanvasBuffer.idl: Added.
45594         * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
45595         * html/canvas/CanvasFramebuffer.h: Added.
45596         * html/canvas/CanvasFramebuffer.idl: Added.
45597         * html/canvas/CanvasObject.h: Expose m_context
45598         * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
45599         * html/canvas/CanvasProgram.h: Added.
45600         * html/canvas/CanvasProgram.idl: Added.
45601         * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
45602         * html/canvas/CanvasRenderbuffer.h: Added.
45603         * html/canvas/CanvasRenderbuffer.idl: Added.
45604         * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
45605         * html/canvas/CanvasRenderingContext3D.h:
45606         * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
45607         * html/canvas/CanvasShader.h: Added.
45608         * html/canvas/CanvasShader.idl: Added.
45609         * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
45610         * html/canvas/CanvasTexture.h: Added.
45611         * html/canvas/CanvasTexture.idl: Added.
45612         * platform/graphics/GraphicsContext3D.cpp: Removed.
45613         * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
45614         * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
45616 2009-08-21  Darin Adler  <darin@apple.com>
45618         * WebCore.vcproj/build-generated-files.sh:
45619         * make-generated-sources.sh:
45620         Removed obsolete code to set up CREATE_HASH_TABLE.
45622 2009-08-21  Adele Peterson  <adele@apple.com>
45624         Reviewed by Mark Rowe.
45626         <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 
45628         * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
45629         No need to open the file with write access.  Only read access is needed.
45631 2009-08-21  Alexey Proskuryakov  <ap@apple.com>
45633         Reviewed by Darin Adler.
45635         <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
45637         Also fixes leaks seen on appcache tests.
45639         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
45640         something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
45641         to call, and we do not think that the leak occurs there anyway.
45643 2009-08-21  Dmitry Titov  <dimich@chromium.org>
45645         Reviewed by David Levin.
45647         https://bugs.webkit.org/show_bug.cgi?id=28650
45648         Remove cross-thread code from CrossOriginPreflightResultCache.
45649         Removed mutexes, atomic initializer and string copy.
45651         No new tests, the worker tests cover this.
45653         * loader/CrossOriginPreflightResultCache.cpp:
45654         (WebCore::addToAccessControlAllowList):
45655         (WebCore::CrossOriginPreflightResultCache::shared):
45656         (WebCore::CrossOriginPreflightResultCache::appendEntry):
45657         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
45658         (WebCore::CrossOriginPreflightResultCache::empty):
45659         * loader/CrossOriginPreflightResultCache.h:
45661 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
45663         Reviewed by Jan Alonzo.
45665         Buildfix after http://trac.webkit.org/changeset/47655.
45667         * html/HTMLFormControlElement.h:
45669 2009-08-19  Joseph Pecoraro  <joepeck@webkit.org>
45671         Reviewed by Timothy Hatcher.
45673         Inspector: Improve Cookie DataGrid to Show Hidden Data
45674         https://bugs.webkit.org/show_bug.cgi?id=28269
45676           Removed Custom Bindings
45678         * bindings/js/JSInspectorBackendCustom.cpp:
45679         * bindings/v8/custom/V8CustomBinding.h:
45680         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
45681         * inspector/InspectorBackend.cpp:
45683           Made Non-Custom Bindings in the Backend
45685         (WebCore::InspectorBackend::getCookies):
45686         (WebCore::InspectorBackend::deleteCookie):
45687         * inspector/InspectorBackend.h:
45688         * inspector/InspectorBackend.idl:
45689         * inspector/InspectorController.cpp:
45690         (WebCore::InspectorController::deleteCookie):
45691         * inspector/InspectorController.h:
45693           Build the Cookie ScriptObjects, handles using document.cookie in
45694           case the platform hasn't implemented raw cookie access.
45696         * inspector/InspectorDOMAgent.cpp:
45697         (WebCore::InspectorDOMAgent::getCookies):
45698         (WebCore::InspectorDOMAgent::buildObjectForCookie):
45699         (WebCore::InspectorDOMAgent::buildArrayForCookies):
45700         * inspector/InspectorDOMAgent.h:
45702           Complete the Asynchronous Calls
45704         * inspector/InspectorFrontend.cpp:
45705         (WebCore::InspectorFrontend::didGetCookies):
45706         * inspector/InspectorFrontend.h:
45708           Asynchronous Functions to get Cookie Data
45710         * inspector/front-end/DOMAgent.js:
45711         (WebInspector.Cookies.getCookiesAsync):
45712         (WebInspector.Cookies.buildCookiesFromString): fallback behavior
45714           Refactor to use the Asynchronous Functions
45716         * inspector/front-end/CookieItemsView.js:
45717         (WebInspector.CookieItemsView):
45718         (WebInspector.CookieItemsView.prototype.get statusBarItems):
45719         (WebInspector.CookieItemsView.prototype.update.callback):
45720         (WebInspector.CookieItemsView.prototype.update):
45721         (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
45722         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
45724           Cleaned/Commented Related Code
45726         (InspectorController.searchCanceled):
45727         * inspector/front-end/InjectedScript.js:
45728         * platform/Cookie.h:
45729         * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
45731 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
45733         Reviewed by Adele Peterson.
45735         https://bugs.webkit.org/show_bug.cgi?id=28145
45736         Add support for novalidate/formnovalidate attribute, from HTML5 specs:
45737         http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
45739         Tests: fast/forms/formnovalidate-attribute.html
45740                fast/forms/novalidate-attribute.html
45742         * html/HTMLAttributeNames.in: added novalidate, formnovalidate
45743         * html/HTMLButtonElement.idl: formnovalidate attribute exposed
45744         * html/HTMLFormControlElement.cpp:
45745         (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
45746         (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
45747         * html/HTMLFormControlElement.h:
45748         * html/HTMLFormElement.cpp:
45749         (WebCore::HTMLFormElement::novalidate): attribute getter
45750         (WebCore::HTMLFormElement::setNovalidate): attribute setter
45751         * html/HTMLFormElement.h:
45752         * html/HTMLFormElement.idl: novalidate attribute exposed
45753         * html/HTMLInputElement.idl: formNoValidate attribute exposed
45755 2009-08-21  Dan Bernstein  <mitz@apple.com>
45757         Reviewed by Beth Dakin.
45759         Rendering changes to complete
45760         [CSS3 Backgrounds and Borders] Add support for the "contain" value for
45761         background-size
45762         https://bugs.webkit.org/show_bug.cgi?id=27573
45763         and
45764         [CSS3 Backgrounds and Borders] Add support for the "cover" value for
45765         background-size
45766         https://bugs.webkit.org/show_bug.cgi?id=27574
45768         Test: fast/backgrounds/size/contain-and-cover.html
45770         * rendering/RenderBoxModelObject.cpp:
45771         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
45772         * rendering/RenderObject.cpp:
45773         (WebCore::mustRepaintFillLayers):
45775 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
45777         Reviewed by Adele Peterson.
45779         https://bugs.webkit.org/show_bug.cgi?id=27452
45780         Add support for checkValidity() method and invalid event, from HTML5
45781         specs:
45782         http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
45784         Tests: fast/events/invalid-001.html
45785                fast/events/invalid-002.html
45786                fast/events/invalid-003.html
45787                fast/events/invalid-004.html
45788                fast/events/invalid-005.html
45789                fast/forms/checkValidity-001.html
45790                fast/forms/checkValidity-002.html
45791                fast/forms/checkValidity-003.html
45792                fast/forms/checkValidity-004.html
45794         * dom/Document.idl: oninvalid event handler
45795         * dom/Element.idl: ditto
45796         * dom/EventNames.h: added invalid event
45797         * dom/Node.cpp:
45798         (WebCore::Node::oninvalid): ditto
45799         (WebCore::Node::setOninvalid): ditto
45800         * dom/Node.h: ditto
45801         * html/HTMLAttributeNames.in: oninvalid attribute
45802         * html/HTMLButtonElement.idl: added checkValidity() method
45803         * html/HTMLElement.cpp:
45804         (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
45805         * html/HTMLFieldSetElement.idl: added checkValidity() method
45806         * html/HTMLFormControlElement.cpp:
45807         (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
45808         implementation
45809         * html/HTMLFormControlElement.h:
45810         * html/HTMLFormElement.cpp:
45811         (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
45812         for form elements
45813         * html/HTMLFormElement.h: checkValidity() definition
45814         * html/HTMLFormElement.idl: added checkValidity() method
45815         * html/HTMLInputElement.idl: added checkValidity() method
45816         * html/HTMLSelectElement.idl: added checkValidity() method
45817         * html/HTMLTextAreaElement.idl: added checkValidity() method
45818         * page/DOMWindow.cpp:
45819         (WebCore::DOMWindow::oninvalid): oninvalid event handler
45820         (WebCore::DOMWindow::setOninvalid): ditto
45821         * page/DOMWindow.h: ditto
45822         * page/DOMWindow.idl: ditto
45824 2009-08-21  Beth Dakin  <bdakin@apple.com>
45826         Reviewed by Dan Bernstein.
45828         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
45829         Backgrounds and Borders] Add support for the "round" value for 
45830         background-repeat
45831         -and-
45832         https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
45833         Borders] Add support for the "space" value for background-repeat
45835         * css/CSSParser.cpp:
45836         (WebCore::CSSParser::parseFillProperty):
45837         * css/CSSPrimitiveValueMappings.h:
45838         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
45839         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
45840         * css/CSSValueKeywords.in:
45841         * rendering/style/FillLayer.h:
45842         * rendering/style/RenderStyleConstants.h:
45843         (WebCore::):
45845 2009-08-21  Chris Marrin  <cmarrin@apple.com>
45847         Reviewed by Oliver Hunt.
45849         New files for Canvas 3D feature
45850         https://bugs.webkit.org/show_bug.cgi?id=28018
45852         This is all the new files for implementing Canvas 3D. None of them are hooked up and
45853         are not even included in the build yet. This incorporates the reviews from Simon
45854         and Ollie for these files.
45856         * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
45857         * html/CanvasObject.cpp: Added. Base class for all GL object containers
45858         * html/CanvasObject.h: Added.
45859         * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
45860         * html/CanvasRenderingContext.h: Added.
45861         * html/CanvasRenderingContext.idl: Added.
45862         * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
45863         * html/CanvasRenderingContext3D.h: Added.
45864         * html/CanvasRenderingContext3D.idl: Added.
45865         * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
45866         * platform/graphics/GraphicsContext3D.h: Added.
45867         * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
45868         * platform/graphics/mac/Canvas3DLayer.mm: Added.
45869         * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)
45871 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
45873         No Review.
45875         Another Windows build fix.
45877         * editing/ApplyStyleCommand.cpp:
45878         (WebCore::diffTextDecorations):
45880 2009-08-21  David Hyatt  <hyatt@apple.com>
45882         Reviewed by Simon Fraser.
45884         https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
45885         line box shrinking quirk.  Make sure outlines don't extend outside the lineTop and lineBottom
45886         of the root line box.
45888         Covered by existing tests.
45890         * rendering/RenderBlock.cpp:
45891         (WebCore::RenderBlock::addFocusRingRects):
45892         * rendering/RenderInline.cpp:
45893         (WebCore::RenderInline::addFocusRingRects):
45894         (WebCore::RenderInline::paintOutline):
45896 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
45898         No Review.
45900         Windows build fix.
45902         * editing/ApplyStyleCommand.cpp:
45903         (WebCore::setTextDecorationProperty): Made it static
45904         (WebCore::diffTextDecorations): Made it static
45906 2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
45908         Reviewed by Eric Seidel.
45910         execCommand("Underline") uses CSS even when styleWithCSS has been turned off
45911         https://bugs.webkit.org/show_bug.cgi?id=23892
45913         This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
45914         WebKit does not use CSS to decorate texts when styleWithCSS is set to false.
45916         * css/CSSValueList.cpp:
45917         (WebCore::CSSValueList::copy): Added.
45918         * css/CSSValueList.h: Added copy.
45919         * editing/ApplyStyleCommand.cpp:
45920         (WebCore::StyleChange::applyUnderline):
45921         (WebCore::StyleChange::applyLineThrough):
45922         (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
45923         (WebCore::StyleChange::init): Ditto.
45924         (WebCore::StyleChange::extractTextStyles): Handles text decorations.
45925         (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
45926         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.
45928 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
45930         Reviewed by Timothy Hatcher.
45932         Inspector: Rename "Databases" Panel as "Storage"
45933         https://bugs.webkit.org/show_bug.cgi?id=28620
45935           Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.
45937         * inspector/InspectorController.cpp:
45938         (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
45939         * inspector/InspectorController.h:
45940         (WebCore::InspectorController::):
45941         * inspector/InspectorFrontend.cpp:
45942         (WebCore::InspectorFrontend::showPanel):
45944           Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
45945           any DatabasesPanel constructors and appropriate function names.
45947         * inspector/front-end/DOMStorageDataGrid.js:
45948         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
45949         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
45950         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
45951         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
45952         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
45953         * inspector/front-end/DOMStorageItemsView.js:
45954         (WebInspector.DOMStorageItemsView.prototype.update):
45955         * inspector/front-end/DatabaseQueryView.js:
45956         (WebInspector.DatabaseQueryView.prototype._queryFinished):
45957         * inspector/front-end/DatabaseTableView.js:
45958         (WebInspector.DatabaseTableView.prototype._queryFinished):
45959         * inspector/front-end/inspector.js:
45960         (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
45961         (WebInspector.showStoragePanel):
45962         (WebInspector.selectDatabase):
45963         (WebInspector.selectDOMStorage):
45964         (WebInspector.addDatabase):
45965         (WebInspector.addDOMStorage):
45967           Renamed some files and Updated Accordingly.
45969         * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
45970         * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
45971         * inspector/front-end/WebKit.qrc: use new file names
45972         * inspector/front-end/inspector.css: use new images name and class names
45973         * inspector/front-end/inspector.html: use new file name
45974         * WebCore.gypi: use new file names
45976           Miscellaneous Updates.
45978         * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
45980 2009-08-21  Maxime Simon  <simon.maxime@gmail.com>
45982         Reviewed by Oliver Hunt.
45984         [Haiku] Adding three font-specific files to WebCore:
45985         FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
45986         https://bugs.webkit.org/show_bug.cgi?id=28131
45988         * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
45989         (WebCore::FontCache::platformInit):
45990         (WebCore::FontCache::getFontDataForCharacters):
45991         (WebCore::FontCache::getSimilarFontPlatformData):
45992         (WebCore::FontCache::getLastResortFallbackFont):
45993         (WebCore::FontCache::createFontPlatformData):
45994         (WebCore::FontCache::getTraitsInFamily):
45995         * platform/graphics/haiku/FontHaiku.cpp: Added.
45996         (charUnicodeToUTF8HACK):
45997         (WebCore::Font::canReturnFallbackFontsForComplexText):
45998         (WebCore::Font::drawGlyphs):
45999         (WebCore::Font::drawComplexText):
46000         (WebCore::Font::floatWidthForComplexText):
46001         (WebCore::Font::selectionRectForComplexText):
46002         (WebCore::Font::offsetForPositionForComplexText):
46003         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
46004         (WebCore::SimpleFontData::platformInit):
46005         (WebCore::SimpleFontData::platformCharWidthInit):
46006         (WebCore::SimpleFontData::platformDestroy):
46007         (WebCore::SimpleFontData::smallCapsFontData):
46008         (WebCore::SimpleFontData::containsCharacters):
46009         (WebCore::SimpleFontData::determinePitch):
46010         (WebCore::SimpleFontData::platformWidthForGlyph):
46012 2009-08-21  Philippe Beauchamp  <philippe.beauchamp@gmail.com>
46014         Reviewed by Adam Roben.
46016         Middle click panning icon is offset by 3 pixels
46017         https://bugs.webkit.org/show_bug.cgi?id=28611
46019         * platform/ScrollView.cpp:
46020         panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
46021         * platform/win/CursorWin.cpp:
46022         (WebCore::middlePanningCursor):
46023         Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
46024         
46025 2009-08-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
46027         Reviewed by Eric Seidel.
46029         [Qt] Remove inspector resources for Symbian
46030         https://bugs.webkit.org/show_bug.cgi?id=28610
46032         Based on an idea from Simon Hausmann.
46034         * WebCore.pro:
46036 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
46038         Reviewed by Eric Seidel.
46040         Inspector: Remove Unused Variable
46041         https://bugs.webkit.org/show_bug.cgi?id=28616
46043         * inspector/front-end/Resource.js:
46044         (WebInspector.Resource.prototype._checkWarning):
46046 2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
46048         Reviewed by Timothy Hatcher.
46050         Inspector: Console Array Formatter Shows Extra Properties
46051         https://bugs.webkit.org/show_bug.cgi?id=28615
46053         * inspector/front-end/ConsoleView.js:
46054         (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
46056 2009-08-21  Beth Dakin  <bdakin@apple.com>
46058         Reviewed by Dan Bernstein.
46060         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 
46061         Backgrounds and Borders] Add support for the "contain" value for 
46062         background-size
46063         -and-
46064         https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 
46065         Borders] Add support for the "cover" value for background-size
46067         Return contain or cover when appropriate, and otherwise do what we 
46068         used to do.
46069         * css/CSSComputedStyleDeclaration.cpp:
46070         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
46072         Accept contain and cover as valid values for background-size.
46073         * css/CSSParser.cpp:
46074         (WebCore::CSSParser::parseFillProperty):
46076         Handle setting the size and the sizeLength if appropriate.
46077         * css/CSSStyleSelector.cpp:
46078         (WebCore::CSSStyleSelector::mapFillSize):
46080         Added new keywords contain and cover.
46081         * css/CSSValueKeywords.in:
46083         Use just sizeLength instead of size to match old behavior.
46084         * page/animation/AnimationBase.cpp:
46085         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
46086         * rendering/RenderBoxModelObject.cpp:
46087         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
46088         * rendering/RenderObject.cpp:
46089         (WebCore::mustRepaintFillLayers):
46091         The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 
46092         a LengthSize (the equivalent of what m_size used to be). I got rid 
46093         of m_sizeSet and made isSizeSet() dynamic. I also defined a new 
46094         struct, FillSize that can be used to set or get m_size and 
46095         m_sizeLength both at once. 
46096         * rendering/style/FillLayer.cpp:
46097         (WebCore::FillLayer::FillLayer):
46098         (WebCore::FillLayer::operator=):
46099         (WebCore::FillLayer::operator==):
46100         (WebCore::FillLayer::fillUnsetProperties):
46101         * rendering/style/FillLayer.h:
46102         (WebCore::FillSize::FillSize):
46103         (WebCore::FillSize::operator==):
46104         (WebCore::FillSize::operator!=):
46105         (WebCore::FillLayer::sizeLength):
46106         (WebCore::FillLayer::size):
46107         (WebCore::FillLayer::isSizeSet):
46108         (WebCore::FillLayer::setSizeType):
46109         (WebCore::FillLayer::setSizeLength):
46110         (WebCore::FillLayer::setSize):
46111         (WebCore::FillLayer::clearSize):
46112         (WebCore::FillLayer::initialFillSizeType):
46113         (WebCore::FillLayer::initialFillSizeLength):
46114         (WebCore::FillLayer::initialFillSize):
46116         This is all boiler-plate stuff to adjust to the new size() vs. 
46117         sizeType() vs. sizeLength() distinction.
46118         * rendering/style/RenderStyle.h:
46119         (WebCore::InheritedFlags::backgroundSizeType):
46120         (WebCore::InheritedFlags::backgroundSizeLength):
46121         (WebCore::InheritedFlags::maskSize):
46122         (WebCore::InheritedFlags::setBackgroundSize):
46123         (WebCore::InheritedFlags::setBackgroundSizeLength):
46124         (WebCore::InheritedFlags::setMaskSize):
46126         Definition for EBackgroundSizeType.
46127         * rendering/style/RenderStyleConstants.h:
46128         (WebCore::):
46130 2009-08-21  Ariya Hidayat  <ariya.hidayat@nokia.com>
46132         Not reviewed, build fix after r47580.
46134         [Qt] Adjust the files.
46136         * inspector/front-end/WebKit.qrc:
46138 2009-08-20  Chris Fleizach  <cfleizach@apple.com>
46140         Reviewed by Darin Adler.
46142         Enable various "grouping" ARIA roles
46143         https://bugs.webkit.org/show_bug.cgi?id=28486
46145         Test: platform/mac/accessibility/aria-grouping-roles.html
46147         * accessibility/AccessibilityObject.h:
46148         * accessibility/AccessibilityRenderObject.cpp:
46149         * accessibility/mac/AccessibilityObjectWrapper.mm:
46150         * page/mac/WebCoreViewFactory.h:
46151         * platform/LocalizedStrings.h:
46152         * platform/mac/LocalizedStringsMac.mm:
46154 2009-08-20  David Levin  <levin@chromium.org>
46156         Unreviewed trivial comment fix.
46158         Update a bug link in a comment due to bugzilla amnesia.
46160         * loader/CachedResource.cpp:
46161         (WebCore::CachedResource::setResourceToRevalidate):
46163 2009-08-20  Albert J. Wong  <ajwong@chromium.org>
46165         Reviewed by David Levin.
46167         HTML5 media elements do not fire waiting events correctly
46168         https://bugs.webkit.org/show_bug.cgi?id=28335
46170         Fire the waiting event before seeking, and fix a case where firing of
46171         the seeked event is missed when the ready state is changed during
46172         a seek.
46174         Added video-waiting-seeking.html into manual tests because not
46175         all platforms allow seeking into non-buffered ranges.
46177         * html/HTMLMediaElement.cpp:
46178         (WebCore::HTMLMediaElement::setReadyState): add support for
46179         waiting event when seeking.
46180         (WebCore::HTMLMediaElement::finishSeek): send seeked event
46181         whenever seeking finishes.
46182         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
46183         new function.
46184         * html/HTMLMediaElement.h:
46185         * manual-tests/video-waiting-seeking.html: Added.
46187 2009-08-20  Dan Bernstein  <mitz@apple.com>
46189         Reviewed by John Sullivan.
46191         Fix more cases of
46192         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
46193         the console with certain content
46195         If the border box is empty, simply avoid painting instead of trying to
46196         clip to the empty path.
46198         * rendering/RenderBoxModelObject.cpp:
46199         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
46200         * rendering/RenderReplaced.cpp:
46201         (WebCore::RenderReplaced::paint):
46202         * rendering/RenderWidget.cpp:
46203         (WebCore::RenderWidget::paint):
46205 2009-08-20  Jeremy Orlow  <jorlow@chromium.org>
46207         Build fix.  Forgot a svn add for a patch I landed.  :-(
46209         * storage/SQLTransactionClient.cpp: Added.
46210         (WebCore::SQLTransactionClient::didCommitTransaction):
46211         (WebCore::SQLTransactionClient::didExecuteStatement):
46212         (WebCore::SQLTransactionClient::didExceedQuota):
46213         * storage/SQLTransactionClient.h: Added.
46215 2009-08-20  Dumitru Daniliuc  <dumi@chromium.org>
46217         Reviewed by Dimitri Glazkov.
46219         Added a client to SQLTransaction. In addition to being a place to
46220         get notifications about certain events in a transaction, it is
46221         also an abstraction layer that allows us to plug in different
46222         implementations for each port for how transactions interract with
46223         the main DB. For example, WebCore's default implementation will
46224         make direct calls to DatabaseTracker's methods. At the same time,
46225         Chromium's implementation will send IPCs to the browser process
46226         whenever a transaction needs something from the main DB.
46228         All storage tests pass.
46230         https://bugs.webkit.org/show_bug.cgi?id=27967
46232         * GNUmakefile.am:
46233         * WebCore.gypi:
46234         * WebCore.pro:
46235         * WebCore.vcproj/WebCore.vcproj:
46236         * WebCore.xcodeproj/project.pbxproj:
46237         * WebCoreSources.bkl:
46238         * storage/Database.cpp:
46239         (WebCore::Database::transactionClient):
46240         * storage/Database.h:
46241         * storage/DatabaseThread.cpp:
46242         (WebCore::DatabaseThread::DatabaseThread):
46243         * storage/DatabaseThread.h:
46244         (WebCore::DatabaseThread::transactionClient):
46245         * storage/SQLTransaction.cpp:
46246         (WebCore::SQLTransaction::runCurrentStatement):
46247         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
46248         (WebCore::SQLTransaction::postflightAndCommit):
46249         * storage/SQLTransactionClient.cpp: Added.
46250         * storage/SQLTransactionClient.h: Added.
46252 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
46254         Reviewed by Steve Falkenburg.
46256         Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
46257         Auto scroll speed is faster than in IE, Firefox.
46258         
46259         Changed pan scrolling speed to match Firefox's algorithm.
46261         * rendering/RenderLayer.cpp:
46262         (WebCore::adjustedScrollDelta):
46263         (WebCore::RenderLayer::panScrollFromPoint):
46265 2009-08-20  Stephen White  <senorblanco@chromium.org>
46267         Reviewed by Eric Seidel.
46269         Fix for assert in Chromium page cycler:  drawRect() was re-using
46270         an SkPaint, but not resetting it before calling
46271         PlatformGraphicsSkia::setupPaintForFilling() a second time.  This
46272         CL fixes drawRect(), and re-enables the assert.
46273         http://bugs.webkit.org/show_bug.cgi?id=28172
46274         http://crbug.com/19797
46276         Covered by Chromium page cycler tests.
46278         * platform/graphics/skia/PlatformContextSkia.cpp:
46279         (PlatformContextSkia::drawRect):
46280         (PlatformContextSkia::setupPaintCommon):
46282 2009-08-20  Anders Carlsson  <andersca@apple.com>
46284         Reviewed by Dan Bernstein.
46286         <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
46287         
46288         Revert r47535 which introduced this.
46289         
46290         * platform/win/PopupMenuWin.cpp:
46291         (WebCore::PopupMenu::show):
46292         (WebCore::PopupWndProc):
46294 2009-08-20  David Levin  <levin@chromium.org>
46296         Reviewed by Alexey Proskuryakov.
46298         Crashes on sites with lots of images
46299         https://bugs.webkit.org/show_bug.cgi?id=28473
46301         The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
46302         CachedResource is still referring to it, so it may get deleted before
46303         Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.
46305         * loader/Cache.cpp:
46306         (WebCore::Cache::revalidateResource): Added assert to verify the resource
46307         being revalidated is physically in the cache.
46308         (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
46309         resource to the revalidated resource.  This allows for proper lifetime management of the
46310         revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
46311         (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
46312         process of being validated (or else they can get added twice: Once through the normal mechanism
46313         and then again during revalidateResource).
46315         * loader/CachedResource.cpp:
46316         (WebCore::CachedResource::CachedResource):
46317         (WebCore::CachedResource::isSafeToMakePurgeable):
46318         Changed m_isBeingRevalidated to m_proxyResource to allow finding out
46319         who the validating resource (or proxy) is.
46321         (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
46322         being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
46323         as well.
46324         (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
46325         and added a comment about the assert.
46326         (WebCore::CachedResource::clearResourceToRevalidate):
46327         Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
46328         * loader/CachedResource.h:
46329         (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
46330         is still being referred to by it and the code it robust to this being switched to a new proxy
46331         resource without it being cleared first.
46332         (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.
46334 2009-08-20  Xiaomei Ji  <xji@chromium.org>
46336         Reviewed by Eric Seidel.
46338         Fix "Chromium RTL autocomplete popup is not layout correctly".
46339         https://bugs.webkit.org/show_bug.cgi?id=27889
46341         The complete fix of the issue consists 2 parts: the patch in webkit
46342         and the patch in Chromium's own code.
46344         This webkit patch only affects Chromium autofill. It
46345         1. introduces a new flag in WebCore::PopupContainerSettings to
46346            distinguish whether the width of the drop-down should be restricted
46347            or not.
46348            For autofill, the width of the drop-down is restricted to
46349            be the same as that of the input field (the new flag is set in
46350            Chromium's own code). But width is not restricted for <select> (same as before).
46351         2. introduce a new flag in WebCore::PopContainerSettings to
46352            indicate what heuristics to use when displaying text in drop-down menu.
46353            For autofill, use drop-down item's directionality to display drop-down items.
46354            Previously, drop-down item is displayed in the its first strong
46355            directional character's directionality.
46356            (drop-down item's directionality is set in Chromium's own code.
46357            It is set the same as the directionality of the element. 
46358            For autofill, it is the same directionality as that of the input field.)
46359            For <select>, still use the text's first strong directional character's
46360            directionality to display the text.
46363         Since the patch only affects the chromium client, not webcore part or
46364         other clients. No automatic tests is possible.
46366         * manual-tests/autofill-popup-width-and-item-direction.html: Added.
46367         * platform/chromium/PopupMenuChromium.cpp:
46368         (WebCore::):
46369         (WebCore::PopupListBox::paintRow): If list box width is restricted and 
46370         an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
46371         (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
46372         * platform/chromium/PopupMenuChromium.h: 
46373         (WebCore::PopupItem::PopupItem): style change.
46374         (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 
46375         distinguish whether to restrict width of list box and 
46376         in what directionality to display the text in drop-down.
46378 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
46380         Reviewed by Adele Peterson.
46382         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 
46383         Pan Scrolling can scroll while showing the middlePanScroll icon.
46384         
46385         Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 
46386         In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
46387         of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
46388         set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
46389         the off by one error.
46391         * rendering/RenderLayer.cpp:
46392         (WebCore::RenderLayer::panScrollFromPoint):
46394 2009-08-20  David Hyatt  <hyatt@apple.com>
46396         Reviewed by Dan Bernstein.
46398         Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
46399         layoutBlockChild.
46401         * rendering/RenderBlock.cpp:
46402         (WebCore::RenderBlock::layoutBlockChildren):
46403         (WebCore::RenderBlock::layoutBlockChild):
46404         * rendering/RenderBlock.h:
46406 2009-08-20  Brian Weinstein  <bweinstein@apple.com>
46408         Reviewed by Adam Roben.
46410         Made subframeForHitTargetNode a public static method, so WebView can call it
46411         during hit testing.
46413         * page/EventHandler.cpp:
46414         (WebCore::subframeForHitTestResult):
46415         (WebCore::EventHandler::subframeForTargetNode):
46416         * page/EventHandler.h:
46418 2009-08-20  Brent Fulgham  <bfulgham@webkit.org>
46420         Rubberstamped by Kevin Ollivier.
46422         Check for null bundle before attempting to use it.
46424         * platform/network/curl/ResourceHandleManager.cpp:
46425         (WebCore::certificatePath): Add null check on return of
46426           CFBundleGetBundleWithIdentifier.
46428 2009-08-20  David Hyatt  <hyatt@apple.com>
46430         Reviewed by Dan Bernstein.
46432         https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.
46434         Added fast/repaint/inline-block-overflow.html and updated another test.
46436         * rendering/InlineFlowBox.cpp:
46437         (WebCore::InlineFlowBox::placeBoxesHorizontally):
46438         (WebCore::InlineFlowBox::computeVerticalOverflow):
46439         Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
46440         replaced element.  Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
46441         RenderBox has not been updated to the new values yet.
46442         
46443         * rendering/RenderLineBoxList.cpp:
46444         (WebCore::RenderLineBoxList::paint):
46445         Don't use the root line box's overflow.  Use the actual line box overflow values instead.  In the case of an inline
46446         with a layer, our overflow didn't propagate to the root line, so we always need to use our values.
46448         * rendering/RenderPartObject.cpp:
46449         (WebCore::RenderPartObject::layout):
46450         * rendering/RenderReplaced.cpp:
46451         (WebCore::RenderReplaced::layout):
46452         Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
46453         value around if a box-shadow goes away.
46455 2009-08-20  Dmitry Titov  <dimich@chromium.org>
46457         Another attempt to fix Chromium build.
46459         * WebCore.gypi: now use the correct name of the image file.
46461 2009-08-20  Dan Bernstein  <mitz@apple.com>
46463         Make the Windows build even fixeder
46465         * platform/graphics/win/GraphicsContextCGWin.cpp:
46466         (WebCore::GraphicsContextPlatformPrivate::flush):
46468 2009-08-20  Dmitry Titov  <dimich@chromium.org>
46470         Not reviewed, Chromium build fix.
46472         * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
46474 2009-08-20  Dan Bernstein  <mitz@apple.com>
46476         Windows build fix after the last change
46478         * platform/graphics/win/GraphicsContextCGWin.cpp:
46479         (WebCore::GraphicsContext::GraphicsContext):
46480         (WebCore::GraphicsContext::releaseWindowsContext):
46481         (WebCore::GraphicsContext::drawWindowsBitmap):
46483 2009-08-20  Dan Bernstein  <mitz@apple.com>
46485         Reviewed by Geoffrey Garen.
46487         Replace many manually-released CFTypeRefs with RetainPtrs
46488         https://bugs.webkit.org/show_bug.cgi?id=28498
46490         * platform/graphics/cg/ColorCG.cpp:
46491         (WebCore::createCGColor):
46492         * platform/graphics/cg/GradientCG.cpp:
46493         (WebCore::Gradient::platformGradient):
46494         * platform/graphics/cg/GraphicsContextCG.cpp:
46495         (WebCore::GraphicsContext::platformContext):
46496         (WebCore::GraphicsContext::applyStrokePattern):
46497         (WebCore::GraphicsContext::applyFillPattern):
46498         (WebCore::GraphicsContext::setPlatformShadow):
46499         (WebCore::GraphicsContext::setURLForRect):
46500         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
46501         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
46502         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
46503         * platform/graphics/cg/ImageBufferCG.cpp:
46504         (WebCore::ImageBuffer::ImageBuffer):
46505         * platform/graphics/cg/ImageCG.cpp:
46506         (WebCore::BitmapImage::checkForSolidColor):
46507         (WebCore::Image::drawPattern):
46508         * platform/graphics/cg/ImageSourceCG.cpp:
46509         (WebCore::ImageSource::setData):
46510         (WebCore::ImageSource::isSizeAvailable):
46511         (WebCore::ImageSource::frameSizeAtIndex):
46512         (WebCore::ImageSource::repetitionCount):
46513         (WebCore::ImageSource::createFrameAtIndex):
46514         (WebCore::ImageSource::frameDurationAtIndex):
46515         * platform/graphics/cg/PDFDocumentImage.cpp:
46516         (WebCore::PDFDocumentImage::dataChanged):
46517         * platform/graphics/cg/PathCG.cpp:
46518         (WebCore::createScratchContext):
46519         (WebCore::Path::contains):
46520         * platform/graphics/mac/FontCustomPlatformData.cpp:
46521         (WebCore::createFontCustomPlatformData):
46522         * platform/graphics/mac/GraphicsContextMac.mm:
46523         (WebCore::GraphicsContext::drawFocusRing):
46524         * platform/graphics/mac/ImageMac.mm:
46525         (WebCore::BitmapImage::getTIFFRepresentation):
46526         * platform/mac/ClipboardMac.mm:
46527         (WebCore::cocoaTypeFromMIMEType):
46528         (WebCore::MIMETypeFromCocoaType):
46529         * platform/mac/WebCoreNSStringExtras.mm:
46530         (stringEncodingForResource):
46531         * platform/network/mac/FormDataStreamMac.mm:
46532         (WebCore::advanceCurrentStream):
46533         (WebCore::setHTTPBody):
46534         * platform/text/mac/TextCodecMac.cpp:
46535         (WebCore::TextCodecMac::encode):
46537 2009-08-20  Shinichiro Hamaji  <hamaji@chromium.org>
46539         Reviewed by Eric Seidel.
46541         Output actual values of counters in showTree
46542         https://bugs.webkit.org/show_bug.cgi?id=28481
46544         No new tests because this patch just improves debugging outputs.
46546         * rendering/CounterNode.cpp:
46547         (WebCore::showTreeAndMark):
46549 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
46551         Reviewed by NOBODY (build fix).
46553         Add file missed in last check-in.
46555         * html/HTMLAttributeNames.in:
46557 2009-08-19  Timothy Hatcher  <timothy@apple.com>
46559         Adds new icons to the Web Inspector for Local Storage,
46560         Session Storage and Cookies.
46562         https://bugs.webkit.org/show_bug.cgi?id=28470
46564         Reviewed by Eric Seidel.
46566         * inspector/front-end/DatabasesPanel.js:
46567         (WebInspector.DatabasesPanel.prototype.addDOMStorage):
46568         (WebInspector.DOMStorageSidebarTreeElement):
46569         * inspector/front-end/Images/cookie.png:
46570         * inspector/front-end/Images/domStorage.png: Removed.
46571         * inspector/front-end/Images/localStorage.png: Added.
46572         * inspector/front-end/Images/sessionStorage.png: Added.
46573         * inspector/front-end/inspector.css:
46575 2009-08-20  Eric Carlson  <eric.carlson@apple.com>
46577         Reviewed by Anders Carlsson.
46579         HTML5 media elements must fire 'loadend' progress event
46580         https://bugs.webkit.org/show_bug.cgi?id=28419
46582         * dom/EventNames.h:
46583             Define loadend.
46585         * html/HTMLMediaElement.cpp:
46586         (WebCore::HTMLMediaElement::parseMappedAttribute):
46587             Deal with onloadend.
46588         (WebCore::HTMLMediaElement::loadInternal):
46589             Post 'loadend' immediately after 'abort'.
46590         (WebCore::HTMLMediaElement::noneSupported):
46591             Post 'loadend' immediately after 'error'.
46592         (WebCore::HTMLMediaElement::mediaEngineError):
46593             Ditto.
46594         (WebCore::HTMLMediaElement::setNetworkState):
46595             Post 'loadend' immediately after 'load'.
46596         (WebCore::HTMLMediaElement::userCancelledLoad):
46597             Post 'loadend' immediately after 'abort'.
46599 2009-08-20  Ryosuke Niwa  <rniwa@webkit.org>
46601         Reviewed by Darin Adler.
46603         REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
46604         https://bugs.webkit.org/show_bug.cgi?id=28474
46606         This patch fixes a crash when indenting at right after a table.
46607         The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
46608         where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
46609         enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());
46611         Test: editing/execCommand/indent-right-after-table.html
46613         * editing/IndentOutdentCommand.cpp:
46614         (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
46616 2009-08-20  Andrew Scherkus  <scherkus@chromium.org>
46618         Reviewed by David Levin.
46620         Render disabled mute button during an error or if no audio is present.
46622         https://bugs.webkit.org/show_bug.cgi?id=28475
46624         Covered by existing layout tests:
46625         media/video-controls-visible-audio-only.html
46626         media/video-no-audio.html
46628         * rendering/RenderThemeChromiumSkia.cpp:
46629         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
46631 2009-08-20  Dan Bernstein  <mitz@apple.com>
46633         Reviewed by Darin Adler.
46635         <rdar://problem/7154605> Loading page with 1px wide <select> makes the
46636         toolbar go blank
46637         and
46638         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
46639         the console with certain content
46641         * rendering/RenderThemeMac.mm:
46642         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
46643         if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
46644         adjust the radii in case the sides of the rectangle are smaller than sum
46645         of the radii, so that the gradient background matches the border (which
46646         already uses getBorderRadiiForRect()). Check if bottomGradient is empty
46647         to avoid clipping to an empty path.
46648         (WebCore::RenderThemeMac::paintMenuListButton): Moved a
46649         GraphicContext::save() down to avoid a save/restore imbalance in the
46650         early return case.
46652         * rendering/RenderThemeSafari.cpp: Made the same changes.
46653         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
46654         (WebCore::RenderThemeSafari::paintMenuListButton):
46656 2009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
46658         Reviewed by Gustavo Noronha.
46660         [Gtk][REGRESSION] XHR test failures after r45558
46661         https://bugs.webkit.org/show_bug.cgi?id=27143
46663         Disable sniffing if it's explicitly requested. Updated patch
46664         originally by Gustavo Noronha.
46666         * platform/network/soup/ResourceHandleSoup.cpp:
46667         (WebCore::statusWillBeHandledBySoup):
46668         (WebCore::gotHeadersCallback):
46669         (WebCore::contentSniffedCallback):
46670         (WebCore::gotChunkCallback):
46671         (WebCore::startHttp):
46673 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
46675         Reviewed by Simon Hausmann.
46677         [Qt] Swap the pixels since QImage expect ARGB while ImageData
46678         stores them as RGBA.
46680         This fixes the fast/canvas/canvas-copyPixels.html test.
46682         * platform/graphics/qt/ImageBufferQt.cpp:
46683         (WebCore::putImageData):
46685 2009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
46687         Reviewed by David Levin.
46689         [v8] Use atomic string caching for createElement
46690         Extend atomic string caching to createElement.  Fix a bug in idl
46691         parser that caused incorrect parsing if a function argument
46692         attribute list contained a comma.
46693         https://bugs.webkit.org/show_bug.cgi?id=28449
46695         * bindings/scripts/CodeGeneratorV8.pm:
46696         * bindings/scripts/IDLParser.pm:
46697         * bindings/v8/V8Binding.h:
46698         (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
46699         * dom/Document.idl:
46701 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
46703         Not reviewed, build fix after r47515.
46705         [Qt] There is no Phonon::MediaObject::hasAudio() function.
46707         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
46708         (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
46710 2009-08-20  Darin Fisher  <darin@chromium.org>
46712         Reviewed by Eric Seidel.
46714         https://bugs.webkit.org/show_bug.cgi?id=28483
46715         The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
46716         Widget* instead of void* to avoid the need for manual casting to Widget*
46717         at the callsite.
46719         * bindings/v8/ScriptController.cpp:
46720         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
46721         * bindings/v8/ScriptController.h:
46723 2009-08-19  David Levin  <levin@chromium.org>
46725         Unreviewed speculative build fix for qt.
46727         * page/OriginAccessEntry.cpp:
46729 2009-08-19  Aaron Boodman  <aa@chromium.org>
46731         Reviewed by David Levin.
46733         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
46734         specify a more granular policy for cross-origin XHR access.
46736         Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
46737                http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
46738                http/tests/xmlhttprequest/origin-whitelisting-https.html
46739                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
46740                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
46741                http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
46743         * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
46744         testing via layout tests.
46746         * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
46747         * GNUmakefile.am: Ditto.
46748         * WebCore.gypi: Ditto.
46749         * WebCore.pro: Ditto.
46750         * WebCore.vcproj/WebCore.vcproj: Ditto.
46751         * WebCoreSources.blk: Ditto.
46753         * page/SecurityOrigin.h: Implement origin access whitelists.
46754         (WebCore::originAccessMap): Static getter for access whitelists.
46755         (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
46756         (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
46757         (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.
46759         * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
46760         * page/OriginAccessEntry.cpp: Ditto.
46762 2009-08-19  Kevin Ollivier  <kevino@theolliviers.com>
46764         Non-precomp headers build fix.
46766         * platform/image-decoders/ImageDecoder.cpp:
46768 2009-08-19  Jeremy Orlow  <jorlow@chromium.org>
46770         Reviewed by Darin Fisher.
46772         Disable a bad SKIA assert
46773         https://bugs.webkit.org/show_bug.cgi?id=28482
46775         In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
46776         When this was pulled into Chromium, it started breaking the page cycler. 
46777         Disable it again until we can figure out what's going on.
46779         * platform/graphics/skia/PlatformContextSkia.cpp:
46780         (PlatformContextSkia::setupPaintCommon):
46782 2009-08-19  Ryosuke Niwa  <rniwa@webkit.org>
46784         Reviewed by Darin Adler.
46786         queryCommandState('underline') returns false if the selected text is also bold and italic
46787         https://bugs.webkit.org/show_bug.cgi?id=11022
46789         This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
46790         instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
46791         the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
46792         and also u, s, and strike tags.
46794         Test: editing/style/text-decoration-state.html
46796         * editing/EditorCommand.cpp:
46797         (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
46798         (WebCore::stateUnderline): Ditto.
46800 2009-08-19  Anders Carlsson  <andersca@apple.com>
46802         Reviewed by Darin Adler.
46804         - Fix <rdar://problem/7155710>
46805         HTML selects on windows cause containing window to become inactive when opened.
46807         * platform/win/PopupMenuWin.cpp:
46808         (WebCore::PopupMenu::show):
46809         Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
46810         SW_SHOWNOACTIVATE to ShowWindow.
46811         
46812         (WebCore::PopupWndProc):
46813         Prevent mouse activation from activating the window.
46815 2009-08-19  Simon Fraser  <simon.fraser@apple.com>
46817         Reviewed by Darin Adler.
46819         Images flash as you hover them on http://www.atebits.com/scribbles/
46820         <rdar://problem/7143958>
46821         
46822         Tag images with the device colorspace with the colorspace of the main display, rather than
46823         GenericRGB, so that composited images color-match those rendered via Core Graphics.
46824         
46825         Covered by LayoutTests/compositing/color-matching/image-color-matching.html
46827         * platform/graphics/mac/GraphicsLayerCA.mm:
46828         (WebCore::GraphicsLayerCA::setContentsToImage):
46830 2009-08-19  Anders Carlsson  <andersca@apple.com>
46832         Reviewed by David Hyatt and Dan Bernstein.
46834         - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.
46836         * page/FrameView.cpp:
46837         (WebCore::FrameView::FrameView):
46838         Initialize m_scrollCorner.
46840         (WebCore::FrameView::~FrameView):
46841         Assert that m_scrollCorner is null.
46843         (WebCore::FrameView::detachCustomScrollbars):
46844         Destroy m_scrollCorner.
46846         (WebCore::FrameView::invalidateScrollCorner):
46847         Invalidate the scroll corner.
46848         
46849         (WebCore::FrameView::updateScrollCorner):
46850         Create/destroy the scroll corner.
46851         
46852         (WebCore::FrameView::paintScrollCorner):
46853         Paint the scroll corner.
46854         
46855         * page/FrameView.h:
46856         (WebCore::FrameView::isFrameViewScrollCorner):
46857         Return whether a RenderScrollbarPart is the frame view scroll corner.
46858         
46859         * platform/ScrollView.cpp:
46860         (WebCore::ScrollView::updateScrollbars):
46861         Go ahead and update the scroll corner.
46862         
46863         (WebCore::ScrollView::setScrollbarsSuppressed):
46864         Pass the scroll corner rect to invalidateRect.
46865         
46866         (WebCore::ScrollView::scrollCornerRect):
46867         Return the scroll corner rect.
46868         
46869         * platform/ScrollView.h:
46870         * rendering/RenderScrollbarPart.cpp:
46871         (WebCore::RenderScrollbarPart::imageChanged):
46872         If this scrollbar part is the frame view scroll corner, invalidate it.
46874 2009-08-19  Dirk Schulze  <krit@webkit.org>
46876         Reviewed by Oliver Hunt.
46878         SVG feComponentTransfer needs to be implemented
46879         [https://bugs.webkit.org/show_bug.cgi?id=27768]
46881         Implementation of SVG Filter feComponentTransfer.
46883         There is already a test case
46884         Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg
46886         * platform/graphics/filters/FEComponentTransfer.cpp:
46887         (WebCore::identity):
46888         (WebCore::table):
46889         (WebCore::discrete):
46890         (WebCore::linear):
46891         (WebCore::gamma):
46892         (WebCore::FEComponentTransfer::apply):
46894 2009-08-19  Dan Bernstein  <mitz@apple.com>
46896         Reviewed by Dave Hyatt.
46898         <rdar://problem/7141522> Incorrect layout of product table at henry.com
46900         Test: fast/block/basic/quirk-percent-height-table-cell.html
46902         * rendering/RenderBox.cpp:
46903         (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
46904         percentage-height children of auto-height blocks to look for an ancestor
46905         with non-auto height and compute their height based on it. The change is
46906         that if that ancestor is a table cell, it is ignored and the percent
46907         height computes to zero (just like in strict mode). This matches Firefox
46908         and IE.
46910 2009-08-19  Jungshik Shin  <jshin@chromium.org>
46912         Reviewed by Eric Seidel.
46914         Add 'icu::' qualifier when refering to ICU C+names to the other
46915         file with this issue missed in the previous check-in.
46917         https://bugs.webkit.org/show_bug.cgi?id=28410
46919         No change in the test result.
46921         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
46922         (WebCore::):
46924 2009-08-19  Peter Kasting  <pkasting@google.com>
46926         Unreviewed (build fix for Skia).
46928         https://bugs.webkit.org/show_bug.cgi?id=28268
46930         * platform/graphics/skia/GraphicsContextSkia.cpp:
46931         (WebCore::GraphicsContext::drawLine):
46933 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
46935         Reviewed by Eric Seidel.
46937         [CAIRO] Remove setFont indirection
46938         https://bugs.webkit.org/show_bug.cgi?id=28453
46940         Remove the indirection and just set the font in Font::drawGlyphs.
46942         * platform/graphics/SimpleFontData.h:
46943         * platform/graphics/cairo/FontCairo.cpp:
46944         (WebCore::Font::drawGlyphs):
46945         * platform/graphics/gtk/FontPlatformData.h:
46946         (WebCore::FontPlatformData::scaledFont):
46947         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
46948         (WebCore::FontPlatformData::~FontPlatformData):
46949         * platform/graphics/gtk/FontPlatformDataPango.cpp:
46950         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
46951         * platform/graphics/gtk/SimpleFontDataPango.cpp:
46952         * platform/graphics/win/FontPlatformData.h:
46953         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
46954         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
46956 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
46958         Reviewed by Timothy Hatcher.
46960         WebInspector: When adding style selector, generate default name based
46961         on id / class / type.
46963         https://bugs.webkit.org/show_bug.cgi?id=28468
46965         * inspector/front-end/StylesSidebarPane.js:
46966         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
46968 2009-08-19  David Hyatt  <hyatt@apple.com>
46970         Reviewed by Dan Bernstein.
46972         Rename combinedOverflow to visibleOverflow, since that's what it actually represents.
46974         * rendering/InlineFlowBox.cpp:
46975         (WebCore::InlineFlowBox::nodeAtPoint):
46976         (WebCore::InlineFlowBox::paint):
46977         * rendering/InlineFlowBox.h:
46978         (WebCore::InlineFlowBox::topvisibleOverflow):
46979         (WebCore::InlineFlowBox::bottomvisibleOverflow):
46980         (WebCore::InlineFlowBox::leftvisibleOverflow):
46981         (WebCore::InlineFlowBox::rightvisibleOverflow):
46982         (WebCore::InlineFlowBox::visibleOverflowRect):
46983         * rendering/RenderBlock.cpp:
46984         (WebCore::RenderBlock::layoutBlock):
46985         (WebCore::RenderBlock::paint):
46986         (WebCore::RenderBlock::floatRect):
46987         (WebCore::RenderBlock::nodeAtPoint):
46988         * rendering/RenderBlock.h:
46989         * rendering/RenderBlockLineLayout.cpp:
46990         (WebCore::RenderBlock::layoutInlineChildren):
46991         (WebCore::RenderBlock::matchedEndLine):
46992         * rendering/RenderBox.cpp:
46993         (WebCore::RenderBox::clippedOverflowRectForRepaint):
46994         * rendering/RenderBox.h:
46995         (WebCore::RenderBox::visibleOverflowRect):
46996         (WebCore::RenderBox::topvisibleOverflow):
46997         (WebCore::RenderBox::bottomvisibleOverflow):
46998         (WebCore::RenderBox::leftvisibleOverflow):
46999         (WebCore::RenderBox::rightvisibleOverflow):
47000         * rendering/RenderLayer.cpp:
47001         (WebCore::RenderLayer::localBoundingBox):
47002         * rendering/RenderLineBoxList.cpp:
47003         (WebCore::RenderLineBoxList::paint):
47004         (WebCore::RenderLineBoxList::hitTest):
47005         * rendering/RenderOverflow.h:
47006         (WebCore::RenderOverflow::visibleOverflowRect):
47007         * rendering/RenderReplaced.cpp:
47008         (WebCore::RenderReplaced::shouldPaint):
47009         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
47010         * rendering/RenderTable.cpp:
47011         (WebCore::RenderTable::layout):
47012         (WebCore::RenderTable::paint):
47013         * rendering/RenderTableCell.cpp:
47014         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
47016 2009-08-19  Eric Carlson  <eric.carlson@apple.com>
47018         Reviewed by Eric Seidel.
47020         Sound button appears in controller with movies that have no audio
47021         https://bugs.webkit.org/show_bug.cgi?id=28464
47023         Test: media/video-no-audio.html
47025         * html/HTMLMediaElement.cpp:
47026         * html/HTMLMediaElement.h:
47027         (WebCore::HTMLMediaElement::hasAudio):
47028             Added hasAudio.
47030         * platform/graphics/MediaPlayer.h:
47031         * platform/graphics/MediaPlayer.cpp:
47032         (WebCore::NullMediaPlayerPrivate::hasAudio):
47033         (WebCore::MediaPlayer::hasVideo):
47034             Make const.
47035         (WebCore::MediaPlayer::hasAudio):
47036             Added hasAudio.
47038         * platform/graphics/MediaPlayerPrivate.h:
47039             Add hasAudio.
47041         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
47042         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47043         (WebCore::MediaPlayerPrivate::hasAudio):
47044             Ditto.
47046         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
47047         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47048         (WebCore::MediaPlayerPrivate::hasAudio):
47049             Ditto.
47051         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
47052         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
47053         (WebCore::MediaPlayerPrivate::hasAudio):
47054             Ditto.
47056         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
47057         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47058         (WebCore::MediaPlayerPrivate::hasAudio):
47059             Ditto.
47061         * platform/graphics/win/QTMovieWin.h:
47062         * platform/graphics/win/QTMovieWin.cpp:
47063         (QTMovieWin::hasAudio):
47064             Ditto.
47066         * rendering/MediaControlElements.cpp:
47067         (WebCore::MediaControlMuteButtonElement::disabled):
47068             New, return true if media element doesn't have audio.
47069         (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
47070             Renderer is not needed if element has no audio.
47071         * rendering/MediaControlElements.h:
47072         (WebCore::MediaControlInputElement::disabled):
47074         * rendering/RenderThemeMac.mm:
47075         (WebCore::getMediaUIPartStateFlags):
47076             Return MediaUIPartDisabledFlag if node is disabled.
47077             
47079 2009-08-19  Michelangelo De Simone  <micdesim@gmail.com>
47081         Reviewed by Darin Adler.
47083         https://bugs.webkit.org/show_bug.cgi?id=27357
47084         Removed the two unnecessary overridden willValidate() methods introduced
47085         in r47444.
47087         * html/HTMLKeygenElement.h:
47088         * html/HTMLObjectElement.h:
47090 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
47092         Reviewed by Timothy Hatcher.
47094         WebInspector: Allow dumping dangling nodes to the console.
47096         https://bugs.webkit.org/show_bug.cgi?id=28458
47098         * bindings/js/JSInspectorBackendCustom.cpp:
47099         * bindings/v8/custom/V8CustomBinding.h:
47100         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
47101         * inspector/InspectorBackend.cpp:
47102         * inspector/InspectorBackend.h:
47103         * inspector/InspectorBackend.idl:
47104         * inspector/InspectorController.cpp:
47105         (WebCore::InspectorController::clearConsoleMessages):
47106         * inspector/InspectorDOMAgent.cpp:
47107         (WebCore::InspectorDOMAgent::releaseDanglingNodes):
47108         (WebCore::InspectorDOMAgent::startListening):
47109         (WebCore::InspectorDOMAgent::stopListening):
47110         (WebCore::InspectorDOMAgent::handleEvent):
47111         (WebCore::InspectorDOMAgent::bind):
47112         (WebCore::InspectorDOMAgent::unbind):
47113         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
47114         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
47115         (WebCore::InspectorDOMAgent::discardBindings):
47116         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
47117         (WebCore::InspectorDOMAgent::buildObjectForNode):
47118         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
47119         * inspector/InspectorDOMAgent.h:
47120         * inspector/InspectorFrontend.cpp:
47121         (WebCore::InspectorFrontend::setDetachedRoot):
47122         (WebCore::InspectorFrontend::childNodeCountUpdated):
47123         * inspector/InspectorFrontend.h:
47124         * inspector/front-end/ConsoleView.js:
47125         (WebInspector.ConsoleView.prototype._formatnode):
47126         * inspector/front-end/DOMAgent.js:
47127         (WebInspector.DOMAgent.prototype._setDetachedRoot):
47128         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
47129         (WebInspector.setDetachedRoot):
47130         (WebInspector.childNodeCountUpdated):
47131         (InspectorController.pushNodeToFrontend):
47132         * inspector/front-end/InjectedScript.js:
47133         (InjectedScript.pushNodeToFrontend):
47134         (InjectedScript.createProxyObject):
47136 2009-08-19  Alexey Proskuryakov  <ap@apple.com>
47138         Reviewed by Anders Carlsson.
47140         https://bugs.webkit.org/show_bug.cgi?id=27464
47141         Implement application cache online whitelist wildcard flag
47143         Test: http/tests/appcache/whitelist-wildcard.html
47145         A "*" in NETWORK section means that network loading needn't be blocked.
47147         * loader/appcache/ApplicationCache.cpp:
47148         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
47149         * loader/appcache/ApplicationCache.h:
47150         (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
47151         (WebCore::ApplicationCache::allowsAllNetworkRequests):
47152         * loader/appcache/ApplicationCacheGroup.cpp:
47153         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
47154         * loader/appcache/ApplicationCacheStorage.cpp:
47155         (WebCore::ApplicationCacheStorage::openDatabase):
47156         (WebCore::ApplicationCacheStorage::store):
47157         (WebCore::ApplicationCacheStorage::loadCache):
47158         * loader/appcache/ManifestParser.cpp:
47159         (WebCore::parseManifest):
47160         * loader/appcache/ManifestParser.h:
47162 2009-08-19  Brady Eidson <beidson@apple.com>
47164         Reviewed by Kevin Decker.
47166         <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
47167         
47168         Get rid of method swizzling entirely. This created problems when lower level
47169         Foundation code would call into our own swizzled method.
47170         
47171         * platform/network/mac/ResourceHandleMac.mm: 
47172         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
47173         * platform/network/mac/WebCoreURLResponse.h:
47174         * platform/network/mac/WebCoreURLResponse.mm:
47175         (-[NSURLResponse adjustMIMETypeIfNecessary]):
47177 2009-08-19  Adam Roben  <aroben@apple.com>
47179         Fix linker warnings on Windows
47181         Reviewed by Anders Carlsson.
47183         Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
47184         Windows about multiply-defined JSHTMLDataListElement symbols
47186         * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
47187         from the build (just like we do for the other generated bindings
47188         files) so that we don't get warnings about multiply-defined symbols in
47189         JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
47190         duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
47191         reorder a few files.
47193 2009-08-19  Jungshik Shin  <jshin@chromium.org>
47195         Reviewed by Eric Seidel
47197         Add 'icu::' qualifier when refering to ICU C+names.
47199         https://bugs.webkit.org/show_bug.cgi?id=28410
47201         No change in the test result.
47203         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47204         (WebCore::fontContainsCharacter):
47206 2009-08-19  David Hyatt  <hyatt@apple.com>
47208         Reviewed by Dan Bernstein.
47210         Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
47211         move the addition of overflow from children into a separate pass after the height of the section has been
47212         set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
47213         (Not a a correctness issue, just a memory issue.)
47215         * rendering/RenderTableSection.cpp:
47216         (WebCore::RenderTableSection::RenderTableSection):
47217         (WebCore::RenderTableSection::layoutRows):
47218         * rendering/RenderTableSection.h:
47220 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
47222         Reviewed by Xan Lopez.
47224         [Gtk] Remove bogus dependency rules for built sources that derive
47225         from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
47226         header files should be generated regardless of whether the source
47227         file changed or not. We should only rely on the *.in files being
47228         changed.
47230         * GNUmakefile.am:
47232 2009-08-18  Maciej Stachowiak  <mjs@apple.com>
47234         Reviewed by Oliver Hunt.
47236         convert FormatBlock candidate tag list from if chain to hash lookup
47237         https://bugs.webkit.org/show_bug.cgi?id=28448
47239         No behavior change, just cleanup.
47241         * editing/htmlediting.cpp:
47242         (WebCore::validBlockTag):
47243         * editing/htmlediting.h:
47245 2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
47247         Reviewed by Eric Seidel.
47249         Update GraphicsContextSkia's version of drawLine to make use of the shared
47250         adjustLineToPixelBoundaries function and elimination overlapping code.
47252         https://bugs.webkit.org/show_bug.cgi?id=28268
47254         * platform/graphics/skia/GraphicsContextSkia.cpp:
47255         (WebCore::GraphicsContext::drawLine):
47257 2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
47259         Reviewed by Eric Seidel.
47261         Style fixes based on cpp_style.py and WebKit Style guide for
47262         GraphicsContextSkia.cpp
47264         https://bugs.webkit.org/show_bug.cgi?id=28268
47266         * platform/graphics/skia/GraphicsContextSkia.cpp:
47267         (WebCore::GraphicsContext::addInnerRoundedRectClip):
47268         (WebCore::GraphicsContext::drawFocusRing):
47269         (WebCore::GraphicsContext::roundToDevicePixels):
47270         (WebCore::GraphicsContext::setLineDash):
47271         (WebCore::GraphicsContext::setPlatformShadow):
47273 2009-08-18  Alexey Proskuryakov  <ap@webkit.org>
47275         Reviewed by Maciej Stachowiak.
47277         https://bugs.webkit.org/show_bug.cgi?id=28446
47278         Custom request headers shouldn't be sent with cross-origin preflight request
47280         Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
47281                http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
47283         * loader/DocumentThreadableLoader.cpp:
47284         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
47285         Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
47286         that they shouldn't be sent, and Firefox doesn't send them.
47288 2009-08-18  John Gregg  <johnnyg@google.com>
47290         Reviewed by Dimitri Glazkov.
47292         V8 Bindings for Desktop Notifications feature.
47293         https://bugs.webkit.org/show_bug.cgi?id=28271
47295         * WebCore.gypi: 
47296         added notification files to build (all still behind a flag that's not on)
47297         * bindings/scripts/CodeGeneratorV8.pm:
47298         added special case in DOMWindow/AppCache style for named event handlers
47299         * bindings/v8/DOMObjectsInclude.h:
47300         * bindings/v8/DerivedSourcesAllInOne.cpp:
47301         * bindings/v8/V8DOMWrapper.cpp:
47302         (WebCore::V8DOMWrapper::getTemplate):
47303         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
47304         * bindings/v8/V8Index.cpp:
47305         * bindings/v8/V8Index.h:
47306         * bindings/v8/V8Proxy.h:
47307         * bindings/v8/WorkerContextExecutionProxy.cpp:
47308         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
47309         * bindings/v8/custom/V8CustomBinding.h:
47310         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
47311         * notifications/Notification.h:
47312         made event handler routines public (as they are in DOMWindow, eg) for
47313         binding access.
47314         * notifications/NotificationCenter.idl:
47315         needed to make methods V8Custom to support different behaviors in 
47316         worker/page context in chromium. 
47317         * workers/WorkerThread.h:
47318         (WebCore::WorkerThread::getNotificationPresenter):
47319         (WebCore::WorkerThread::setNotificationPresenter):
47320         needed to make these methods public as well so chromium can inject
47321         the notification presenter into the worker thread.
47323 2009-08-13  Maciej Stachowiak  <mjs@apple.com>
47325         Reviewed by Sam Weinig.
47327         - Implement HTML5 nav element
47328         https://bugs.webkit.org/show_bug.cgi?id=27937
47330         <nav> should behave essentially the same as <div> for parsing
47331         etc. This is implemented by the changes below.
47332         
47333         Tests: fast/html/nav-element.html
47335         * css/html.css:
47336         * editing/htmlediting.cpp:
47337         (WebCore::validBlockTag):
47338         * html/HTMLElement.cpp:
47339         (WebCore::HTMLElement::tagPriority):
47340         (WebCore::blockTagList):
47341         * html/HTMLParser.cpp:
47342         (WebCore::HTMLParser::getNode):
47343         * html/HTMLTagNames.in:
47345 2009-08-18  Anders Carlsson  <andersca@apple.com>
47347         Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
47349         - Fix <rdar://problem/7152727>
47351         If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
47352         
47353         * page/FrameView.cpp:
47354         (WebCore::FrameView::hasCustomScrollbars):
47355         Check if the frame view or any of its subviews have custom scroll bars.
47356         
47357         (WebCore::FrameView::updateControlTints):
47358         Go ahead and update control tints if the frame view has custom scroll bars.
47359         
47360         * page/FrameView.h:
47362 2009-08-18  Mark Rowe  <mrowe@apple.com>
47364         Roll out r47477 as it introduced assertion failures and crashes on the build bots.
47366         * GNUmakefile.am:
47367         * WebCore.gypi:
47368         * WebCore.pro:
47369         * WebCore.vcproj/WebCore.vcproj:
47370         * WebCore.xcodeproj/project.pbxproj:
47371         * WebCoreSources.bkl:
47372         * storage/Database.cpp:
47373         * storage/Database.h:
47374         * storage/DatabaseThread.cpp:
47375         (WebCore::DatabaseThread::DatabaseThread):
47376         * storage/DatabaseThread.h:
47377         * storage/SQLTransaction.cpp:
47378         (WebCore::SQLTransaction::runCurrentStatement):
47379         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
47380         (WebCore::SQLTransaction::postflightAndCommit):
47381         * storage/SQLTransactionClient.cpp: Removed.
47382         * storage/SQLTransactionClient.h: Removed.
47384 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
47386         Reviewed by Eric Seidel.
47388         [Haiku] Adding the SharedTimer file for WebCore.
47389         https://bugs.webkit.org/show_bug.cgi?id=28126
47391         * platform/haiku/SharedTimerHaiku.cpp: Added.
47392         (WebCore::):
47393         (WebCore::SharedTimerHaiku::SharedTimerHaiku):
47394         (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
47395         (WebCore::SharedTimerHaiku::instance):
47396         (WebCore::SharedTimerHaiku::start):
47397         (WebCore::SharedTimerHaiku::stop):
47398         (WebCore::SharedTimerHaiku::Filter):
47399         (WebCore::setSharedTimerFiredFunction):
47400         (WebCore::setSharedTimerFireTime):
47401         (WebCore::stopSharedTimer):
47403 2009-08-18  Mark Rowe  <mrowe@apple.com>
47405         Release build fix.
47407         * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
47408         (WebCore::XMLHttpRequest::XMLHttpRequest):
47409         (WebCore::XMLHttpRequest::~XMLHttpRequest):
47411 2009-08-18  Aaron Boodman  <aa@chromium.org>
47413         Reviewed by Maciej Stachowiak.
47415         https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
47417         No new tests: Already covered by existing tests.
47419         * xml/XMLHttpRequest.cpp:
47420         (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
47421         (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
47422         (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
47423         restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
47425 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
47427         Reviewed by Dimitri Glazkov.
47429         Added a client to SQLTransaction. In addition to being a place to
47430         get notifications about certain events in a transaction, it is
47431         also an abstraction layer that allows us to plug in different
47432         implementations for each port for how transactions interract with
47433         the main DB. For example, WebCore's default implementation will
47434         make direct calls to DatabaseTracker's methods. At the same time,
47435         Chromium's implementation will send IPCs to the browser process
47436         whenever a transaction needs something from the main DB.
47438         All storage tests pass.
47440         https://bugs.webkit.org/show_bug.cgi?id=27967
47442         * GNUmakefile.am:
47443         * WebCore.gypi:
47444         * WebCore.pro:
47445         * WebCore.vcproj/WebCore.vcproj:
47446         * WebCore.xcodeproj/project.pbxproj:
47447         * WebCoreSources.bkl:
47448         * storage/Database.cpp:
47449         (WebCore::Database::transactionClient):
47450         * storage/Database.h:
47451         * storage/DatabaseThread.cpp:
47452         (WebCore::DatabaseThread::DatabaseThread):
47453         * storage/DatabaseThread.h:
47454         (WebCore::DatabaseThread::transactionClient):
47455         * storage/SQLTransaction.cpp:
47456         (WebCore::SQLTransaction::runCurrentStatement):
47457         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
47458         (WebCore::SQLTransaction::postflightAndCommit):
47459         * storage/SQLTransactionClient.cpp: Added.
47460         * storage/SQLTransactionClient.h: Added.
47462 2009-08-18  Julie Parent  <jparent@chromium.org>
47464         Not reviewed, build fix for Chromium.
47466         Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
47468         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
47470 2009-08-18  Julie Parent  <jparent@chromium.org>
47472         Not reviewed, build fix for Chromium.
47474        More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
47476         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
47477         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
47479 2009-08-18  Julie Parent  <jparent@chromium.org>
47481         Not reviewed, build fix for Chromium.
47483         Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
47485         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
47486         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
47488 2009-08-18  Dan Bernstein  <mitz@apple.com>
47490         Build fix.
47492         * editing/ApplyStyleCommand.cpp:
47493         (WebCore::getIdentifierValue):
47495 2009-08-18  Darin Adler  <darin@apple.com>
47497         Reviewed by Sam Weinig.
47499         More work on making DOM classes start with reference count of 1
47500         https://bugs.webkit.org/show_bug.cgi?id=28068
47502         Some related clean-up and preparation steps so the subsequent
47503         patches will be as small as possible.
47505         * WebCore.base.exp: Sorted this file.
47507         * accessibility/AccessibilityRenderObject.cpp:
47508         (WebCore::AccessibilityRenderObject::accessibilityDescription):
47509         Use nameAttr instead of the name function.
47511         * bindings/js/JSHTMLFrameElementCustom.cpp:
47512         (WebCore::JSHTMLFrameElement::setSrc):
47513         Use srcAttr instead of the src function.
47515         * bindings/js/JSHTMLIFrameElementCustom.cpp:
47516         (WebCore::JSHTMLIFrameElement::setSrc):
47517         Use srcAttr instead of the src function.
47519         * bindings/objc/DOM.mm: Sorted includes.
47520         * dom/Document.cpp: Ditto.
47522         * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
47523         * dom/StyledElement.h: Ditto.
47525         * dom/make_names.pl: Changed default of createWithNew to 0.
47526         Eventually all elements will be created with create instead of new.
47528         * html/HTMLTagNames.in:
47529         * svg/svgtags.in:
47530         * wml/WMLTagNames.in:
47531         Added createWithNew for every tag. We'll remove it as we convert
47532         element classes to use create.
47534         * html/HTMLAppletElement.h: Removed unneeded forward declarations.
47535         * html/HTMLFrameElement.h: Ditto.
47537         * html/HTMLEmbedElement.cpp: Removed many attribute get and
47538         set functions.
47539         * html/HTMLEmbedElement.h: Ditto.
47540         * html/HTMLIFrameElement.cpp: Ditto.
47541         * html/HTMLIFrameElement.h: Ditto.
47542         * html/HTMLObjectElement.cpp: Ditto.
47543         * html/HTMLObjectElement.h: Ditto.
47544         * html/HTMLPlugInElement.cpp: Ditto.
47545         * html/HTMLPlugInElement.h: Ditto.
47547         * html/HTMLFrameElementBase.cpp: Removed many attribute get and
47548         set functions.
47549         (WebCore::HTMLFrameElementBase::location): Changed to use
47550         srcAttr instead of src.
47551         * html/HTMLFrameElementBase.h: Removed many attribute get and set
47552         functions.
47554         * loader/MediaDocument.cpp:
47555         (WebCore::MediaDocument::replaceMediaElementTimerFired):
47556         Use srcAttr and typeAttr instead of setSrc and setType.
47557         * loader/PluginDocument.cpp:
47558         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
47560         * rendering/RenderPartObject.cpp:
47561         (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
47562         of name -- this avoids an extra AtomicString round trip and a little
47563         ref count churn too.
47565 2009-08-18  Drew Wilson  <atwilson@google.com>
47567         Reviewed by David Levin.
47569         SharedWorkers need to support loading.
47570         https://bugs.webkit.org/show_bug.cgi?id=28342
47572         Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
47574         * workers/DefaultSharedWorkerRepository.cpp:
47575         (WebCore::SharedWorkerProxy::postTaskToLoader):
47576         Forwards load requests to an arbitrary document from the list of worker's documents.
47577         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
47578         Posts responses back to the shared worker thread.
47580 2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
47582         Reviewed by Darin Adler.
47584         StyleChange::init needs clean up before fixing the bug 23892
47585         https://bugs.webkit.org/show_bug.cgi?id=27749
47587         This patch simplifies StyleChange::init by removing the iteration on CSS properties,
47588         and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
47590         Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
47591         this patch simplifies the treatment in order to preserve the original behavior of WebKit.
47592         However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
47594         No test is added since there is no change in behavior.
47596         * editing/ApplyStyleCommand.cpp:
47597         (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
47598         (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
47599         (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
47600         (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
47601         (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
47603 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
47605         Reviewed by Dimitri Glazkov.
47607         Fixing a DB file naming bug in Chromium. The origin should come
47608         before the DB name in the file name.
47610         https://bugs.webkit.org/show_bug.cgi?id=28331
47612         * storage/DatabaseTracker.cpp:
47613         (WebCore::DatabaseTracker::fullPathForDatabase):
47615 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
47617         Reviewed by Eric Seidel.
47619         [Haiku] Adding four image-specific files to WebCore:
47620         IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
47621         https://bugs.webkit.org/show_bug.cgi?id=28130
47623         * platform/graphics/Icon.h:
47624         * platform/graphics/haiku/IconHaiku.cpp: Added.
47625         (WebCore::Icon::~Icon):
47626         (WebCore::Icon::createIconForFile):
47627         (WebCore::Icon::createIconForFiles):
47628         (WebCore::Icon::paint):
47629         * platform/graphics/haiku/ImageBufferData.h: Added.
47630         * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
47631         (WebCore::ImageBufferData::ImageBufferData):
47632         (WebCore::ImageBuffer::ImageBuffer):
47633         (WebCore::ImageBuffer::~ImageBuffer):
47634         (WebCore::ImageBuffer::context):
47635         (WebCore::ImageBuffer::getUnmultipliedImageData):
47636         (WebCore::ImageBuffer::getPremultipliedImageData):
47637         (WebCore::ImageBuffer::putUnmultipliedImageData):
47638         (WebCore::ImageBuffer::putPremultipliedImageData):
47639         (WebCore::ImageBuffer::toDataURL):
47640         (WebCore::ImageBuffer::image):
47641         (WebCore::ImageBuffer::platformTransformColorSpace):
47642         * platform/graphics/haiku/ImageHaiku.cpp: Added.
47643         (WebCore::FrameData::clear):
47644         (WebCore::Image::loadPlatformResource):
47645         (WebCore::BitmapImage::initPlatformData):
47646         (WebCore::BitmapImage::invalidatePlatformData):
47647         (WebCore::BitmapImage::draw):
47648         (WebCore::Image::drawPattern):
47649         (WebCore::BitmapImage::checkForSolidColor):
47650         (WebCore::BitmapImage::getBBitmap):
47652 2009-08-18  Beth Dakin  <bdakin@apple.com>
47654         Reviewed by Dan Bernstein.
47656         Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
47657         Backgrounds and Borders] Drop the prefix from background-size
47659         * css/CSSComputedStyleDeclaration.cpp:
47660         (WebCore::):
47661         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47662         * css/CSSParser.cpp:
47663         (WebCore::CSSParser::parseValue):
47664         (WebCore::CSSParser::parseFillProperty):
47665         (WebCore::cssPropertyID):
47666         * css/CSSPropertyNames.in:
47667         * css/CSSStyleSelector.cpp:
47668         (WebCore::CSSStyleSelector::applyProperty):
47669         * page/animation/AnimationBase.cpp:
47670         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
47671         (WebCore::ensurePropertyMap):
47673 2009-08-18  Drew Wilson  <atwilson@google.com>
47675         Reviewed by David Levin.
47677         SharedWorkers need to forward exceptions to parent documents
47678         https://bugs.webkit.org/show_bug.cgi?id=28320
47680         Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
47682         Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
47684         * bindings/js/JSSharedWorkerConstructor.cpp:
47685         Cleaned up bitrot - added missing include.
47686         * workers/DefaultSharedWorkerRepository.cpp:
47687         (WebCore::postExceptionTask):
47688         Callback used to deliver exceptions to a document.
47689         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
47690         Forwards exceptions to all parent documents for presentation to the user.
47691         (WebCore::postConsoleMessageTask):
47692         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
47693         Forwards console messages to all parent documents for presentation to the user.
47694         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
47695         Grabs the mutex before accessing workerDocuments.
47696         (WebCore::SharedWorkerProxy::documentDetached):
47697         Grabs the mutex before accessing workerDocuments.
47699 2009-08-18  Anders Carlsson  <andersca@apple.com>
47701         Reviewed by Adele Peterson.
47703         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
47704         
47705         * html/HTMLMediaElement.cpp:
47706         (WebCore::HTMLMediaElement::isSafeToLoadURL):
47707         Call FrameLoaderClient::shouldLoadMediaElementURL.
47708         
47709         * loader/FrameLoaderClient.h:
47710         (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
47711         Return true by default.
47713 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
47715         Reviewed by Dimitri Glazkov.
47717         openDatabase() should not execute any SQL statement on the
47718         database it's trying to open, unless there are no other open
47719         handles to the same database. Otherwise, we might run into a
47720         deadlock.
47722         Test: storage/open-database-while-transaction-in-progress.html
47724         https://bugs.webkit.org/show_bug.cgi?id=28207
47726         * storage/Database.cpp:
47727         (WebCore::Database::performOpenAndVerify):
47729 2009-08-18  Dirk Schulze  <krit@webkit.org>
47731         Reviewed by Oliver Hunt.
47733         SVG Filter feBlend implementation missing
47734         [https://bugs.webkit.org/show_bug.cgi?id=28133]
47736         Implementation of SVG Filter feBlend.
47738         FilterEffect.cp needed changes to optimize the rendering. With the old code
47739         we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
47740         cleared the drawing area, drew the next FilterEffect with drawImage and picked this
47741         PixelArray again. This was unefficient and slow. Now we calculate the requested area
47742         of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
47743         without any drawing operations on GraphicsContext.
47745         There is already a test case
47746         Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
47748         * html/canvas/CanvasPixelArray.h:
47749         (WebCore::CanvasPixelArray::set):
47750         (WebCore::CanvasPixelArray::get):
47751         * platform/graphics/filters/FEBlend.cpp:
47752         (WebCore::unknown):
47753         (WebCore::normal):
47754         (WebCore::multiply):
47755         (WebCore::screen):
47756         (WebCore::darken):
47757         (WebCore::lighten):
47758         (WebCore::FEBlend::apply):
47759         * platform/graphics/filters/FEBlend.h:
47760         * platform/graphics/filters/FilterEffect.cpp:
47761         (WebCore::FilterEffect::calculateDrawingIntRect):
47762         * platform/graphics/filters/FilterEffect.h:
47764 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
47766         Reviewed by Timothy Hatcher.
47768         WebInspector: Fix array formatter followup: node formatter.
47770         https://bugs.webkit.org/show_bug.cgi?id=28427
47772         * inspector/front-end/ConsoleView.js:
47773         (WebInspector.ConsoleView.prototype._format):
47775 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
47777         Reviewed by Timothy Hatcher.
47779         WebInspector: Metrics sidebar broken
47781         https://bugs.webkit.org/show_bug.cgi?id=28434
47783         * inspector/front-end/MetricsSidebarPane.js:
47785 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
47787         Reviewed by Darin Adler.
47789         https://bugs.webkit.org/show_bug.cgi?id=28432
47790         String::createCFString() returns a non-retained empty string
47792         No known change in functionality, so no test.
47794         * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
47795     
47796 2009-08-18  Brian Weinstein  <bweinstein@apple.com>
47798         Reviewed by Oliver Hunt.
47800         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
47801         LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
47802         
47803         Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
47804         it doesn't have to.
47806         * storage/DatabaseTracker.cpp:
47807         (WebCore::DatabaseTracker::deleteOrigin):
47809 2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
47811         Reviewed by Adele Peterson.
47813         https://bugs.webkit.org/show_bug.cgi?id=27357
47814         Support for :valid and :invalid CSS selectors, from HTML5 specs.
47815         http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
47817         Tests: fast/css/pseudo-invalid-001.html
47818                fast/css/pseudo-invalid-002.html
47819                fast/css/pseudo-valid-001.html
47820                fast/css/pseudo-valid-002.html
47821                fast/css/pseudo-valid-003.html
47822                fast/css/pseudo-valid-004.html
47823                fast/css/pseudo-valid-005.html
47824                fast/css/pseudo-valid-006.html
47825                fast/css/pseudo-valid-007.html
47827         * css/CSSSelector.cpp:
47828         (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
47829         * css/CSSSelector.h:
47830         (WebCore::CSSSelector::):
47831         * css/CSSStyleSelector.cpp:
47832         (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
47833 form controls that have different validity states.
47834         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
47835         style associated to new pseudo-classes
47836         * dom/Element.h:
47837         (WebCore::Element::willValidate): pushed up in hierarchy
47838         (WebCore::Element::isValidFormControlElement): checks for valid form
47839         control elements (wraps ValidityState::valid())
47840         * html/HTMLFormControlElement.cpp:
47841         (WebCore::HTMLFormControlElement::willValidate): minor clean up
47842         (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
47843         * html/HTMLFormControlElement.h:
47844         * html/HTMLKeygenElement.h:
47845         (WebCore::HTMLKeygenElement::willValidate): added
47846         * html/HTMLObjectElement.h:
47847         (WebCore::HTMLObjectElement::willValidate): added
47848         * html/HTMLObjectElement.idl:
47850 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
47852         Reviewed by Timothy Hatcher.
47854         WebInspector: Fix array formatter.
47856         https://bugs.webkit.org/show_bug.cgi?id=28427
47858         * inspector/front-end/ConsoleView.js:
47859         (WebInspector.ConsoleView.prototype._formatarray):
47861 2009-08-17  Joe Mason  <joe.mason@torchmobile.com>
47863         Reviewed by George Staikos
47865         Replace repeated string of PLATFORM(FOO) with a single define
47866         https://bugs.webkit.org/show_bug.cgi?id=27734
47868         * loader/CachedFont.cpp:
47869         (WebCore::CachedFont::~CachedFont):
47870         (WebCore::CachedFont::ensureCustomFontData):
47871         (WebCore::CachedFont::platformDataFromCustomData):
47872         (WebCore::CachedFont::allClientsRemoved):
47874 2009-08-16  David Hyatt  <hyatt@apple.com>
47876         Reviewed by Dan Bernstein.
47878         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
47879         considered part of scrollable overflow.
47881         This patch takes the engine's concept of overflow and splits it into two types:
47882         layout overflow and visual overflow.
47883         
47884         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
47885         in the inline flow case a tall image could spill out of a line box. Examples of 
47886         visual overflow are shadows, text stroke (and eventually outline and
47887         border-image).
47889         Three objects tracked overflow before this patch: RenderBlock had 
47890         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
47891         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
47892         overflow using a map that cached four values.
47893         
47894         This patch takes all of these different overflow models and unifies them into a single
47895         new class called RenderOverflow.   This class is now a member variable in RenderBox and
47896         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
47897         four values, it tracks eight: left/top/right/bottom for layout overflow and 
47898         left/top/right/bottom for visual overflow.
47899         
47900         Overflow computation is now done after layout is finished rather than during layout
47901         (when child objects can be churning and moving around).  A number of layout tests progressed
47902         by deferring overflow computation to a separate pass.
47903         
47904         All inline flow boxes now track overflow (and not just the root line box).  This allows
47905         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
47906         doesn't intersect.  The old code always visited all object on a line if the root line box
47907         intersected at all.
47908         
47909         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
47910         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
47911         
47912         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
47913         have one reason for continued existence, and that is that they happen to be used in repaint()
47914         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
47915         visual overflow anyway, so this change tightens that repaint up.
47916         
47917         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
47918         been changed to use these instead of relying on overflow (which was totally wrong).
47920         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
47921         text children have no effect on the height of a line.  Instead of making the height() of the objects
47922         variable and dependent on overflow, the objects now have their full height and get placed on
47923         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
47924         
47925         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
47926         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
47927         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
47928         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
47929         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
47930         sublayers.
47932         * WebCore.xcodeproj/project.pbxproj:
47933         * dom/ContainerNode.cpp:
47934         (WebCore::ContainerNode::getUpperLeftCorner):
47935         * editing/visible_units.cpp:
47936         (WebCore::previousLinePosition):
47937         (WebCore::nextLinePosition):
47938         * page/FrameView.cpp:
47939         (WebCore::FrameView::adjustViewSize):
47940         (WebCore::FrameView::adjustPageHeight):
47941         * rendering/InlineBox.cpp:
47942         (WebCore::InlineBox::height):
47943         * rendering/InlineBox.h:
47944         * rendering/InlineFlowBox.cpp:
47945         (WebCore::InlineFlowBox::adjustPosition):
47946         (WebCore::InlineFlowBox::placeBoxesHorizontally):
47947         (WebCore::InlineFlowBox::placeBoxesVertically):
47948         (WebCore::InlineFlowBox::computeVerticalOverflow):
47949         (WebCore::InlineFlowBox::nodeAtPoint):
47950         (WebCore::InlineFlowBox::paint):
47951         * rendering/InlineFlowBox.h:
47952         (WebCore::InlineFlowBox::InlineFlowBox):
47953         (WebCore::InlineFlowBox::topCombinedOverflow):
47954         (WebCore::InlineFlowBox::bottomCombinedOverflow):
47955         (WebCore::InlineFlowBox::leftCombinedOverflow):
47956         (WebCore::InlineFlowBox::rightCombinedOverflow):
47957         (WebCore::InlineFlowBox::combinedOverflowRect):
47958         (WebCore::InlineFlowBox::topLayoutOverflow):
47959         (WebCore::InlineFlowBox::bottomLayoutOverflow):
47960         (WebCore::InlineFlowBox::leftLayoutOverflow):
47961         (WebCore::InlineFlowBox::rightLayoutOverflow):
47962         (WebCore::InlineFlowBox::layoutOverflowRect):
47963         (WebCore::InlineFlowBox::topVisualOverflow):
47964         (WebCore::InlineFlowBox::bottomVisualOverflow):
47965         (WebCore::InlineFlowBox::leftVisualOverflow):
47966         (WebCore::InlineFlowBox::rightVisualOverflow):
47967         (WebCore::InlineFlowBox::visualOverflowRect):
47968         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
47969         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
47970         * rendering/InlineTextBox.cpp:
47971         (WebCore::InlineTextBox::paint):
47972         * rendering/RenderBlock.cpp:
47973         (WebCore::RenderBlock::RenderBlock):
47974         (WebCore::RenderBlock::layout):
47975         (WebCore::RenderBlock::layoutBlock):
47976         (WebCore::RenderBlock::addOverflowFromBlockChildren):
47977         (WebCore::RenderBlock::handleBottomOfBlock):
47978         (WebCore::RenderBlock::layoutBlockChildren):
47979         (WebCore::RenderBlock::paint):
47980         (WebCore::RenderBlock::fillInlineSelectionGaps):
47981         (WebCore::RenderBlock::floatRect):
47982         (WebCore::RenderBlock::lowestPosition):
47983         (WebCore::RenderBlock::rightmostPosition):
47984         (WebCore::RenderBlock::leftmostPosition):
47985         (WebCore::RenderBlock::addOverhangingFloats):
47986         (WebCore::RenderBlock::nodeAtPoint):
47987         (WebCore::RenderBlock::positionForPointWithInlineChildren):
47988         (WebCore::RenderBlock::layoutColumns):
47989         (WebCore::getHeightForLineCount):
47990         * rendering/RenderBlock.h:
47991         * rendering/RenderBlockLineLayout.cpp:
47992         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
47993         (WebCore::RenderBlock::computeVerticalPositionsForLine):
47994         (WebCore::RenderBlock::layoutInlineChildren):
47995         (WebCore::RenderBlock::matchedEndLine):
47996         (WebCore::RenderBlock::addOverflowFromInlineChildren):
47997         * rendering/RenderBox.cpp:
47998         (WebCore::RenderBox::destroy):
47999         (WebCore::RenderBox::clippedOverflowRectForRepaint):
48000         (WebCore::RenderBox::localCaretRect):
48001         (WebCore::RenderBox::addShadowAndReflectionOverflow):
48002         (WebCore::RenderBox::addOverflowFromChild):
48003         (WebCore::RenderBox::addLayoutOverflow):
48004         (WebCore::RenderBox::addVisualOverflow):
48005         (WebCore::RenderBox::clearLayoutOverflow):
48006         * rendering/RenderBox.h:
48007         (WebCore::RenderBox::combinedOverflowRect):
48008         (WebCore::RenderBox::topCombinedOverflow):
48009         (WebCore::RenderBox::bottomCombinedOverflow):
48010         (WebCore::RenderBox::leftCombinedOverflow):
48011         (WebCore::RenderBox::rightCombinedOverflow):
48012         (WebCore::RenderBox::layoutOverflowRect):
48013         (WebCore::RenderBox::topLayoutOverflow):
48014         (WebCore::RenderBox::bottomLayoutOverflow):
48015         (WebCore::RenderBox::leftLayoutOverflow):
48016         (WebCore::RenderBox::rightLayoutOverflow):
48017         (WebCore::RenderBox::visualOverflowRect):
48018         (WebCore::RenderBox::topVisualOverflow):
48019         (WebCore::RenderBox::bottomVisualOverflow):
48020         (WebCore::RenderBox::leftVisualOverflow):
48021         (WebCore::RenderBox::rightVisualOverflow):
48022         * rendering/RenderFlexibleBox.cpp:
48023         (WebCore::RenderFlexibleBox::layoutBlock):
48024         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
48025         (WebCore::RenderFlexibleBox::layoutVerticalBox):
48026         * rendering/RenderLayer.cpp:
48027         (WebCore::RenderLayer::updateLayerPosition):
48028         (WebCore::RenderLayer::localBoundingBox):
48029         * rendering/RenderLayerCompositor.cpp:
48030         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
48031         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
48032         * rendering/RenderLineBoxList.cpp:
48033         (WebCore::RenderLineBoxList::paint):
48034         (WebCore::RenderLineBoxList::hitTest):
48035         * rendering/RenderListItem.cpp:
48036         (WebCore::RenderListItem::positionListMarker):
48037         * rendering/RenderObject.cpp:
48038         (WebCore::RenderObject::RenderObject):
48039         * rendering/RenderObject.h:
48040         * rendering/RenderOverflow.h: Added.
48041         (WebCore::RenderOverflow::RenderOverflow):
48042         (WebCore::RenderOverflow::topLayoutOverflow):
48043         (WebCore::RenderOverflow::bottomLayoutOverflow):
48044         (WebCore::RenderOverflow::leftLayoutOverflow):
48045         (WebCore::RenderOverflow::rightLayoutOverflow):
48046         (WebCore::RenderOverflow::topVisualOverflow):
48047         (WebCore::RenderOverflow::bottomVisualOverflow):
48048         (WebCore::RenderOverflow::leftVisualOverflow):
48049         (WebCore::RenderOverflow::rightVisualOverflow):
48050         (WebCore::RenderOverflow::setTopLayoutOverflow):
48051         (WebCore::RenderOverflow::setBottomLayoutOverflow):
48052         (WebCore::RenderOverflow::setLeftLayoutOverflow):
48053         (WebCore::RenderOverflow::setRightLayoutOverflow):
48054         (WebCore::RenderOverflow::setTopVisualOverflow):
48055         (WebCore::RenderOverflow::setBottomVisualOverflow):
48056         (WebCore::RenderOverflow::setLeftVisualOverflow):
48057         (WebCore::RenderOverflow::setRightVisualOverflow):
48058         (WebCore::RenderOverflow::layoutOverflowRect):
48059         (WebCore::RenderOverflow::visualOverflowRect):
48060         (WebCore::RenderOverflow::combinedOverflowRect):
48061         (WebCore::RenderOverflow::move):
48062         (WebCore::RenderOverflow::addLayoutOverflow):
48063         (WebCore::RenderOverflow::addVisualOverflow):
48064         (WebCore::RenderOverflow::resetLayoutOverflow):
48065         * rendering/RenderPartObject.cpp:
48066         (WebCore::RenderPartObject::layout):
48067         * rendering/RenderReplaced.cpp:
48068         (WebCore::RenderReplaced::~RenderReplaced):
48069         (WebCore::RenderReplaced::layout):
48070         (WebCore::RenderReplaced::shouldPaint):
48071         (WebCore::RenderReplaced::positionForPoint):
48072         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
48073         * rendering/RenderReplaced.h:
48074         * rendering/RenderScrollbarPart.cpp:
48075         (WebCore::RenderScrollbarPart::layout):
48076         (WebCore::RenderScrollbarPart::paintIntoRect):
48077         * rendering/RenderSlider.cpp:
48078         (WebCore::RenderSlider::layout):
48079         * rendering/RenderTable.cpp:
48080         (WebCore::RenderTable::layout):
48081         (WebCore::RenderTable::paint):
48082         * rendering/RenderTableCell.cpp:
48083         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
48084         * rendering/RenderTableSection.cpp:
48085         (WebCore::RenderTableSection::layoutRows):
48086         * rendering/RenderTableSection.h:
48087         * rendering/RenderText.cpp:
48088         (WebCore::RenderText::positionForPoint):
48089         (WebCore::RenderText::localCaretRect):
48090         * rendering/RenderView.cpp:
48091         (WebCore::RenderView::layout):
48092         * rendering/RootInlineBox.cpp:
48093         (WebCore::RootInlineBox::addHighlightOverflow):
48094         (WebCore::RootInlineBox::adjustPosition):
48095         (WebCore::RootInlineBox::verticallyAlignBoxes):
48096         (WebCore::RootInlineBox::selectionTop):
48097         * rendering/RootInlineBox.h:
48098         (WebCore::RootInlineBox::RootInlineBox):
48099         (WebCore::RootInlineBox::nextRootBox):
48100         (WebCore::RootInlineBox::prevRootBox):
48101         (WebCore::RootInlineBox::lineTop):
48102         (WebCore::RootInlineBox::lineBottom):
48103         (WebCore::RootInlineBox::selectionBottom):
48104         (WebCore::RootInlineBox::selectionHeight):
48105         (WebCore::RootInlineBox::floats):
48106         (WebCore::RootInlineBox::floatsPtr):
48107         (WebCore::RootInlineBox::setLineTopBottomPositions):
48108         * rendering/SVGRootInlineBox.cpp:
48109         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
48111 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
48113         Reviewed by Darin Adler.
48115         https://bugs.webkit.org/show_bug.cgi?id=28431
48116         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
48118         Test: http/tests/appcache/auth.html
48120         * loader/appcache/ApplicationCacheGroup.h:
48121         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
48122         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
48123         shouldn't ask it, because it's not a document that's loading these resources).
48125 2009-08-18  Anders Carlsson  <andersca@apple.com>
48127         Reviewed by John Sullivan and David Hyatt.
48129         Fix <rdar://problem/7147996>
48131         * platform/ScrollView.cpp:
48132         (WebCore::ScrollView::setHasHorizontalScrollbar):
48133         (WebCore::ScrollView::setHasVerticalScrollbar):
48134         Update the style of the scroll bars.
48135         
48136         * rendering/RenderScrollbar.cpp:
48137         (WebCore::RenderScrollbar::RenderScrollbar):
48138         Calculate the size of the scrollbar and set it as the frame size.
48140 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
48142         Reviewed by Simon Fraser.
48144         HTMLMediaElement should fire 'progress' event before 'load'
48145         https://bugs.webkit.org/show_bug.cgi?id=28314
48147         Test: media/progress-event-at-least-one.html
48149         * html/HTMLMediaElement.cpp:
48150         (WebCore::HTMLMediaElement::setNetworkState):
48151             Schedule 'progress' event before 'load'.
48153 2009-08-18  Peter Kasting  <pkasting@google.com>
48155         Reviewed by Eric Seidel.
48157         https://bugs.webkit.org/show_bug.cgi?id=28415
48158         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
48159         have it.
48161         * WebCore.vcproj/QTMovieWin.vcproj:
48162         * WebCore.vcproj/WebCoreGenerated.vcproj:
48164 2009-08-18  Drew Wilson  <atwilson@google.com>
48166         Reviewed by Eric Seidel.
48168         Need to extend DumpRenderTree to expose number of worker threads
48169         https://bugs.webkit.org/show_bug.cgi?id=28292
48171         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
48173         Tests: fast/workers/shared-worker-lifecycle.html-disabled
48174                fast/workers/worker-lifecycle.html
48176         * WebCore.base.exp:
48177         Exported WorkerThread::workerThreadCount().
48178         * WebCore.xcodeproj/project.pbxproj:
48179         * workers/WorkerThread.cpp:
48180         Added tracking of the number of worker threads.
48181         (WebCore::threadCountMutex):
48182         (WebCore::WorkerThread::workerThreadCount):
48183         (WebCore::WorkerThread::WorkerThread):
48184         (WebCore::WorkerThread::~WorkerThread):
48185         * workers/WorkerThread.h:
48187 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
48189         Unreviewed, build fix.
48191         [Qt] Add new files I forgot to add in r47424.
48193 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
48195         Reviewed by Ariya Hidayat.
48197         [Qt] Implement prefetchDNS() function.
48199         * WebCore.pro:
48200         * platform/qt/TemporaryLinkStubs.cpp:
48202 2009-08-18  Kent Tamura  <tkent@chromium.org>
48204         Reviewed by Eric Seidel.
48206         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
48207         https://bugs.webkit.org/show_bug.cgi?id=26915
48209         Tests: fast/forms/datalist-nonoption-child.html
48210                fast/forms/datalist.html
48212         * WebCore.gypi:
48213         * WebCore.pro:
48214         * WebCore.vcproj/WebCore.vcproj:
48215         * WebCore.vcproj/WebCoreCommon.vsprops:
48216         * WebCore.vcproj/build-generated-files.sh:
48217         * WebCore.xcodeproj/project.pbxproj:
48218         * WebCoreSources.bkl:
48219         * css/html.css:
48220         * html/CollectionType.h:
48221         (WebCore::):
48222         * html/HTMLCollection.cpp:
48223         (WebCore::HTMLCollection::itemAfter):
48224         * html/HTMLDataListElement.cpp: Added.
48225         (WebCore::HTMLDataListElement::HTMLDataListElement):
48226         (WebCore::HTMLDataListElement::~HTMLDataListElement):
48227         (WebCore::HTMLDataListElement::checkDTD):
48228         (WebCore::HTMLDataListElement::options):
48229         * html/HTMLDataListElement.h: Added.
48230         * html/HTMLDataListElement.idl: Added.
48231         * html/HTMLElement.cpp:
48232         (WebCore::inlineTagList):
48233         * html/HTMLParser.cpp:
48234         (WebCore::HTMLParser::isAffectedByResidualStyle):
48235         * html/HTMLTagNames.in:
48237 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
48239         Reviewed by Eric Seidel.
48241         -webkit-box-orient:horizontal doesn't work on <button> tag
48242         https://bugs.webkit.org/show_bug.cgi?id=34445
48244         Make a flexible button's anonymous child flexible and pass the
48245         parent's box-orient to the anonymous child.
48247         Also, added a renderName for anonymous flexible boxes.
48249         Test: fast/flexbox/box-orient-button.html
48251         * rendering/RenderBlock.cpp:
48252         (WebCore::RenderBlock::createAnonymousBlock):
48253         * rendering/RenderBlock.h:
48254         * rendering/RenderButton.cpp:
48255         (WebCore::RenderButton::addChild):
48256         (WebCore::RenderButton::setupInnerStyle):
48257         * rendering/RenderFlexibleBox.cpp:
48258         (WebCore::RenderFlexibleBox::renderName):
48260 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
48262         Reviewed by Dave Hyatt.
48263         
48264         Render -webkit-mask via compositing layers when possible
48265         https://bugs.webkit.org/show_bug.cgi?id=28414
48266         
48267         Implement accelerated compositing of -webkit-mask, when combined
48268         with already-composited content.
48269         
48270         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
48271         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
48272         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
48273         
48274         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
48275         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
48276         indicates that just the mask is painting.
48277         
48278         When painting the composited mask, we need to paint with the normal compositing
48279         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
48280         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
48281         need to make transparency layers.
48282         
48283         We no longer have to throw video rendering into software because of masks.
48284         
48285         When a masked element has composited descendants, that element needs to
48286         become composited so that the mask can be applied via compositing.
48288         Tests: compositing/masks/masked-ancestor.html
48289                compositing/masks/simple-composited-mask.html
48291         * platform/graphics/GraphicsLayer.cpp:
48292         (WebCore::GraphicsLayer::GraphicsLayer):
48293         * platform/graphics/GraphicsLayer.h:
48294         (WebCore::GraphicsLayer::maskLayer):
48295         (WebCore::GraphicsLayer::setMaskLayer):
48296         (WebCore::GraphicsLayer::paintingPhase):
48297         (WebCore::GraphicsLayer::setPaintingPhase):
48298         * platform/graphics/GraphicsLayerClient.h:
48299         (WebCore::):
48300         * platform/graphics/mac/GraphicsLayerCA.h:
48301         (WebCore::GraphicsLayerCA::):
48302         * platform/graphics/mac/GraphicsLayerCA.mm:
48303         (WebCore::GraphicsLayerCA::setMaskLayer):
48304         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
48305         (WebCore::GraphicsLayerCA::commitLayerChanges):
48306         (WebCore::GraphicsLayerCA::updateMaskLayer):
48307         * rendering/InlineFlowBox.cpp:
48308         (WebCore::InlineFlowBox::paintMask):
48309         * rendering/RenderBox.cpp:
48310         (WebCore::RenderBox::paintMaskImages):
48311         * rendering/RenderLayer.cpp:
48312         (WebCore::RenderLayer::hasCompositedMask):
48313         * rendering/RenderLayer.h:
48314         (WebCore::RenderLayer::hasCompositedMask):
48315         * rendering/RenderLayerBacking.cpp:
48316         (WebCore::RenderLayerBacking::~RenderLayerBacking):
48317         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
48318         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
48319         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
48320         (WebCore::RenderLayerBacking::updateForegroundLayer):
48321         (WebCore::RenderLayerBacking::updateMaskLayer):
48322         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
48323         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
48324         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
48325         (WebCore::RenderLayerBacking::paintIntoLayer):
48326         (WebCore::RenderLayerBacking::paintContents):
48327         * rendering/RenderLayerBacking.h:
48328         (WebCore::RenderLayerBacking::hasMaskLayer):
48329         * rendering/RenderLayerCompositor.cpp:
48330         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
48331         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
48332         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
48333         * rendering/RenderLayerCompositor.h:
48335 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
48337         Reviewed by Dave Hyatt.
48339         Layer content misplaced with compositing, z-index and overflow
48340         https://bugs.webkit.org/show_bug.cgi?id=28361
48341         
48342         The foreground GraphicsLayer (used to render element foreground when the element has 
48343         negative z-order children) was misplaced when there is a clipping layer (which clips
48344         children). The foreground layer is parented under the clipping layer so that the foreground
48345         depth-sorts with the layer's children, so its geometry needs to be computed relative to
48346         that clipping layer.
48347         
48348         Also clarified some FIXME comments, and corrected a debug-only layer name.
48350         Test: compositing/geometry/clipping-foreground.html
48352         * platform/graphics/mac/GraphicsLayerCA.mm:
48353         (WebCore::GraphicsLayerCA::updateSublayerList):
48354         * rendering/RenderLayerBacking.cpp:
48355         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
48356         (WebCore::RenderLayerBacking::updateForegroundLayer):
48357         * rendering/RenderLayerCompositor.cpp:
48358         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
48360 2009-08-17  Mark Rowe  <mrowe@apple.com>
48362         Reviewed by Sam Weinig.
48364         Fix leaks of SVGElementInstance seen during regression tests.
48366         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
48367         not updated to have a create method that adopted the initial reference.  This lead to the instances
48368         of SVGElementInstance allocated by SVGUseElement being leaked.
48370         * svg/SVGElementInstance.h:
48371         (WebCore::SVGElementInstance::create):
48372         * svg/SVGUseElement.cpp:
48373         (WebCore::SVGUseElement::buildPendingResource):
48374         (WebCore::SVGUseElement::buildInstanceTree):
48375         (WebCore::SVGUseElement::handleDeepUseReferencing):
48377 2009-08-17  Brady Eidson  <beidson@apple.com>
48379         Reviewed by Sam Weinig.
48381         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
48382         Page Cache should support pages with frames.
48384         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
48385           are solely the responsibility of FrameLoader.
48386         - Enhance some page cache related Logging to help development.
48388         * inspector/InspectorController.cpp:
48389         (WebCore::InspectorController::didCommitLoad):
48390         (WebCore::InspectorController::identifierForInitialRequest):
48392         * loader/DocumentLoader.cpp:
48393         (WebCore::DocumentLoader::DocumentLoader):
48394         * loader/DocumentLoader.h:
48396         * loader/FrameLoader.cpp:
48397         (WebCore::FrameLoader::FrameLoader):
48398         (WebCore::FrameLoader::commitProvisionalLoad):
48399         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
48400         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
48401         * loader/FrameLoader.h:
48402         (WebCore::FrameLoader::isLoadingFromCachedPage):
48404 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
48406         Reviewed by Eric Seidel.
48408         Moved implementation of isAfterContent to RenderObject
48409         (as inline method to avoid potential performance regressions).
48411         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
48412         (https://bugs.webkit.org/show_bug.cgi?id=28376)
48414         * rendering/RenderBox.cpp:
48415         * rendering/RenderBox.h:
48416         * rendering/RenderInline.cpp:
48417         * rendering/RenderObject.h:
48418         (WebCore::RenderObject::isAfterContent):
48420 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
48422         Reviewed by Darin Adler.
48424         Assertion failure in WebCore::RenderHTMLCanvas::layout
48425         https://bugs.webkit.org/show_bug.cgi?id=12052
48427         Don't handle run-in if the element is not a block element.
48429         Test: fast/runin/nonblock-runin.html
48431         * rendering/RenderBlock.cpp:
48432         (WebCore::RenderBlock::handleRunInChild):
48434 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
48436         Reviewed by Darin Adler.
48438         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
48439         either of the arguments are not finite.
48441         According to
48442         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
48443         "If any of the arguments to createImageData() or getImageData() are
48444         infinite or NaN, or if the createImageData()  method is invoked with
48445         only one argument but that argument is null, the method must instead
48446         raise a NOT_SUPPORTED_ERR  exception."
48448         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
48450         * html/canvas/CanvasRenderingContext2D.cpp:
48451         (WebCore::CanvasRenderingContext2D::createImageData):
48452         * html/canvas/CanvasRenderingContext2D.h:
48453         * html/canvas/CanvasRenderingContext2D.idl:
48455 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
48457         Reviewed by Darin Fisher.
48459         Add a way to release the storage lock
48460         https://bugs.webkit.org/show_bug.cgi?id=28411
48462         Two scripts within the same origin that are accessing LocalStorage must not do
48463         it simultaneously, according to the spec.  There are some cases, however, where
48464         a script might want to override this behavior.  navigator.getStorageUpdates()
48465         was added for this reason:
48466         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
48468         Add this function to navigator and hook it up to DOM Storage.
48470         * page/Navigator.cpp:
48471         (WebCore::Navigator::getStorageUpdates):
48472         * page/Navigator.h:
48473         * page/Navigator.idl:
48474         * storage/StorageNamespace.h:
48475         * storage/StorageNamespaceImpl.cpp:
48476         (WebCore::StorageNamespaceImpl::unlock):
48477         * storage/StorageNamespaceImpl.h:
48479 2009-08-17  Mark Rowe  <mrowe@apple.com>
48481         Build fix.
48483         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
48484         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
48485         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
48486         Windows though so we explicitly include this header from the prefix header when on Windows.
48488         * WebCorePrefix.h:
48489         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
48491 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
48493         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
48495         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
48497 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
48499         Trying to fix Windows build.
48501         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
48503 2009-08-17  Peter Kasting  <pkasting@google.com>
48505         Reviewed by Steve Falkenburg.
48507         https://bugs.webkit.org/show_bug.cgi?id=27323
48508         Only add Cygwin to the path when it isn't already there.  This avoids
48509         causing problems for people who purposefully have non-Cygwin versions of
48510         executables like svn in front of the Cygwin ones in their paths.
48512         * WebCore.vcproj/QTMovieWin.vcproj:
48513         * WebCore.vcproj/WebCoreCommon.vsprops:
48514         * WebCore.vcproj/WebCoreGenerated.vcproj:
48516 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
48518         Reviewed by Geoff Garen.
48520         https://bugs.webkit.org/show_bug.cgi?id=28401
48521         Add support for DNS prefetching with CFNetwork
48523         This is just an optimization, no behavior change, so no tests.
48525         * platform/network/cf/DNSCFNet.cpp:
48526         (WebCore::clientCallback):
48527         (WebCore::prefetchDNS):
48528         Use async CFHostStartInfoResolution() for implementation.
48530 2009-08-17  Aaron Boodman  <aa@chromium.org>
48532         Reviewed by Alexey Proskuryakov.
48534         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
48535         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
48537         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
48538         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
48540         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
48541           authorization headers) to a resource on origin A.
48542         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
48543           authorization headers) to another resource on origin B (this time sending access control authorization headers).
48545         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
48547         * loader/DocumentThreadableLoader.cpp:
48548         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
48549         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
48550         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
48551         * loader/DocumentThreadableLoader.h:
48552         * loader/ThreadableLoader.h:
48553         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
48554         * page/EventSource.cpp:
48555         (WebCore::EventSource::connect): Ditto.
48556         * workers/Worker.cpp: Ditto.
48557         (WebCore::Worker::Worker): Ditto.
48558         * workers/WorkerContext.cpp: Ditto.
48559         (WebCore::WorkerContext::importScripts): Ditto.
48560         * workers/WorkerScriptLoader.cpp:
48561         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
48562         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
48563         * workers/WorkerScriptLoader.h: 
48564         * xml/XMLHttpRequest.cpp:
48565         (WebCore::XMLHttpRequest::createRequest): Ditto.
48567 2009-08-17  Adam Langley  <agl@google.com>
48569         Reviewed by Dan Bernstein (relanding of r47157).
48571         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
48573         https://bugs.webkit.org/show_bug.cgi?id=28172
48575         This was originally fixed in r47157, however it triggered a bug in
48576         Skia which caused Chromium Linux to fail layout tests in debug mode.
48577         It was reverted in r47189 while we sorted it out.
48579         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
48580         Chromium's r23523. This is a reland of the original patch.
48582         No new tests because it's a just typo fix.
48584         [1] http://code.google.com/p/skia/source/detail?r=321
48586         * platform/graphics/skia/PlatformContextSkia.cpp:
48587         (PlatformContextSkia::setupPaintCommon):
48589 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
48591         Reviewed by Xan Lopez.
48593         Protect ResourceHandle for g_file_query_info_async call, using the
48594         same technique we already use for HTTP requests that take the soup
48595         path.
48597         * platform/network/soup/ResourceHandleSoup.cpp:
48598         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
48599         (WebCore::ResourceHandle::~ResourceHandle):
48600         (WebCore::finishedCallback):
48601         (WebCore::):
48603 2009-08-17  Dan Bernstein  <mitz@apple.com>
48605         Reviewed by Darin Adler.
48607         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
48608         appears below the main content
48609         https://bugs.webkit.org/show_bug.cgi?id=28350
48611         A particular version of the MediaWiki software detects WebKit through
48612         user agent sniffing and imports a style sheet called KHTMLFixes.css,
48613         which contains a single rule that was meant to work around some KHTML
48614         bug, but currently has the sole effect of causing the float containing
48615         the main article content to extend all the way to the left and thus push
48616         down the left navigation pane.
48618         * css/CSSImportRule.cpp:
48619         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
48620         enabled, check if the imported style sheet is the MediaWiki
48621         KHTMLFixes.css. If so, remove the offending rule.
48623 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
48625         Reviewed by Kevin Ollivier.
48627         Correct crash when processing local cancelled requests.
48629         No new tests. Existing fast/images/favicon-as-image.html
48630         displays the problem.
48632         * platform/network/curl/ResourceHandleManager.cpp:
48633         (WebCore::writeCallback): Add check for m_cancelled after
48634           performing local-file processing.
48635         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
48636           check for m_cancelled after performing local-file processing.
48638 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
48640         Unreviewed. Reverts 47371, since it breaks GTK+.
48642         * platform/graphics/ImageSource.cpp:
48643         (WebCore::ImageSource::setData):
48644         * platform/image-decoders/ImageDecoder.cpp: Removed.
48645         * platform/image-decoders/ImageDecoder.h:
48646         (WebCore::ImageDecoder::ImageDecoder):
48647         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
48648         (WebCore::convertCMYKToRGBA):
48649         (WebCore::convertRGBToRGBA):
48650         (WebCore::JPEGImageDecoder::outputScanlines):
48651         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
48652         * platform/image-decoders/png/PNGImageDecoder.cpp:
48653         (WebCore::PNGImageDecoder::headerAvailable):
48654         (WebCore::PNGImageDecoder::rowAvailable):
48656 2009-08-17  Yong Li  <yong.li@torchmobile.com>
48658         Reviewed by Adam Treat.
48660         Allow image decoders to down-sample the image directly
48661         to scaled output buffer. This can be enabled/disabled by
48662         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
48663         Only JPEG and PNG decoders are modified to support it now.
48664         https://bugs.webkit.org/show_bug.cgi?id=28308
48666         * platform/graphics/ImageSource.cpp:
48667         (WebCore::ImageSource::setData):
48668         * platform/image-decoders/ImageDecoder.cpp: Added.
48669         * platform/image-decoders/ImageDecoder.h:
48670         (WebCore::ImageDecoder::ImageDecoder):
48671         (WebCore::ImageDecoder::setMaxNumPixels):
48672         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
48673         (WebCore::convertCMYKToRGBA):
48674         (WebCore::convertRGBToRGBA):
48675         (WebCore::JPEGImageDecoder::outputScanlines):
48676         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
48677         (WebCore::JPEGImageDecoder::setSize):
48678         * platform/image-decoders/png/PNGImageDecoder.cpp:
48679         (WebCore::PNGImageDecoder::headerAvailable):
48680         (WebCore::PNGImageDecoder::rowAvailable):
48682 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
48684         Build fix: fix float literals to avoid casting warnings.
48686         * rendering/MediaControlElements.cpp:
48688 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
48690         Reviewed by Eric Seidel.
48692         Use OwnPtrs for GraphicsLayers
48693         https://bugs.webkit.org/show_bug.cgi?id=28399
48695         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
48696         for their references to GraphicsLayers.
48698         * platform/graphics/GraphicsLayer.h:
48699         * platform/graphics/mac/GraphicsLayerCA.mm:
48700         (WebCore::GraphicsLayer::create):
48701         * rendering/RenderLayerBacking.cpp:
48702         (WebCore::RenderLayerBacking::RenderLayerBacking):
48703         (WebCore::RenderLayerBacking::createGraphicsLayer):
48704         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
48705         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
48706         (WebCore::RenderLayerBacking::updateInternalHierarchy):
48707         (WebCore::RenderLayerBacking::updateClippingLayers):
48708         (WebCore::RenderLayerBacking::updateForegroundLayer):
48709         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
48710         * rendering/RenderLayerBacking.h:
48711         (WebCore::RenderLayerBacking::graphicsLayer):
48712         (WebCore::RenderLayerBacking::clippingLayer):
48713         (WebCore::RenderLayerBacking::ancestorClippingLayer):
48714         (WebCore::RenderLayerBacking::foregroundLayer):
48715         (WebCore::RenderLayerBacking::parentForSublayers):
48716         (WebCore::RenderLayerBacking::childForSuperlayers):
48717         * rendering/RenderLayerCompositor.cpp:
48718         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
48719         (WebCore::RenderLayerCompositor::rootPlatformLayer):
48720         (WebCore::RenderLayerCompositor::didMoveOnscreen):
48721         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
48722         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
48723         * rendering/RenderLayerCompositor.h:
48725 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
48727         Reviewed by Timothy Hatcher.
48729         WebInspector: Reset InjectedScript styles cache on document change.
48731         https://bugs.webkit.org/show_bug.cgi?id=28390
48733         * inspector/InspectorController.cpp:
48734         (WebCore::InspectorController::close):
48735         (WebCore::InspectorController::populateScriptObjects):
48736         (WebCore::InspectorController::didCommitLoad):
48737         (WebCore::InspectorController::resetInjectedScript):
48738         * inspector/InspectorController.h:
48739         * inspector/InspectorDOMAgent.cpp:
48740         (WebCore::InspectorDOMAgent::setDocument):
48741         * inspector/InspectorDOMAgent.h:
48742         * inspector/front-end/InjectedScript.js:
48743         (InjectedScript._reset):
48745 2009-08-17  Darin Adler  <darin@apple.com>
48747         Reviewed by Sam Weinig.
48749         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
48750         resorted includes, renamed "doc" to "document" and fixed formatting.
48752 2009-08-17  Darin Adler  <darin@apple.com>
48754         Reviewed by Sam Weinig.
48756         Removed functions now unneeded due to use of Reflect to create
48757         language bindings.
48759         * accessibility/AccessibilityRenderObject.cpp:
48760         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
48761         Get at usemap attribute directly.
48763         * editing/DeleteButtonController.cpp:
48764         (WebCore::DeleteButtonController::createDeletionUI):
48765         Get at id attribute directly.
48766         * editing/EditorCommand.cpp:
48767         (WebCore::executeInsertHorizontalRule): Ditto.
48769         * html/HTMLDocument.cpp:
48770         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
48771         (WebCore::HTMLDocument::setDir): Ditto.
48773         * html/HTMLElement.cpp: Deleted unused functions.
48774         * html/HTMLElement.h: Ditto.
48776         * html/HTMLImageElement.cpp: Deleted unused functions.
48777         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
48778         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
48779         get at usemap attribute directly, but added a FIXME because although
48780         it is what the old code did, it looks to not be entirely correct.
48782         * html/HTMLImageElement.h: Deleted unused functions.
48784         * rendering/HitTestResult.cpp:
48785         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
48787         * rendering/RenderImage.cpp:
48788         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
48790         * rendering/RenderLayerBacking.cpp:
48791         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
48792         directly.
48793         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
48794         explicit HTMLNames namespace qualification.
48796 2009-08-17  Darin Adler  <darin@apple.com>
48798         Reviewed by Sam Weinig.
48800         * dom/Document.cpp:
48801         (WebCore::Document::setFocusedNode): Removed unneeded calls
48802         to RefPtr::get.
48804 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
48806         Reviewed by Timothy Hatcher.
48808         WebInspector: Discard DOM Node bindings on any document change.
48810         https://bugs.webkit.org/show_bug.cgi?id=28389
48812         * inspector/InspectorDOMAgent.cpp:
48813         (WebCore::InspectorDOMAgent::setDocument):
48815 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
48817         Reviewed by Timothy Hatcher.
48819         Inspector: Improve Cookie DataGrid to Show Hidden Data
48820         https://bugs.webkit.org/show_bug.cgi?id=28269
48822         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
48823         * WebCore.gypi: added missing files
48825           Implemented Bindings for InspectorController.deleteCookie(name)
48827         * inspector/InspectorBackend.idl:
48828         * bindings/js/JSInspectorBackendCustom.cpp:
48829         (WebCore::JSInspectorBackend::cookies):
48830         (WebCore::JSInspectorBackend::deleteCookie):
48832           v8 Bindings Stubs
48834         * bindings/v8/custom/V8CustomBinding.h:
48835         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
48836         (WebCore::CALLBACK_FUNC_DECL):
48838           Removed WebInspector.Cookie
48840         * inspector/front-end/Cookie.js: Removed.
48841         * inspector/front-end/inspector.html:
48842         * inspector/front-end/WebKit.qrc:
48844           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
48845           yet provide access to raw cookies.
48847         * inspector/front-end/CookieItemsView.js:
48848         (WebInspector.CookieItemsView):
48849         (WebInspector.CookieItemsView.prototype.get statusBarItems):
48850         (WebInspector.CookieItemsView.prototype.update):
48851         (WebInspector.CookieItemsView.prototype.buildCookies):
48852         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
48853         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
48854         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
48855         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
48856         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
48857         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
48859           Interaction with the page through Injected Script (for fallback behavior)
48861         * inspector/front-end/DOMAgent.js:
48862         (InspectorController.getCookies):
48863         * inspector/front-end/InjectedScript.js:
48864         (InjectedScript.setStyleProperty): style fix
48865         (InjectedScript.getCookies):
48867           Allow alignment of text inside DataGrids.
48869         * inspector/front-end/DataGrid.js:
48870         (WebInspector.DataGrid):
48871         (WebInspector.DataGridNode.prototype.createCell):
48872         * inspector/front-end/DatabasesPanel.js:
48873         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
48874         * inspector/front-end/inspector.css:
48876           Added deleteCookie(., ., String name)
48877           Modified getRawCookies to return a bool to know if its implemented
48879         * platform/CookieJar.h:
48882           Implemented deleteCookie for Macs
48884         * platform/mac/CookieJar.mm:
48885         (WebCore::getRawCookies):
48886         (WebCore::deleteCookie):
48888           Stub Implementations for Other Platforms
48890         * platform/haiku/CookieJarHaiku.cpp:
48891         (WebCore::getRawCookies):
48892         (WebCore::deleteCookie):
48893         * platform/network/chromium/CookieJarChromium.cpp:
48894         (WebCore::getRawCookies):
48895         (WebCore::deleteCookie):
48896         * platform/network/curl/CookieJarCurl.cpp:
48897         (WebCore::getRawCookies):
48898         (WebCore::deleteCookie):
48899         * platform/network/soup/CookieJarSoup.cpp:
48900         (WebCore::getRawCookies):
48901         (WebCore::deleteCookie):
48902         * platform/network/win/CookieJarCFNetWin.cpp:
48903         (WebCore::getRawCookies):
48904         (WebCore::deleteCookie):
48905         * platform/network/win/CookieJarWin.cpp:
48906         (WebCore::getRawCookies):
48907         (WebCore::deleteCookie):
48908         * platform/qt/CookieJarQt.cpp:
48909         (WebCore::getRawCookies):
48910         (WebCore::deleteCookie):
48912 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
48914         Blind build fix for Leopard.
48916         * platform/graphics/GraphicsContext.cpp:
48917         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
48919 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
48921         Reviewed by Adam Treat.
48923         Style fixes based on cpp_style.py and WebKit Style guide for
48924         GraphicsContextCG.cpp
48926         https://bugs.webkit.org/show_bug.cgi?id=28268
48928         * platform/graphics/cg/GraphicsContextCG.cpp:
48929         (WebCore::GraphicsContext::drawLine):
48930         (WebCore::GraphicsContext::drawEllipse):
48931         (WebCore::GraphicsContext::strokeArc):
48932         (WebCore::GraphicsContext::drawConvexPolygon):
48933         (WebCore::GraphicsContext::applyStrokePattern):
48934         (WebCore::GraphicsContext::drawPath):
48935         (WebCore::GraphicsContext::clipOut):
48936         (WebCore::GraphicsContext::clipOutEllipseInRect):
48937         (WebCore::GraphicsContext::addInnerRoundedRectClip):
48938         (WebCore::GraphicsContext::clipToImageBuffer):
48939         (WebCore::GraphicsContext::setPlatformShadow):
48940         (WebCore::GraphicsContext::setLineCap):
48941         (WebCore::GraphicsContext::setLineJoin):
48942         (WebCore::GraphicsContext::roundToDevicePixels):
48943         (WebCore::GraphicsContext::drawLineForText):
48944         (WebCore::GraphicsContext::setURLForRect):
48945         (WebCore::GraphicsContext::setImageInterpolationQuality):
48946         (WebCore::GraphicsContext::imageInterpolationQuality):
48947         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
48948         (WebCore::GraphicsContext::setCompositeOperation):
48950 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
48952         Reviewed by Adam Treat.
48954         Style fixes based on cpp_style.py and WebKit Style guide for
48955         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
48957         https://bugs.webkit.org/show_bug.cgi?id=28268
48959         * platform/graphics/GraphicsContext.cpp:
48960         (WebCore::GraphicsContext::save):
48961         (WebCore::GraphicsContext::restore):
48962         (GraphicsContext::drawText):
48963         (GraphicsContext::initFocusRing):
48964         (GraphicsContext::focusRingBoundingRect):
48965         (GraphicsContext::drawImage):
48966         * platform/graphics/GraphicsContext.h:
48967         * platform/graphics/cairo/GraphicsContextCairo.cpp:
48968         (WebCore::GraphicsContext::drawLine):
48969         (WebCore::GraphicsContext::strokeArc):
48970         (WebCore::GraphicsContext::setLineCap):
48971         (WebCore::GraphicsContext::setLineJoin):
48972         (WebCore::toCairoOperator):
48973         * platform/graphics/qt/GraphicsContextQt.cpp:
48975 2009-08-17  Darin Adler  <darin@apple.com>
48977         Reviewed by Dan Bernstein.
48979         Change HTMLAreaElement to use OwnArrayPtr
48980         https://bugs.webkit.org/show_bug.cgi?id=28386
48982         * html/HTMLAreaElement.cpp:
48983         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
48984         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
48985         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
48986         instead of deletion followed by assignment.
48987         * html/HTMLAreaElement.h: Use OwnArrayPtr.
48989 2009-08-17  Darin Adler  <darin@apple.com>
48991         Fix Windows build.
48993         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
48995 2009-08-17  Darin Adler  <darin@apple.com>
48997         Reviewed by Dan Bernstein.
48999         Move noResize from HTMLFrameElementBase to HTMLFrameElement
49000         https://bugs.webkit.org/show_bug.cgi?id=28384
49002         * html/HTMLFrameElement.cpp:
49003         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
49004         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
49005         here if noresizeAttr is changed. This code was moved here from
49006         HTMLFrameElementBase, but I added some FIXME comments.
49007         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
49008         boolean argument. Moved here from HTMLFrameElementBase.
49010         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
49011         here from HTMLFrameElementBase.
49013         * html/HTMLFrameElementBase.cpp:
49014         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
49015         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
49016         noresizeAttr.
49018         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
49020 2009-08-17  Darin Adler  <darin@apple.com>
49022         Reviewed by Dan Bernstein.
49024         Tweak HTMLFrameElementBase so that m_URL can be private
49025         https://bugs.webkit.org/show_bug.cgi?id=28385
49027         * html/HTMLFrameElement.cpp:
49028         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
49029         * html/HTMLFrameElementBase.cpp:
49030         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
49031         taking an argument.
49032         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
49033         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
49034         * html/HTMLIFrameElement.cpp:
49035         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
49037 2009-08-17  Darin Adler  <darin@apple.com>
49039         Reviewed by Dan Bernstein.
49041         HTMLViewSourceDocument should use smart pointers
49042         https://bugs.webkit.org/show_bug.cgi?id=28378
49044         * html/HTMLViewSourceDocument.cpp:
49045         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
49046         pointers any more since RefPtr starts 0 by default.
49047         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
49048         types for local variables.
49049         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
49050         and use a RefPtr of a more specific type for a local variable.
49051         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
49052         variables, and use RefPtr as well.
49053         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
49054         RefPtr of a more specific type for a local variable.
49056         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
49057         data member types to RefPtr.
49059 2009-08-17  Darin Adler  <darin@apple.com>
49061         Reviewed by Sam Weinig.
49063         DOM attribute getter/setter functions should use const AtomicString& type
49064         https://bugs.webkit.org/show_bug.cgi?id=25425
49066         Convert 4 more classes. These are classes I am going to make other changes
49067         to soon, so it's good to have this use of Reflect in the IDL out of the way.
49069         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
49070         * html/HTMLFrameElement.idl: Ditto.
49071         * html/HTMLIFrameElement.idl: Ditto.
49072         * html/HTMLObjectElement.idl: Ditto.
49074 2009-08-17  Darin Adler  <darin@apple.com>
49076         Reviewed by Sam Weinig.
49078         Script to create element factory needs changes to accommodate calling create
49079         https://bugs.webkit.org/show_bug.cgi?id=28379
49081         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
49082         around names used inside {}. Added new createWithNew property for tags
49083         that makes the factory use a create function instead of calling new.
49084         Renamed functions with initialize in their name to have default in their
49085         name, since they return an array full of default values and don't themselves
49086         initialize anything.
49088 2009-08-16  Darin Adler  <darin@apple.com>
49090         Reviewed by Dan Bernstein.
49092         StyledElement should use ASCIICType instead of having its own toHex function
49093         https://bugs.webkit.org/show_bug.cgi?id=28377
49095         * dom/StyledElement.cpp:
49096         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
49098 2009-08-16  Darin Adler  <darin@apple.com>
49100         Reviewed by Dan Bernstein.
49102         execCommand("InsertHorizontalRule") inserts a broken <hr> element
49103         https://bugs.webkit.org/show_bug.cgi?id=28375
49105         * editing/EditorCommand.cpp:
49106         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
49107         instead of just an HTMLElement.
49109 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
49111         Reviewed by George Staikos.
49113         [WML] <option> element & 'onpick' events - history navigation is broken
49114         https://bugs.webkit.org/show_bug.cgi?id=28371
49116         After selecting an option element with an 'onpick' event associated with a 'go' task,
49117         the navigation is executed. When going back in history, the same 'onpick' event is fired
49118         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
49120         Test: wml/option-element-onpick-recursion.html
49122         * wml/WMLOptionElement.cpp:
49123         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
49124         * wml/WMLSelectElement.cpp:
49125         (WebCore::WMLSelectElement::WMLSelectElement):
49126         (WebCore::WMLSelectElement::selectInitialOptions):
49127         * wml/WMLSelectElement.h:
49128         (WebCore::WMLSelectElement::initialized):
49130 2009-08-16  Anthony Ricaud  <rik@webkit.org>
49132         Reviewed by Timothy Hatcher.
49134         Inspector Resource filtering: keyboard Navigation always uses ALL resources
49135         https://bugs.webkit.org/show_bug.cgi?id=28231
49136         
49137         Determine if a resource is selectable on user action.
49138         
49139         * inspector/front-end/ResourcesPanel.js:
49140         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
49142 2009-08-16  David Kilzer  <ddkilzer@apple.com>
49144         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
49146         Reviewed by Dan Bernstein.
49148         * accessibility/mac/AccessibilityObjectWrapper.mm:
49149         (AXAttributeStringSetSpelling): Changed MIN() to min().
49150         * platform/graphics/mac/FontMacATSUI.mm:
49151         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
49152         max() and MIN() to min().
49153         (WebCore::Font::floatWidthForComplexText): Ditto.
49154         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
49155         std::max statement.
49156         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
49157         * platform/text/mac/TextCodecMac.cpp:
49158         (WebCore::TextCodecMac::decode): Changed MIN() to min().
49160 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
49162         Reviewed by George Staikos.
49164         [WML] Cleanup WMLIntrinsicEventHandling code
49165         https://bugs.webkit.org/show_bug.cgi?id=28358
49167         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
49169         * wml/WMLAnchorElement.cpp:
49170         (WebCore::WMLAnchorElement::defaultEventHandler):
49171         * wml/WMLDoElement.cpp:
49172         (WebCore::WMLDoElement::defaultEventHandler):
49173         * wml/WMLGoElement.cpp:
49174         (WebCore::WMLGoElement::executeTask):
49175         * wml/WMLGoElement.h:
49176         * wml/WMLIntrinsicEventHandler.cpp:
49177         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
49178         * wml/WMLPrevElement.cpp:
49179         (WebCore::WMLPrevElement::executeTask):
49180         * wml/WMLPrevElement.h:
49181         * wml/WMLRefreshElement.cpp:
49182         (WebCore::WMLRefreshElement::executeTask):
49183         * wml/WMLRefreshElement.h:
49184         * wml/WMLTaskElement.h:
49186 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
49188         Reviewed by Timothy Hatcher.
49190         WebInspector: A handful of DOMAgent-related fixes and cleanups.
49192         - renamed elementId to nodeId in operations on nodes.
49193         - added load listeners to frame owners in InspectorDOMAgent.
49194         - removed InspectorController::inspectedWindowScriptObjectCleared event.
49195         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
49196         - removed contentDocument-related logic from ElementsPanel since it is handled in
49197             the InspectorDOMAgent.
49198         - removed DOM listeners unregistration and corresponding events from InspectorController.
49199         - made this.styles 'private' in ElementsPanel.
49200         - added TODO for the handleCopy processing.
49202         https://bugs.webkit.org/show_bug.cgi?id=28356
49204         * WebCore.order:
49205         * inspector/InspectorBackend.cpp:
49206         (WebCore::InspectorBackend::getChildNodes):
49207         (WebCore::InspectorBackend::setTextNodeValue):
49208         * inspector/InspectorBackend.h:
49209         * inspector/InspectorBackend.idl:
49210         * inspector/InspectorController.cpp:
49211         * inspector/InspectorController.h:
49212         * inspector/InspectorDOMAgent.cpp:
49213         (WebCore::InspectorDOMAgent::startListening):
49214         (WebCore::InspectorDOMAgent::stopListening):
49215         (WebCore::InspectorDOMAgent::handleEvent):
49216         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
49217         (WebCore::InspectorDOMAgent::getChildNodes):
49218         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
49219         (WebCore::InspectorDOMAgent::setTextNodeValue):
49220         (WebCore::InspectorDOMAgent::buildObjectForNode):
49221         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
49222         (WebCore::InspectorDOMAgent::innerParentNode):
49223         * inspector/InspectorDOMAgent.h:
49224         * inspector/InspectorFrontend.cpp:
49225         * inspector/InspectorFrontend.h:
49226         * inspector/front-end/DOMAgent.js:
49227         (WebInspector.DOMDocument.prototype.addEventListener):
49228         (WebInspector.DOMDocument.prototype.removeEventListener):
49229         (WebInspector.DOMDocument.prototype._fireDomEvent):
49230         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
49231         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
49232         (WebInspector.DOMAgent.prototype._setChildNodes):
49233         (WebInspector.CSSStyleDeclaration.parseRule):
49234         (WebInspector.childNodeInserted):
49235         (WebInspector.childNodeRemoved):
49236         * inspector/front-end/ElementsPanel.js:
49237         (WebInspector.ElementsPanel):
49238         (WebInspector.ElementsPanel.prototype.reset):
49239         (WebInspector.ElementsPanel.prototype.addStyleChange):
49240         (WebInspector.ElementsPanel.prototype.removeStyleChange):
49241         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
49242         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
49243         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
49244         * inspector/front-end/ElementsTreeOutline.js:
49245         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
49246         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
49247         (WebInspector.ElementsTreeElement):
49248         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49249         (WebInspector.ElementsTreeElement.prototype._updateChildren):
49250         (WebInspector.ElementsTreeElement.prototype.onexpand):
49251         * inspector/front-end/InjectedScript.js:
49252         (InjectedScript.addStyleSelector):
49253         (InjectedScript._serializeRule):
49254         * inspector/front-end/StylesSidebarPane.js:
49255         (WebInspector.StylePropertiesSection):
49256         * inspector/front-end/inspector.js:
49257         (WebInspector.set hoveredDOMNode):
49258         * inspector/front-end/treeoutline.js:
49259         (TreeOutline.prototype.findTreeElement):
49260         * inspector/front-end/utilities.js:
49261         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
49262         (Node.prototype.enclosingNodeOrSelfWithClass):
49263         (isAncestorNode):
49264         (firstCommonNodeAncestor):
49265         (traverseNextNode):
49266         (traversePreviousNode):
49267         ():
49268         * loader/FrameLoader.cpp:
49269         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
49270         * page/android/InspectorControllerAndroid.cpp:
49272 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
49274         Reviewed by Dave Hyatt
49276         Optimize updateFillImages() to not add/remove clients every time
49277         https://bugs.webkit.org/show_bug.cgi?id=28334
49279         Optimize the case where old and new just have a single layer pointing to the same (or no)
49280         image.
49282         * rendering/RenderObject.cpp:
49283         (WebCore::RenderObject::updateFillImages):
49285 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
49287         Reviewed by Anders Carlsson.
49289         Implement animations of multiple text-shadows and -webkit-box-shadows.
49290         https://bugs.webkit.org/show_bug.cgi?id=28266
49291         
49292         Test: transitions/multiple-shadow-transitions.html
49294         * page/animation/AnimationBase.cpp:
49295         (WebCore::PropertyWrapperShadow::equals):
49296         (WebCore::PropertyWrapperShadow::blend):
49298 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
49300         Reviewed by Anders Carlsson.
49302         Make transitions work for position and size of multiple backgrounds and masks.
49303         https://bugs.webkit.org/show_bug.cgi?id=28266
49304         
49305         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
49306         properties animatable with multiple backgrounds, rather than just animating the first one.
49308         Tests: transitions/multiple-background-size-transitions.html
49309                transitions/multiple-background-transitions.html
49310                transitions/multiple-mask-transitions.html
49312         * page/animation/AnimationBase.cpp:
49313         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
49314         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
49315         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
49316         (WebCore::FillLayerPropertyWrapperGetter::equals):
49317         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
49318         (WebCore::FillLayerPropertyWrapper::blend):
49319         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
49320         (WebCore::FillLayersPropertyWrapper::equals):
49321         (WebCore::FillLayersPropertyWrapper::blend):
49322         (WebCore::ensurePropertyMap):
49323         * rendering/style/FillLayer.h:
49324         (WebCore::FillLayer::setXPosition):
49325         (WebCore::FillLayer::setYPosition):
49326         (WebCore::FillLayer::setSize):
49328 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
49330         Reviewed by Jan Alonzo.
49332         Don't crash in fieldset code when WML is enabled.
49333         https://bugs.webkit.org/show_bug.cgi?id=28012
49335         Test: fast/wml/html-fieldset-crash.html
49337         * rendering/RenderFieldset.cpp:
49338         (WebCore::RenderFieldset::findLegend): ++brackets
49340 2009-08-15  Sam Weinig  <sam@webkit.org>
49342         Try and enable EventSource on Windows.
49344         * WebCore.vcproj/WebCoreCommon.vsprops:
49345         * WebCore.vcproj/build-generated-files.sh:
49347 2009-08-15  Sam Weinig  <sam@webkit.org>
49349         Reviewed by Dan Bernstein.
49351         Setting attribute event listeners to the body does not set them on the window
49352         https://bugs.webkit.org/show_bug.cgi?id=28343
49354         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
49355                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
49357         * html/HTMLBodyElement.cpp:
49358         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
49359         (WebCore::HTMLBodyElement::setOnerror): Ditto.
49360         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
49361         (WebCore::HTMLBodyElement::setOnload): Ditto.
49362         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
49363         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
49364         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
49365         (WebCore::HTMLBodyElement::setOnonline): Ditto.
49366         (WebCore::HTMLBodyElement::setOnresize): Ditto.
49367         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
49368         (WebCore::HTMLBodyElement::setOnunload): Ditto.
49369         * html/HTMLFrameSetElement.cpp:
49370         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
49371         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
49372         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
49373         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
49374         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
49375         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
49376         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
49377         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
49378         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
49379         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
49380         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
49382 2009-08-15  Sam Weinig  <sam@webkit.org>
49384         Reviewed by Dan Bernstein.
49386         Fix up some IDL comments.
49388         * html/HTMLBodyElement.idl:
49389         * html/HTMLFrameSetElement.idl:
49391 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
49393         Reviewed by Sam Weinig.
49395         Added implementation of the EventSource object that enables
49396         server-sent events from HTML5.
49397         http://dev.w3.org/html5/eventsource/
49398         https://bugs.webkit.org/show_bug.cgi?id=14997
49400         Tests: fast/eventsource/eventsource-attribute-listeners.html
49401                fast/eventsource/eventsource-constructor.html
49402                http/tests/eventsource/eventsource-bad-mime-type.html
49403                http/tests/eventsource/eventsource-parse-event-stream.html
49404                http/tests/eventsource/eventsource-reconnect.html
49405                http/tests/eventsource/eventsource-status-code-states.html
49406                http/tests/eventsource/workers/eventsource-simple.html
49408         * Configurations/FeatureDefines.xcconfig:
49409         * DerivedSources.cpp:
49410         * DerivedSources.make:
49411         * GNUmakefile.am:
49412         * WebCore.pro:
49413         * WebCore.vcproj/WebCore.vcproj:
49414         * WebCore.xcodeproj/project.pbxproj:
49415         * bindings/js/JSDOMWindowCustom.cpp:
49416         (WebCore::JSDOMWindow::eventSource):
49417         * bindings/js/JSEventSourceConstructor.cpp: Added.
49418         (WebCore::):
49419         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
49420         (WebCore::constructEventSource):
49421         (WebCore::JSEventSourceConstructor::getConstructData):
49422         * bindings/js/JSEventSourceConstructor.h: Added.
49423         (WebCore::JSEventSourceConstructor::classInfo):
49424         * bindings/js/JSEventSourceCustom.cpp: Added.
49425         (WebCore::JSEventSource::markChildren):
49426         (WebCore::JSEventSource::addEventListener):
49427         (WebCore::JSEventSource::removeEventListener):
49428         * bindings/js/JSEventTarget.cpp:
49429         (WebCore::toJS):
49430         (WebCore::toEventTarget):
49431         * bindings/js/JSWorkerContextCustom.cpp:
49432         (WebCore::JSWorkerContext::eventSource):
49433         * dom/EventNames.h:
49434         * dom/EventTarget.cpp:
49435         (WebCore::EventTarget::toEventSource):
49436         * dom/EventTarget.h:
49437         * page/DOMWindow.idl:
49438         * page/EventSource.cpp: Added.
49439         (WebCore::EventSource::EventSource):
49440         (WebCore::EventSource::~EventSource):
49441         (WebCore::EventSource::connect):
49442         (WebCore::EventSource::endRequest):
49443         (WebCore::EventSource::scheduleReconnect):
49444         (WebCore::EventSource::reconnectTimerFired):
49445         (WebCore::EventSource::url):
49446         (WebCore::EventSource::readyState):
49447         (WebCore::EventSource::close):
49448         (WebCore::EventSource::scriptExecutionContext):
49449         (WebCore::EventSource::addEventListener):
49450         (WebCore::EventSource::removeEventListener):
49451         (WebCore::EventSource::dispatchEvent):
49452         (WebCore::EventSource::didReceiveResponse):
49453         (WebCore::EventSource::didReceiveData):
49454         (WebCore::EventSource::didFinishLoading):
49455         (WebCore::EventSource::didFail):
49456         (WebCore::EventSource::didFailRedirectCheck):
49457         (WebCore::EventSource::parseEventStream):
49458         (WebCore::EventSource::parseEventStreamLine):
49459         (WebCore::EventSource::dispatchGenericEvent):
49460         (WebCore::EventSource::dispatchMessageEvent):
49461         (WebCore::EventSource::stop):
49462         * page/EventSource.h: Added.
49463         (WebCore::EventSource::create):
49464         (WebCore::EventSource::):
49465         (WebCore::EventSource::setOnopen):
49466         (WebCore::EventSource::onopen):
49467         (WebCore::EventSource::setOnmessage):
49468         (WebCore::EventSource::onmessage):
49469         (WebCore::EventSource::setOnerror):
49470         (WebCore::EventSource::onerror):
49471         (WebCore::EventSource::toEventSource):
49472         (WebCore::EventSource::eventListeners):
49473         (WebCore::EventSource::refEventTarget):
49474         (WebCore::EventSource::derefEventTarget):
49475         * page/EventSource.idl: Added.
49476         * workers/WorkerContext.idl:
49478 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
49480         Reviewed by Timothy Hatcher.
49482         WebInspector: Minor DOMAgent bugfixes.
49484         https://bugs.webkit.org/show_bug.cgi?id=28177
49486         * inspector/InspectorDOMAgent.cpp:
49487         (WebCore::InspectorDOMAgent::nodeForId):
49488         * inspector/front-end/DOMAgent.js:
49489         (WebInspector.DOMAgent):
49490         * inspector/front-end/ElementsPanel.js:
49491         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
49493 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
49495         Reviewed by Timothy Hatcher.
49497         WebInspector: Evaluating objects while on a breakpoint dumps string
49498         representation instead of live object. 
49500         https://bugs.webkit.org/show_bug.cgi?id=28280
49502         * inspector/front-end/ConsoleView.js:
49503         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
49504         (WebInspector.ConsoleView.prototype.completions):
49505         (WebInspector.ConsoleView.prototype._reportCompletions):
49506         * inspector/front-end/ScriptsPanel.js:
49507         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
49508         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
49509         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
49511 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
49513         Reviewed by Eric Seidel.
49515         [Haiku] Adding two new files to WebCore/platform/haiku:
49516         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
49517         https://bugs.webkit.org/show_bug.cgi?id=28129
49519         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
49520         (WebCore::submitButtonDefaultLabel):
49521         (WebCore::inputElementAltText):
49522         (WebCore::resetButtonDefaultLabel):
49523         (WebCore::defaultLanguage):
49524         (WebCore::searchableIndexIntroduction):
49525         (WebCore::fileButtonChooseFileLabel):
49526         (WebCore::fileButtonNoFileSelectedLabel):
49527         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
49528         (WebCore::contextMenuItemTagDownloadLinkToDisk):
49529         (WebCore::contextMenuItemTagCopyLinkToClipboard):
49530         (WebCore::contextMenuItemTagOpenImageInNewWindow):
49531         (WebCore::contextMenuItemTagDownloadImageToDisk):
49532         (WebCore::contextMenuItemTagCopyImageToClipboard):
49533         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
49534         (WebCore::contextMenuItemTagCopy):
49535         (WebCore::contextMenuItemTagGoBack):
49536         (WebCore::contextMenuItemTagGoForward):
49537         (WebCore::contextMenuItemTagStop):
49538         (WebCore::contextMenuItemTagReload):
49539         (WebCore::contextMenuItemTagCut):
49540         (WebCore::contextMenuItemTagPaste):
49541         (WebCore::contextMenuItemTagNoGuessesFound):
49542         (WebCore::contextMenuItemTagIgnoreSpelling):
49543         (WebCore::contextMenuItemTagLearnSpelling):
49544         (WebCore::contextMenuItemTagSearchWeb):
49545         (WebCore::contextMenuItemTagLookUpInDictionary):
49546         (WebCore::contextMenuItemTagOpenLink):
49547         (WebCore::contextMenuItemTagIgnoreGrammar):
49548         (WebCore::contextMenuItemTagSpellingMenu):
49549         (WebCore::contextMenuItemTagShowSpellingPanel):
49550         (WebCore::contextMenuItemTagCheckSpelling):
49551         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
49552         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
49553         (WebCore::contextMenuItemTagFontMenu):
49554         (WebCore::contextMenuItemTagBold):
49555         (WebCore::contextMenuItemTagItalic):
49556         (WebCore::contextMenuItemTagUnderline):
49557         (WebCore::contextMenuItemTagOutline):
49558         (WebCore::contextMenuItemTagWritingDirectionMenu):
49559         (WebCore::contextMenuItemTagDefaultDirection):
49560         (WebCore::contextMenuItemTagLeftToRight):
49561         (WebCore::contextMenuItemTagRightToLeft):
49562         (WebCore::contextMenuItemTagInspectElement):
49563         (WebCore::searchMenuNoRecentSearchesText):
49564         (WebCore::searchMenuRecentSearchesText):
49565         (WebCore::searchMenuClearRecentSearchesText):
49566         (WebCore::unknownFileSizeText):
49567         (WebCore::AXWebAreaText):
49568         (WebCore::AXLinkText):
49569         (WebCore::AXListMarkerText):
49570         (WebCore::AXImageMapText):
49571         (WebCore::AXHeadingText):
49572         (WebCore::imageTitle):
49573         (WebCore::contextMenuItemTagTextDirectionMenu):
49574         (WebCore::AXButtonActionVerb):
49575         (WebCore::AXTextFieldActionVerb):
49576         (WebCore::AXRadioButtonActionVerb):
49577         (WebCore::AXCheckedCheckBoxActionVerb):
49578         (WebCore::AXUncheckedCheckBoxActionVerb):
49579         (WebCore::AXLinkActionVerb):
49580         (WebCore::AXDefinitionListTermText):
49581         (WebCore::AXDefinitionListDefinitionText):
49582         * platform/haiku/LoggingHaiku.cpp: Added.
49583         (WebCore::InitializeLoggingChannelsIfNecessary):
49585 2009-08-15  Darin Adler  <darin@apple.com>
49587         Fix GTK build.
49589         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
49590         (fallbackObject): Pass 0 for document. Should be OK at least for now.
49592 2009-08-15  Darin Adler  <darin@apple.com>
49594         Fix Qt build.
49596         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
49597         directly to make CDATASection and Comment nodes.
49599 2009-08-14  Darin Adler  <darin@apple.com>
49601         Reviewed by Sam Weinig.
49603         Make DOM classes start with a reference count of 1, like all other RefCounted
49604         https://bugs.webkit.org/show_bug.cgi?id=28068
49606         First half, everything except for element classes.
49608         * GNUmakefile.am: Removed DocPtr.h.
49609         * WebCore.gypi: Ditto.
49610         * WebCore.vcproj/WebCore.vcproj: Ditto.
49611         * WebCore.xcodeproj/project.pbxproj: Ditto.
49613         * dom/Attr.cpp:
49614         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
49615         have to call it explicitly.
49616         (WebCore::Attr::create): Added.
49617         (WebCore::Attr::setValue): Changed to take AtomicString.
49618         (WebCore::Attr::cloneNode): Use create.
49620         * dom/Attr.h: Added a create function. Made the constructor private,
49621         and a lot of other functions private as well.
49623         * dom/Attribute.cpp:
49624         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
49626         * dom/CDATASection.cpp:
49627         (WebCore::CDATASection::create): Added.
49628         (WebCore::CDATASection::cloneNode): Use create.
49629         (WebCore::CDATASection::virtualCreate): Ditto.
49631         * dom/CDATASection.h: Added a create function. Made everything private.
49632         Removed unneeded destructor declaration.
49634         * dom/CharacterData.cpp:
49635         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
49636         with a single one that takes ConstructionType.
49638         * dom/CharacterData.h: Made more functions be protected and private.
49639         Made m_data be private.
49641         * dom/Comment.cpp:
49642         (WebCore::Comment::Comment): Got rid of an extra constructor.
49643         (WebCore::Comment::create): Added.
49644         (WebCore::Comment::cloneNode): Call create.
49646         * dom/Comment.h: Added a create function. Made everything private.
49648         * dom/ContainerNode.cpp:
49649         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
49650         (WebCore::dispatchChildRemovalEvents): Ditto.
49652         * dom/ContainerNode.h: Made the constructor protected and passed
49653         ConstructionType instead of an isElement boolean.
49655         * dom/DocPtr.h: Removed.
49657         * dom/Document.cpp:
49658         (WebCore::Document::Document): Simplified the code that sets m_document
49659         since it's no longer a smart pointer.
49660         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
49661         and selfOnlyDeref instead of a DocPtr in here.
49662         (WebCore::Document::~Document): Simplified the code that sets m_document
49663         since it's no longer a smart pointer.
49664         (WebCore::Document::createDocumentFragment): Call create.
49665         (WebCore::Document::createTextNode): Ditto.
49666         (WebCore::Document::createComment): Ditto.
49667         (WebCore::Document::createCDATASection): Ditto.
49668         (WebCore::Document::createProcessingInstruction): Ditto.
49669         (WebCore::Document::createEntityReference): Ditto.
49670         (WebCore::Document::createEditingTextNode): Ditto.
49671         (WebCore::Document::importNode): Call Attr::create.
49672         (WebCore::Document::createAttributeNS): Ditto.
49674         * dom/Document.h: Call adoptRef. Made a lot of functions private and
49675         protected and sorted them so public functions come first.
49677         * dom/DocumentFragment.cpp:
49678         (WebCore::DocumentFragment::create): Added.
49679         (WebCore::DocumentFragment::cloneNode): Call create.
49680         * dom/DocumentFragment.h: Added create.
49682         * dom/DocumentType.cpp:
49683         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
49684         (WebCore::DocumentType::cloneNode): Use create.
49685         * dom/DocumentType.h:
49686         (WebCore::DocumentType::create): Call adoptRef.
49688         * dom/EditingText.cpp:
49689         (WebCore::EditingText::create): Added.
49690         * dom/EditingText.h: Added a create function. Made everything private.
49692         * dom/Element.cpp:
49693         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
49694         the zero reference count behavior for classes derived from Element.
49696         * dom/EntityReference.cpp:
49697         (WebCore::EntityReference::create): Added.
49698         (WebCore::EntityReference::cloneNode): Call create.
49699         * dom/EntityReference.h: Added create. Made everything private.
49701         * dom/Node.cpp:
49702         (WebCore::Node::initialRefCount): Added. Inline helper function for
49703         the constructor.
49704         (WebCore::Node::isContainer): Ditto.
49705         (WebCore::Node::isElement): Ditto.
49706         (WebCore::Node::isText): Ditto.
49707         (WebCore::Node::Node): Changed to take a construction type argument.
49708         Since m_document is now a normal pointer, added a call to selfOnlyRef.
49709         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
49710         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
49711         (WebCore::Node::appendTextContent): Use the data function instead of
49712         calling nodeValue functions, which do the same thing in a roundabout way.
49714         * dom/Node.h: Made the constructor protected and replaced the multiple
49715         arguments iwth a single ConstructionType argument. Sorted the public
49716         things first.
49718         * dom/Notation.h: Made most things private.
49719         * dom/Notation.cpp: Removed extra constructor.
49721         * dom/ProcessingInstruction.cpp:
49722         (WebCore::ProcessingInstruction::create): Added.
49723         (WebCore::ProcessingInstruction::cloneNode): Call create.
49724         * dom/ProcessingInstruction.h: Added create function. Made many other
49725         members private.
49727         * dom/Range.cpp:
49728         (WebCore::Range::processContents): Use DocumentFragment::create.
49730         * dom/Text.cpp:
49731         (WebCore::Text::Text): Updated for base class change.
49732         (WebCore::Text::create): Added.
49733         (WebCore::Text::splitText): Changed to not require access to m_data.
49734         (WebCore::Text::cloneNode): Call create.
49735         (WebCore::Text::createRenderer): Call dataImpl.
49736         (WebCore::Text::attach): Call data.
49737         (WebCore::Text::recalcStyle): Call dataImpl.
49738         (WebCore::Text::virtualCreate): Call create.
49739         (WebCore::Text::createWithLengthLimit): Call create.
49740         (WebCore::Text::formatForDebugger): Call data.
49742         * dom/Text.h: Added a create function. Made many other members private.
49743         Renamed createNew to virtualCreate.
49745         * dom/XMLTokenizer.cpp:
49746         (WebCore::XMLTokenizer::enterText): Call Text::create.
49748         * dom/XMLTokenizerLibxml2.cpp:
49749         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
49750         (WebCore::XMLTokenizer::comment): Call Comment::create.
49752         * editing/CompositeEditCommand.cpp:
49753         (WebCore::CompositeEditCommand::deleteInsignificantText):
49754         Call data instead of string.
49756         * editing/CreateLinkCommand.cpp:
49757         (WebCore::CreateLinkCommand::doApply): Call Text::create.
49759         * editing/EditorCommand.cpp:
49760         (WebCore::executeInsertNode): Call DocumentFragment::create.
49762         * editing/SplitTextNodeCommand.cpp:
49763         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
49765         * editing/markup.cpp:
49766         (WebCore::appendStartMarkup): Call data instead of nodeValue.
49768         * html/HTMLDocument.h:
49769         (WebCore::HTMLDocument::create): Call adoptRef.
49771         * html/HTMLElement.cpp:
49772         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
49773         (WebCore::replaceChildrenWithFragment): Call data instead of string.
49774         (WebCore::replaceChildrenWithText): Call Text::create.
49775         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
49776         Text::create.
49777         (WebCore::HTMLElement::setOuterText): Call Text::create.
49779         * html/HTMLKeygenElement.cpp:
49780         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
49782         * html/HTMLOptionElement.cpp:
49783         (WebCore::HTMLOptionElement::setText): Call Text::create.
49785         * html/HTMLParser.cpp:
49786         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
49787         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
49788         (WebCore::HTMLParser::handleIsindex): Call Text::create.
49790         * html/HTMLViewSourceDocument.cpp:
49791         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
49793         * html/HTMLViewSourceDocument.h:
49794         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
49796         * loader/FTPDirectoryDocument.cpp:
49797         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
49798         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
49800         * loader/FTPDirectoryDocument.h:
49801         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
49802         * loader/ImageDocument.h:
49803         (WebCore::ImageDocument::create): Ditto.
49804         * loader/MediaDocument.h:
49805         (WebCore::MediaDocument::create): Ditto.
49806         * loader/PlaceholderDocument.h:
49807         (WebCore::PlaceholderDocument::create): Ditto.
49808         * loader/PluginDocument.h:
49809         (WebCore::PluginDocument::create): Ditto.
49810         * loader/TextDocument.h:
49811         (WebCore::TextDocument::create): Ditto.
49813         * loader/loader.cpp:
49814         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
49815         (WebCore::Loader::Host::didFail): Ditto.
49817         * platform/TreeShared.h:
49818         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
49819         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
49821         * rendering/RenderText.cpp:
49822         (WebCore::RenderText::originalText): Use dataImpl instead of string.
49824         * rendering/RenderTextFragment.cpp:
49825         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
49826         (WebCore::RenderTextFragment::previousCharacter): Ditto.
49828         * svg/SVGDocument.h:
49829         (WebCore::SVGDocument::create): Use adoptRef.
49831         * svg/SVGElementInstance.cpp:
49832         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
49833         PassRefPtr.
49835         * svg/SVGElementInstance.h: Made everything private.
49837         * wml/WMLDocument.h:
49838         (WebCore::WMLDocument::create): Called adoptRef.
49840         * xml/XPathNamespace.cpp:
49841         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
49842         * xml/XPathNamespace.h: Made everything private.
49844         * xml/XSLTProcessor.cpp:
49845         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
49846         Text::create.
49848 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
49850         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
49851         nightly (20866)
49853         https://bugs.webkit.org/show_bug.cgi?id=20866
49855         Reviewed by Oliver Hunt.
49857         * accessibility/AXObjectCache.cpp:
49858         (WebCore::AXObjectCache::AXObjectCache):
49859         Changed to take a pointer to its owner document. This is used by
49860         AXObjectCache::handleFocusedUIElementChanged().
49861         (WebCore::AXObjectCache::focusedUIElementForPage):
49862         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
49863         to be a static function and to take a pointer to a Page.
49864         (WebCore::AXObjectCache::platformGenerateAXID):
49865         Moved the code to generate the next AXID from getAXID() to here. Added
49866         a #if to make this non-WIN only, because Windows has its own
49867         implementation.
49868         (WebCore::AXObjectCache::getAXID):
49869         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
49871         * accessibility/AXObjectCache.h:
49872         Add a declaration for Document and Page. Removed the declaration of
49873         AccessibilityObject, because we include the header. Reordered the
49874         declaration of Node alphabetically. Moved the typedef for AXID to
49875         AccessibilityObject. Removed some trailing whitespace. Added a member
49876         variable to hold a pointer to the owner Document.
49877         (WebCore::AXObjectCache::AXObjectCache):
49878         Changed to take a pointer to its owner Document.
49879         (WebCore::AXObjectCache::focusedUIElementForPage):
49880         Added; code moved from AccessiblityRenderObject::focusedUIElement().
49881         Returns the focused element with respect to accessibility.
49882         (WebCore::AXObjectCache::platformGenerateAXID):
49883         Declare a function to generate an AXID.
49884         (WebCore::AXObjectCache::objectFromAXID):
49885         Return the AccessibilityObject with the given AXID.
49887         * accessibility/AccessibilityObject.h:
49888         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
49889         member use the typedef.
49890         (WebCore::AccessibilityObject::axObjectID):
49891         Changed the return type to use the typedef.
49892         (WebCore::AccessibilityObject::setAXObjectID):
49893         Changed the argument type to use the typedef.
49895         * accessibility/AccessibilityRenderObject.cpp:
49896         Removed some unneeded #includes.
49897         (WebCore::AccessibilityRenderObject::focusedUIElement):
49898         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
49899         call.
49901         * accessibility/win/AXObjectCacheWin.cpp:
49902         (WebCore::AXObjectCache::platformGenerateAXID):
49903         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
49904         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
49905         If the Document has no Page, return. If the Page has not focused
49906         element (respecting accessibility), return. Assert that the
49907         accessibility of the focused element is not ignored, and that the
49908         object's AXID will be negative and fit into a LONG when negated.
49909         Broadcast a focus event for the object.
49911         * dom/Document.cpp:
49912         (WebCore::Document::axObjectCache):
49913         Pass this when creating the AXObjectCache.
49914         (WebCore::Document::setFocusedNode):
49915         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
49917 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
49919         Reviewed by Jan Alonzo.
49921         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
49922         https://bugs.webkit.org/show_bug.cgi?id=27028
49924         Remove the improper set of enum WebKitWebViewTargetInfo
49925         by grabbing the target infos via m_helper.
49927         * manual-tests/gtk/copy-htmltext.html: Added.
49928         * platform/Pasteboard.h:
49929         * platform/gtk/PasteboardGtk.cpp:
49930         (WebCore::clipboard_get_contents_cb):
49931         * platform/gtk/PasteboardHelper.h:
49933 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
49935         Reviewed by Dave Hyatt.
49937         Fix an assertion when bringing up the Inspector.
49938         https://bugs.webkit.org/show_bug.cgi?id=28318
49939         
49940         The fix for bug 28295 assumed that image clients count the number of times
49941         addClient/removeClient is called. That was true for CachedResource clients,
49942         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
49943         
49944         Fix by making CSSImageGeneratorValue count the number of times a client is
49945         added/removed.
49947         * css/CSSCanvasValue.cpp:
49948         (WebCore::CSSCanvasValue::canvasChanged):
49949         (WebCore::CSSCanvasValue::canvasResized):
49950         * css/CSSImageGeneratorValue.cpp:
49951         (WebCore::CSSImageGeneratorValue::addClient):
49952         (WebCore::CSSImageGeneratorValue::removeClient):
49953         (WebCore::CSSImageGeneratorValue::getImage):
49954         * css/CSSImageGeneratorValue.h:
49956 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
49958         Reviewed by Kevin Ollivier.
49960         Correct libcurl crash when downloading local files.
49961         https://bugs.webkit.org/show_bug.cgi?id=28312
49963         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
49965         * platform/network/curl/ResourceHandleManager.cpp:
49966         (WebCore::handleLocalReceiveResponse): New static function that
49967           performs the local setting of valid URL and firing didReceiveResponse.
49968           This code was moved from writeCallback.
49969         (WebCore::writeCallback): Move local file handling to static function
49970           (above) and use the function instead.
49971         (WebCore::readCallback): Add check
49972           for responseFired, and handle as a local file if it was not.
49974 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
49976         Reviewed by Oliver Hunt.
49978         [Haiku] Fix RenderThemeHaiku build.
49979         https://bugs.webkit.org/show_bug.cgi?id=28307
49981         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
49982         instead of RenderTheme.h.
49983         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
49984         before the function.
49985         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
49986         before the function.
49987         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
49989 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
49991         Reviewed by Oliver Hunt.
49993         [Haiku] Adding SharedBufferHaiku to WebCore.
49994         https://bugs.webkit.org/show_bug.cgi?id=28309
49996         * platform/haiku/SharedBufferHaiku.cpp: Added.
49997         (WebCore::SharedBuffer::createWithContentsOfFile):
49998         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
49999         and functions.
50000         (WebCore::signedPublicKeyAndChallengeString):
50001         (WebCore::getSupportedKeySizes):
50003 2009-08-14  Nate Chapin  <japhet@chromium.org>
50005         Reviewed by Dimitri Glazkov.
50007         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
50009         https://bugs.webkit.org/show_bug.cgi?id=28311
50011         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
50013         * bindings/v8/custom/V8DOMWindowCustom.cpp:
50014         (WebCore::ACCESSOR_GETTER):
50016 2009-08-14  Aaron Boodman  <aa@chromium.org>
50018         Reviewed by Alexey Proskuryakov.
50020         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
50021         https://bugs.webkit.org/show_bug.cgi?id=28134
50023         No new tests added since Access Control was already well tested and this is a pure refactor.
50025         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
50026         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
50027         path.
50029         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
50030         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
50031         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
50032         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
50033         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
50034         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
50035         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
50036         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
50037         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
50038         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
50039         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
50040         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
50041         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
50042         * loader/ThreadableLoader.cpp: Ditto.
50043         (WebCore::ThreadableLoader::create): Ditto.
50044         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
50045         * loader/ThreadableLoader.h: Ditto.
50046         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
50047         * loader/WorkerThreadableLoader.cpp: Ditto.
50048         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
50049         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
50050         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
50051         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
50052         * loader/WorkerThreadableLoader.h: Ditto.
50053         (WebCore::WorkerThreadableLoader::create): Ditto.
50054         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
50055         (WebCore::):
50056         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
50057         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
50058         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
50059         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
50060         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
50061         (WebCore::XMLHttpRequest::createRequest): Ditto.
50062         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
50063         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
50064         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
50065         * xml/XMLHttpRequest.h: Ditto.
50067 2009-08-14  Darin Adler  <darin@apple.com>
50069         Reviewed by Sam Weinig.
50071         Rename the confusing isObject(<class>) to inherits(<class>).
50072         It still works on non-objects, returning false.
50074         * bindings/js/JSEventTarget.cpp:
50075         (WebCore::toEventTarget):
50076         * bindings/js/JSGeolocationCustom.cpp:
50077         (WebCore::createPositionCallback):
50078         (WebCore::createPositionErrorCallback):
50079         * bindings/js/JSNodeFilterCustom.cpp:
50080         (WebCore::toNodeFilter):
50081         * bindings/js/JSXMLHttpRequestCustom.cpp:
50082         (WebCore::JSXMLHttpRequest::send):
50083         * bindings/js/JSXSLTProcessorCustom.cpp:
50084         (WebCore::JSXSLTProcessor::importStylesheet):
50085         (WebCore::JSXSLTProcessor::transformToFragment):
50086         (WebCore::JSXSLTProcessor::transformToDocument):
50087         * bindings/scripts/CodeGeneratorJS.pm:
50088         * bridge/objc/objc_runtime.mm:
50089         (JSC::Bindings::callObjCFallbackObject):
50090         * bridge/runtime_method.cpp:
50091         (JSC::callRuntimeMethod):
50092         Updated to new name, inherits, from old name, isObject.
50094 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
50096         Reviewed by Simon Hausmann.
50098         Allow Qt API to list and to remove URL schemes that were registered as
50099         local URL schemes.
50100         [Qt] Allow applications to register their own local URL scheme.
50101         https://bugs.webkit.org/show_bug.cgi?id=28240
50103         * page/SecurityOrigin.cpp:
50104         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
50105         (WebCore::SecurityOrigin::localURLSchemes):
50106         * page/SecurityOrigin.h:
50108 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
50110         Reviewed by Timothy Hatcher.
50112         WebInspector: Wrap console objects late (in the frontend) so that injected
50113         script was already in place.
50115         https://bugs.webkit.org/show_bug.cgi?id=28297
50117         * inspector/ConsoleMessage.cpp:
50118         (WebCore::ConsoleMessage::ConsoleMessage):
50119         * inspector/ConsoleMessage.h:
50120         * inspector/InspectorController.cpp:
50121         (WebCore::InspectorController::addMessageToConsole):
50122         (WebCore::InspectorController::startGroup):
50123         (WebCore::InspectorController::setFrontendProxyObject):
50124         * inspector/InspectorController.h:
50125         * inspector/InspectorFrontend.cpp:
50126         (WebCore::InspectorFrontend::InspectorFrontend):
50127         (WebCore::InspectorFrontend::addMessageToConsole):
50128         * inspector/InspectorFrontend.h:
50130 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
50132         Reviewed by Dan Bernstein.
50134         Fix logic in RenderObject::updateFillImages() that led to incorrect client
50135         counts if an image was used twice in the background-image property.
50136         https://bugs.webkit.org/show_bug.cgi?id=28295
50138         Test: fast/backgrounds/multiple-backgrounds-assert.html
50140         * rendering/RenderObject.cpp:
50141         (WebCore::RenderObject::updateFillImages):
50142         Simplify the logic to call addClient()/removeClient() for every background
50143         image, but go through the new layers first to avoid removing all the
50144         clients of an image.
50146 2009-08-13  Oliver Hunt  <oliver@apple.com>
50148         Reviewed by Maciej Stachowiak.
50150         Devirtualise marking
50151         https://bugs.webkit.org/show_bug.cgi?id=28294
50153         Make sure we override the JSObject createStructure method on those
50154         objects that have custom marking routines.
50156         * bindings/scripts/CodeGeneratorJS.pm:
50158 2009-08-13  Darin Adler  <darin@apple.com>
50160         Reviewed by Mark Rowe.
50162         Follow-up to earlier work to remove dependencies on JavaScriptCore.
50164         * ForwardingHeaders/parser/Parser.h: Removed.
50165         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
50166         of Parser.h.
50168 2009-08-13  Dan Bernstein  <mitz@apple.com>
50170         Reviewed by Eric Seidel.
50172         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
50173         an assertion failure in debug builds
50174         https://bugs.webkit.org/show_bug.cgi?id=28279
50176         Test: fast/flexbox/block-axis.html
50178         * css/CSSPrimitiveValueMappings.h:
50179         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
50180         vertical.
50182 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
50184         Reviewed by Dan Bernstein.
50186         Fix crash when removing reflection on an absolutely-positioned image.
50187         https://bugs.webkit.org/show_bug.cgi?id=28289
50188         
50189         Make sure we clean up the reflection layer when removing the reflection,
50190         so that the RenderLayer tree does not contain pointers to deleted layers.
50192         Test: fast/reflections/reflected-img-crash.html
50194         * rendering/RenderLayer.cpp:
50195         (WebCore::RenderLayer::~RenderLayer):
50196         (WebCore::RenderLayer::styleChanged):
50197         (WebCore::RenderLayer::removeReflection):
50198         * rendering/RenderLayer.h:
50200 2009-08-13  Dan Bernstein  <mitz@apple.com>
50202         Reviewed by Simon Fraser.
50204         misalignment because of float:left of <div> tag
50205         https://bugs.webkit.org/show_bug.cgi?id=15869
50207         One section of http://edgar.sec.gov site draws to the right of the rest
50208         of the content
50209         <rdar://problem/7135951>
50211         Tests: fast/block/float/avoidance-percent-width-compat.html
50212                fast/block/float/avoidance-percent-width-strict.html
50214         * rendering/RenderBlock.cpp:
50215         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
50216             avoidance logic in strict mode and in compatibility mode, which
50217             matches Firefox and IE. Changed to compute and use the computed
50218             width of the child, instead of ignoring non-fixed widths.
50220 2009-08-13  Steve Block  <steveblock@google.com>
50222         Reviewed by Darin Adler.
50224         Geolocation PositionOptions does not use correct default values.
50225         https://bugs.webkit.org/show_bug.cgi?id=27254
50227         Sets the correct default values for the properties of the PositionOptions object
50228         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
50230         Also adds checking to throw an exception if arguments of the incorrect type are
50231         passed to Geolocation methods. Adds a layout test to test this. This test should
50232         pass on all platforms where Geolocation is implemented.
50234         Test: fast/dom/Geolocation/argument-types.html
50236         * bindings/js/JSGeolocationCustom.cpp:
50237         (WebCore::createPositionCallback): Added. Creates the callback.
50238         (WebCore::createPositionErrorCallback): Added. Creates the calback.
50239         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
50240         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
50241         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
50242         * page/Geolocation.cpp:
50243         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
50244         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
50245         * page/PositionOptions.h:
50246         (WebCore::PositionOptions::create): Modified. Creates object with default values.
50247         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
50248         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
50249         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
50250         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
50251         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
50252         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
50254 2009-08-13  David Levin  <levin@chromium.org>
50256         Unreviewed chromium build fix.
50258         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
50260         * bindings/scripts/CodeGeneratorV8.pm:
50262 2009-08-13  Drew Wilson  <atwilson@google.com>
50264         Reviewed by David Levin.
50266         Merge error in SharedWorker code
50267         https://bugs.webkit.org/show_bug.cgi?id=28277
50269         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
50270         No new tests needed.
50272         * workers/DefaultSharedWorkerRepository.cpp:
50273         Removed duplicated functions.
50275 2009-08-13  Kyle Prete  <kylep@chromium.org>
50277         Reviewed by Dave Levin.
50279         Chromium: Show a "Playback Disabled" button on media error.
50280         https://bugs.webkit.org/show_bug.cgi?id=28196
50281         Use a disabled play button when the media file cannot be played.
50283         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
50285         * rendering/RenderThemeChromiumSkia.cpp:
50286         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
50288 2009-08-13  Mark Rowe  <mrowe@apple.com>
50290         Try and fix the Qt build.
50292         * bridge/qt/qt_runtime.cpp:
50294 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
50296         Reviewed by Gustavo Noronha.
50298         [GTK] Drag and drop support
50299         https://bugs.webkit.org/show_bug.cgi?id=23642
50301         Utilizes functions that are being called upon drag and drop actions.
50302         Uses different GTK clipboards that hold different types
50303         of drag data - images, HTML markup, text, URL, URL label.
50304         Also clears each clipboard before setting new data to it.
50306         No new tests - despite some implementations, no new functionality
50307         is added until implementations of the GTK drag and drop protocol
50308         in WebKit part.
50310         * platform/gtk/ClipboardGtk.cpp:
50311         (WebCore::ClipboardGtk::ClipboardGtk):
50312         (WebCore::ClipboardGtk::~ClipboardGtk):
50313         (WebCore::getCachedImage):
50314         (WebCore::ClipboardGtk::declareAndWriteDragImage):
50315         (WebCore::ClipboardGtk::writeURL):
50316         (WebCore::ClipboardGtk::writeRange):
50317         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
50319 2009-08-13  Darin Adler  <darin@apple.com>
50321         Reviewed by David Levin.
50323         JavaScriptCore tweaks to get ready for the parser arena
50324         https://bugs.webkit.org/show_bug.cgi?id=28243
50326         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
50328         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
50329         files as Private that are now needed to compile Mac WebKit.
50331         * bindings/js/JSAudioConstructor.cpp:
50332         * bindings/js/JSDOMBinding.cpp:
50333         * bindings/js/JSDOMBinding.h:
50334         * bindings/js/JSDOMWindowCustom.cpp:
50335         * bindings/js/JSHTMLInputElementCustom.cpp:
50336         * bindings/js/JSHistoryCustom.cpp:
50337         * bindings/js/JSImageConstructor.cpp:
50338         * bindings/js/JSLazyEventListener.cpp:
50339         * bindings/js/JSLocationCustom.cpp:
50340         * bindings/js/JSMessageChannelConstructor.cpp:
50341         * bindings/js/JSOptionConstructor.cpp:
50342         * bindings/js/JSWebSocketConstructor.cpp:
50343         * bindings/js/JSWebSocketCustom.cpp:
50344         * bindings/js/JSWorkerConstructor.cpp:
50345         * bindings/js/JSXMLHttpRequestConstructor.cpp:
50346         * bridge/jni/jni_jsobject.mm:
50347         Updated includes.
50349         * inspector/JavaScriptDebugServer.cpp:
50350         (WebCore::JavaScriptDebugServer::sourceParsed):
50351         Change to not assert if this is called with no listeners.
50352         I don't think this was guaranteed before, and we now use
50353         this code path when recompiling. Slightly less efficient,
50354         but this is a one-time cost when turning on the debugger.
50355         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
50356         Change to call Debugger::recompileAllJSFunctions.
50358 2009-08-13  Brady Eidson  <beidson@apple.com>
50360         Reviewed by Eric Seidel.
50362         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
50363         onhashchange property cannot be set from javascript.
50365         Test: fast/loader/onhashchange-attribute-listeners.html
50367         * html/HTMLBodyElement.cpp:
50368         (WebCore::HTMLBodyElement::onhashchange):
50369         (WebCore::HTMLBodyElement::setOnhashchange):
50370         * html/HTMLBodyElement.h:
50371         * html/HTMLBodyElement.idl:
50373         * html/HTMLFrameSetElement.cpp:
50374         (WebCore::HTMLFrameSetElement::onhashchange):
50375         (WebCore::HTMLFrameSetElement::setOnhashchange):
50376         * html/HTMLFrameSetElement.h:
50377         * html/HTMLFrameSetElement.idl:
50379         * page/DOMWindow.cpp:
50380         (WebCore::DOMWindow::onhashchange):
50381         (WebCore::DOMWindow::setOnhashchange):
50382         * page/DOMWindow.h:
50383         * page/DOMWindow.idl:
50385 2009-08-13  Mark Rowe  <mrowe@apple.com>
50387         Reviewed by Geoff Garen.
50389         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
50391         * svg/SVGColor.cpp:
50392         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
50393         RGBColor is cleaned up by the caller.
50394         * svg/SVGColor.h:
50396 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
50398         Reviewed by Timothy Hatcher.
50400         WebInspector: Migrate to DOMAgent (serialized access to DOM).
50402         https://bugs.webkit.org/show_bug.cgi?id=28177
50404         * bindings/js/JSInspectorBackendCustom.cpp:
50405         (WebCore::JSInspectorBackend::highlightDOMNode):
50406         (WebCore::JSInspectorBackend::nodeForId):
50407         (WebCore::JSInspectorBackend::idForNode):
50408         (WebCore::JSInspectorBackend::wrapObject):
50409         (WebCore::JSInspectorBackend::unwrapObject):
50410         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
50411         (WebCore::JSInspectorBackend::selectDatabase):
50412         (WebCore::JSInspectorBackend::selectDOMStorage):
50413         * bindings/js/ScriptObjectQuarantine.cpp:
50414         (WebCore::getQuarantinedScriptObject):
50415         * bindings/js/ScriptObjectQuarantine.h:
50416         * bindings/js/ScriptValue.cpp:
50417         (WebCore::ScriptValue::isObject):
50418         * bindings/js/ScriptValue.h:
50419         * bindings/v8/ScriptObjectQuarantine.cpp:
50420         (WebCore::getQuarantinedScriptObject):
50421         * bindings/v8/ScriptObjectQuarantine.h:
50422         * bindings/v8/ScriptValue.h:
50423         (WebCore::ScriptValue::isObject):
50424         * bindings/v8/custom/V8CustomBinding.h:
50425         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
50426         (WebCore::CALLBACK_FUNC_DECL):
50427         * inspector/ConsoleMessage.cpp:
50428         (WebCore::ConsoleMessage::ConsoleMessage):
50429         * inspector/ConsoleMessage.h:
50430         * inspector/InspectorBackend.cpp:
50431         (WebCore::InspectorBackend::clearMessages):
50432         (WebCore::InspectorBackend::loaded):
50433         (WebCore::InspectorBackend::highlight):
50434         (WebCore::InspectorBackend::nodeForId):
50435         (WebCore::InspectorBackend::idForNode):
50436         (WebCore::InspectorBackend::wrapObject):
50437         (WebCore::InspectorBackend::unwrapObject):
50438         (WebCore::InspectorBackend::pushNodePathToFrontend):
50439         (WebCore::InspectorBackend::addNodesToSearchResult):
50440         (WebCore::InspectorBackend::selectDatabase):
50441         (WebCore::InspectorBackend::selectDOMStorage):
50442         * inspector/InspectorBackend.h:
50443         * inspector/InspectorBackend.idl:
50444         * inspector/InspectorController.cpp:
50445         (WebCore::InspectorController::InspectorController):
50446         (WebCore::InspectorController::focusNode):
50447         (WebCore::InspectorController::addMessageToConsole):
50448         (WebCore::InspectorController::clearConsoleMessages):
50449         (WebCore::InspectorController::startGroup):
50450         (WebCore::InspectorController::scriptObjectReady):
50451         (WebCore::InspectorController::setFrontendProxyObject):
50452         (WebCore::InspectorController::close):
50453         (WebCore::InspectorController::didCommitLoad):
50454         (WebCore::InspectorController::wrapObject):
50455         (WebCore::InspectorController::unwrapObject):
50456         * inspector/InspectorController.h:
50457         * inspector/InspectorDOMAgent.cpp:
50458         (WebCore::InspectorDOMAgent::setDocument):
50459         (WebCore::InspectorDOMAgent::handleEvent):
50460         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
50461         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
50462         (WebCore::InspectorDOMAgent::nodeForId):
50463         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
50464         (WebCore::InspectorDOMAgent::buildObjectForNode):
50465         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
50466         (WebCore::InspectorDOMAgent::innerParentElement):
50467         * inspector/InspectorDOMAgent.h:
50468         * inspector/InspectorDOMStorageResource.cpp:
50469         (WebCore::InspectorDOMStorageResource::bind):
50470         * inspector/InspectorFrontend.cpp:
50471         (WebCore::InspectorFrontend::clearConsoleMessages):
50472         (WebCore::InspectorFrontend::updateFocusedNode):
50473         (WebCore::InspectorFrontend::setDocument):
50474         (WebCore::InspectorFrontend::selectDatabase):
50475         (WebCore::InspectorFrontend::selectDOMStorage):
50476         (WebCore::InspectorFrontend::addNodesToSearchResult):
50477         * inspector/InspectorFrontend.h:
50478         * inspector/front-end/ConsoleView.js:
50479         (WebInspector.ConsoleView.prototype.clearMessages):
50480         (WebInspector.ConsoleView.prototype.completions):
50481         (WebInspector.ConsoleView.prototype._reportCompletions):
50482         (WebInspector.ConsoleView.prototype._messagesClicked):
50483         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
50484         (WebInspector.ConsoleView.prototype.doEvalInWindow):
50485         (WebInspector.ConsoleView.prototype._format):
50486         (WebInspector.ConsoleView.prototype._formatfunction):
50487         (WebInspector.ConsoleView.prototype._formatdate):
50488         (WebInspector.ConsoleView.prototype._formatregexp):
50489         (WebInspector.ConsoleView.prototype._formatnode):
50490         (WebInspector.ConsoleView.prototype._formatobject):
50491         * inspector/front-end/DOMAgent.js:
50492         (WebInspector.DOMNode):
50493         (WebInspector.DOMNode.prototype._renumber):
50494         (WebInspector.DOMDocument):
50495         (WebInspector.DOMAgent):
50496         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
50497         (WebInspector.DOMAgent.prototype.setAttributeAsync):
50498         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
50499         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
50500         (WebInspector.DOMAgent.prototype.nodeForId):
50501         (WebInspector.DOMAgent.prototype._setDocument):
50502         (WebInspector.DOMAgent.prototype._setChildNodes):
50503         (WebInspector.DOMAgent.prototype._bindNodes):
50504         (WebInspector.DOMAgent.prototype._childNodeInserted):
50505         (WebInspector.CSSStyleDeclaration):
50506         (WebInspector.CSSStyleDeclaration.parseRule):
50507         (WebInspector.setDocument):
50508         (InspectorController.getStyles):
50509         (InspectorController.getComputedStyle):
50510         (InspectorController.getInlineStyle):
50511         (InspectorController.applyStyleText):
50512         (InspectorController.setStyleText):
50513         (InspectorController.toggleStyleEnabled):
50514         (InspectorController.applyStyleRuleText):
50515         (InspectorController.addStyleSelector):
50516         (InspectorController.setStyleProperty):
50517         (InspectorController.getPrototypes):
50518         (InspectorController.getProperties):
50519         (InspectorController.setPropertyValue):
50520         (InspectorController.evaluate):
50521         (InspectorController.addInspectedNode):
50522         (InspectorController.performSearch):
50523         (InspectorController.searchCanceled):
50524         * inspector/front-end/ElementsPanel.js:
50525         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
50526         (WebInspector.ElementsPanel.prototype.searchCanceled):
50527         (WebInspector.ElementsPanel.prototype.performSearch):
50528         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
50529         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
50530         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
50531         * inspector/front-end/ElementsTreeOutline.js:
50532         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
50533         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
50534         (WebInspector.ElementsTreeElement.prototype.updateChildren):
50535         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
50536         * inspector/front-end/InjectedScript.js:
50537         (InjectedScript.applyStyleRuleText):
50538         (InjectedScript.addStyleSelector):
50539         (InjectedScript._doesSelectorAffectNode):
50540         (InjectedScript._serializeRule):
50541         (InjectedScript._serializeStyle):
50542         (InjectedScript.getProperties):
50543         (InjectedScript.evaluate):
50544         (InjectedScript.addInspectedNode):
50545         (InjectedScript.performSearch.addNodesToResults):
50546         (InjectedScript.performSearch.matchExactItems):
50547         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
50548         (InjectedScript.performSearch.matchExactId):
50549         (InjectedScript.performSearch):
50550         (InjectedScript.performSearch.matchExactTagNames):
50551         (InjectedScript.performSearch.matchExactAttributeNames):
50552         (InjectedScript.performSearch.matchPartialTagNames):
50553         (InjectedScript.performSearch.matchStartOfTagNames):
50554         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
50555         (InjectedScript.performSearch.matchPartialAttributeValues):
50556         (InjectedScript.performSearch.matchStyleSelector):
50557         (InjectedScript.performSearch.matchPlainText):
50558         (InjectedScript.performSearch.matchXPathQuery):
50559         (InjectedScript.performSearch.finishedSearching):
50560         (InjectedScript.performSearch.processChunk):
50561         (InjectedScript.searchCanceled):
50562         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
50563         (InjectedScript._ensureCommandLineAPIInstalled):
50564         (InjectedScript._resolveObject):
50565         (InjectedScript._nodeForId):
50566         (InjectedScript._objectForId):
50567         (InjectedScript._createProxyObject):
50568         * inspector/front-end/ObjectPropertiesSection.js:
50569         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
50570         (WebInspector.ObjectPropertyTreeElement.prototype.update):
50571         * inspector/front-end/ObjectProxy.js:
50572         (WebInspector.ObjectProxy):
50573         (WebInspector.ObjectPropertyProxy):
50574         * inspector/front-end/PropertiesSidebarPane.js:
50575         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
50576         (WebInspector.PropertiesSidebarPane.prototype.update):
50577         * inspector/front-end/StylesSidebarPane.js:
50578         (WebInspector.StylesSidebarPane.prototype.update.callback):
50579         (WebInspector.StylesSidebarPane.prototype.update):
50580         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
50581         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
50582         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
50583         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
50584         (WebInspector.StylePropertyTreeElement.prototype):
50585         * inspector/front-end/inspector.js:
50586         (WebInspector._updateHoverHighlight):
50587         (WebInspector.loaded):
50588         (WebInspector.clearConsoleMessages):
50589         (WebInspector.selectDatabase):
50590         (WebInspector.selectDOMStorage):
50591         (WebInspector.updateFocusedNode):
50592         (WebInspector.addNodesToSearchResult):
50593         * inspector/front-end/utilities.js:
50594         (Object.proxyType):
50595         * storage/Storage.h:
50596         (WebCore::Storage::frame):
50598 2009-08-13  Mark Rowe  <mrowe@apple.com>
50600         Reviewed by Geoff Garen.
50602         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
50604         * css/CSSPrimitiveValue.cpp:
50605         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
50606         newly-allocated RGBColor is cleaned up by the caller.
50607         * css/CSSPrimitiveValue.h:
50609 2009-08-13  Eric Seidel  <eric@webkit.org>
50611         Reviewed by David Hyatt.
50613         wrong font size when css font-family includes monospace
50614         https://bugs.webkit.org/show_bug.cgi?id=19161
50616         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
50617         WebKit has historically used fixed-width default size any time a
50618         font-family includes monospace in the fallback list.
50620         This patch corrects WebKit's behavior to match Firefox.
50621         I also had to fix a bug in WebKit's font-family fallback behavior where
50622         child elements would inherit parts of their parents fallback lists.
50624         This patch is mostly just replacing all cases where we used to check for:
50625         fontDescription.genericFontFamily() == MonospaceFamily
50626         with:
50627         fontDescription.useFixedDefaultSize()
50629         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
50630                fast/css/getComputedStyle/font-family-fallback-reset.html
50632         * css/CSSStyleSelector.cpp:
50633         (WebCore::CSSStyleSelector::applyProperty):
50634            Deploy useFixedDefaultSize().  Also fix the bug where child
50635            FontDescriptions would carry part of the parent font-family fallback list.
50636         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
50637            It's no longer alright to just check genericFontFamily(),
50638            we have to check to make sure the changed style has a matching useFixedDefaultSize().
50639         * platform/graphics/FontDescription.h:
50640         (WebCore::FontDescription::useFixedDefaultSize):
50641            Only use the fixed default size if we have one font family and it is "monospace".
50642            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
50644 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
50646         Reviewed by Dimitri Glazkov.
50648         [v8] Fix atomic string externalization crash.
50649         Atomic string externalization assumes that all non-empty strings
50650         can be externalized which is untrue on 64-bit.  This change fixed
50651         that.
50653         https://bugs.webkit.org/show_bug.cgi?id=28215
50655         This bug causes loads of test crashes, no need to add new tests
50656         specifically for this.
50658         * bindings/v8/V8Binding.cpp:
50659         (WebCore::v8StringToAtomicWebCoreString):
50661 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
50663         Rubberstamped by Darin Adler.
50665         Use ASSERT_UNUSED instead of UNUSED_PARAM
50667         * wml/WMLAnchorElement.cpp:
50668         (WebCore::WMLAnchorElement::deregisterTask):
50669         * wml/WMLDoElement.cpp:
50670         (WebCore::WMLDoElement::deregisterTask):
50672 2009-08-13  Steve Block  <steveblock@google.com>
50674         Reviewed by Darin Adler.
50676         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
50677         https://bugs.webkit.org/show_bug.cgi?id=28262
50679         No new tests possible.
50681         * page/SecurityOrigin.cpp:
50682         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
50684 2009-08-13  Dirk Schulze  <krit@webkit.org>
50686         Reviewed by Eric Seidel.
50688         [CAIRO] getImageData fails on a given rect bigger than the image rect
50690         The destination image and the source image was mixed up on creating the
50691         imageData.
50693         This is just a clean up and doesn't affect the current behavior. It's not
50694         possible to test this failure in a LayoutTest. Only canvas uses getImageData
50695         at the moment and returns before calling getImageData, if the image rect does
50696         not contain the requested rect.
50698         * platform/graphics/cairo/ImageBufferCairo.cpp:
50699         (WebCore::getImageData):
50701 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
50703         Reviewed by Eric Seidel.
50705         [Haiku] Adding RenderTheme to WebCore.
50706         https://bugs.webkit.org/show_bug.cgi?id=28258
50708         * platform/haiku/RenderThemeHaiku.cpp: Added.
50709         (WebCore::RenderThemeHaiku::create):
50710         (WebCore::RenderTheme::themeForPage):
50711         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
50712         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
50713         (WebCore::supportsFocus):
50714         (WebCore::RenderThemeHaiku::supportsFocusRing):
50715         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
50716         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
50717         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
50718         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
50719         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
50720         (WebCore::RenderThemeHaiku::systemFont):
50721         (WebCore::RenderThemeHaiku::paintCheckbox):
50722         (WebCore::RenderThemeHaiku::setCheckboxSize):
50723         (WebCore::RenderThemeHaiku::paintRadio):
50724         (WebCore::RenderThemeHaiku::setRadioSize):
50725         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
50726         (WebCore::RenderThemeHaiku::paintMenuList):
50727         * platform/haiku/RenderThemeHaiku.h: Added.
50728         (WebCore::RenderThemeHaiku::supportsHover):
50730 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
50732         Reviewed by Eric Seidel.
50734         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
50735         https://bugs.webkit.org/show_bug.cgi?id=28256
50737         * platform/haiku/ContextMenuHaiku.cpp:
50738         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
50739         (WebCore::ContextMenu::ContextMenu):
50740         (WebCore::ContextMenu::appendItem):
50741         (WebCore::ContextMenu::insertItem):
50743 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
50745         Reviewed by Darin Adler.
50747         Inspector: Show Hidden Cookie Data
50748         https://bugs.webkit.org/show_bug.cgi?id=28185
50750           Added new file Cookie.h to the WebCore XCode
50752         * WebCore.xcodeproj/project.pbxproj:
50754           InspectorController.cookies() binding
50756         * bindings/js/JSInspectorBackendCustom.cpp:
50757         (WebCore::JSInspectorBackend::cookies):
50758         * inspector/InspectorBackend.idl:
50760           Struct for static Cookie information
50761           (name, value, path, domain, expires, httpOnly, secure, session)
50763         * platform/Cookie.h: Added.
50764         (WebCore::Cookie::Cookie):
50765         
50766           Getter for the a list of raw Cookies
50767           getRawCookies(., ., out Vector<Cookie>)
50768         
50769         * platform/CookieJar.h:
50771           Implementation of getRawCookies for the mac platform.
50773         * platform/mac/CookieJar.mm:
50774         (WebCore::getRawCookies):
50776           Stub other CookieJar implementations to satisfy the interface.
50778         * platform/haiku/CookieJarHaiku.cpp:
50779         (WebCore::getRawCookies):
50780         * platform/network/chromium/CookieJarChromium.cpp:
50781         (WebCore::getRawCookies):
50782         * platform/network/curl/CookieJarCurl.cpp:
50783         (WebCore::getRawCookies):
50784         * platform/network/soup/CookieJarSoup.cpp:
50785         (WebCore::getRawCookies):
50786         * platform/network/win/CookieJarCFNetWin.cpp:
50787         (WebCore::getRawCookies):
50788         * platform/network/win/CookieJarWin.cpp:
50789         (WebCore::getRawCookies):
50790         * platform/qt/CookieJarQt.cpp:
50791         (WebCore::getRawCookies):
50793 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
50795         Reviewed by Timothy Hatcher.
50797         Add a new gesture in Web Inspector to remove breakpoints
50798         https://bugs.webkit.org/show_bug.cgi?id=19131
50799         
50800         * inspector/front-end/SourceFrame.js:
50801         (WebInspector.SourceFrame.prototype._documentMouseDown):
50803 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
50805         Reviewed by Simon Hausmann.
50807         Symbian target components (library and executable files)
50808         require Unique Identifiers (i.e., UID3).
50809         These identifiers are defined in the respective project
50810         file, conditionally for "symbian" platform.
50812         * WebCore.pro:
50814 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
50816         Reviewed by Eric Seidel.
50818         wrong calculation of overflow size for flexbox and table
50819         https://bugs.webkit.org/show_bug.cgi?id=28064
50821         RenderFlexibleBox and RenderTable were using the width of overflow
50822         to update height of overflow, so height became wrong value and
50823         width was not updated. As the corresponding code of RenderBlock
50824         was sane, I factored it out and used from RenderFlexibleBox and
50825         RenderTable.
50827         * rendering/RenderBlock.cpp:
50828         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
50829         (WebCore::RenderBlock::layoutBlock):
50830         * rendering/RenderBlock.h:
50831         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
50832         (WebCore::RenderFlexibleBox::layoutBlock):
50833         * rendering/RenderTable.cpp:
50834         (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
50836 2009-08-13  Mark Rowe  <mrowe@apple.com>
50838         Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
50839         Windows build in a non-obvious manner.
50841         * WebCore.xcodeproj/project.pbxproj:
50842         * bindings/js/JSInspectorBackendCustom.cpp:
50843         * inspector/InspectorBackend.idl:
50844         * platform/Cookie.h: Removed.
50845         * platform/CookieJar.h:
50846         * platform/haiku/CookieJarHaiku.cpp:
50847         (WebCore::setCookies):
50848         (WebCore::cookies):
50849         * platform/mac/CookieJar.mm:
50850         * platform/network/chromium/CookieJarChromium.cpp:
50851         * platform/network/curl/CookieJarCurl.cpp:
50852         * platform/network/soup/CookieJarSoup.cpp:
50853         * platform/network/win/CookieJarCFNetWin.cpp:
50854         * platform/network/win/CookieJarWin.cpp:
50855         * platform/qt/CookieJarQt.cpp:
50857 2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
50859         Not reviewed: build fix (for r47192), adding new file from
50860         https://bugs.webkit.org/show_bug.cgi?id=28174
50862         * inspector/front-end/StatusBarButton.js: Added.
50864 2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
50866         Reviewed by Timothy Hatcher.
50868         Introduced StatusBarButton class that encapsulates glyphs support.
50869         Views updated accordingly.
50871         https://bugs.webkit.org/show_bug.cgi?id=28174
50873         * WebCore.gypi:
50874         * WebCore.vcproj/WebCore.vcproj:
50875         * inspector/front-end/CookieItemsView.js:
50876         (WebInspector.CookieItemsView):
50877         (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
50878         (WebInspector.CookieItemsView.prototype.hide):
50879         (WebInspector.CookieItemsView.prototype.update):
50880         * inspector/front-end/DOMStorageItemsView.js:
50881         (WebInspector.DOMStorageItemsView):
50882         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
50883         (WebInspector.DOMStorageItemsView.prototype.hide):
50884         (WebInspector.DOMStorageItemsView.prototype.update):
50885         * inspector/front-end/ElementsPanel.js:
50886         (WebInspector.ElementsPanel):
50887         (WebInspector.ElementsPanel.prototype.get statusBarItems):
50888         (WebInspector.ElementsPanel.prototype.hide):
50889         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
50890         * inspector/front-end/Panel.js:
50891         * inspector/front-end/ProfileView.js:
50892         (WebInspector.ProfileView):
50893         (WebInspector.ProfileView.prototype.get statusBarItems):
50894         (WebInspector.ProfileView.prototype._updatePercentButton):
50895         (WebInspector.ProfileView.prototype._focusClicked):
50896         (WebInspector.ProfileView.prototype._excludeClicked):
50897         (WebInspector.ProfileView.prototype._resetClicked):
50898         * inspector/front-end/ProfilesPanel.js:
50899         (WebInspector.ProfilesPanel):
50900         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
50901         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
50902         (WebInspector.ProfilesPanel.prototype._updateInterface):
50903         * inspector/front-end/ResourcesPanel.js:
50904         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
50905         (WebInspector.ResourcesPanel.prototype.reset):
50906         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
50907         * inspector/front-end/ScriptsPanel.js:
50908         (WebInspector.ScriptsPanel):
50909         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
50910         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
50911         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
50912         * inspector/front-end/StatusBarButton.js: Added.
50913         (WebInspector.StatusBarButton):
50914         (WebInspector.StatusBarButton.prototype._clicked):
50915         (WebInspector.StatusBarButton.prototype.get disabled):
50916         (WebInspector.StatusBarButton.prototype.set disabled):
50917         (WebInspector.StatusBarButton.prototype.get title):
50918         (WebInspector.StatusBarButton.prototype.set title):
50919         (WebInspector.StatusBarButton.prototype.get toggled):
50920         (WebInspector.StatusBarButton.prototype.set toggled):
50921         (WebInspector.StatusBarButton.prototype.get visible):
50922         (WebInspector.StatusBarButton.prototype.set visible):
50923         * inspector/front-end/WebKit.qrc:
50924         * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
50925         * inspector/front-end/inspector.html:
50927 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
50929         Reviewed by Simon Hausmann.
50931         [Qt] Add shadow support in GraphicsContext::fillRect().
50933         * platform/graphics/qt/GraphicsContextQt.cpp:
50934         (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
50935         (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
50937 2009-08-13  David Levin  <levin@chromium.org>
50939         Unreviewed build fix for Chromium Linux.
50941         Rollback r47157 as this broke debug tests of Chromium Linux.
50943         * platform/graphics/skia/PlatformContextSkia.cpp:
50944         (PlatformContextSkia::setupPaintCommon):
50946 2009-08-13  David Levin  <levin@chromium.org>
50948         Unreviewed build fix for chromium.
50950         The chromium build broke due to r47185 which added
50951         a cookies array to inspector/InspectorBackend.idl.
50953         * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
50954         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
50955         (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
50956          for the cookies callback.
50958 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
50960         Reviewed by Timothy Hatcher.
50962         Inspector: Show Hidden Cookie Data
50963         https://bugs.webkit.org/show_bug.cgi?id=28185
50965           Added new file Cookie.h to the WebCore XCode
50967         * WebCore.xcodeproj/project.pbxproj:
50969           InspectorController.cookies() binding
50971         * bindings/js/JSInspectorBackendCustom.cpp:
50972         (WebCore::JSInspectorBackend::cookies):
50973         * inspector/InspectorBackend.idl:
50975           Struct for static Cookie information
50976           (name, value, path, domain, expires, httpOnly, secure, session)
50978         * platform/Cookie.h: Added.
50979         (WebCore::Cookie::Cookie):
50980         
50981           Getter for the a list of raw Cookies
50982           getRawCookies(., ., out Vector<Cookie>)
50983         
50984         * platform/CookieJar.h:
50986           Implementation of getRawCookies for the mac platform.
50988         * platform/mac/CookieJar.mm:
50989         (WebCore::getRawCookies):
50991           Stub other CookieJar implementations to satisfy the interface.
50993         * platform/haiku/CookieJarHaiku.cpp:
50994         (WebCore::getRawCookies):
50995         * platform/network/chromium/CookieJarChromium.cpp:
50996         (WebCore::getRawCookies):
50997         * platform/network/curl/CookieJarCurl.cpp:
50998         (WebCore::getRawCookies):
50999         * platform/network/soup/CookieJarSoup.cpp:
51000         (WebCore::getRawCookies):
51001         * platform/network/win/CookieJarCFNetWin.cpp:
51002         (WebCore::getRawCookies):
51003         * platform/network/win/CookieJarWin.cpp:
51004         (WebCore::getRawCookies):
51005         * platform/qt/CookieJarQt.cpp:
51006         (WebCore::getRawCookies):
51008 2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
51010         Reviewed by Timothy Hatcher.
51012         Inspector: Cookies in Storage Panel
51013         https://bugs.webkit.org/show_bug.cgi?id=27202
51015           Data Structure for a Cookie. Just Key/Value for Now:
51017         * inspector/front-end/Cookie.js: Added.
51018         (WebInspector.Cookie):
51019         (WebInspector.Cookie.prototype.get key):
51020         (WebInspector.Cookie.prototype.set key):
51021         (WebInspector.Cookie.prototype.get value):
51022         (WebInspector.Cookie.prototype.set value):
51024           A Storage View for Cookies.  Allows for Refresh/Delete:
51026         * inspector/front-end/CookieItemsView.js: Added.
51027         (WebInspector.CookieItemsView):
51028         (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
51029         (WebInspector.CookieItemsView.prototype.show):
51030         (WebInspector.CookieItemsView.prototype.hide):
51031         (WebInspector.CookieItemsView.prototype.update):
51032         (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
51033         (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
51034         (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
51035         (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
51037           Include a SidebarSection Section in the Databases Panel:
51039         * inspector/front-end/DatabasesPanel.js:
51040         (WebInspector.DatabasesPanel):
51041         (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
51042         (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
51043         (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
51044         (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
51045         (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
51046         (WebInspector.CookieSidebarTreeElement):
51047         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
51048         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
51049         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
51050         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
51051         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
51053           New "Cookies" Image for the Sidebar:
51055         * inspector/front-end/Images/cookie.png: Added.
51056         * inspector/front-end/inspector.css:
51058           Include the Added Files where appropriate:
51060         * inspector/front-end/WebKit.qrc:
51061         * inspector/front-end/inspector.html:
51063 2009-08-12  George Wright  <george.wright@torchmobile.com>
51065         Reviewed by George Staikos.
51067         Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
51069         https://bugs.webkit.org/show_bug.cgi?id=28246
51071         * WebCore.pro:
51073 2009-08-12  George Staikos  <george.staikos@torchmobile.com>
51075         Reviewed by Adam Treat.
51077         Mark unused variables to avoid compile failures in -Werror.
51079         * wml/WMLAnchorElement.cpp:
51080         (WebCore::WMLAnchorElement::deregisterTask):
51081         * wml/WMLDoElement.cpp:
51082         (WebCore::WMLDoElement::deregisterTask):
51084 2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
51086         Reviewed by Niko Zimmermann.
51088         This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
51089         It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
51090         Minor fixes by Eric Seidel and George Staikos.
51091         https://bugs.webkit.org/show_bug.cgi?id=23727
51093         No new tests, the tests have already been landed at LayoutTests/fast/wcss/
51095         * WebCore.pro:
51096         * css/CSSParser.cpp:
51097         (WebCore::CSSParser::parseValue):
51098         * css/CSSPrimitiveValueMappings.h:
51099         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51100         * css/CSSStyleSelector.cpp:
51101         (WebCore::CSSStyleSelector::applyProperty):
51102         * css/CSSValueKeywords.in:
51103         * css/WCSSPropertyNames.in: Added.
51104         * css/WCSSValueKeywords.in: Added.
51105         * rendering/RenderMarquee.cpp:
51106         (WebCore::RenderMarquee::start):
51107         * rendering/RenderObject.cpp:
51108         (WebCore::RenderObject::createObject):
51109         * rendering/style/RenderStyleConstants.h:
51110         (WebCore::):
51112 2009-08-12  George Wright  <george.wright@torchmobile.com>
51114         Reviewed by David Hyatt.
51116         Update the canvas renderer's intrinsic size with the zoomed
51117         lengths and ensure the intrinsic size is correct when setting
51118         an initial style.
51120         https://bugs.webkit.org/show_bug.cgi?id=26908
51122         Test: fast/canvas/canvas-zoom.html
51124         * rendering/RenderHTMLCanvas.cpp:
51125         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
51126         * rendering/RenderReplaced.cpp:
51127         (WebCore::RenderReplaced::styleDidChange):
51129 2009-08-12  Alpha Lam  <hclam@chromium.org>
51131         Reviewed by Simon Fraser.
51133         Fix regression for dragging the media controller thumb.
51134         https://bugs.webkit.org/show_bug.cgi?id=28211
51136         Modified the conditions for rejecting events on the media controller
51137         to only rejecting mouse events not from the left button.
51139         Test: media/controls-drag-timebar.html
51141         * rendering/MediaControlElements.cpp:
51142         (WebCore::MediaControlTimelineElement::defaultEventHandler):
51144 2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
51146         Reviewed by Eric Seidel.
51148         Fixing a deadlock caused by two transactions that run on two
51149         different database handles for the same DB. Adding a per-DB thread
51150         transaction coordinator that allows the DB thread to run only one
51151         transaction per DB file at any given time.
51153         Adding a regression test for this bug.
51155         Test: storage/multiple-transactions-on-different-handles.html
51157         https://bugs.webkit.org/show_bug.cgi?id=27966
51159         * GNUmakefile.am:
51160         * WebCore.gypi:
51161         * WebCore.vcproj/WebCore.vcproj:
51162         * WebCore.xcodeproj/project.pbxproj:
51163         * storage/Database.cpp:
51164         (WebCore::Database::transactionCoordinator):
51165         * storage/Database.h:
51166         * storage/DatabaseThread.cpp:
51167         (WebCore::DatabaseThread::DatabaseThread):
51168         * storage/DatabaseThread.h:
51169         (WebCore::DatabaseThread::transactionCoordinator):
51170         * storage/SQLTransaction.cpp:
51171         (WebCore::SQLTransaction::SQLTransaction):
51172         (WebCore::SQLTransaction::debugStepName):
51173         (WebCore::SQLTransaction::performNextStep):
51174         (WebCore::SQLTransaction::aquireLock):
51175         (WebCore::SQLTransaction::lockAquired):
51176         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
51177         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
51178         * storage/SQLTransaction.h:
51179         * storage/SQLTransactionCoordinator.cpp: Added.
51180         * storage/SQLTransactionCoordinator.h: Added.
51182 2009-08-12  Darin Adler  <darin@apple.com>
51184         Reviewed by Geoff Garen.
51186         Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
51187         https://bugs.webkit.org/show_bug.cgi?id=28194
51189         * GNUmakefile.am: Added the two new source files.
51190         * WebCore.gypi: Ditto.
51191         * WebCore.pro: Ditto.
51192         * WebCore.vcproj/WebCore.vcproj: Ditto.
51193         * WebCore.xcodeproj/project.pbxproj: Ditto.
51194         * WebCoreSources.bkl: Ditto.
51196         * bindings/js/JSCSSRuleListCustom.cpp: Added.
51197         (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
51198         on rules in the list.
51200         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
51201         (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
51202         markDOMObjectWrapper on the CSSValue objects that are owned by the
51203         declaration as values of the properties.
51205         * bindings/js/JSDOMBinding.cpp:
51206         (WebCore::isObservableThroughDOM): Added code to handle some
51207         cases where nodes are observable because they own objects that
51208         in turn have custom properties.
51210         * bindings/js/JSDOMBinding.h: Fix a typo in the header.
51212         * bindings/js/JSDocumentCustom.cpp:
51213         (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
51214         for implementation and styleSheets.
51216         * bindings/js/JSElementCustom.cpp:
51217         (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
51218         for attributes and style.
51220         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
51221         (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
51222         on the rendering context.
51224         * bindings/js/JSStyleSheetCustom.cpp:
51225         (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
51226         items in the stylesheet.
51228         * bindings/js/JSStyleSheetListCustom.cpp:
51229         (WebCore::JSStyleSheetList::markChildren): Added. Calls
51230         markDOMObjectWrapper on stylesheets in the list.
51232         * css/CSSRuleList.idl: Added CustomMarkFunction.
51233         * css/CSSStyleDeclaration.idl: Ditto.
51234         * css/StyleSheetList.idl: Ditto.
51235         * dom/Element.idl: Ditto.
51236         * html/HTMLCanvasElement.idl: Ditto.
51238         * dom/Element.h: Made everything private that could be.
51239         Added access to the attributeMap that does returns
51240         the existing map without doing any of the lazy-updating work. This
51241         is needed to get at the existing attributes during garbage collection
51242         without having side effects.
51244         * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
51245         members private. Added renderingContext2D function for use in
51246         JSHTMLCanvasElement::markChildren.
51248 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
51250         Reviewed by Eric Seidel.
51252         Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
51253         work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
51254         https://bugs.webkit.org/show_bug.cgi?id=28023
51255         https://bugs.webkit.org/show_bug.cgi?id=24794
51256         
51257         Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
51258         scroll, and use that for pan scrolling.
51260         Test: platform/win/fast/events/panScroll-nested-divs.html
51262         * page/EventHandler.cpp:
51263         (WebCore::EventHandler::handleMouseDraggedEvent):
51264         (WebCore::EventHandler::updateAutoscrollRenderer):
51265         (WebCore::EventHandler::handleMousePressEvent):
51266         * rendering/RenderBox.cpp:
51267         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
51268         * rendering/RenderBox.h:
51269         * rendering/RenderLayer.cpp:
51270         (WebCore::RenderLayer::scrollByRecursively):
51272 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
51274         Reviewed by Adam Roben.
51276         Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
51277         list detaches drop down.
51279         Added a function for Windows PopupMenu's to return their class name.
51281          * platform/PopupMenu.h:
51282          * platform/win/PopupMenuWin.cpp:
51283          (WebCore::PopupMenu::popupClassName):
51285 2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
51287         Reviewed by Dan Bernstein.
51289         WINCE PORT: Color and Gradient
51290         https://bugs.webkit.org/show_bug.cgi?id=27511
51292         * platform/graphics/wince/ColorWince.cpp: Added.
51293         * platform/graphics/wince/GradientWince.cpp: Added.
51295 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51297         Reviewed by Eric Seidel.
51299         fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
51300         https://bugs.webkit.org/show_bug.cgi?id=28172
51302         No new tests because it's a just typo fix.
51304         * platform/graphics/skia/PlatformContextSkia.cpp:
51305         (PlatformContextSkia::setupPaintCommon):
51307 2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
51309         Reviewed by Darin Adler.
51311         https://bugs.webkit.org/show_bug.cgi?id=27458
51312         Support for the :default CSS pseudoclass, as per HTML5 spec.
51313         http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
51315         Tests: fast/css/pseudo-default-001.html
51316                fast/css/pseudo-default-002.html
51317                fast/css/pseudo-default-003.html
51318                fast/css/pseudo-default-004.html
51320         * css/CSSSelector.cpp:
51321         (WebCore::CSSSelector::extractPseudoType): pseudoDefault
51322         * css/CSSSelector.h:
51323         (WebCore::CSSSelector::):
51324         * css/CSSStyleSelector.cpp:
51325         (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
51326         aware that only one default button can be present in a form
51327         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
51328         the :default CSS pseudoclass
51329         * dom/Element.h:
51330         (WebCore::Element::isDefaultButtonForForm): new method to determine
51331         whether a FormControl is a default button for a given form
51332         * html/HTMLFormControlElement.cpp:
51333         (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
51334         * html/HTMLFormControlElement.h:
51335         * html/HTMLFormElement.cpp:
51336         (WebCore::HTMLFormElement::defaultButton): extracts the default button
51337         from the form
51338         * html/HTMLFormElement.h:
51340 2009-08-12  David Levin  <levin@chromium.org>
51342         No review, rolling out r47106.
51343         https://bugs.webkit.org/show_bug.cgi?id=28215
51345         This patch relied on a new version of v8 which is not available
51346         in chromium yet.
51348         * bindings/v8/V8Binding.cpp:
51349         (WebCore::v8StringToAtomicWebCoreString):
51351 2009-08-12  Steve Block  <steveblock@google.com>
51353         Reviewed by Eric Seidel.
51355         Bug 26993 : Geolocation::requestPermission()
51356         https://bugs.webkit.org/show_bug.cgi?id=26993
51358         Second patch to allow the Geolocation permission request to chrome to be asynchronous
51359         or synchronous. Fixes a bug where callbacks were called twice when permissions
51360         are granted synchronously.
51362         No new tests required.
51364         * page/Geolocation.cpp:
51365         (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
51366         (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
51367         (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
51368         * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
51370 2009-08-12  Anders Carlsson  <andersca@apple.com>
51372         Reviewed by Sam Weinig.
51374         <rdar://problem/6952336>
51375         CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const 27
51377         Make sure to set the security origin before calling dispatchWindowObjectAvailable.
51378         
51379         * loader/FrameLoader.cpp:
51380         (WebCore::FrameLoader::begin):
51382 2009-08-12  Xiaomei Ji  <xji@chromium.org>
51384         Reviewed by Eric Seidel.
51386         Fix [Chromium] drop down menu letter selection, skip selections
51387         https://bugs.webkit.org/show_bug.cgi?id=28205
51389         Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
51390         event to the popup, which is not possible (eventSender sends the key
51391         events through webview, we want to go through the webwidget).
51393         * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
51394         * platform/chromium/PopupMenuChromium.cpp:
51395         (WebCore::isCharacterTypeEvent): style change.
51396         (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
51397         a character type event to avoid calling twice for English.
51398         (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
51400 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51402         Reviewed by Eric Seidel.
51404         [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
51405         https://bugs.webkit.org/show_bug.cgi?id=28130
51407         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
51408         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
51409         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
51410         (WebCore::GraphicsContext::GraphicsContext):
51411         (WebCore::GraphicsContext::~GraphicsContext):
51412         (WebCore::GraphicsContext::platformContext):
51413         (WebCore::GraphicsContext::savePlatformState):
51414         (WebCore::GraphicsContext::restorePlatformState):
51415         (WebCore::GraphicsContext::drawRect):
51416         (WebCore::GraphicsContext::drawLine):
51417         (WebCore::GraphicsContext::drawEllipse):
51418         (WebCore::GraphicsContext::strokeArc):
51419         (WebCore::GraphicsContext::strokePath):
51420         (WebCore::GraphicsContext::drawConvexPolygon):
51421         (WebCore::GraphicsContext::fillRect):
51422         (WebCore::GraphicsContext::fillRoundedRect):
51423         (WebCore::GraphicsContext::fillPath):
51424         (WebCore::GraphicsContext::beginPath):
51425         (WebCore::GraphicsContext::addPath):
51426         (WebCore::GraphicsContext::clip):
51427         (WebCore::GraphicsContext::drawFocusRing):
51428         (WebCore::GraphicsContext::drawLineForText):
51429         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
51430         (WebCore::GraphicsContext::roundToDevicePixels):
51431         (WebCore::GraphicsContext::beginTransparencyLayer):
51432         (WebCore::GraphicsContext::endTransparencyLayer):
51433         (WebCore::GraphicsContext::clearRect):
51434         (WebCore::GraphicsContext::strokeRect):
51435         (WebCore::GraphicsContext::setLineCap):
51436         (WebCore::GraphicsContext::setLineJoin):
51437         (WebCore::GraphicsContext::setMiterLimit):
51438         (WebCore::GraphicsContext::setAlpha):
51439         (WebCore::GraphicsContext::setCompositeOperation):
51440         (WebCore::GraphicsContext::clipOut):
51441         (WebCore::GraphicsContext::clipToImageBuffer):
51442         (WebCore::GraphicsContext::getCTM):
51443         (WebCore::GraphicsContext::translate):
51444         (WebCore::GraphicsContext::origin):
51445         (WebCore::GraphicsContext::rotate):
51446         (WebCore::GraphicsContext::scale):
51447         (WebCore::GraphicsContext::clipOutEllipseInRect):
51448         (WebCore::GraphicsContext::addInnerRoundedRectClip):
51449         (WebCore::GraphicsContext::concatCTM):
51450         (WebCore::GraphicsContext::setPlatformShouldAntialias):
51451         (WebCore::GraphicsContext::setImageInterpolationQuality):
51452         (WebCore::GraphicsContext::setURLForRect):
51453         (WebCore::GraphicsContext::setPlatformFont):
51454         (WebCore::GraphicsContext::setPlatformStrokeColor):
51455         (WebCore::GraphicsContext::getHaikuStrokeStyle):
51456         (WebCore::GraphicsContext::setPlatformStrokeStyle):
51457         (WebCore::GraphicsContext::setPlatformStrokeThickness):
51458         (WebCore::GraphicsContext::setPlatformFillColor):
51459         (WebCore::GraphicsContext::clearPlatformShadow):
51460         (WebCore::GraphicsContext::setPlatformShadow):
51462 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51464         Reviewed by Eric Seidel.
51466         [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
51467         https://bugs.webkit.org/show_bug.cgi?id=28128
51469         * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
51470         * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
51471         * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
51472         * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
51473         * platform/graphics/GraphicsContext.cpp: 
51474         * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
51475         class for Haiku. Adding getHaikuStrokeStyle() function.
51476         * platform/graphics/Icon.h: Adding an empty Icon() constructor because
51477         this class isn't implemented for the moment.
51478         * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
51479         for Haiku.
51480         * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
51481         * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
51482         * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
51483         * platform/graphics/Path.h: BRegion is the Path class in Haiku.
51484         * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
51485         native pattern type.
51486         * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.
51488 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51490         Reviewed by Eric Seidel.
51492         [Haiku] Adding modification to the WebCore/platform/ files to allow
51493         the Haiku port.
51494         https://bugs.webkit.org/show_bug.cgi?id=28128
51496         * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
51497         class of Haiku.
51498         * platform/Cursor.h: BCursor is the Cursor class of Haiku.
51499         * platform/DragData.h: Use a BMessage as DragDataRef.
51500         * platform/DragImage.h: Use a BBitmap as DragImageRef.
51501         * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
51502         * platform/PlatformMenuDescription.h: BMenu is the 
51503         PlatformMenuDescription class of Haiku.
51504         * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
51505         * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
51506         * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
51507         * platform/Widget.h: BView is the PlatformWidget class of Haiku.
51509 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51511         Reviewed by Eric Seidel.
51513         [Haiku] Tiny modifications on WebCore files to allow Haiku port.
51514         https://bugs.webkit.org/show_bug.cgi?id=28128
51516         * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
51517         * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
51518         so many PLATFORM(HAIKU) were added to these functions.
51519         (WebCore::CachedFont::~CachedFont):
51520         (WebCore::CachedFont::ensureCustomFontData):
51521         (WebCore::CachedFont::platformDataFromCustomData):
51522         (WebCore::CachedFont::allClientsRemoved):
51523         * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
51524         invertSenseOfTabsToLinks() function.
51525         * page/haiku/DragControllerHaiku.cpp: Style cleanup.
51526         * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
51527         behaves like Cairo or Wx, (not like Skia).
51528         (WebCore::RGBA32Buffer::getAddr):
51529         * platform/text/PlatformString.h: Adding the String(BString&) and BString()
51530         methods specific to Haiku.
51531         * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
51532         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
51533         (WebCore::currentSearchLocaleID): Missing function.
51535 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51537         Reviewed by Eric Seidel.
51539         [Haiku] Adding the ScrollbarTheme files.
51540         https://bugs.webkit.org/show_bug.cgi?id=28125
51542         * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
51543         (buttonWidth):
51544         (WebCore::ScrollbarTheme::nativeTheme):
51545         (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
51546         (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
51547         (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
51548         (WebCore::ScrollbarThemeHaiku::hasButtons):
51549         (WebCore::ScrollbarThemeHaiku::hasThumb):
51550         (WebCore::ScrollbarThemeHaiku::backButtonRect):
51551         (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
51552         (WebCore::ScrollbarThemeHaiku::trackRect):
51553         (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
51554         (WebCore::ScrollbarThemeHaiku::paintButton):
51555         (WebCore::ScrollbarThemeHaiku::paintThumb):
51556         * platform/haiku/ScrollbarThemeHaiku.h: Added.
51558 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
51560         Reviewed by Eric Seidel.
51562         [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
51563         https://bugs.webkit.org/show_bug.cgi?id=28122
51565         * platform/graphics/haiku/ColorHaiku.cpp: Added.
51566         (WebCore::Color::Color):
51567         (WebCore::Color::operator rgb_color):
51568         (WebCore::focusRingColor):
51569         * platform/graphics/haiku/FloatPointHaiku.cpp: Added.
51570         (WebCore::FloatPoint::FloatPoint):
51571         (WebCore::FloatPoint::operator BPoint):
51572         * platform/graphics/haiku/FloatRectHaiku.cpp: Added.
51573         (WebCore::FloatRect::FloatRect):
51574         (WebCore::FloatRect::operator BRect):
51575         * platform/graphics/haiku/GradientHaiku.cpp: Added.
51576         (WebCore::Gradient::platformDestroy):
51577         (WebCore::Gradient::platformGradient):
51578         (WebCore::Gradient::fill):
51579         * platform/graphics/haiku/IntPointHaiku.cpp: Added.
51580         (WebCore::IntPoint::IntPoint):
51581         (WebCore::IntPoint::operator BPoint):
51582         * platform/graphics/haiku/IntRectHaiku.cpp: Added.
51583         (WebCore::IntRect::IntRect):
51584         (WebCore::IntRect::operator BRect):
51585         * platform/graphics/haiku/IntSizeHaiku.cpp: Added.
51586         (WebCore::IntSize::IntSize):
51587         (WebCore::IntSize::operator BSize):
51588         * platform/graphics/haiku/PathHaiku.cpp: Added.
51589         (WebCore::Path::Path):
51590         (WebCore::Path::~Path):
51591         (WebCore::Path::operator=):
51592         (WebCore::Path::hasCurrentPoint):
51593         (WebCore::Path::contains):
51594         (WebCore::Path::translate):
51595         (WebCore::Path::boundingRect):
51596         (WebCore::Path::moveTo):
51597         (WebCore::Path::addLineTo):
51598         (WebCore::Path::addQuadCurveTo):
51599         (WebCore::Path::addBezierCurveTo):
51600         (WebCore::Path::addArcTo):
51601         (WebCore::Path::closeSubpath):
51602         (WebCore::Path::addArc):
51603         (WebCore::Path::addRect):
51604         (WebCore::Path::addEllipse):
51605         (WebCore::Path::clear):
51606         (WebCore::Path::isEmpty):
51607         (WebCore::Path::debugString):
51608         (WebCore::Path::apply):
51609         (WebCore::Path::transform):
51610         (WebCore::Path::strokeBoundingRect):
51612 2009-08-12  Lyon Chen  <lyon.chen@torchmobile.com>
51614         Reviewed by George Staikos.
51616         WINCE PORT: Implement Keygen for WINCE
51617         https://bugs.webkit.org/show_bug.cgi?id=27543
51619         * platform/wince/KeygenWince.cpp: Added.
51621 2009-08-12  Brent Fulgham  <bfulgham@webkit.org>
51623         Rubber-stamped by Kevin Ollivier.
51625         Handle crash in wx due to null value passed to strlen in
51626         the CString constructor.
51628         * platform/network/curl/ResourceHandleManager.cpp:
51629         (WebCore::certificatePath):  Check for null return from getenv
51630         and use default CString constructor instead.
51632 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51634         Reviewed by Eric Seidel.
51636         WINCE PORT: simple stubs to make it build for WINCE
51637         https://bugs.webkit.org/show_bug.cgi?id=27543
51639         * platform/wince/DragDataWince.cpp: Added.
51640         * platform/wince/DragImageWince.cpp: Added.
51641         * platform/wince/EditorWince.cpp: Added.
51642         * platform/wince/KURLWince.cpp: Added.
51644 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51646         Reviewed by George Staikos.
51648         WINCEPORT: FileSystem and FileChooser
51649         https://bugs.webkit.org/show_bug.cgi?id=27543
51651         * platform/wince/FileChooserWince.cpp: Added.
51652         * platform/wince/FileSystemWince.cpp: Added.
51654 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51656         Reviewed by Eric Seidel.
51658         WINCE PORT: implement Cursor for WINCE. There's no real cursor on most
51659         WinMob devices. We pass the cursor info to application, which so that 
51660         can determine what to do.
51661         https://bugs.webkit.org/show_bug.cgi?id=27543
51663         * platform/wince/CursorWince.cpp: Added.
51665 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51667         Reviewed by George Staikos.
51669         WINCE PORT: MIMETypeRegistry
51670         https://bugs.webkit.org/show_bug.cgi?id=27543
51672         * platform/wince/MIMETypeRegistryWince.cpp: Added.
51674 2009-08-12  Joe Mason  <joe.mason@torchmobile.com>
51676         Reviewed by George Staikos.
51678         WINCE PORT: Pasteboard and SearchPopupMenu
51679         https://bugs.webkit.org/show_bug.cgi?id=27543
51681         * platform/wince/PasteboardWince.cpp: Added.
51682         * platform/wince/SearchPopupMenuWince.cpp: Added.
51684 2009-08-12  Yong Li  <yong.li@torchmobile.com>
51686         Reviewed by George Staikos.
51688         WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp
51689         https://bugs.webkit.org/show_bug.cgi?id=27543
51691         * platform/wince/SharedTimerWince.cpp: Added.
51692         * platform/wince/SystemTimeWince.cpp: Added.
51694 2009-08-12  Mark Mentovai  <mark@chromium.org>
51696         Reviewed by Darin Adler.
51698         https://bugs.webkit.org/show_bug.cgi?id=28204
51699         Allow C+exceptions to be disabled in WebCore's V8 Mac build.
51701         * WebCorePrefix.h:
51702         Only undefine |try| and |catch| when building Objective-C[++],
51703         leaving the C+library definitions intact for C++.
51705 2009-08-12  Nate Chapin  <japhet@chromium.org>
51707         Reviewed by Adam Barth.
51709         Add a Custom Setter for DOMWindowEvent in the V8 bindings.
51710         https://bugs.webkit.org/show_bug.cgi?id=27719
51712         Tests: fast/events/set-event-in-another-frame.html
51713                fast/events/set-event-to-null.html
51715         * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 
51716             as it currently doesn't support a custom getter 
51717             and a v8-specific custom setter simultaneously.
51718         * bindings/v8/custom/V8CustomBinding.h:
51719         * bindings/v8/custom/V8DOMWindowCustom.cpp:
51720         (WebCore::ACCESSOR_SETTER):
51721         * page/DOMWindow.idl:
51723 2009-08-12  Peter Kasting  <pkasting@google.com>
51725         Reviewed by Adam Treat.
51727         https://bugs.webkit.org/show_bug.cgi?id=27965
51728         Merge wx/ImageSourceWx.cpp into ImageSource.cpp.  No changes to
51729         ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp.
51731         * WebCore.gypi:
51732         * WebCoreSources.bkl:
51733         * platform/graphics/wx/ImageSourceWx.cpp: Removed.
51734         * webcore-wx.bkl:
51736 2009-08-12  Peter Kasting  <pkasting@google.com>
51738         Reviewed by Dave Levin.
51740         https://bugs.webkit.org/show_bug.cgi?id=27933
51741         Build fix after r47099.
51743         * platform/graphics/skia/ImageBufferSkia.cpp:
51744         (WebCore::getImageData):
51745         (WebCore::putImageData):
51747 2009-08-08  Yong Li  <yong.li@torchmobile.com>
51749         Reviewed by Adam Treat.
51751         WINCE PORT: Implement Path for WINCE. Most code can be
51752         reused for other ports that don't have native path support
51753         https://bugs.webkit.org/show_bug.cgi?id=28188
51755         Written also by George Staikos (including quadCurve() and bezier())
51757         * platform/graphics/wince/PathWince.cpp: Added.
51758         * platform/graphics/wince/PlatformPathWince.cpp: Added.
51759         * platform/graphics/wince/PlatformPathWince.h: Added.
51760         * platform/graphics/wince/WinceGraphicsExtras.h: Added.
51762 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
51764         "Double-click to add" new style button does not always show up [quick fix]
51765         https://bugs.webkit.org/show_bug.cgi?id=28187
51767         * inspector/front-end/StylesSidebarPane.js:
51768         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
51770 2009-08-12  Crystal Zhang <crystal.zhang@torchmobile.com>
51772         Reviewed by George Staikos.
51774         WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate
51775         https://bugs.webkit.org/show_bug.cgi?id=28178
51777         * platform/graphics/wince/MediaPlayerPrivateWince.h: Added.
51778         * platform/graphics/wince/MediaPlayerProxy.cpp: Added.
51779         * platform/graphics/wince/MediaPlayerProxy.h: Added.
51781 2009-08-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
51783         Reviewed by Eric Seidel.
51785         HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit
51786         https://bugs.webkit.org/show_bug.cgi?id=28175
51788         Call QDir::toNativeSeparators() before the path is passed to the OS.
51790         Based on work by David Leong.
51791         
51792         * platform/qt/FileSystemQt.cpp:
51793         (WebCore::pathByAppendingComponent):
51795 2009-08-12  Dirk Schulze  <krit@webkit.org>
51797         Reviewed by Ariya Hidayat.
51799         Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead
51800         of getImageData. This changed since r47099.
51802         * platform/graphics/filters/FEColorMatrix.cpp:
51803         (WebCore::FEColorMatrix::apply):
51805 2009-08-12  Viet-Trung Luu  <viettrungluu@gmail.com>
51807         Reviewed by Dimitri Glazkov.
51809         Explicitly set control tints for Chromium/Mac, since the controls'
51810         NSCell(s) lack an NSView and hence their tint isn't updated
51811         automatically when the application is activated/deactivated.
51812         https://bugs.webkit.org/show_bug.cgi?id=28108
51813         http://crbug.com/18199
51815         * rendering/RenderThemeChromiumMac.mm:
51816         (WebCore::updateNSCellControlTint):
51817         (WebCore::RenderThemeChromiumMac::paintCheckbox):
51818         (WebCore::RenderThemeChromiumMac::paintRadio):
51819         (WebCore::RenderThemeChromiumMac::paintButton):
51820         (WebCore::RenderThemeChromiumMac::paintMenuList):
51821         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
51822         (WebCore::RenderThemeChromiumMac::paintSearchField):
51823         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
51824         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
51825         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
51827 2009-08-12  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
51829         Reviewed by Dimitri Glazkov.
51831         [V8] Fix atomic string externalization crash.
51832         Atomic string externalization assumes that all non-empty strings
51833         can be externalized which is untrue on 64-bit.  This change fixed
51834         that.
51836         https://bugs.webkit.org/show_bug.cgi?id=28215
51838         This bug causes loads of test crashes, no need to add new tests
51839         specifically for this.
51841         * bindings/v8/V8Binding.cpp:
51842         (WebCore::v8StringToAtomicWebCoreString):
51844 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
51846         Reviewed by Holger Freyther.
51848         [Qt] Fix box-shadow painting in r47103. The edge should not be blurry.
51849         Also optimize by not having to save and restore painter state.
51851         * platform/graphics/qt/GraphicsContextQt.cpp:
51852         (WebCore::GraphicsContext::drawRect):
51853         (WebCore::GraphicsContext::fillRect):
51855 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
51857         Reviewed by Adam Treat.
51859         [Qt] Fix coding style in GraphicsContextQt.cpp
51861         * platform/graphics/qt/GraphicsContextQt.cpp:
51862         (WebCore::toQtCompositionMode):
51863         (WebCore::toQtLineCap):
51864         (WebCore::toQtLineJoin):
51865         (WebCore::GraphicsContextPlatformPrivate::p):
51866         (WebCore::GraphicsContext::drawLine):
51867         (WebCore::GraphicsContext::strokeArc):
51868         (WebCore::GraphicsContext::drawConvexPolygon):
51869         (WebCore::GraphicsContext::pen):
51870         (WebCore::GraphicsContext::fillPath):
51871         (WebCore::GraphicsContext::strokePath):
51872         (WebCore::GraphicsContext::fillRect):
51873         (WebCore::GraphicsContext::clipPath):
51874         (WebCore::GraphicsContext::drawFocusRing):
51875         (WebCore::GraphicsContext::beginTransparencyLayer):
51876         (WebCore::GraphicsContext::endTransparencyLayer):
51877         (WebCore::GraphicsContext::clearRect):
51878         (WebCore::GraphicsContext::setLineCap):
51879         (WebCore::GraphicsContext::setLineJoin):
51880         (WebCore::GraphicsContext::setMiterLimit):
51881         (WebCore::GraphicsContext::setAlpha):
51882         (WebCore::GraphicsContext::clipOut):
51883         (WebCore::GraphicsContext::clipOutEllipseInRect):
51884         (WebCore::GraphicsContext::addInnerRoundedRectClip):
51885         (WebCore::GraphicsContext::setPlatformStrokeColor):
51886         (WebCore::GraphicsContext::setPlatformStrokeStyle):
51887         (WebCore::GraphicsContext::setPlatformStrokeThickness):
51889 2009-08-12  Szabo Carol  <carol.szabo@nokia.com>
51891         Reviewed by Simon Hausmann and Ariya Hidayat.
51893         https://bugs.webkit.org/show_bug.cgi?id=23291
51895         [Qt] Partial support for -webkit-box-shadow. Blur is not support and
51896         the shadow still does not go well with border radius.
51898         * platform/graphics/qt/GraphicsContextQt.cpp:
51899         (WebCore::GraphicsContext::drawRect):
51900         (WebCore::GraphicsContext::fillRect):
51902 2009-08-12  Xan Lopez  <xlopez@igalia.com>
51904         Reviewed by Jan Alonzo.
51906         Use AM_V_GEN in a few more places, for less noisy builds.
51908         * GNUmakefile.am:
51910 2009-08-12  Dirk Schulze  <krit@webkit.org>
51912         Reviewed by Oliver Hunt.
51914         SVG Filter premultiplied color support for getImageDate/putImageData
51915         [https://bugs.webkit.org/show_bug.cgi?id=27933]
51917         Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData
51918         and putImageData of ImageBuffer need support for premultiplied colors.
51920         * html/CanvasRenderingContext2D.cpp:
51921         (WebCore::CanvasRenderingContext2D::getImageData):
51922         (WebCore::CanvasRenderingContext2D::putImageData):
51923         * platform/graphics/ImageBuffer.h:
51924         (WebCore::):
51925         * platform/graphics/cairo/ImageBufferCairo.cpp:
51926         (WebCore::getImageData):
51927         (WebCore::ImageBuffer::getUnmultipliedImageData):
51928         (WebCore::ImageBuffer::getPremultipliedImageData):
51929         (WebCore::putImageData):
51930         (WebCore::ImageBuffer::putUnmultipliedImageData):
51931         (WebCore::ImageBuffer::putPremultipliedImageData):
51932         * platform/graphics/cg/ImageBufferCG.cpp:
51933         (WebCore::getImageData):
51934         (WebCore::ImageBuffer::getUnmultipliedImageData):
51935         (WebCore::ImageBuffer::getPremultipliedImageData):
51936         (WebCore::putImageData):
51937         (WebCore::ImageBuffer::putUnmultipliedImageData):
51938         (WebCore::ImageBuffer::putPremultipliedImageData):
51939         * platform/graphics/qt/ImageBufferQt.cpp:
51940         (WebCore::getImageData):
51941         (WebCore::ImageBuffer::getUnmultipliedImageData):
51942         (WebCore::ImageBuffer::getPremultipliedImageData):
51943         (WebCore::putImageData):
51944         (WebCore::ImageBuffer::putUnmultipliedImageData):
51945         (WebCore::ImageBuffer::putPremultipliedImageData):
51946         * platform/graphics/skia/ImageBufferSkia.cpp:
51947         (WebCore::getImageData):
51948         (WebCore::ImageBuffer::getUnmultipliedImageData):
51949         (WebCore::ImageBuffer::getPremultipliedImageData):
51950         (WebCore::putImageData):
51951         (WebCore::ImageBuffer::putUnmultipliedImageData):
51952         (WebCore::ImageBuffer::putPremultipliedImageData):
51953         * platform/graphics/wx/ImageBufferWx.cpp:
51954         (WebCore::ImageBuffer::getUnmultipliedImageData):
51955         (WebCore::ImageBuffer::getPremultipliedImageData):
51956         (WebCore::ImageBuffer::putUnmultipliedImageData):
51957         (WebCore::ImageBuffer::putPremultipliedImageData):
51958         * svg/graphics/SVGResourceMasker.cpp:
51959         (WebCore::SVGResourceMasker::applyMask):
51961 2009-08-12  Mikhail Naganov  <mnaganov@chromium.org>
51963         Reviewed by Timothy Hatcher.
51965         Changed Number.bytesToString to support low-resolution output.
51967         https://bugs.webkit.org/show_bug.cgi?id=28146
51969         * inspector/front-end/utilities.js:
51970         (Number.bytesToString):
51972 2009-08-12  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
51974         Reviewed by Simon Hausmann.
51976         Add support for hooking BeginPaint/EndPaint on 64Bit Windows
51978         Webkit uses the runtime patching trick explained by "Feng Yuan" for
51979         hooking these paint functions. It currently supports only 32bit assembly
51980         code. This patch adds support for 64Bit version. Since inline-assemblies
51981         are not supported for 64Bit, we have use a seperate .asm file.
51983         * WebCore.pro:
51984         * plugins/win/PaintHooks.asm: Added.
51985         * plugins/win/PluginViewWin.cpp:
51986         (WebCore::PluginView::hookedBeginPaint):
51987         (WebCore::PluginView::hookedEndPaint):
51988         (WebCore::hook):
51990 2009-08-11  Oliver Hunt  <oliver@apple.com>
51992         Reviewed by Gavin Barraclough.
51994         Make it harder to misuse try* allocation routines
51995         https://bugs.webkit.org/show_bug.cgi?id=27469
51997         Add forwarding header for PossiblyNull type, and add missing null check
51998         to ImageBuffer creation.
52000         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
52001         * platform/graphics/cg/ImageBufferCG.cpp:
52002         (WebCore::ImageBuffer::ImageBuffer):
52004 2009-08-11  Gavin Barraclough  <barraclough@apple.com>
52006         Reviewed by Oliver Hunt.
52008         Restrict use of FuncDeclNode & FuncExprNode to the parser.
52009         https://bugs.webkit.org/show_bug.cgi?id=28209
52011         * inspector/JavaScriptDebugServer.cpp:
52012         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
52013             Function signature change.
52015 2009-08-11  Peter Kasting  <pkasting@google.com>
52017         Reviewed by Adam Treat.
52019         https://bugs.webkit.org/show_bug.cgi?id=27965
52020         Merge skia/ImageSourceSkia.cpp into ImageSource.cpp.
52022         * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back.
52023         * platform/graphics/ImageSource.cpp:
52024         (WebCore::ImageSource::setData): Use slightly shorter syntax.
52025         (WebCore::ImageSource::filenameExtension): Use shorter syntax.
52026         (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images.
52027         (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax.
52028         * platform/graphics/skia/ImageSourceSkia.cpp: Removed.
52030 2009-08-11  Drew Wilson  <atwilson@google.com>
52032         Reviewed by David Levin.
52034         SharedWorkers do not exit when the last parent document exits
52035         https://bugs.webkit.org/show_bug.cgi?id=28170
52037         Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers.
52039         Added vector cache instead of nested hash tables for SharedWorker repository.
52041         Added SharedWorkerRepository::documentDetached API.
52043         * dom/Document.cpp:
52044         (WebCore::Document::detach):
52045         Notifies SharedWorkerRepository when the document is closing.
52046         * loader/FrameLoader.cpp:
52047         Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down).
52048         (WebCore::FrameLoader::canCachePageContainingThisFrame):
52049         (WebCore::FrameLoader::logCanCacheFrameDecision):
52050         * workers/DefaultSharedWorkerRepository.cpp:
52051         (WebCore::SharedWorkerProxy::create):
52052         (WebCore::SharedWorkerProxy::isClosing):
52053         Renamed from closing().
52054         (WebCore::SharedWorkerProxy::matches):
52055         Added manual equality function to replace old hash lookup.
52056         (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments):
52057         Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable.
52058         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
52059         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
52060         Added tracking of the worker's list of documents for lifecycle purposes.
52061         (WebCore::SharedWorkerProxy::documentDetached):
52062         Shuts down the proxy when the last associated document is detached.
52063         (WebCore::SharedWorkerProxy::close):
52064         Marks the proxy as closed so it is no longer shared with new instances.
52065         (WebCore::SharedWorkerProxy::workerContextDestroyed):
52066         Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed.
52067         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
52068         closing()->isClosing()
52069         (WebCore::SharedWorkerRepository::documentDetached):
52070         (WebCore::SharedWorkerRepository::hasSharedWorkers):
52071         Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached.
52072         (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers):
52073         (WebCore::DefaultSharedWorkerRepository::removeProxy):
52074         Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository.
52075         (WebCore::DefaultSharedWorkerRepository::documentDetached):
52076         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
52077         (WebCore::DefaultSharedWorkerRepository::getProxy):
52078         * workers/DefaultSharedWorkerRepository.h:
52079         * workers/SharedWorkerRepository.h:
52081 2009-08-11  Chris Fleizach  <cfleizach@apple.com>
52083         Reviewed by Darin Adler.
52085         Bug 28200 - ListMarker should be included as part of the text value to parse
52086         https://bugs.webkit.org/show_bug.cgi?id=28200
52088         When returning text through the marker range attributes, the list marker text should
52089         also be included. It isn't included by default because a TextIterator is used which
52090         only looks at Nodes for text. A list marker does not have a corresponding node,
52091         so its text is not returned through accessibility. That is, until now.
52093         Test: platform/mac/accessibility/string-range-contains-listmarker.html
52095         * accessibility/AccessibilityObject.cpp:
52096         (WebCore::AccessibilityObject::listMarkerTextForRange):
52097         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
52098         * accessibility/AccessibilityObject.h:
52099         * accessibility/mac/AccessibilityObjectWrapper.mm:
52100         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
52101         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
52102         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
52103         * rendering/RenderListItem.h:
52105         Make markerText() public so that accessibility code can access it.
52107 2009-08-11  Peter Kasting  <pkasting@google.com>
52109         Reviewed by Adam Treat.
52111         https://bugs.webkit.org/show_bug.cgi?id=27965
52112         Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for
52113         merging most of the other ImageSource*.cpp files with it.
52115         * GNUmakefile.am:
52116         * WebCore.gypi:
52117         * WebCore.vcproj/WebCore.vcproj:
52118         * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp.
52119         * platform/graphics/cairo/ImageSourceCairo.cpp: Removed.
52121 2009-08-10  Brent Fulgham  <bfulgham@webkit.org>
52123         Reviewed by Adam Roben.
52125         Cairo-based Windows port does not handle the https protocol.
52126         https://bugs.webkit.org/show_bug.cgi?id=28171.
52128         No new tests needed.  Existing https tests show this failure
52129         for WinCairo builds.
52131         * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor
52132           definitions for SSL support in cURL.
52133         * platform/network/curl/ResourceHandleManager.h: Add new
52134           certificate path member variable.
52135         * platform/network/curl/ResourceHandleManager.cpp:
52136         (WebCore::certificateBundlePath): New method to retrieve the
52137           proper certificate resource bundle path.
52138         (WebCore::ResourceHandleManager::initializeHandle): Check for
52139           the resource bundle and use if available to activate SSL
52140           support.
52142 2009-08-11  Maxime Simon  <simon.maxime@gmail.com>
52144         Reviewed by Eric Seidel.
52146         [Haiku] Use Clipboard::create() instead of the constructor of Clipboard.
52147         https://bugs.webkit.org/show_bug.cgi?id=28127
52149         * editing/haiku/EditorHaiku.cpp:
52150         (WebCore::Editor::newGeneralClipboard):
52151         * page/haiku/EventHandlerHaiku.cpp:
52152         (WebCore::EventHandler::passWheelEventToWidget):
52153         (WebCore::EventHandler::createDraggingClipboard):
52154         * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines.
52155         (WebCore::ClipboardHaiku::ClipboardHaiku):
52156         (WebCore::ClipboardHaiku::clearAllData):
52157         (WebCore::ClipboardHaiku::getData):
52158         (WebCore::ClipboardHaiku::setData):
52159         (WebCore::ClipboardHaiku::types):
52160         (WebCore::ClipboardHaiku::dragLocation):
52161         (WebCore::ClipboardHaiku::dragImage):
52162         (WebCore::ClipboardHaiku::setDragImage):
52163         (WebCore::ClipboardHaiku::dragImageElement):
52164         (WebCore::ClipboardHaiku::createDragImage):
52165         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
52166         (WebCore::ClipboardHaiku::writeURL):
52167         (WebCore::ClipboardHaiku::writeRange):
52168         (WebCore::ClipboardHaiku::hasData):
52169         * platform/haiku/DragDataHaiku.cpp:
52170         (WebCore::DragData::createClipboard):
52172 2009-08-11  Drew Wilson  <atwilson@google.com>
52174         Reviewed by NOBODY (build break).
52176         Speculative GTK build fix
52178         * GNUmakefile.am:
52179         Added missing .idl file, and added notifications directory to IDL_PATH.
52181 2009-08-11  Drew Wilson  <atwilson@google.com>
52183         Reviewed by NOBODY (build break).
52185         Speculative Windows build fix
52187         * WebCore.vcproj/WebCore.vcproj:
52188         Added missing build steps for non-debug targets.
52190 2009-08-11  Drew Wilson <atwilson@google.com>
52192         Reviewed by NOBODY (build break)
52194         Speculative build fix for Qt build.
52196         * WebCore.pro: Added /notifications to include path
52198 2009-08-11  John Gregg  <johnnyg@google.com>
52200         Reviewed by Maciej Stachowiak.
52202         Desktop Notifications API
52203         https://bugs.webkit.org/show_bug.cgi?id=25463
52205         Adds an implementation of desktop notifications, behind the compile-time
52206         flag ENABLE(NOTIFICATIONS).  This code simply relays calls on the JavaScript
52207         API through a NotificationProvider interface, which must provide the services
52208         to actually notify the user and manage the desktop.  This provider is injected
52209         into WebKit through the ChromeClient for normal page contexts and through the
52210         WorkerThread for worker contexts.
52212         A permissions API is defined on a per-origin basis, which allows a web page
52213         to check if its origin is allowed to show desktop notifications, and to request
52214         permission for its origin.
52216         * Configurations/FeatureDefines.xcconfig:
52217         * DerivedSources.cpp:
52218         * DerivedSources.make:
52219         * GNUmakefile.am:
52220         * WebCore.vcproj/WebCore.vcproj:
52221         * WebCore.vcproj/WebCoreCommon.vsprops:
52222         * WebCore.xcodeproj/project.pbxproj:
52223         * bindings/js/JSDOMWindowCustom.cpp:
52224         * bindings/js/JSDesktopNotificationsCustom.cpp: Added.
52225         (WebCore::JSNotificationCenter::requestPermission):
52226         (WebCore::JSNotification::addEventListener):
52227         (WebCore::JSNotification::removeEventListener):
52228         * bindings/js/JSEventTarget.cpp:
52229         (WebCore::toJS):
52230         (WebCore::toEventTarget):
52231         * dom/EventTarget.cpp:
52232         (WebCore::EventTarget::toNotification):
52233         * dom/EventTarget.h:
52234         * loader/EmptyClients.h:
52235         (WebCore::EmptyChromeClient::notificationPresenter):
52236         * notifications: Added.
52237         * notifications/Notification.cpp: Added.
52238         (WebCore::Notification::Notification):
52239         (WebCore::Notification::~Notification):
52240         (WebCore::Notification::show):
52241         (WebCore::Notification::cancel):
52242         (WebCore::Notification::ondisplay):
52243         (WebCore::Notification::setOndisplay):
52244         (WebCore::Notification::onerror):
52245         (WebCore::Notification::setOnerror):
52246         (WebCore::Notification::onclose):
52247         (WebCore::Notification::setOnclose):
52248         (WebCore::Notification::getAttributeEventListener):
52249         (WebCore::Notification::setAttributeEventListener):
52250         (WebCore::Notification::clearAttributeEventListener):
52251         (WebCore::Notification::dispatchDisplayEvent):
52252         (WebCore::Notification::dispatchErrorEvent):
52253         (WebCore::Notification::dispatchCloseEvent):
52254         (WebCore::Notification::addEventListener):
52255         (WebCore::Notification::removeEventListener):
52256         (WebCore::Notification::handleEvent):
52257         (WebCore::Notification::dispatchEvent):
52258         * notifications/Notification.h: Added.
52259         (WebCore::Notification::create):
52260         (WebCore::Notification::isHTML):
52261         (WebCore::Notification::url):
52262         (WebCore::Notification::contents):
52263         (WebCore::Notification::scriptExecutionContext):
52264         (WebCore::Notification::toNotification):
52265         (WebCore::Notification::refEventTarget):
52266         (WebCore::Notification::derefEventTarget):
52267         * notifications/Notification.idl: Added.
52268         * notifications/NotificationCenter.cpp: Added.
52269         (WebCore::NotificationCenter::NotificationCenter):
52270         (WebCore::NotificationCenter::checkPermission):
52271         (WebCore::NotificationCenter::requestPermission):
52272         * notifications/NotificationCenter.h: Added.
52273         (WebCore::NotificationCenter::create):
52274         (WebCore::NotificationCenter::createHTMLNotification):
52275         (WebCore::NotificationCenter::createNotification):
52276         (WebCore::NotificationCenter::context):
52277         (WebCore::NotificationCenter::presenter):
52278         * notifications/NotificationCenter.idl: Added.
52279         * notifications/NotificationContents.h: Added.
52280         (WebCore::NotificationContents::NotificationContents):
52281         (WebCore::NotificationContents::icon):
52282         (WebCore::NotificationContents::title):
52283         (WebCore::NotificationContents::body):
52284         * notifications/NotificationPresenter.h: Added.
52285         (WebCore::NotificationPresenter::):
52286         (WebCore::NotificationPresenter::~NotificationPresenter):
52287         * page/Chrome.cpp:
52288         (WebCore::Chrome::notificationPresenter):
52289         * page/Chrome.h:
52290         * page/ChromeClient.h:
52291         * page/DOMWindow.cpp:
52292         (WebCore::DOMWindow::clear):
52293         (WebCore::DOMWindow::webkitNotifications):
52294         * page/DOMWindow.h:
52295         * page/DOMWindow.idl:
52296         * page/Page.h:
52297         * workers/WorkerContext.cpp:
52298         (WebCore::WorkerContext::~WorkerContext):
52299         (WebCore::WorkerContext::webkitNotifications):
52300         * workers/WorkerContext.h:
52301         * workers/WorkerContext.idl:
52302         * workers/WorkerThread.h:
52303         (WebCore::WorkerThread::getNotificationPresenter):
52304         (WebCore::WorkerThread::setNotificationPresenter):
52306 2009-08-11  Joseph Pecoraro  <joepeck02@gmail.com>
52308         Reviewed by Timothy Hatcher.
52310         Inspector: Console Drawer is Toggling instead of Staying Open
52311         https://bugs.webkit.org/show_bug.cgi?id=28115
52313         * inspector/front-end/Drawer.js:
52314         (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view
52315         * inspector/front-end/inspector.js:
52316         (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open
52317         (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open
52319 2009-08-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
52321         Reviewed by George Staikos.
52323         [WML] WMLPageState is not allowed to store the active card, it needs to be done per document
52324         https://bugs.webkit.org/show_bug.cgi?id=28180
52326         Don't store the active WMLCardElement in WMLPageState, but in WMLDocument.
52327         Otherwhise this may lead to crashes related to intrinsic event exeuction.
52329         Unfortunately select elements aren't testable by the layout tests, so adding
52330         a new manual test reproducing the crash.
52332         * manual-tests/wml/select-onpick-event-crash.wml: Added.
52333         * wml/WMLCardElement.cpp:
52334         (WebCore::WMLCardElement::determineActiveCard):
52335         * wml/WMLDoElement.cpp:
52336         (WebCore::WMLDoElement::defaultEventHandler):
52337         * wml/WMLDocument.cpp:
52338         (WebCore::WMLDocument::finishedParsing):
52339         * wml/WMLDocument.h:
52340         (WebCore::WMLDocument::activeCard):
52341         * wml/WMLGoElement.cpp:
52342         (WebCore::WMLGoElement::executeTask):
52343         * wml/WMLPageState.cpp:
52344         (WebCore::WMLPageState::WMLPageState):
52345         * wml/WMLPageState.h:
52346         * wml/WMLPrevElement.cpp:
52347         (WebCore::WMLPrevElement::executeTask):
52348         * wml/WMLRefreshElement.cpp:
52349         (WebCore::WMLRefreshElement::executeTask):
52351 2009-08-07  Peter Kasting  <pkasting@google.com>
52353         Reviewed by Eric Seidel.
52355         https://bugs.webkit.org/show_bug.cgi?id=28073
52356         Treat icons with no bit count and no color count as 256-color for
52357         purposes of quality ranking.  Also fix a couple cases of a style
52358         violation.
52360         Test: fast/images/icon-0colors.html
52362         * platform/image-decoders/ico/ICOImageDecoder.cpp:
52363         (WebCore::ICOImageDecoder::processDirectory):
52364         (WebCore::ICOImageDecoder::readDirectoryEntry):
52366 2009-08-11  Drew Wilson  <atwilson@google.com>
52368         Reviewed by David Levin.
52370         Need to refactor WorkerObjectProxy.
52371         https://bugs.webkit.org/show_bug.cgi?id=28136
52373         Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent.
52375         Existing tests are sufficient, as this is only a refactoring.
52377         * GNUmakefile.am:
52378         Added WorkerReportingProxy.h to build.
52379         * WebCore.gypi:
52380         Added WorkerReportingProxy.h to build.
52381         * WebCore.vcproj/WebCore.vcproj:
52382         Added WorkerReportingProxy.h to build.
52383         * WebCore.xcodeproj/project.pbxproj:
52384         Added WorkerReportingProxy.h to build.
52385         * workers/DedicatedWorkerContext.cpp:
52386         * workers/DedicatedWorkerContext.h:
52387         Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
52388         * workers/DedicatedWorkerThread.cpp:
52389         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
52390         Changed constructor to pass WorkerReportingProxy to base class.
52391         * workers/DefaultSharedWorkerRepository.cpp:
52392         Updated SharedWorkerProxy to implement WorkerReportingProxy interface.
52393         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
52394         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
52395         (WebCore::SharedWorkerProxy::workerContextClosed):
52396         (WebCore::SharedWorkerProxy::workerContextDestroyed):
52397         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
52398         Now passes in WorkerReportingProxy when creating SharedWorkerThread.
52399         * workers/SharedWorkerContext.cpp:
52400         * workers/SharedWorkerContext.h:
52401         Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
52402         * workers/SharedWorkerThread.cpp:
52403         (WebCore::SharedWorkerThread::create):
52404         (WebCore::SharedWorkerThread::SharedWorkerThread):
52405         Passes WorkerReportingProxy to base class constructor.
52406         * workers/SharedWorkerThread.h:
52407         Constructor now takes a WorkerReportingProxy.
52408         * workers/WorkerContext.cpp:
52409         (WebCore::WorkerContext::~WorkerContext):
52410         Moved code that calls workerContextDestroyed() into base class so shared workers share this functionality.
52411         (WebCore::WorkerContext::close):
52412         Now notifies WorkerReportingProxy when the thread is closing.
52413         (WebCore::WorkerContext::reportException):
52414         Reports exceptions via WorkerReportingProxy.
52415         (WebCore::WorkerContext::addMessage):
52416         Reports console messages via WorkerReportingProxy.
52417         * workers/WorkerContext.h:
52418         * workers/WorkerObjectProxy.h:
52419         (WebCore::WorkerObjectProxy::workerContextClosed):
52420         Default empty implementation for dedicated workers.
52421         * workers/WorkerReportingProxy.h: Added.
52422         Base interface that contains APIs moved from WorkerObjectProxy.
52423         (WebCore::WorkerReportingProxy::~WorkerReportingProxy):
52424         * workers/WorkerThread.cpp:
52425         (WebCore::WorkerThread::WorkerThread):
52426         Updated constructor to accept a WorkerReportingProxy.
52427         * workers/WorkerThread.h:
52428         (WebCore::WorkerThread::workerReportingProxy):
52430 2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
52432         Reviewed by NOBODY (build fix).
52434         Fix the Qt build after r47022.
52436         Use the new markChildren() pattern for marking aggregate/child objects.
52438         * bridge/qt/qt_instance.cpp:
52439         (JSC::Bindings::QtRuntimeObjectImp::markChildren):
52440         (JSC::Bindings::QtInstance::markAggregate):
52441         * bridge/qt/qt_instance.h:
52442         * bridge/qt/qt_runtime.cpp:
52443         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
52444         * bridge/qt/qt_runtime.h:
52446 2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
52448         Reviewed by Holger Freyther.
52450         Fix the build on the Qt build bot by making the generated JS bindings
52451         files depend on the code generator itself.
52453         * WebCore.pro:
52455 2009-08-07  Oliver Hunt  <oliver@apple.com>
52457         Reviewed by Sam Weinig
52459         Stack overflow crash in JavaScript garbage collector mark pass
52460         https://bugs.webkit.org/show_bug.cgi?id=12216
52462         Make WebCore use the new iterative marking logic.
52464         Tests: fast/js/nested-object-gc.html
52466         * bindings/js/JSAbstractWorkerCustom.cpp:
52467         (WebCore::JSAbstractWorker::markChildren):
52468         * bindings/js/JSDOMApplicationCacheCustom.cpp:
52469         (WebCore::JSDOMApplicationCache::markChildren):
52470         * bindings/js/JSDOMBinding.cpp:
52471         (WebCore::markDOMNodesForDocument):
52472         (WebCore::markActiveObjectsForContext):
52473         (WebCore::markDOMObjectWrapper):
52474         * bindings/js/JSDOMBinding.h:
52475         (WebCore::DOMObjectWithGlobalPointer::markChildren):
52476         * bindings/js/JSDOMGlobalObject.cpp:
52477         (WebCore::JSDOMGlobalObject::markChildren):
52478         * bindings/js/JSDOMGlobalObject.h:
52479         * bindings/js/JSDOMWindowCustom.cpp:
52480         (WebCore::JSDOMWindow::markChildren):
52481         * bindings/js/JSDOMWindowShell.cpp:
52482         (WebCore::JSDOMWindowShell::markChildren):
52483         * bindings/js/JSDOMWindowShell.h:
52484         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
52485         (WebCore::JSDedicatedWorkerContext::markChildren):
52486         * bindings/js/JSDocumentCustom.cpp:
52487         (WebCore::JSDocument::markChildren):
52488         * bindings/js/JSEventListener.cpp:
52489         (WebCore::JSEventListener::markJSFunction):
52490         * bindings/js/JSEventListener.h:
52491         * bindings/js/JSMessageChannelCustom.cpp:
52492         (WebCore::JSMessageChannel::markChildren):
52493         * bindings/js/JSMessagePortCustom.cpp:
52494         (WebCore::JSMessagePort::markChildren):
52495         * bindings/js/JSNavigatorCustom.cpp:
52496         (WebCore::JSNavigator::markChildren):
52497         * bindings/js/JSNodeCustom.cpp:
52498         (WebCore::JSNode::markChildren):
52499         * bindings/js/JSNodeFilterCondition.cpp:
52500         (WebCore::JSNodeFilterCondition::markAggregate):
52501         * bindings/js/JSNodeFilterCondition.h:
52502         * bindings/js/JSNodeFilterCustom.cpp:
52503         (WebCore::JSNodeFilter::markChildren):
52504         * bindings/js/JSNodeIteratorCustom.cpp:
52505         (WebCore::JSNodeIterator::markChildren):
52506         * bindings/js/JSQuarantinedObjectWrapper.cpp:
52507         (WebCore::JSQuarantinedObjectWrapper::markChildren):
52508         * bindings/js/JSQuarantinedObjectWrapper.h:
52509         * bindings/js/JSSVGElementInstanceCustom.cpp:
52510         (WebCore::JSSVGElementInstance::markChildren):
52511         * bindings/js/JSSharedWorkerCustom.cpp:
52512         (WebCore::JSSharedWorker::markChildren):
52513         * bindings/js/JSStyleSheetCustom.cpp:
52514         (WebCore::JSStyleSheet::markChildren):
52515         * bindings/js/JSTreeWalkerCustom.cpp:
52516         (WebCore::JSTreeWalker::markChildren):
52517         * bindings/js/JSWebSocketCustom.cpp:
52518         (WebCore::JSWebSocket::markChildren):
52519         * bindings/js/JSWorkerContextCustom.cpp:
52520         (WebCore::JSWorkerContext::markChildren):
52521         * bindings/js/JSWorkerCustom.cpp:
52522         (WebCore::JSWorker::markChildren):
52523         * bindings/js/JSXMLHttpRequestCustom.cpp:
52524         (WebCore::JSXMLHttpRequest::markChildren):
52525         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
52526         (WebCore::JSXMLHttpRequestUpload::markChildren):
52527         * bindings/scripts/CodeGeneratorJS.pm:
52528         * dom/EventListener.h:
52529         (WebCore::EventListener::markJSFunction):
52530         (WebCore::markIfNotNull):
52531         * dom/NodeFilter.h:
52532         (WebCore::NodeFilter::markAggregate):
52533         * dom/NodeFilterCondition.h:
52534         (WebCore::NodeFilterCondition::markAggregate):
52535         * dom/RegisteredEventListener.h:
52536         (WebCore::markEventListeners):
52537         * page/DOMWindow.h:
52538         * workers/WorkerContext.h:
52540 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
52542         Reviewed by Eric Seidel.
52544         Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
52545         https://bugs.webkit.org/show_bug.cgi?id=28089
52547         Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
52548         called by mistake.  This roughly matches the way JSC does it, which is an
52549         additional advantage.
52551         * bindings/v8/NPV8Object.cpp:
52552         (npCreateV8ScriptObject):
52553         (_NPN_Invoke):
52554         (_NPN_InvokeDefault):
52555         (_NPN_Evaluate):
52556         (_NPN_EvaluateHelper):
52557         (_NPN_GetProperty):
52558         (_NPN_SetProperty):
52559         (_NPN_RemoveProperty):
52560         (_NPN_HasProperty):
52561         (_NPN_HasMethod):
52562         (_NPN_SetException):
52563         (_NPN_Enumerate):
52564         (_NPN_Construct):
52565         * bindings/v8/ScriptController.cpp:
52566         (WebCore::ScriptController::clearScriptObjects):
52567         (WebCore::ScriptController::createScriptInstanceForWidget):
52568         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
52569         * bindings/v8/V8NPObject.cpp:
52570         (npObjectInvokeImpl):
52571         (npObjectGetProperty):
52572         (npObjectIndexedPropertyGetter):
52573         (npObjectGetIndexedProperty):
52574         (npObjectSetProperty):
52575         (npObjectIndexedPropertySetter):
52576         (npObjectSetIndexedProperty):
52577         (weakNPObjectCallback):
52578         (createV8ObjectForNPObject):
52579         (forgetV8ObjectForNPObject):
52580         * bindings/v8/V8NPUtils.cpp:
52581         (getStringIdentifier):
52582         * bindings/v8/npruntime.cpp:
52583         * bindings/v8/npruntime_impl.h:
52585 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
52587         Reviewed by Brady Eidson.
52589         Change ___Storage.key() to match current spec behavior.
52590         https://bugs.webkit.org/show_bug.cgi?id=28112
52592         The current WebStorage spec says that ___Storage.key() should return null when
52593         the index is out of bounds, rather than an exception.  A bunch of logic can be
52594         simplified after this change.
52596         * bindings/js/JSStorageCustom.cpp:
52597         (WebCore::JSStorage::getPropertyNames):
52598         * bindings/v8/custom/V8StorageCustom.cpp:
52599         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
52600         * storage/Storage.cpp:
52601         (WebCore::Storage::key):
52602         * storage/Storage.h:
52603         * storage/Storage.idl:
52604         * storage/StorageArea.h:
52605         * storage/StorageAreaImpl.cpp:
52606         (WebCore::StorageAreaImpl::key):
52607         * storage/StorageAreaImpl.h:
52608         * storage/StorageMap.cpp:
52609         (WebCore::StorageMap::key):
52610         * storage/StorageMap.h:
52612 2009-08-07  Michael Nordman  <michaeln@google.com>
52614         Reviewed by Darin Fisher.
52616         https://bugs.webkit.org/show_bug.cgi?id=28087
52618         Mods for a chrome specific impl of ApplicationCacheHost.
52620         * The public section of the interface is the same, but we use
52621         PLATFORM(CHROMIUM) to identify which parts of the private
52622         section are shared. The chrome specific internals are encapsulated
52623         in a seperate ApplicationCacheHostInternal class. WebCore common
52624         code only contains a forward reference to this class.
52626         * Cleanup a couple of stale comments.
52628         * Have window.applicationCache return null to script when the
52629         feature is disabled in the preferences.
52630         
52631         No new tests.
52633         * loader/appcache/ApplicationCacheHost.cpp:
52634         * loader/appcache/ApplicationCacheHost.h:
52635         (WebCore::ApplicationCacheHost::documentLoader):
52636         * page/DOMWindow.cpp:
52637         (WebCore::DOMWindow::applicationCache):
52639 2009-08-10  Crystal Zhang  <crystal.zhang@torchmobile.com>
52641         Reviewed by George Staikos.
52643         Implement GraphicsContext::fillRoundRect() for WINCE port
52644         https://bugs.webkit.org/show_bug.cgi?id=27842
52646         * platform/graphics/GraphicsContext.h:
52647         * platform/graphics/wince/GraphicsContextWince.cpp:
52648         (WebCore::rectCenterPoint):
52649         (WebCore::GraphicsContext::fillRoundedRect):
52650         (WebCore::GraphicsContext::drawRoundCorner):
52652 2009-08-10  Anthony Ricaud  <rik@webkit.org>
52654         Reviewed by Timothy Hatcher.
52656         Inspector Resources / Graphs should support filtering
52657         https://bugs.webkit.org/show_bug.cgi?id=20629
52659         Introduces a filter bar for resources.
52661         Thanks to Matt Lilek for the CSS scope bar.
52663         * English.lproj/localizedStrings.js:
52664         * inspector/front-end/ResourcesPanel.js:
52665         (WebInspector.ResourcesPanel.createFilterElement):
52666         (WebInspector.ResourcesPanel):
52667         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
52668         (WebInspector.ResourcesPanel.prototype._updateFilter):
52669         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
52670         * inspector/front-end/inspector.css:
52671         * inspector/front-end/inspector.js:
52672         (WebInspector.loaded):
52674 2009-08-10  Brent Fulgham  <bfulgham@webkit.org>
52676         Unreviewed build correction after http://trac.webkit.org/changeset/46978
52678         * platform/network/curl/ResourceHandleManager.cpp:
52679         (WebCore::ResourceHandleManager::initializeHandle):  Correct
52680          deprecated removeRef to new removeFragmentIdentifier.
52682 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
52684         Reviewed by Justin Garcia.
52686         Background color formatting lost on enter
52687         https://bugs.webkit.org/show_bug.cgi?id=20348
52689         This patch makes background color be preserved during editing.
52690         In particular, editingStyleAtPosition would include the background color when obtaining styles.
52692         * editing/ApplyStyleCommand.cpp:
52693         (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties
52695 2009-08-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
52697         Reviewed by Simon Hausmann.
52699         Stop sending QEvent::CursorChange to Qt for mouse move.
52701         Verify if the cursor didn't change in WidgetQt::setCursor,
52702         just like the mac port does.
52704         Thanks to Adriano Rezendo for spotting and debugging the
52705         issue.
52707         * platform/qt/WidgetQt.cpp:
52708         (WebCore::Widget::setCursor):
52710 2009-08-10  Alexey Proskuryakov  <ap@apple.com>
52712         Reviewed by Brady Eidson.
52714         https://bugs.webkit.org/show_bug.cgi?id=28165
52715         Application cache maximum size cannot be set before the database is opened
52717         * loader/appcache/ApplicationCacheStorage.cpp:
52718         (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
52719         open yet.
52721 2009-08-10  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
52723         Reviewed by Dimitri Glazkov.
52725         [V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
52726         https://bugs.webkit.org/show_bug.cgi?id=28156
52728         * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
52729         * bindings/v8/V8AbstractEventListener.h:
52730         (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
52731         * bindings/v8/V8DOMWrapper.cpp:
52732         (WebCore::V8DOMWrapper::getTemplate):
52733         * bindings/v8/V8ObjectEventListener.cpp:
52734         * bindings/v8/V8ObjectEventListener.h:
52735         (WebCore::V8ObjectEventListener::isObjectListener):
52736         * bindings/v8/V8Utilities.cpp:
52737         (WebCore::removeHiddenDependency):
52738         * bindings/v8/custom/V8CustomBinding.h:
52739         * bindings/v8/custom/V8ElementCustom.cpp:
52740         * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
52741         (WebCore::toEventType):
52742         (WebCore::getEventListener):
52743         (WebCore::ACCESSOR_SETTER):
52744         (WebCore::ACCESSOR_GETTER):
52745         (WebCore::CALLBACK_FUNC_DECL):
52746         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
52747         (WebCore::getEventListener): Made static.
52749 2009-08-10  Jeremy Orlow  <jorlow@chromium.org>
52751         Reviewed by Darin Fisher.
52753         Cleanup DOM Storage namespace shutdown code usage of security origin.
52754         https://bugs.webkit.org/show_bug.cgi?id=28094
52756         If a storage namespace is not explicitly closed, be sure to do so on
52757         destruction of the object.  In addition, the close call should wait
52758         on the background thread finishing its syncing.  (Not doing so is actually
52759         a regression from the original LocalStorage code.)
52761         There's no point to passing in the SecurityOrigin when copying a storage
52762         area since what was passed in is exactly what is stored within each
52763         storage area.  In addition, the non-copy constructor should take in a
52764         PassRefPtr rather than a pointer since that pointer was only passed into
52765         the constuctor for RefPtr's anyway.
52767         * storage/StorageAreaImpl.cpp:
52768         (WebCore::StorageAreaImpl::StorageAreaImpl):
52769         (WebCore::StorageAreaImpl::copy):
52770         * storage/StorageAreaImpl.h:
52771         * storage/StorageNamespaceImpl.cpp:
52772         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
52773         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
52774         (WebCore::StorageNamespaceImpl::copy):
52775         (WebCore::StorageNamespaceImpl::close):
52776         * storage/StorageNamespaceImpl.h:
52778 2009-08-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
52780         Not reviewed, build fix.
52782         Rename ref() to fragmentIdentifier() in the wml/ subdirectory.
52784         * wml/WMLCardElement.cpp:
52785         (WebCore::WMLCardElement::determineActiveCard):
52786         * wml/WMLGoElement.cpp:
52787         (WebCore::WMLGoElement::executeTask):
52788         * wml/WMLPageState.cpp:
52789         (WebCore::WMLPageState::canAccessDeck):
52791 2009-08-10  Steve Falkenburg  <sfalken@apple.com>
52793         Windows build fix.
52795         Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
52796         Fixes linker warnings.        
52797         
52798         Corrected spelling of JSInspectorBackend.cpp.
52799         
52800         Other changes related to actually using a Visual Studio to open/save the vcproj file.
52802         * WebCore.vcproj/WebCore.vcproj:
52804 2009-08-10  Sam Weinig  <sam@webkit.org>
52806         Reviewed by Anders Carlsson.
52808         Remove a dead #define.
52810         * bindings/js/JSDOMBinding.cpp:
52812 2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
52814         Unreviewed, build fix.
52816         [Chromium] Update KURLGoogle for ref* method renames in
52817         http://trac.webkit.org/changeset/46978.
52818         https://bugs.webkit.org/show_bug.cgi?id=28084
52820         * bindings/v8/custom/V8LocationCustom.cpp:
52821         (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
52822             setFragmentIdentifier, respectively.
52823         * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.
52825 2009-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
52827         [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
52828         for r46989.
52830         * platform/network/soup/ResourceHandleSoup.cpp:
52831         (WebCore::finishedCallback):
52833 2009-08-10  John Kjellberg  <john.kjellberg@power.alstom.com>
52835         Reviewed by Darin Adler.
52837         Memory leak in error handling code for SOUP interface
52838         https://bugs.webkit.org/show_bug.cgi?id=28144
52840         Freed memory leaked in error handling code for soup requests.
52842         * platform/network/soup/ResourceHandleSoup.cpp:
52843         (WebCore::finishedCallback):
52844         (WebCore::):
52846 2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
52848         Reviewed by Darin Adler.
52850         Provide graceful handling of the situation when an embedder invokes
52851         visited link update methods before a Page constructor has been called.
52852         https://bugs.webkit.org/show_bug.cgi?id=28149
52854         * page/Page.cpp:
52855         (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
52856         (WebCore::Page::visitedStateChanged): Ditto.
52858 2009-08-10  Xan Lopez  <xlopez@igalia.com>
52860         Fix GTKbuild.
52862         * platform/network/soup/ResourceHandleSoup.cpp:
52863         (WebCore::):
52865 2009-08-10  Dan Bernstein  <mitz@apple.com>
52867         Reviewed by Anders Carlsson.
52869         Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()
52871         * platform/graphics/GlyphBuffer.h: Removed advanceData().
52872         * platform/graphics/wince/GraphicsContextWince.cpp:
52873         (WebCore::GraphicsContext::drawText): Changed to use advances(from)
52874             instead of advanceData() from.
52876 2009-08-10  Xan Lopez  <xlopez@igalia.com>
52878         Reviewed by Gustavo Noronha.
52880         Remove workaround for older libsoup versions.
52882         * platform/network/soup/ResourceHandleSoup.cpp:
52883         (WebCore::fillResponseFromMessage):
52885 2009-08-10  Xan Lopez  <xlopez@igalia.com>
52887         Reviewed by Gustavo Noronha.
52889         Let startHttp validate the URI instead of doing it, with potential
52890         crashes, in ::start.
52892         * platform/network/soup/ResourceHandleSoup.cpp:
52893         (WebCore::startHttp):
52895 2009-08-10  Darin Adler  <darin@apple.com>
52897         Reviewed by Dan Bernstein.
52899         When empty <input> is focused, getSelection() exposes shadow tree nodes
52900         https://bugs.webkit.org/show_bug.cgi?id=15903
52902         Test: fast/forms/shadow-tree-exposure.html
52904         * page/DOMSelection.cpp:
52905         (WebCore::selectionShadowAncestor): Added.
52906         (WebCore::DOMSelection::anchorNode): Return the parent of the shadow
52907         ancestor if the selection is in a shadow tree. Matches Firefox.
52908         (WebCore::DOMSelection::anchorOffset): Return the index of the shadow
52909         ancestor if the selection is in a shadow tree. Matches Firefox.
52910         (WebCore::DOMSelection::focusNode): Ditto.
52911         (WebCore::DOMSelection::focusOffset): Ditto.
52912         (WebCore::DOMSelection::baseNode): More of the same, but since this
52913         is a WebKit-invented property, it does not match Firefox.
52914         (WebCore::DOMSelection::baseOffset): Ditto.
52915         (WebCore::DOMSelection::extentNode): Ditto.
52916         (WebCore::DOMSelection::extentOffset): Ditto.
52917         (WebCore::DOMSelection::isCollapsed): Return true even when the
52918         selection is a range, if the selection is in the shadow tree.
52919         Matches Firefox. Also changed behavior when called and the frame
52920         is gone to return true instead of false which makes more sense.
52921         (WebCore::DOMSelection::empty): Use clear() just like the other
52922         selection-clearing function in this file does.
52923         (WebCore::DOMSelection::getRangeAt): Return a range that starts
52924         and ends before the shadow ancestor. Matches Firefox.
52926 2009-08-10  Pavel Feldman  <pfeldman@chromium.org>
52928         Reviewed by Timothy Hatcher.
52930         Web Inspector: Make all status bar button images glyph-based.
52932         https://bugs.webkit.org/show_bug.cgi?id=28124
52934         * inspector/front-end/ElementsPanel.js:
52935         (WebInspector.ElementsPanel):
52936         * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
52937         * inspector/front-end/Images/clearConsoleButtons.png: Removed.
52938         * inspector/front-end/Images/consoleButtonGlyph.png: Added.
52939         * inspector/front-end/Images/consoleButtons.png: Removed.
52940         * inspector/front-end/Images/dockButtonGlyph.png: Added.
52941         * inspector/front-end/Images/dockButtons.png: Removed.
52942         * inspector/front-end/Images/enableButtons.png: Removed.
52943         * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
52944         * inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
52945         * inspector/front-end/Images/excludeButtonGlyph.png: Added.
52946         * inspector/front-end/Images/excludeButtons.png: Removed.
52947         * inspector/front-end/Images/focusButtonGlyph.png: Added.
52948         * inspector/front-end/Images/focusButtons.png: Removed.
52949         * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
52950         * inspector/front-end/Images/largerResourcesButtons.png: Removed.
52951         * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
52952         * inspector/front-end/Images/nodeSearchButtons.png: Removed.
52953         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
52954         * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
52955         * inspector/front-end/Images/percentButtonGlyph.png: Added.
52956         * inspector/front-end/Images/percentButtons.png: Removed.
52957         * inspector/front-end/Images/recordButtonGlyph.png: Added.
52958         * inspector/front-end/Images/recordButtons.png: Removed.
52959         * inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
52960         * inspector/front-end/Images/reloadButtonGlyph.png: Added.
52961         * inspector/front-end/Images/reloadButtons.png: Removed.
52962         * inspector/front-end/Images/undockButtonGlyph.png: Added.
52963         * inspector/front-end/Panel.js:
52964         (WebInspector.Panel.prototype.createStatusBarButton):
52965         * inspector/front-end/ProfilesPanel.js:
52966         (WebInspector.ProfilesPanel):
52967         * inspector/front-end/ResourcesPanel.js:
52968         (WebInspector.ResourcesPanel):
52969         * inspector/front-end/ScriptsPanel.js:
52970         (WebInspector.ScriptsPanel):
52971         * inspector/front-end/WebKit.qrc:
52972         * inspector/front-end/inspector.css:
52973         * inspector/front-end/inspector.html:
52975 2009-08-07  Brady Eidson  <beidson@apple.com>
52977         Reviewed by Darin Adler.
52979         KURL ref() methods should be fragmentIdentifier() methods 
52980         https://bugs.webkit.org/show_bug.cgi?id=28084
52982         In addition to the renames, also took the chance to replace all use of:
52983         setRef(String());
52984         with:
52985         removeFragmentIdentifier();
52987         * platform/KURL.cpp:
52988         (WebCore::KURL::fragmentIdentifier):
52989         (WebCore::KURL::hasFragmentIdentifier):
52990         (WebCore::KURL::setFragmentIdentifier):
52991         (WebCore::KURL::removeFragmentIdentifier):
52992         (WebCore::KURL::prettyURL):
52993         (WebCore::equalIgnoringFragmentIdentifier):
52994         * platform/KURL.h:
52996         * bindings/js/JSLocationCustom.cpp:
52997         (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.
52999         * accessibility/AccessibilityRenderObject.cpp:
53000         (WebCore::AccessibilityRenderObject::internalLinkElement):
53001         * css/CSSCursorImageValue.cpp:
53002         (WebCore::isSVGCursorIdentifier):
53003         * history/HistoryItem.cpp:
53004         (WebCore::HistoryItem::isCurrentDocument):
53005         * html/HTMLAnchorElement.cpp:
53006         (WebCore::HTMLAnchorElement::hash):
53007         * html/HTMLFrameElementBase.cpp:
53008         (WebCore::HTMLFrameElementBase::isURLAllowed):
53009         * loader/FrameLoader.cpp:
53010         (WebCore::FrameLoader::begin):
53011         (WebCore::FrameLoader::gotoAnchor):
53012         (WebCore::FrameLoader::scheduleLocationChange):
53013         (WebCore::FrameLoader::scrollToAnchor):
53014         (WebCore::FrameLoader::shouldReload):
53015         (WebCore::FrameLoader::urlsMatchItem):
53016         * loader/appcache/ApplicationCache.cpp:
53017         (WebCore::ApplicationCache::resourceForURL):
53018         (WebCore::ApplicationCache::resourceForRequest):
53019         * loader/appcache/ApplicationCacheGroup.cpp:
53020         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
53021         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
53022         (WebCore::ApplicationCacheGroup::selectCache):
53023         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
53024         (WebCore::ApplicationCacheGroup::didReceiveResponse):
53025         (WebCore::ApplicationCacheGroup::didFail):
53026         (WebCore::ApplicationCacheGroup::addEntry):
53027         * loader/appcache/ApplicationCacheResource.h:
53028         (WebCore::ApplicationCacheResource::create):
53029         * loader/appcache/ApplicationCacheStorage.cpp:
53030         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
53031         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
53032         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
53033         * loader/appcache/ManifestParser.cpp:
53034         (WebCore::parseManifest):
53035         * page/Location.cpp:
53036         (WebCore::Location::hash):
53037         * page/Page.cpp:
53038         (WebCore::Page::goToItem):
53039         * rendering/RenderPartObject.cpp:
53040         (WebCore::isURLAllowed):
53041         * workers/WorkerLocation.cpp:
53042         (WebCore::WorkerLocation::hash):
53044 2009-08-10  Andy Shaw <andy.shaw@nokia.com>
53046         Reviewed by Simon Hausmann.
53048         Fix endless loop when the application is quit by a secondary thread during a sync xml http request.
53050         Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
53051         a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
53052         as from Qt through its knowledge of globally registered eventloops.
53054         There is no unit test for this bug as it would require exporting additional symbols and
53055         introduce the synchronous loader as global variable just for the test.
53057         * platform/network/qt/ResourceHandleQt.cpp:
53058         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
53059         (WebCore::WebCoreSynchronousLoader::didFail):
53060         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
53062 2009-08-10  Pavel Feldman  <pfeldman@chromium.org>
53064         Reviewed by Timothy Hatcher.
53066         WebInspector: Make properties inspection serialized.
53068         https://bugs.webkit.org/show_bug.cgi?id=28078
53070         * inspector/front-end/DOMAgent.js:
53071         (InspectorController.getPrototypes):
53072         (InspectorController.getProperties):
53073         * inspector/front-end/InjectedScript.js:
53074         (InjectedScript.getPrototypes):
53075         (InjectedScript.getProperties):
53076         (InjectedScript.setPropertyValue):
53077         * inspector/front-end/ObjectPropertiesSection.js:
53078         (WebInspector.ObjectRef):
53079         (WebInspector.ObjectPropertyRef):
53080         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
53081         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
53082         (WebInspector.ObjectPropertiesSection.prototype.update):
53083         (WebInspector.ObjectPropertiesSection.prototype._update):
53084         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
53085         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
53086         (WebInspector.ObjectPropertyTreeElement.prototype.onattach):
53087         (WebInspector.ObjectPropertyTreeElement.prototype.update):
53088         * inspector/front-end/PropertiesSidebarPane.js:
53089         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
53090         (WebInspector.PropertiesSidebarPane.prototype.update):
53092 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53094         Reviewed by George Staikos.
53096         [WML] wml.css lacks <pre> support
53097         https://bugs.webkit.org/show_bug.cgi?id=28135
53099         Add <pre> support for WML.
53100         Extended fast/wml/text-emphasis.wml to cover <pre> support.
53102         * css/wml.css: <pre> section copied from html.css
53104 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53106         Reviewed by Oliver Hunt.
53108         Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.
53110         * loader/FrameLoader.cpp:
53111         (WebCore::isBackForwardLoadType):
53112         (WebCore::FrameLoader::restoreDocumentState):
53113         (WebCore::FrameLoader::transitionToCommitted):
53114         (WebCore::FrameLoader::loadItem):
53116 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53118         Reviewed by George Staikos.
53120         [WML] Deck access control is completly broken
53121         https://bugs.webkit.org/show_bug.cgi?id=27721
53123         Rewrite WML deck access control, actually works now standalone and within LayoutTests.
53124         Added several new layout tests covering local & remote access support.
53126         In order to detect WML task execution failures from within the WML layout tests a new
53127         method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
53128         error message. Change WML log messages to dump to InspectorClient, just like it's done
53129         for HTML - we used to behave like JSMessageSource, which is wrong.
53131         Tests: http/tests/wml/access-target-domain-deny.html
53132                http/tests/wml/access-target-path-deny.html
53133                http/tests/wml/access-target.html
53134                wml/access-target-deny.html
53135                wml/access-target.html
53137         * inspector/ConsoleMessage.h:
53138         (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
53139         (WebCore::ConsoleMessage::message): Added public method to access the error message.
53140         * inspector/InspectorController.h:
53141         (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
53142         * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
53143         (WebCore::isBackForwardLoadType):
53144         (WebCore::FrameLoader::restoreDocumentState):
53145         (WebCore::FrameLoader::transitionToCommitted):
53146         (WebCore::FrameLoader::loadItem):
53147         * loader/FrameLoaderTypes.h:
53148         (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
53149         * page/Console.cpp:
53150         (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
53151         (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
53152         * page/Console.h:
53153         * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
53154         * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
53155         (WebCore::WMLAccessElement::parseMappedAttribute):
53156         (WebCore::WMLAccessElement::insertedIntoDocument):
53157         * wml/WMLAccessElement.h:
53158         * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
53159         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
53160         * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
53161         (WebCore::WMLDocument::finishedParsing):
53162         (WebCore::WMLDocument::initialize):
53163         * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
53164         (WebCore::reportWMLError):
53165         * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
53166         (WebCore::WMLPageState::WMLPageState):
53167         (WebCore::normalizedHostName):
53168         (WebCore::hostFromURL):
53169         (WebCore::urlForHistoryItem):
53170         (WebCore::tryAccessHistoryURLs):
53171         (WebCore::WMLPageState::processAccessControlData):
53172         (WebCore::WMLPageState::resetAccessControlData):
53173         (WebCore::WMLPageState::canAccessDeck):
53174         (WebCore::WMLPageState::hostIsAllowedToAccess):
53175         (WebCore::WMLPageState::pathIsAllowedToAccess):
53176         * wml/WMLPageState.h:
53178 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53180         Reviewed by Maciej Stachowiak.
53182         FrameLoadType / WebFrameLoadType enums are out of sync
53183         https://bugs.webkit.org/show_bug.cgi?id=28132
53185         Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
53186         The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
53187         'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload 2'.
53189         Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.
53191         * loader/FrameLoaderTypes.h:
53192         (WebCore::):
53194 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53196         Reviewed by George Staikos.
53198         [WML] manual-tests/wml/onevent-prev.wml crashes
53199         https://bugs.webkit.org/show_bug.cgi?id=27722
53201         Fix intrinsic event execution, leading to crashes.
53202         First finish parsing the document, then execute the events. Not the other way round.
53203         -> exposes bugs all over the WML layout tests, which relied on that quirk.
53205         Fixes manual-tests/wml/onevent-prev.wml.
53207         * wml/WMLDocument.cpp:
53208         (WebCore::WMLDocument::WMLDocument):
53209         (WebCore::WMLDocument::finishedParsing):
53210         (WebCore::WMLDocument::initialize):
53211         * wml/WMLDocument.h:
53213 2009-08-08  Dimitri Glazkov  <dglazkov@chromium.org>
53215         Unreviewed, build fix.
53217         [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
53218         introduced by http://trac.webkit.org/changeset/46956.
53219         https://bugs.webkit.org/show_bug.cgi?id=27844
53221         * WebCore.gypi: Added ImageBuffer.cpp.
53223 2009-08-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
53225         Rubber-stamped by Jan Michael Alonzo.
53227         Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
53228         fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.
53230         * dom/Document.idl:
53232 2009-08-08  Dirk Schulze  <krit@webkit.org>
53234         Reviewed by Eric Seidel.
53236         SVG Filter need feColorMatrix implementation
53237         [https://bugs.webkit.org/show_bug.cgi?id=27711]
53239         Adds the filter effect feColorMatrix to SVG filters. 
53241         There is already a test in the w3c directory.
53242         Test: svg/W3C-SVG-1.1/filters-color-01-b.svg
53244         * platform/graphics/filters/FEColorMatrix.cpp:
53245         (WebCore::matrix):
53246         (WebCore::saturate):
53247         (WebCore::huerotate):
53248         (WebCore::luminance):
53249         (WebCore::FEColorMatrix::apply):
53251 2009-08-08  Dirk Schulze  <krit@webkit.org>
53253         Reviewed by Oliver Hunt.
53255         Build fix for Tiger.
53256         https://bugs.webkit.org/show_bug.cgi?id=27844
53258         * platform/graphics/cg/ImageBufferCG.cpp:
53259         (WebCore::ImageBuffer::ImageBuffer):
53261 2009-08-08  Dirk Schulze  <krit@webkit.org>
53263         Reviewed by Oliver Hunt.
53265         This is an initial implementation for linearRGB and sRGB support for all
53266         platforms. Some platforms like Cg support different color spaces
53267         natively, others like Qt, Cairo and Skia do not. This patch uses the
53268         native implementation of platforms if possible and offers a common version
53269         if not.
53271         Different color spaces are used in SVG Filters. Nearly every Filter test 
53272         case is a test for this patch and will be enabled, once Filters are enabled.
53273         https://bugs.webkit.org/show_bug.cgi?id=27844
53275         * GNUmakefile.am:
53276         * WebCore.pro:
53277         * html/canvas/CanvasRenderingContext2D.cpp:
53278         (WebCore::CanvasRenderingContext2D::drawTextInternal):
53279         * html/HTMLCanvasElement.cpp:
53280         (WebCore::HTMLCanvasElement::createImageBuffer):
53281         * platform/graphics/GeneratedImage.cpp:
53282         (WebCore::GeneratedImage::drawPattern):
53283         * platform/graphics/ImageBuffer.cpp: Added.
53284         (WebCore::ImageBuffer::transformColorSpace):
53285         * platform/graphics/ImageBuffer.h:
53286         (WebCore::):
53287         (WebCore::ImageBuffer::create):
53288         * platform/graphics/cairo/ImageBufferCairo.cpp:
53289         (WebCore::ImageBuffer::ImageBuffer):
53290         (WebCore::ImageBuffer::platformTransformColorSpace):
53291         * platform/graphics/cairo/ImageCairo.cpp:
53292         (WebCore::Image::drawPattern):
53293         * platform/graphics/cg/ImageBufferCG.cpp:
53294         (WebCore::ImageBuffer::ImageBuffer):
53295         * platform/graphics/chromium/TransparencyWin.cpp:
53296         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
53297         * platform/graphics/filters/FilterEffect.cpp:
53298         (WebCore::FilterEffect::getEffectContext):
53299         * platform/graphics/qt/ImageBufferQt.cpp:
53300         (WebCore::ImageBuffer::ImageBuffer):
53301         (WebCore::ImageBuffer::platformTransformColorSpace):
53302         * platform/graphics/qt/PathQt.cpp:
53303         (WebCore::Path::strokeContains):
53304         (WebCore::Path::strokeBoundingRect):
53305         * platform/graphics/skia/ImageBufferSkia.cpp:
53306         (WebCore::ImageBuffer::ImageBuffer):
53307         (WebCore::ImageBuffer::platformTransformColorSpace):
53308         * platform/graphics/skia/SkiaUtils.cpp:
53309         (WebCore::scratchContext):
53310         * platform/graphics/wx/ImageBufferWx.cpp:
53311         (WebCore::ImageBuffer::ImageBuffer):
53312         * platform/mac/ScrollbarThemeMac.mm:
53313         (WebCore::ScrollbarThemeMac::paint):
53314         * rendering/RenderBoxModelObject.cpp:
53315         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
53316         * svg/SVGMaskElement.cpp:
53317         (WebCore::SVGMaskElement::drawMaskerContent):
53318         * svg/SVGPatternElement.cpp:
53319         (WebCore::SVGPatternElement::buildPattern):
53320         * svg/graphics/SVGImage.cpp:
53321         (WebCore::SVGImage::nativeImageForCurrentFrame):
53322         * svg/graphics/SVGPaintServerGradient.cpp:
53323         (WebCore::createMaskAndSwapContextForTextGradient):
53324         * svg/graphics/SVGPaintServerPattern.cpp:
53325         (WebCore::SVGPaintServerPattern::setup):
53326         * svg/graphics/SVGResourceFilter.cpp:
53327         (WebCore::SVGResourceFilter::prepareFilter):
53328         (WebCore::SVGResourceFilter::applyFilter):
53329         * svg/graphics/SVGResourceMasker.cpp:
53330         (WebCore::SVGResourceMasker::applyMask):
53331         * svg/graphics/filters/SVGFETile.cpp:
53332         (WebCore::FETile::apply):
53334 2009-08-08  Xan Lopez  <xlopez@igalia.com>
53336         Roll out r46928, since it wasn't done in accordance with the
53337         agreed naming.
53339         * bindings/gdom/GdomDOMObject.cpp: Removed.
53341 2009-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
53343         Reviewed by Xan Lopez.
53345         [Gtk] Enable accessibility in Gtk DRT
53346         https://bugs.webkit.org/show_bug.cgi?id=25989
53348         Add SPI to get the focused accessible element to be used by DRT.
53350         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
53351         (webkit_accessible_get_focused_element):
53352         * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
53354 2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
53356         Gtk build fix - add html/canvas to the binding generator's include path
53358         * GNUmakefile.am:
53360 2009-08-07  Oliver Hunt  <oliver@apple.com>
53362         Another attempt to fix windows.
53364         * WebCore.vcproj/WebCore.vcproj:
53365         * WebCore.vcproj/WebCoreCommon.vsprops:
53367 2009-08-07  Oliver Hunt  <oliver@apple.com>
53369         Windows build fix
53371         * WebCore.vcproj/WebCore.vcproj:
53373 2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
53375         Gtk build fix - add html/canvas to the include path.
53377         * GNUmakefile.am:
53379 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
53381         Prospective build fix for Qt following r46937.
53383         * WebCore.pro:
53385 2009-08-07  Yong Li  <yong.li@torchmobile.com>
53387         WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
53388         https://bugs.webkit.org/show_bug.cgi?id=27734
53390         * platform/graphics/GlyphBuffer.h:
53391         (WebCore::GlyphBuffer::advanceAt):
53392         (WebCore::GlyphBuffer::advanceData):
53393         (WebCore::GlyphBuffer::add):
53395 2009-08-07  Yong Li  <yong.li@torchmobile.com>
53397         Reviewed by Eric Seidel.
53399         WINCE PORT: pass unrecognized glyphs to GDI to handle
53400         https://bugs.webkit.org/show_bug.cgi?id=27734
53402         * platform/graphics/FontFastPath.cpp:
53403         (WebCore::Font::glyphDataForCharacter):
53405 2009-08-07  Chris Marrin  <cmarrin@apple.com>
53407         Reviewed by Oliver Hunt.
53409         Move Canvas related file to a subdirectories
53410         https://bugs.webkit.org/show_bug.cgi?id=28026
53412         * DerivedSources.make:
53413         * GNUmakefile.am:
53414         * WebCore.gypi:
53415         * WebCore.pro:
53416         * WebCore.vcproj/WebCore.vcproj:
53417         * WebCore.xcodeproj/project.pbxproj:
53418         * WebCoreSources.bkl:
53419         * html/CanvasGradient.cpp: Removed.
53420         * html/CanvasGradient.h: Removed.
53421         * html/CanvasGradient.idl: Removed.
53422         * html/CanvasPattern.cpp: Removed.
53423         * html/CanvasPattern.h: Removed.
53424         * html/CanvasPattern.idl: Removed.
53425         * html/CanvasPixelArray.cpp: Removed.
53426         * html/CanvasPixelArray.h: Removed.
53427         * html/CanvasPixelArray.idl: Removed.
53428         * html/CanvasRenderingContext2D.cpp: Removed.
53429         * html/CanvasRenderingContext2D.h: Removed.
53430         * html/CanvasRenderingContext2D.idl: Removed.
53431         * html/CanvasStyle.cpp: Removed.
53432         * html/CanvasStyle.h: Removed.
53433         * html/canvas: Added.
53434         * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
53435         * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
53436         * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
53437         * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
53438         * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
53439         * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
53440         * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
53441         * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
53442         * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
53443         * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
53444         * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
53445         * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
53446         * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
53447         * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.
53449 2009-08-07  Szabo Carol  <carol.szabo@nokia.com>
53451         Reviewed by David Hyatt.
53453         QtWebkit ignores letter-spacing and word-spacing styles.
53454         QtWebkit handles custom letter-spacing and word-spacing in the native QFont
53455         class, but the values for these options are not not passed on from
53456         the platform independent part of the Font class.
53457         Fixed QtWebkit behavior by applying the options to QFont when it is
53458         returned via Font::font()
53460         http://bugs.webkit.org/show_bug.cgi?id=27988
53462         LayoutTests:
53463         fast/css/word-space-extra.html
53464         css2.1/t1604-c542-letter-sp-00-b-a.html
53465         css2.1/t1604-c541-word-sp-01-b-a.html
53466         css1/text_properties/word_spacing.html
53467         
53468         * platform/graphics/qt/FontQt.cpp:
53469         (WebCore::Font::font):
53471 2009-08-07  Nicolas Weber  <thakis@chromium.org>
53473         Reviewed by Darin Adler.
53475         Use correct highlight color for listboxes and completion popups.
53477         https://bugs.webkit.org/show_bug.cgi?id=28090
53479         * rendering/RenderThemeChromiumMac.h:
53480         * rendering/RenderThemeChromiumMac.mm:
53481         Rename activeListBoxSelectionBackgroundColor to
53482         platformActiveListBoxSelectionBackgroundColor, so that it actually
53483         overrides a virtual method.
53485 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
53487         Reviewed by Eric Seidel.
53489         Added a fourth bunch of Haiku-specific files for WebCore.
53490         https://bugs.webkit.org/show_bug.cgi?id=26988
53492         * platform/haiku/PasteboardHaiku.cpp: Added.
53493         (WebCore::Pasteboard::Pasteboard):
53494         (WebCore::Pasteboard::generalPasteboard):
53495         (WebCore::Pasteboard::writeSelection):
53496         (WebCore::Pasteboard::canSmartReplace):
53497         (WebCore::Pasteboard::plainText):
53498         (WebCore::Pasteboard::documentFragment):
53499         (WebCore::Pasteboard::writeURL):
53500         (WebCore::Pasteboard::writeImage):
53501         (WebCore::Pasteboard::clear):
53502         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
53503         (WebCore::keyIdentifierForHaikuKeyCode):
53504         (WebCore::windowsKeyCodeForKeyEvent):
53505         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
53506         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
53507         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
53508         * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
53509         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
53510         * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
53511         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
53513 2009-08-07  Nicolas Weber  <thakis@chromium.org>
53515         Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
53516         Heavily inspired by Firefox's take on this issue.
53518         https://bugs.webkit.org/show_bug.cgi?id=27909
53520         Reviewed by Eric Seidel.
53522         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
53523         (WebCore::JPEGImageReader::decode):
53524         Tell jpeglib to convert ycck to cmyk and keep cmyk.
53525         (WebCore::convertCMYKToRGBA):
53526         Added function to convert cmyk to rgb.
53527         (WebCore::convertRGBToRGBA):
53528         Extracted existing conversion logic into its own function.
53529         (WebCore::JPEGImageDecoder::outputScanlines):
53530         Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
53531         images.
53533 2009-08-07  Drew Wilson  <atwilson@google.com>
53535         Reviewed by David Levin.
53537         SharedWorkers should be shared
53538         https://bugs.webkit.org/show_bug.cgi?id=28058
53540         Added tracking of shared workers to the SharedWorkerRepository.
53542         * workers/DefaultSharedWorkerRepository.cpp:
53543         (WebCore::SharedWorkerProxy::create):
53544         Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
53545         (WebCore::SharedWorkerProxy::thread):
53546         (WebCore::SharedWorkerProxy::closing):
53547         Added flag used to determine whether the worker has closed itself while loading.
53548         (WebCore::SharedWorkerProxy::url):
53549         (WebCore::SharedWorkerProxy::name):
53550         Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
53551         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
53552         (WebCore::SharedWorkerProxy::addToDocumentSet):
53553         Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
53554         (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
53555         Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
53556         (WebCore::SharedWorkerScriptLoader::load):
53557         (WebCore::SharedWorkerScriptLoader::notifyFinished):
53558         (WebCore::DefaultSharedWorkerRepository::instance):
53559         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
53560         Now handles "worker already loaded" case.
53561         (WebCore::SharedWorkerRepository::connect):
53562         Delegates to DefaultSharedWorkerRepository::connectToWorker
53563         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
53564         Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
53565         (WebCore::DefaultSharedWorkerRepository::getProxy):
53566         Atomic get-or-create operation on the internal tracking HashMap.
53567         * workers/DefaultSharedWorkerRepository.h:
53568         * workers/SharedWorker.cpp:
53569         (WebCore::SharedWorker::SharedWorker):
53570         * workers/SharedWorkerRepository.h:
53571         Removed instance() API and made constructor private to prevent instantiation.
53572         (WebCore::SharedWorkerRepository::SharedWorkerRepository):
53574 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
53576         Reviewed by Eric Seidel.
53578         Added four Haiku-specific files for WebCore:
53579         PopupMenuHaiku.cpp, ScreenHaiku.cpp,
53580         SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
53581         https://bugs.webkit.org/show_bug.cgi?id=28080
53583         * platform/haiku/PopupMenuHaiku.cpp: Added.
53584         (WebCore::PopupMenu::PopupMenu):
53585         (WebCore::PopupMenu::~PopupMenu):
53586         (WebCore::PopupMenu::show):
53587         (WebCore::PopupMenu::hide):
53588         (WebCore::PopupMenu::updateFromElement):
53589         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
53590         * platform/haiku/ScreenHaiku.cpp: Added.
53591         (WebCore::screenRect):
53592         (WebCore::screenAvailableRect):
53593         (WebCore::screenDepth):
53594         (WebCore::screenDepthPerComponent):
53595         (WebCore::screenIsMonochrome):
53596         * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
53597         (WebCore::SearchPopupMenu::SearchPopupMenu):
53598         (WebCore::SearchPopupMenu::saveRecentSearches):
53599         (WebCore::SearchPopupMenu::loadRecentSearches):
53600         (WebCore::SearchPopupMenu::enabled):
53601         * platform/haiku/SoundHaiku.cpp: Added.
53602         (WebCore::systemBeep):
53604 2009-08-07  Maxime Simon  <simon.maxime@gmail.com>
53606         Reviewed by Eric Seidel.
53608         Added two Haiku-specific files to WebCore:
53609         TemporaryLinkStubs.cpp and WidgetHaiku.cpp
53610         https://bugs.webkit.org/show_bug.cgi?id=28080
53612         * platform/haiku/TemporaryLinkStubs.cpp: Added.
53613         (loadResourceIntoArray):
53614         (WebCore::historyContains):
53615         (WebCore::supportedKeySizes):
53616         (WebCore::signedPublicKeyAndChallengeString):
53617         (WebCore::userIdleTime):
53618         (WebCore::callOnMainThread):
53619         (WebCore::SharedBuffer::createWithContentsOfFile):
53620         (WebCore::KURL::fileSystemPath):
53621         (WebCore::getSupportedKeySizes):
53622         * platform/haiku/WidgetHaiku.cpp: Added.
53623         (WebCore::Widget::Widget):
53624         (WebCore::Widget::~Widget):
53625         (WebCore::Widget::frameRect):
53626         (WebCore::Widget::setFrameRect):
53627         (WebCore::Widget::setFocus):
53628         (WebCore::Widget::setCursor):
53629         (WebCore::Widget::show):
53630         (WebCore::Widget::hide):
53631         (WebCore::Widget::paint):
53632         (WebCore::Widget::setIsSelected):
53634 2009-08-07  Jian Li  <jianli@chromium.org>
53636         Reviewed by Dimitri Glazkov.
53638         [V8] Fix the problem that isAttribute is set to false for onerror and
53639         onmessage in worker custom code.
53640         https://bugs.webkit.org/show_bug.cgi?id=28083
53642         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
53643         (WebCore::getEventListener):
53644         (WebCore::ACCESSOR_SETTER):
53645         (WebCore::CALLBACK_FUNC_DECL):
53646         * bindings/v8/custom/V8WorkerContextCustom.cpp:
53647         (WebCore::ACCESSOR_SETTER):
53648         * bindings/v8/custom/V8WorkerCustom.cpp:
53649         (WebCore::getEventListener):
53650         (WebCore::ACCESSOR_SETTER):
53652 2009-08-07  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
53654         Reviewed by Dimitri Glazkov.
53656         V8 bindings: speed up lookupDOMWrapper by using new V8 API function.
53658         https://bugs.webkit.org/show_bug.cgi?id=28071
53660         * bindings/v8/V8DOMWrapper.cpp:
53661         * bindings/v8/V8DOMWrapper.h:
53662         (WebCore::V8DOMWrapper::lookupDOMWrapper):
53664 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
53666         Reviewed by Justin Garcia.
53668         selectionHasStyle doesn't handle text-specific properties properly
53669         https://bugs.webkit.org/show_bug.cgi?id=27858
53671         This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
53672         (text-decoration, font-style, font-weight, & color) are present in all text nodes,
53673         regardless of whether the style is also present in their ancestor nodes or not.
53674         e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.
53676         WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
53677         at least one text node, rather than at the beginning of selection except on Mac.
53678         On Mac, WebKit applies the text style if the style was not present at the beginning of style.
53680         Test: editing/execCommand/toggle-compound-styles.html
53682         * editing/ApplyStyleCommand.cpp:
53683         (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
53684         * editing/Editor.cpp:
53685         (WebCore::):
53686         (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
53687         (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
53688         * editing/EditorCommand.cpp:
53689         (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle
53691 2009-08-07  Jian Li  <jianli@chromium.org>
53693         Reviewed by Dimitri Glazkov.
53695         [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
53696         https://bugs.webkit.org/show_bug.cgi?id=28082
53698         * bindings/v8/WorkerContextExecutionProxy.cpp:
53699         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
53701 2009-08-07  Kwang Yul Seo  <skyul@company100.net>
53703         Reviewed by Eric Seidel.
53705         Cairo-based Windows port does not handle cookies properly
53706         https://bugs.webkit.org/show_bug.cgi?id=27414
53708         curl handles cookies by itself, so using WinINet functions
53709         to get and set cookies is wrong.
53711         Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
53712         cookies can be implemented later once curl provides an API to
53713         get and set cookies.
53715         * WebCore.vcproj/WebCore.vcproj:
53717 2009-08-07  Michael Nordman  <michaeln@google.com>
53719         Reviewed by Dimitri Glazkov.
53721         https://bugs.webkit.org/show_bug.cgi?id=28074
53723         V8 bindings for the window.applicationCache attribute.
53725         * WebCore.gypi:
53726         * bindings/scripts/CodeGeneratorV8.pm:
53727         * bindings/v8/DOMObjectsInclude.h:
53728         * bindings/v8/DerivedSourcesAllInOne.cpp:
53729         * bindings/v8/V8DOMWrapper.cpp:
53730         (WebCore::V8DOMWrapper::getTemplate):
53731         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
53732         * bindings/v8/V8Index.cpp:
53733         * bindings/v8/V8Index.h:
53734         * bindings/v8/custom/V8CustomBinding.h:
53735         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.
53737 2009-08-07  Alpha Lam  <hclam@chromium.org>
53739         Reviewed by Eric Seidel.
53741         Right click on timeline of media controls panel cause seek
53742         https://bugs.webkit.org/show_bug.cgi?id=27920
53744         Add a test simulate the behavior of seeking by right clicking
53745         on the time bar of media controls while playing.
53747         * media/controls-right-click-on-timebar-expected.txt: Added.
53748         * media/controls-right-click-on-timebar.html: Added.
53750 2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
53752         Reviewed by Justin Garcia.
53754         deprecatedCopyInheritableProperties must be replaced by two different functions
53755         https://bugs.webkit.org/show_bug.cgi?id=28057
53757         This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
53758         or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
53759         which consists of all CSS properties need to be preserved under editing operations.
53761         No test is added since this patch does not change any behavior.
53763         * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
53764         * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
53765         * editing/ApplyStyleCommand.cpp:
53766         (WebCore::):
53767         (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
53768         (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
53769         (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
53770         * editing/ApplyStyleCommand.h:
53771         (WebCore::):
53772         * editing/CompositeEditCommand.cpp:
53773         (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
53774         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
53775         * editing/DeleteSelectionCommand.cpp:
53776         (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
53777         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
53778         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
53779         * editing/EditCommand.cpp:
53780         * editing/EditCommand.h:
53781         * editing/InsertParagraphSeparatorCommand.cpp:
53782         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
53783         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
53784         * editing/RemoveFormatCommand.cpp:
53785         (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
53786         * editing/ReplaceSelectionCommand.cpp:
53787         (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
53788         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
53789         (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
53790         * editing/markup.cpp:
53791         (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
53792         (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
53793         (WebCore::createMarkup): Uses editingStyleAtPosition
53795 2009-08-07  Steve Block  <steveblock@google.com>
53797         Reviewed by Darin Adler.
53799         Bug 27250: Geolocation callback function IDL files are superfluous
53800         https://bugs.webkit.org/show_bug.cgi?id=27250
53802         The objects for the Geolocation success and error callbacks are created 'manually' in
53803         WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
53804         marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
53805         appear on the window object. Hence IDL files for these callbacks are not required.
53807         See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
53808         http://www.w3.org/TR/WebIDL/#NoInterfaceObject.
53810         No new tests required.
53812         * DerivedSources.make: Modified. Removed reference to IDL files.
53813         * WebCore.gypi: Modified. Removed reference to IDL files.
53814         * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
53815         * page/PositionCallback.idl: Removed.
53816         * page/PositionErrorCallback.idl: Removed.
53818 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
53820         Reviewed by David Levin.
53822         Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
53823         put the idl files back into play regardless of compile time defines.
53825         * html/TimeRanges.idl:
53827 2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
53829         Reviewed by George Staikos.
53831         Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.
53833         https://bugs.webkit.org/show_bug.cgi?id=28050
53835         * platform/qt/RenderThemeQt.cpp:
53836         (WebCore::RenderThemeQt::baselinePosition):
53837         (WebCore::inflateButtonRect):
53838         (WebCore::RenderThemeQt::supportsFocus):
53839         (WebCore::RenderThemeQt::applyTheme):
53841 2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
53843         Reviewed by Eric Seidel.
53845         Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
53846         from discarding style colour.
53848         Add tests and remove tests from platform/qt/Skipped that now pass.
53850         https://bugs.webkit.org/show_bug.cgi?id=28050
53852         Tests: fast/forms/menulist-style-color.html
53853                fast/forms/text-style-color.html
53855         * platform/qt/RenderThemeQt.cpp:
53856         (WebCore::RenderThemeQt::adjustTextFieldStyle):
53857         (WebCore::RenderThemeQt::adjustMenuListStyle):
53858         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
53860 2009-08-07  Dimitri Glazkov  <dglazkov@chromium.org>
53862         Unreviewed, build fix.
53864         https://bugs.webkit.org/show_bug.cgi?id=22495
53865         [V8] Re-land http://trac.webkit.org/changeset/46821, now that
53866         http://trac.webkit.org/changeset/46874 re-landed
53868         * bindings/v8/DOMObjectsInclude.h:
53869         * bindings/v8/DerivedSourcesAllInOne.cpp:
53870         * bindings/v8/V8Index.cpp:
53871         * bindings/v8/V8Index.h:
53873 2009-08-07  Adam Treat  <adam.treat@torchmobile.com>
53875         Reviewed by Darin Adler and George Staikos.
53877         Add rectToRect convenience function which returns the TransformationMatrix
53878         which maps the 'from' rectangle to the 'to' rectangle.
53880         https://bugs.webkit.org/show_bug.cgi?id=28067
53882         No tests as this would require binding the method to js and since it is static
53883         that doesn't seem possible.  Please check the math.
53885         * platform/graphics/transforms/TransformationMatrix.cpp:
53886         (WebCore::TransformationMatrix::rectToRect):
53887         * platform/graphics/transforms/TransformationMatrix.h:
53889 2009-08-07  Brady Eidson  <beidson@apple.com>
53891         Reviewed by Darin Adler.
53893         Implement the HTML5 hashchange event.
53894         https://bugs.webkit.org/show_bug.cgi?id=21605
53896         Test: fast/loader/hashchange-event.html
53898         * dom/EventNames.h: Add "hashchange"
53899         * html/HTMLAttributeNames.in: Add "onhashchange"
53901         * loader/FrameLoader.cpp:
53902         (WebCore::HashChangeEventTask::create):
53903         (WebCore::HashChangeEventTask::performTask):
53904         (WebCore::HashChangeEventTask::HashChangeEventTask):
53905         (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
53906           new fragment identifier is different from the old one, queue a hash change event
53907           on the Document.
53909         Add a window event listener for the hashchange event if onhashchange is encountered:
53910         * html/HTMLBodyElement.cpp:
53911         (WebCore::HTMLBodyElement::parseMappedAttribute): 
53912         * html/HTMLFrameSetElement.cpp:
53913         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
53915         Add a new string utility method that gives "null and empty are equivalent" behavior:
53916         * platform/text/PlatformString.h:
53917         (WebCore::equalIgnoringNullity):
53918         * platform/text/StringImpl.cpp:
53919         (WebCore::equalIgnoringNullity):
53920         * platform/text/StringImpl.h:
53922 2009-08-07  Jessie Berlin  <jberlin@apple.com>
53924         Reviewed by Timothy Hatcher.
53926         Add the initial implementation of the ability to resize the columns in
53927         a DataGrid in the Web Inspector. Enables that functionality in both the
53928         Profile View and in the Local Storage View.
53929         
53930         https://bugs.webkit.org/show_bug.cgi?id=26182
53931         
53932         In this version, resizing a column can change the width of at most two
53933         columns (the columns to the left and right of the resizer being dragged).
53934         
53935         Possible changes in future patches:
53936         
53937         1) Be able to specify the minimum size of a column and the maximum size
53938            of a column. If the minimum size is equal to the maximum size, the
53939            column can't be resized.
53940         2) Make the behavior more in line with the following description:
53941         
53942         Everything before the column that is resized stays fixed size. The
53943         resized column changes sizes. The other columns except the last stay
53944         the same size. And the last column adjusts to fit with a minimum size.
53945         If the last column is already the minimum, the next to last column
53946         shrinks, etc.
53947         
53948         3) Make it possible to scale the column sizes appropriately when the
53949            Web Inspector window gets resized.
53950         
53951         * inspector/front-end/DOMStorageItemsView.js:
53952         (WebInspector.DOMStorageItemsView.prototype.update):
53953         Once the DataGrid is added to the DOM, update the widths of the
53954         DataGrid in order to put the resizers in place.
53955         (WebInspector.DOMStorageItemsView.prototype.resize):
53956         Update the widths of the DataGrid in order to correctly adjust the
53957         positions of the resizers.
53958         
53959         * inspector/front-end/DataGrid.js:
53960         (WebInspector.DataGrid):
53961         Store column groups whose widths can later be changed when the columns
53962         are resized by the user.
53963         Also, keep track of whether the widths of the columns have been
53964         initialized.
53965         (WebInspector.DataGrid.prototype.updateWidths):
53966         Create the resizers for the columns.
53967         (WebInspector.DataGrid.prototype._clickInDataTable):
53968         Didn't actually change anything in this method, just added a comma to
53969         the end of the function.
53970         (WebInspector.DataGrid.prototype._startResizerDragging):
53971         Store the resizer that is currently dragging.
53972         (WebInspector.DataGrid.prototype._resizerDragging):
53973         Constrain the area that the resizer can be dragged to the column to
53974         it's left and right, with some padding added to make sure that the
53975         neighboring columns don't disappear.
53976         (WebInspector.DataGrid.prototype._endResizerDragging):
53977         
53978         * inspector/front-end/DatabasesPanel.js:
53979         (WebInspector.DatabasesPanel.prototype.resize):
53980         Resize the view.
53981         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
53982         ditto.
53983         
53984         * inspector/front-end/ProfileView.js:
53985         (WebInspector.ProfileView.prototype.show):
53986         Now that the DataGrid is actually attached to the DOM, update the
53987         widths of the DataGrid in order to put the resizers in place.
53988         (WebInspector.ProfileView.prototype.resize):
53989         Update the widths of the DataGrid in order to correctly adjust the
53990         positions of the resizers.
53991         
53992         * inspector/front-end/ProfilesPanel.js:
53993         (WebInspector.ProfilesPanel.prototype.resize):
53994         Resize the view.
53995         (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
53996         ditto.
53997         
53998         * inspector/front-end/inspector.css:
53999         Add in a style rule for a resizer in the Data Grid.
54001 2009-08-07  Simon Hausmann  <simon.hausmann@nokia.com>
54003         Reviewed by Tor Arne Vestbø.
54005         Back out r46847 and fix the Qt build system to always generate
54006         all the JS binding files from IDL files. The generated files
54007         have #if feature guards, so the #ifs are not needed in the
54008         files using them.
54010         * WebCore.pro:
54011         * bindings/js/JSEventTarget.cpp:
54012         * bindings/js/JSWorkerContextBase.cpp:
54013         * bindings/js/WorkerScriptController.cpp:
54015 2009-08-07  Shinichiro Hamaji  <hamaji@chromium.org>
54017         Reviewed by Adele Peterson.
54019         Cannot scroll for box-reflect:right
54020         https://bugs.webkit.org/show_bug.cgi?id=27979
54022         Update m_overflowLeft an m_overflowWidth for reflection just like
54023         m_overflowTop and m_overflowHeight.
54025         Test: fast/reflections/reflection-overflow-scroll.html
54027         * rendering/RenderBlock.cpp:
54028         (WebCore::RenderBlock::layoutBlock):
54030 2009-08-06  Shinichiro Hamaji  <hamaji@chromium.org>
54032         Reviewed by Adam Barth.
54034         box-shadow's spread is ignored with <table>
54035         https://bugs.webkit.org/show_bug.cgi?id=28017
54037         Use RenderStyle::getBoxShadowExtent just like RenderBlock.
54039         Test: fast/box-shadow/box-shadow-overflow-scroll.html
54041         * rendering/RenderTable.cpp:
54042         (WebCore::RenderTable::layout):
54044 2009-08-06  Joseph Pecoraro  <joepeck02@gmail.com>
54046         Reviewed by Timothy Hatcher.
54048         Inspector: NodeLists Don't Display Well in the Console
54049         https://bugs.webkit.org/show_bug.cgi?id=28061
54051         * inspector/front-end/ConsoleView.js:
54052         (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"
54054 2009-08-06  Yusuke Sato  <yusukes@chromium.org>
54056         Reviewed by David Levin.
54058         Chromium Linux: add support for @font-face
54059         https://bugs.webkit.org/show_bug.cgi?id=28015
54060         
54061         * loader/CachedFont.cpp:
54062         (WebCore::CachedFont::~CachedFont):
54063         (WebCore::CachedFont::ensureCustomFontData):
54064         (WebCore::CachedFont::platformDataFromCustomData):
54065         (WebCore::CachedFont::allClientsRemoved):
54067         Modified #ifdefs so that chromium linux can load remote fonts.
54068         
54069         * platform/graphics/chromium/FontCustomPlatformData.cpp:
54070         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
54071         (WebCore::FontCustomPlatformData::fontPlatformData):
54072         (WebCore::createFontCustomPlatformData):
54074         Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
54075         
54076         (WebCore::RemoteFontStream::RemoteFontStream):
54077         (WebCore::RemoteFontStream::~RemoteFontStream):
54078         (WebCore::RemoteFontStream::rewind):
54079         (WebCore::RemoteFontStream::read):
54081         New class that implements SkStream interface and wraps wtf's SharedBuffer.
54082         
54083         * platform/graphics/chromium/FontCustomPlatformData.h:
54084         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
54086         Added member variables for Linux.
54087         
54088 2009-08-06  Yong Li  <yong.li@torchmobile.com>
54090         Reviewed by Eric Seidel.
54092         Fix JPEGImageDecoder.cpp compile error on WinCE
54093         https://bugs.webkit.org/show_bug.cgi?id=28051
54095         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
54097 2009-08-06  Kevin Ollivier  <kevino@theolliviers.com>
54099         Reviewed by Eric Seidel.
54101         Adding WebCore support for the waf build system for wx.
54102         
54103         https://bugs.webkit.org/show_bug.cgi?id=27619
54105         * wscript: Added.
54107 2009-08-06  Adam Barth  <abarth@webkit.org>
54109         Unreviewed revert.
54111         http://bugs.webkit.org/show_bug.cgi?id=27879
54113         Revert 46877 because it broke GTK.
54115         * platform/graphics/wince/GraphicsContextWince.cpp:
54117 2009-08-06  Chris Fleizach  <cfleizach@apple.com>
54119         Reviewed by Eric Seidel.
54121         Bug 27956 - AX: roleValue should be cached for performance
54122         https://bugs.webkit.org/show_bug.cgi?id=27956
54124         Caches the role value of an accessibility object instead of calculating it everytime.
54125         The changes gained a 5% speedup using VoiceOver to navigate a webpage.
54127         * accessibility/AXObjectCache.cpp:
54128         (WebCore::AXObjectCache::handleAriaRoleChanged):
54130         Use generic role setter instead of specific ARIA role setter.
54132         * accessibility/AccessibilityObject.cpp:
54133         (WebCore::AccessibilityObject::AccessibilityObject):
54134         * accessibility/AccessibilityObject.h:
54135         (WebCore::AccessibilityObject::headingLevel):
54137         Make headingLevel into instance method so that it can *safely* be called in the constructor.
54139         (WebCore::AccessibilityObject::setRoleValue):
54140         (WebCore::AccessibilityObject::roleValue):
54141         * accessibility/AccessibilityRenderObject.cpp:
54142         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
54143         (WebCore::AccessibilityRenderObject::headingLevel):
54144         (WebCore::AccessibilityRenderObject::intValue):
54145         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
54146         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
54147         * accessibility/AccessibilityRenderObject.h:
54148         * accessibility/mac/AccessibilityObjectWrapper.mm:
54149         (AXAttributeStringSetHeadingLevel):
54151 2009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
54153         Reviewed by Adam Barth.
54155         Change Noncopyable inheriting to public
54156         http://bugs.webkit.org/show_bug.cgi?id=27879
54158         Since Noncopyable is inherited from FastAllocBase, Noncopyable's
54159         inheriting has been changed to public.
54161         * platform/graphics/wince/GraphicsContextWince.cpp:
54163 2009-08-06  Mark Rowe  <mrowe@apple.com>
54165         Rubber-stamped by Sam Weinig.
54167         Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
54169         * WebCore.xcodeproj/project.pbxproj:
54171 2009-08-05  Simon Fraser  <simon.fraser@apple.com>
54173         Reviewed by Darin Adler.
54175         Implement the matchMedium method on the Media interface described in the CSSOM View Module.
54176         https://bugs.webkit.org/show_bug.cgi?id=22495
54177         
54178         Add a new Media interface, obtainable via the AbstractView, that can
54179         evaluate queries via its matchesMedium() method.
54181         Test: fast/media/matchmedium-query-api.html
54183         * DerivedSources.cpp:
54184         * DerivedSources.make:
54185         * GNUmakefile.am:
54186         * WebCore.gypi:
54187         * WebCore.pro:
54188         * WebCore.vcproj/WebCore.vcproj:
54189         * WebCore.xcodeproj/project.pbxproj:
54190         * WebCoreSources.bkl:
54191         Add Media.* files to the build.
54193         * css/Media.cpp: Added.
54194         (WebCore::Media::Media):
54195         (WebCore::Media::type):
54196         (WebCore::Media::matchMedium):
54197         * css/Media.h: Added.
54198         (WebCore::Media::create):
54199         (WebCore::Media::document):
54200         * css/Media.idl: Added.
54201         Media::matchMedium() uses a MediaQueryEvaluator() to test the query.
54203         * page/AbstractView.idl:
54204         * page/DOMWindow.cpp:
54205         (WebCore::DOMWindow::media):
54206         * page/DOMWindow.h:
54207         * page/DOMWindow.idl:
54208         Add a readonly attribute for Media.
54210 2009-08-06  Michelangelo De Simone  <micdesim@gmail.com>
54212         Reviewed by Darin Adler.
54214         https://bugs.webkit.org/show_bug.cgi?id=27455
54215         Support for a custom validation message in ValidityState and related
54216         form controls.
54217         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity
54219         Tests: fast/forms/ValidityState-customError-001.html
54220                fast/forms/ValidityState-customError-002.html
54221                fast/forms/ValidityState-customError-003.html
54222                fast/forms/ValidityState-customError-004.html
54224         * html/HTMLButtonElement.idl: setCustomValidity DOM method
54225         * html/HTMLFieldSetElement.idl: ditto
54226         * html/HTMLFormControlElement.cpp:
54227         (WebCore::HTMLFormControlElement::setCustomValidity): ditto
54228         * html/HTMLFormControlElement.h:
54229         (WebCore::HTMLFormControlElement::valueMissing): moved down
54230         * html/HTMLInputElement.idl: ditto
54231         * html/HTMLSelectElement.idl: ditto
54232         * html/HTMLTextAreaElement.idl:
54233         * html/ValidityState.h:
54234         (WebCore::ValidityState::setCustomErrorMessage): method to set custom
54235         validation message
54236         (WebCore::ValidityState::customError): validation flag
54238 2009-08-06  Mark Rowe  <mrowe@apple.com>
54240         Bring a little order to our otherwise out of control lives.
54242         * WebCore.xcodeproj/project.pbxproj:
54244 2009-08-06  Mark Rowe  <mrowe@apple.com>
54246         Stop copying .idl files in to the framework resources directory.
54248         * WebCore.xcodeproj/project.pbxproj:
54250 2009-08-06  Mark Rowe  <mrowe@apple.com>
54252         Fix the build some more.
54254         Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
54255         files and groups in to the appropriate locations.
54257         * WebCore.xcodeproj/project.pbxproj:
54259 2009-08-06  Fumitoshi Ukai  <ukai@chromium.org>
54261         Reviewed by Alexey Proskuryakov.
54263         Add WebSocket.idl
54264         https://bugs.webkit.org/show_bug.cgi?id=27209
54266         Add WebSocket.idl in WebCore/websockets/.
54267         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
54268         Other build systems will be updated once the code is functional.
54270         * DerivedSources.make:
54271         * GNUmakefile.am:
54272         * WebCore.xcodeproj/project.pbxproj:
54273         * bindings/js/JSWebSocketConstructor.cpp: Added.
54274         * bindings/js/JSWebSocketConstructor.h: Added.
54275         * bindings/js/JSWebSocketCustom.cpp: Added.
54276         * websockets/WebSocket.cpp: Added.
54277         * websockets/WebSocket.h: Added.
54278         * websockets/WebSocket.idl: Added.
54280 2009-08-06  Jian Li  <jianli@chromium.org>
54282         Reviewed by Dimitri Glazkov.
54284         [V8] Style cleaning for WorkerContextExecutionProxy.
54285         https://bugs.webkit.org/show_bug.cgi?id=27997
54287         Cleanup WorkerContextExecutioonProxy related files to follow
54288         WebKit coding styles after all V8 binding codes are upstreamed.
54289         1) Lower-case the first letter of remaining functins in class
54290            WorkerContextExecutionProxy. Update the V8 code generator
54291            and all other references accordingly.
54292         2) Integrate getConstructor from WorkerContextExecutionProxy
54293            to V8DOMWrapper.
54294         3) Other misc changes, like removing trailing whitespaces and
54295            sorting the include files.
54297         * bindings/scripts/CodeGeneratorV8.pm:
54298         * bindings/v8/ScheduledAction.cpp:
54299         (WebCore::ScheduledAction::execute):
54300         * bindings/v8/V8DOMWrapper.cpp:
54301         (WebCore::V8DOMWrapper::getConstructorForContext):
54302         (WebCore::V8DOMWrapper::convertToV8Object):
54303         * bindings/v8/V8DOMWrapper.h:
54304         * bindings/v8/V8WorkerContextEventListener.cpp:
54305         (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
54306         (WebCore::V8WorkerContextEventListener::handleEvent):
54307         (WebCore::V8WorkerContextEventListener::reportError):
54308         (WebCore::V8WorkerContextEventListener::getReceiverObject):
54309         * bindings/v8/V8WorkerContextObjectEventListener.cpp:
54310         (WebCore::weakObjectEventListenerCallback):
54311         * bindings/v8/WorkerContextExecutionProxy.cpp:
54312         (WebCore::handleConsoleMessage):
54313         (WebCore::WorkerContextExecutionProxy::dispose):
54314         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
54315         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
54316         (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
54317         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
54318         (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
54319         (WebCore::WorkerContextExecutionProxy::toV8):
54320         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
54321         (WebCore::WorkerContextExecutionProxy::removeEventListener):
54322         * bindings/v8/WorkerContextExecutionProxy.h:
54323         (WebCore::WorkerContextExecutionProxy::context):
54324         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
54325         * bindings/v8/custom/V8WorkerContextCustom.cpp:
54326         (WebCore::ACCESSOR_GETTER):
54327         (WebCore::CALLBACK_FUNC_DECL):
54329 2009-08-06  Darin Adler  <darin@apple.com>
54331         Fix Mac Leopard debug build.
54333         * platform/text/StringImpl.cpp:
54334         (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
54335         is always >= 0 and checking causes a warning in the newer versions of gcc.
54337 2009-08-06  Adam Barth  <abarth@webkit.org>
54339         Unreview rollout.
54341         Revert 46840 because it broke the reliability tests.
54343         * bindings/v8/ScheduledAction.cpp:
54344         (WebCore::ScheduledAction::ScheduledAction):
54345         (WebCore::ScheduledAction::execute):
54346         * bindings/v8/ScheduledAction.h:
54347         (WebCore::ScheduledAction::ScheduledAction):
54348         * bindings/v8/custom/V8DOMWindowCustom.cpp:
54349         (WebCore::V8Custom::WindowSetTimeoutImpl):
54350         * bindings/v8/custom/V8WorkerContextCustom.cpp:
54351         (WebCore::SetTimeoutOrInterval):
54353 2009-08-06  Adam Barth  <abarth@webkit.org>
54355         Unreviewed rollout.
54357         Revert 46840 in preparation to revert 46838, which broke the reliability tests.
54359         * bindings/v8/V8Proxy.cpp:
54360         (WebCore::V8Proxy::updateDocumentWrapperCache):
54361         (WebCore::V8Proxy::initContextIfNeeded):
54362         (WebCore::V8Proxy::mainWorldContext):
54363         * bindings/v8/V8Proxy.h:
54364         (WebCore::V8Proxy::context):
54366 2009-08-06  Pavel Feldman  <pfeldman@chromium.org>
54368         Reviewed by Timothy Hatcher.
54370         WebInspector: move style-related utilities into InjectedScript.
54372         http://bugs.webkit.org/show_bug.cgi?id=27939
54374         * inspector/front-end/DOMAgent.js:
54375         (WebInspector.CSSStyleDeclaration):
54376         (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
54377         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
54378         (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
54379         (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
54380         * inspector/front-end/InjectedScript.js:
54381         (InjectedScript.applyStyleText):
54382         (InjectedScript.toggleStyleEnabled):
54383         (InjectedScript._serializeStyle):
54384         (InjectedScript._getUniqueStyleProperties):
54385         (InjectedScript._getLonghandProperties):
54386         (InjectedScript._getShorthandPriority):
54387         * inspector/front-end/StylesSidebarPane.js:
54388         (WebInspector.StylesSidebarPane.prototype._update):
54389         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
54390         (WebInspector.StylePropertiesSection.prototype.onpopulate):
54391         (WebInspector.StylePropertyTreeElement.prototype.get priority):
54392         (WebInspector.StylePropertyTreeElement.prototype.get value):
54393         (WebInspector.StylePropertyTreeElement.prototype):
54394         * inspector/front-end/utilities.js:
54396 2009-08-06  Simon Hausmann  <simon.hausmann@nokia.com>
54398         Unreviewed build fix, add #ifdef guards around
54399         inclusions of shared worker specific files.
54401         * bindings/js/JSEventTarget.cpp:
54402         * bindings/js/JSWorkerContextBase.cpp:
54403         * bindings/js/WorkerScriptController.cpp:
54405 2009-08-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
54407         Reviewed by Darin Adler.
54409         cssgrammar.cpp fails to compile with RVCT compiler
54410         https://bugs.webkit.org/show_bug.cgi?id=27952
54412         * css/CSSGrammar.y: Do not convert to String to get rid of the stray
54413         memory allocation 
54415         * platform/text/StringImpl.cpp:
54416         (WebCore::equalIgnoringCase):
54417         * platform/text/StringImpl.h: 
54418         (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
54419           function that works with a character pointer and length
54421 2009-08-06  Drew Wilson  <atwilson@google.com>
54423         Reviewed by David Levin.
54425         Created first working implementation of SharedWorkers (execution only, no sharing).
54426         https://bugs.webkit.org/show_bug.cgi?id=27927
54428         Added initial implementations of SharedWorkerThread and SharedWorkerContext.
54429         No v8 bindings yet.
54431         * DerivedSources.cpp:
54432         Added shared worker files.
54433         * DerivedSources.make:
54434         Added shared worker files.
54435         * GNUmakefile.am:
54436         Added shared worker files.
54437         * WebCore.gypi:
54438         Added shared worker files.
54439         * WebCore.pro:
54440         Added shared worker files.
54441         * WebCore.vcproj/WebCore.vcproj:
54442         Added shared worker files.
54443         * WebCore.xcodeproj/project.pbxproj:
54444         Added shared worker files.
54445         * bindings/js/JSEventTarget.cpp:
54446         (WebCore::toJS):
54447         Added code to convert from EventTarget to correct JS class.
54448         (WebCore::toEventTarget):
54449         Added code to cast from JS object to appropriate EventTarget impl class.
54450         * bindings/js/JSSharedWorkerConstructor.cpp:
54451         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
54452         (WebCore::constructSharedWorker):
54453         Tweaked the constructor code to pass in the lexical global object like normal workers.
54454         * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
54455         (WebCore::JSSharedWorkerContext::mark):
54456         Custom marking of the onconnect handler.
54457         * bindings/js/JSWorkerContextBase.cpp:
54458         (WebCore::toJSSharedWorkerContext):
54459         (WebCore::toJSWorkerContext):
54460         Added proper conversion to the correct WorkerContext derived class.
54461         * bindings/js/JSWorkerContextBase.h:
54462         * bindings/js/WorkerScriptController.cpp:
54463         (WebCore::WorkerScriptController::initScript):
54464         Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
54465         * bindings/scripts/CodeGeneratorV8.pm:
54466         Added support for SharedWorkerContext.
54467         * bindings/v8/DOMObjectsInclude.h:
54468         Added shared worker bindings files.
54469         * dom/EventNames.h:
54470         Added connect event.
54471         * dom/EventTarget.cpp:
54472         (WebCore::EventTarget::toSharedWorkerContext):
54473         Added API for casting to new derived class (SharedWorkerContext).
54474         * dom/EventTarget.h:
54475         * workers/AbstractWorker.cpp:
54476         (WebCore::AbstractWorker::resolveURL):
54477         Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
54478         * workers/AbstractWorker.h:
54479         * workers/DedicatedWorkerContext.cpp:
54480         (WebCore::DedicatedWorkerContext::logException):
54481         Refactored exception handling code - moved onerror handling to base class.
54482         * workers/DedicatedWorkerContext.h:
54483         (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
54484         * workers/SharedWorker.cpp:
54485         (WebCore::SharedWorker::SharedWorker):
54486         Changed constructor to fire up worker thread.
54487         * workers/SharedWorker.h:
54488         * workers/SharedWorkerContext.cpp: Added.
54489         (WebCore::SharedWorkerContext::SharedWorkerContext):
54490         (WebCore::SharedWorkerContext::~SharedWorkerContext):
54491         (WebCore::SharedWorkerContext::logException):
54492         (WebCore::SharedWorkerContext::addMessage):
54493         Placeholder methods until we add support for sending exceptions/messages to console.
54494         (WebCore::SharedWorkerContext::dispatchConnect):
54495         (WebCore::SharedWorkerContext::thread):
54496         * workers/SharedWorkerContext.h: Added.
54497         (WebCore::SharedWorkerContext::create):
54498         (WebCore::SharedWorkerContext::isSharedWorkerContext):
54499         (WebCore::SharedWorkerContext::toSharedWorkerContext):
54500         (WebCore::SharedWorkerContext::setOnconnect):
54501         (WebCore::SharedWorkerContext::onconnect):
54502         (WebCore::SharedWorkerContext::name):
54503         * workers/SharedWorkerContext.idl: Added.
54504         * workers/SharedWorkerRepository.h: Added.
54505         (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
54506         * workers/DefaultSharedWorkerRepository.cpp: Added.
54507         Implementation of core singleton class that will be used to implement sharing.
54508         (WebCore::SharedWorkerProxy::setThread):
54509         Proxy object used to handle resource loading for a given shared worker.
54510         (WebCore::SharedWorkerProxy::postTaskToLoader):
54511         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
54512         Placeholder routines until we implement loading.
54513         (WebCore::SharedWorkerConnectTask::create):
54514         Creates a task to fire off a connect event on the worker thread.
54515         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
54516         (WebCore::SharedWorkerConnectTask::performTask):
54517         (WebCore::SharedWorkerLoader::SharedWorkerLoader):
54518         Added helper object to load the initial script for the worker.
54519         (WebCore::SharedWorkerLoader::load):
54520         (WebCore::SharedWorkerLoader::notifyFinished):
54521         (WebCore::SharedWorkerRepository::instance):
54522         (WebCore::DefaultSharedWorkerRepository::instance):
54523         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
54524         Fires off the worker thread once the script is loaded.
54525         (WebCore::SharedWorkerRepository::connect):
54526         (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
54527         (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
54528         * workers/DefaultSharedWorkerRepository.h: Added.
54529         * workers/SharedWorkerThread.cpp: Added.
54530         (WebCore::SharedWorkerThread::create):
54531         (WebCore::SharedWorkerThread::SharedWorkerThread):
54532         (WebCore::SharedWorkerThread::~SharedWorkerThread):
54533         (WebCore::SharedWorkerThread::createWorkerContext):
54534         * workers/SharedWorkerThread.h: Added.
54535         * workers/Worker.cpp:
54536         (WebCore::Worker::Worker):
54537         * workers/WorkerContext.cpp:
54538         (WebCore::WorkerContext::reportException):
54539         * workers/WorkerContext.h:
54540         (WebCore::WorkerContext::isSharedWorkerContext):
54541         (WebCore::WorkerContext::isDedicatedWorkerContext):
54542         Added APIs to determine the type of a given context.
54544 2009-08-06  Chris Marrin  <cmarrin@apple.com>
54546         Reviewed by David Hyatt.
54548         Added ENABLE_3D_CANVAS flag to build, default to off
54550         * Configurations/FeatureDefines.xcconfig:
54552 2009-08-06  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
54554         Reviewed by Simon Hausmann.
54556         [Qt] windowsKeyCodeForKeyEvent fix
54558         Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.
54560         * platform/qt/PlatformKeyboardEventQt.cpp:
54561         (WebCore::windowsKeyCodeForKeyEvent):
54562         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
54564 2009-08-06  George Staikos  <george.staikos@torchmobile.com>
54566         Rubber-stamped by Ariya Hidayat.
54568         Remove the dead wince/ directory that should never have gone in.
54570         * svg/graphics/wince: Removed.
54571         * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.
54573 2009-08-06  Pavel Feldman  <pfeldman@chromium.org>
54575         Reviewed by Timothy Hatcher.
54577         WebInspector: Extract style editing into a separate file that is
54578         going to be loaded in page context.
54580         https://bugs.webkit.org/show_bug.cgi?id=27939
54582         * inspector/front-end/InjectedScript.js: Added.
54583         (InjectedScript.applyStyleText):
54584         (InjectedScript.setStyleText):
54585         (InjectedScript.toggleStyleEnabled):
54586         (InjectedScript.setStyleRule):
54587         * inspector/front-end/StylesSidebarPane.js:
54588         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
54589         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
54590         (WebInspector.StylePropertyTreeElement.prototype.):
54591         (WebInspector.StylePropertyTreeElement.prototype):
54592         * inspector/front-end/WebKit.qrc:
54593         * inspector/front-end/inspector.html:
54595 2009-08-06  Adam Barth  <abarth@webkit.org>
54597         Reviewed by David Levin.
54599         [V8] Remove bug-bait V8Proxy::context()
54600         https://bugs.webkit.org/show_bug.cgi?id=27826
54602         * bindings/v8/V8Proxy.cpp:
54603         (WebCore::V8Proxy::updateDocumentWrapperCache):
54604         (WebCore::V8Proxy::initContextIfNeeded):
54605         (WebCore::V8Proxy::mainWorldContext):
54606         * bindings/v8/V8Proxy.h:
54608 2009-08-06  Adam Barth  <abarth@webkit.org>
54610         Unreviewed attempt to fix the Chromium Linux build.  This function is
54611         not used.
54613         * bindings/v8/OwnHandle.h:
54615 2009-08-06  Adam Barth  <abarth@webkit.org>
54617         Reviewed by Eric Seidel.
54619         [V8] Teach ScheduledAction::execute about isolated worlds
54620         https://bugs.webkit.org/show_bug.cgi?id=27703
54622         We now save a weak handle to the original context.  We use that handle
54623         to call the timeout in the right context / world.
54625         Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
54626                http/tests/security/isolatedWorld/window-setTimeout-string.html
54628         * bindings/v8/ScheduledAction.cpp:
54629         (WebCore::ScheduledAction::ScheduledAction):
54630         (WebCore::ScheduledAction::execute):
54631         * bindings/v8/ScheduledAction.h:
54632         (WebCore::ScheduledAction::ScheduledAction):
54633         * bindings/v8/custom/V8DOMWindowCustom.cpp:
54634         (WebCore::V8Custom::WindowSetTimeoutImpl):
54635         * bindings/v8/custom/V8WorkerContextCustom.cpp:
54636         (WebCore::SetTimeoutOrInterval):
54638 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
54640         Unreviewed, build fix.
54642         [V8] Revert http://trac.webkit.org/changeset/46821, which was
54643         landed to supplement http://trac.webkit.org/changeset/46816, but
54644         now that the latter is reverted, the former needs the same.
54646         * bindings/v8/DOMObjectsInclude.h:
54647         * bindings/v8/DerivedSourcesAllInOne.cpp:
54648         * bindings/v8/V8Index.cpp:
54649         * bindings/v8/V8Index.h:
54651 2009-08-05  Joseph Pecoraro  <joepeck02@gmail.com>
54653         Reviewed by Timothy Hatcher.
54655         Color is only reported in rgb() format; should toggle between rgb() and hex
54656         https://bugs.webkit.org/show_bug.cgi?id=13516
54658           New Class to Parse and Change Between Color Representations:
54660         * inspector/front-end/Color.js: Added.
54661         (WebInspector.Color):
54663           Representations of Colors in Raw Form. (May be Lazy Loaded):
54665         (WebInspector.Color.prototype.get shorthex):
54666         (WebInspector.Color.prototype.get hex):
54667         (WebInspector.Color.prototype.set hex):
54668         (WebInspector.Color.prototype.get rgb):
54669         (WebInspector.Color.prototype.set rgb):
54670         (WebInspector.Color.prototype.get hsl):
54671         (WebInspector.Color.prototype.set hsl):
54672         (WebInspector.Color.prototype.get nickname):
54673         (WebInspector.Color.prototype.set nickname):
54674         (WebInspector.Color.prototype.get rgba):
54675         (WebInspector.Color.prototype.set rgba):
54676         (WebInspector.Color.prototype.get hsla):
54677         (WebInspector.Color.prototype.set hsla):
54679           Helpers and Standard String Representations:
54681         (WebInspector.Color.prototype.hasShortHex):
54682         (WebInspector.Color.prototype.toRgb):
54683         (WebInspector.Color.prototype.toHsl):
54684         (WebInspector.Color.prototype.toShortHex):
54685         (WebInspector.Color.prototype.toHex):
54686         (WebInspector.Color.prototype.toRgba):
54687         (WebInspector.Color.prototype.toHsla):
54688         (WebInspector.Color.prototype.toNickname):
54690           Conversion Functions to Determine Other Representations:
54691           My Sources for all algorithms and sample data:
54692           Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
54693           CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color
54695         (WebInspector.Color.prototype.rgbToHex):
54696         (WebInspector.Color.prototype.hexToRgb):
54697         (WebInspector.Color.prototype.rgbToHsl):
54698         (WebInspector.Color.prototype.hslToRgb.hueToRgb):
54699         (WebInspector.Color.prototype.hslToRgb):
54700         (WebInspector.Color.prototype.rgbaToHsla):
54701         (WebInspector.Color.prototype.hslaToRgba):
54703           Called from the constructor, attempts to parse and will throw an error
54704           if it cannot parse.  If simple then the "hex" value is guarenteed.
54705           If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
54706           a nickname in any way (e.g. "transparent", "black") then this is
54707           guarenteed to be set as well.
54709         (WebInspector.Color.prototype.parse):
54711           Clicking on the swatch will rotate through Color Representations.
54712             Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
54713             Advanced: rgba -> hsla -> nickname? -> (loop around)
54715         * inspector/front-end/StylesSidebarPane.js:
54716         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
54717         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
54719           Load Color.js:
54721         * inspector/front-end/inspector.html:
54723 2009-08-05  John Abd-El-Malek  <jam@chromium.org>
54725         Reviewed by Dimitri Glazkov.
54727         Support setting event listeners for message ports in the worker process.
54729         https://bugs.webkit.org/show_bug.cgi?id=28004
54731         * bindings/v8/WorkerContextExecutionProxy.cpp:
54732         (WebCore::WorkerContextExecutionProxy::retrieve):
54733         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
54734         * bindings/v8/WorkerContextExecutionProxy.h:
54735         * bindings/v8/custom/V8MessagePortCustom.cpp:
54736         (WebCore::getEventListener):
54737         (WebCore::ACCESSOR_SETTER):
54738         (WebCore::CALLBACK_FUNC_DECL):
54740 2009-08-05  Stephen White  <senorblanco@chromium.org>
54742         Reviewed by Dimitri Glazkov.
54744         http://bugs.webkit.org/show_bug.cgi?id=28022
54746         Minor fix for media code on chromium/skia.
54748         * rendering/RenderThemeChromiumSkia.cpp:
54749         (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
54751 2009-08-05  Darin Adler  <darin@apple.com>
54753         Reviewed by Dan Bernstein.
54755         Client side image maps did not handle zoom correctly.
54756         Client side image maps did not handle border and padding correctly.
54758         Test: fast/images/image-map-zoom.html
54760         * rendering/RenderImage.cpp:
54761         (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
54762         element using the content box and the effective zoom.
54764 2009-08-05  Alexey Proskuryakov  <ap@apple.com>
54766         Reviewed by Oliver Hunt.
54768         https://bugs.webkit.org/show_bug.cgi?id=28027
54769         <rdar://7064428> Files with accents in names are submitted incorrectly due to use of
54770         precomposed Unicode
54772         * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
54773         FileSystem.h instead of custom code for getting file size. This adds path normalization
54774         necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
54775         important anyway.
54777 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
54779         Unreviewed, build fix.
54781         [V8] Include Media into V8 bindings.
54783         * bindings/v8/DOMObjectsInclude.h: Added Media include.
54784         * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
54785         * bindings/v8/V8Index.cpp: Added decl for V8Media.
54786         * bindings/v8/V8Index.h: Added V8Media include.
54788 2009-08-04  Jon Honeycutt  <jhoneycutt@apple.com>
54790         Fix Windows layout test crashes.
54792         PluginView::removeFromUnstartedListIfNecessary() would try to remove
54793         any unstarted PluginView from the Page's set of unstarted plug-ins,
54794         regardless of why the PluginView wasn't started. If we tried to start a
54795         plug-in, but it failed to start, we would hit an assertion in
54796         Page::removeUnstartedPlugin() that asserts that we would only modify the
54797         unstarted plug-ins set if we were not currently starting plug-ins.
54799         Fix this by having PluginView track whether it's waiting to be started,
54800         and to check this before trying to remove itself from the Page's
54801         unstarted plug-ins set.
54803         Reviewed by Darin Adler.
54805         * page/Page.cpp:
54806         (WebCore::Page::removeUnstartedPlugin):
54807         Assert that the passed PluginView is in the unstarted set.
54809         * plugins/PluginView.cpp:
54810         (WebCore::PluginView::start):
54811         Set that we are not waiting to be started.
54812         (WebCore::PluginView::startOrAddtoUnstartedList):
54813         Set that we are waiting to be started.
54814         (WebCore::PluginView::removeFromUnstartedListIfNecessary):
54815         Check not whether we are started, but whether we are waiting to be
54816         started.
54817         (WebCore::PluginView::PluginView):
54819         * plugins/PluginView.h:
54821 2009-08-05  Jeremy Orlow  <jorlow@chromium.org>
54823        Fix DOM Storage memory leak
54824        https://bugs.webkit.org/show_bug.cgi?id=28029
54826        Forgot to use adoptRef in one place.  This caused the = operator to
54827        increment the ref count when it shouldn't have, so StorageAreaImpl's were
54828        never freed.
54830         * storage/StorageNamespaceImpl.cpp:
54831         (WebCore::StorageNamespaceImpl::storageArea):
54833 2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
54835         Unreviewed, build fix.
54837         [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.
54839         * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.
54841 2009-08-05  Darin Adler  <darin@apple.com>
54843         Reviewed by David Levin.
54845         Use checked casts for render tree
54846         https://bugs.webkit.org/show_bug.cgi?id=23522
54848         Last patch. Makes all the casts of RenderObject use checked
54849         casts instead of using static_cast directly.
54851         * accessibility/AccessibilityListBox.cpp:
54852         (WebCore::AccessibilityListBox::visibleChildren):
54853         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
54854         * accessibility/AccessibilityListBoxOption.cpp:
54855         (WebCore::AccessibilityListBoxOption::elementRect):
54856         * accessibility/AccessibilityRenderObject.cpp:
54857         (WebCore::AccessibilityRenderObject::textUnderElement):
54858         (WebCore::AccessibilityRenderObject::stringValue):
54859         (WebCore::AccessibilityRenderObject::titleUIElement):
54860         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
54861         * accessibility/AccessibilitySlider.cpp:
54862         (WebCore::AccessibilitySliderThumb::elementRect):
54863         * dom/InputElement.cpp:
54864         (WebCore::InputElement::updatePlaceholderVisibility):
54865         * dom/SelectElement.cpp:
54866         (WebCore::SelectElement::scrollToSelection):
54867         (WebCore::SelectElement::recalcStyle):
54868         (WebCore::SelectElement::setRecalcListItems):
54869         (WebCore::SelectElement::menuListDefaultEventHandler):
54870         (WebCore::SelectElement::listBoxDefaultEventHandler):
54871         * editing/BreakBlockquoteCommand.cpp:
54872         (WebCore::BreakBlockquoteCommand::doApply):
54873         * html/HTMLAppletElement.cpp:
54874         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
54875         * html/HTMLCanvasElement.cpp:
54876         (WebCore::HTMLCanvasElement::reset):
54877         * html/HTMLEmbedElement.cpp:
54878         (WebCore::HTMLEmbedElement::updateWidget):
54879         * html/HTMLFrameElementBase.cpp:
54880         (WebCore::HTMLFrameElementBase::attach):
54881         * html/HTMLFrameSetElement.cpp:
54882         (WebCore::HTMLFrameSetElement::defaultEventHandler):
54883         * html/HTMLIFrameElement.cpp:
54884         (WebCore::HTMLIFrameElement::attach):
54885         * html/HTMLInputElement.cpp:
54886         (WebCore::HTMLInputElement::defaultEventHandler):
54887         (WebCore::HTMLInputElement::addSearchResult):
54888         (WebCore::HTMLInputElement::onSearch):
54889         * html/HTMLLIElement.cpp:
54890         (WebCore::HTMLLIElement::parseMappedAttribute):
54891         (WebCore::HTMLLIElement::attach):
54892         * html/HTMLMediaElement.cpp:
54893         (WebCore::HTMLMediaElement::setReadyState):
54894         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
54895         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
54896         (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
54897         (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
54898         (WebCore::HTMLMediaElement::defaultEventHandler):
54899         (WebCore::HTMLMediaElement::finishParsingChildren):
54900         * html/HTMLOListElement.cpp:
54901         (WebCore::HTMLOListElement::parseMappedAttribute):
54902         * html/HTMLObjectElement.cpp:
54903         (WebCore::HTMLObjectElement::updateWidget):
54904         * html/HTMLTextAreaElement.cpp:
54905         (WebCore::HTMLTextAreaElement::defaultEventHandler):
54906         * page/DragController.cpp:
54907         (WebCore::DragController::concludeEditDrag):
54908         * page/EventHandler.cpp:
54909         (WebCore::EventHandler::selectCursor):
54910         (WebCore::EventHandler::capsLockStateMayHaveChanged):
54911         * page/Frame.cpp:
54912         (WebCore::Frame::ownerRenderer):
54913         * page/FrameView.cpp:
54914         (WebCore::FrameView::detachCustomScrollbars):
54915         * page/wince/FrameWince.cpp:
54916         (WebCore::computePageRectsForFrame):
54917         * rendering/InlineFlowBox.cpp:
54918         (WebCore::InlineFlowBox::placeBoxesHorizontally):
54919         * rendering/MediaControlElements.cpp:
54920         (WebCore::MediaControlTimelineElement::defaultEventHandler):
54921         * rendering/RenderBlockLineLayout.cpp:
54922         (WebCore::RenderBlock::findNextLineBreak):
54923         * rendering/RenderCounter.cpp:
54924         (WebCore::planCounter):
54925         * rendering/RenderFrameSet.cpp:
54926         (WebCore::RenderFrameSet::computeEdgeInfo):
54927         (WebCore::RenderFrameSet::setIsResizing):
54928         * rendering/RenderLayerBacking.cpp:
54929         (WebCore::RenderLayerBacking::contentsBox):
54930         * rendering/RenderLayerCompositor.cpp:
54931         (WebCore::RenderLayerCompositor::updateBacking):
54932         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
54933         * rendering/RenderListItem.cpp:
54934         (WebCore::previousListItem):
54935         (WebCore::RenderListItem::explicitValueChanged):
54936         * rendering/RenderObject.cpp:
54937         (WebCore::updateListMarkerNumbers):
54938         * rendering/RenderObjectChildList.cpp:
54939         (WebCore::updateListMarkerNumbers):
54940         (WebCore::invalidateCountersInContainer):
54941         * rendering/RenderScrollbarTheme.cpp:
54942         (WebCore::RenderScrollbarTheme::minimumThumbLength):
54943         (WebCore::RenderScrollbarTheme::backButtonRect):
54944         (WebCore::RenderScrollbarTheme::forwardButtonRect):
54945         (WebCore::RenderScrollbarTheme::trackRect):
54946         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
54947         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
54948         (WebCore::RenderScrollbarTheme::paintTrackBackground):
54949         (WebCore::RenderScrollbarTheme::paintTrackPiece):
54950         (WebCore::RenderScrollbarTheme::paintButton):
54951         (WebCore::RenderScrollbarTheme::paintThumb):
54952         * rendering/RenderSlider.cpp:
54953         (WebCore::SliderThumbElement::defaultEventHandler):
54954         * rendering/RenderThemeChromiumMac.mm:
54955         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
54956         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
54957         * rendering/RenderThemeChromiumWin.cpp:
54958         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
54959         * rendering/RenderThemeMac.mm:
54960         (WebCore::RenderThemeMac::paintSliderThumb):
54961         * rendering/RenderThemeSafari.cpp:
54962         (WebCore::RenderThemeSafari::paintSliderThumb):
54963         * rendering/RenderThemeWin.cpp:
54964         (WebCore::RenderThemeWin::determineSliderThumbState):
54965         * rendering/SVGCharacterLayoutInfo.cpp:
54966         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
54967         * rendering/SVGRootInlineBox.cpp:
54968         (WebCore::findSVGRootObject):
54969         * rendering/TextControlInnerElements.cpp:
54970         (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
54971         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
54972         * svg/SVGImageElement.cpp:
54973         (WebCore::SVGImageElement::attach):
54974         * svg/SVGMarkerElement.cpp:
54975         (WebCore::SVGMarkerElement::canvasResource):
54976         * svg/SVGTextContentElement.cpp:
54977         (WebCore::rootInlineBoxForTextContentElement):
54978         * wml/WMLInputElement.cpp:
54979         (WebCore::WMLInputElement::defaultEventHandler):
54980         Use checked casts.
54982         * rendering/RenderApplet.h:
54983         * rendering/RenderCounter.h:
54984         * rendering/RenderFieldset.h:
54985         * rendering/RenderFileUploadControl.h:
54986         * rendering/RenderFrame.h:
54987         * rendering/RenderFrameSet.h:
54988         * rendering/RenderHTMLCanvas.h:
54989         * rendering/RenderListBox.h:
54990         * rendering/RenderListItem.h:
54991         * rendering/RenderListMarker.h:
54992         * rendering/RenderMedia.h:
54993         * rendering/RenderMenuList.h:
54994         * rendering/RenderPart.h:
54995         * rendering/RenderPartObject.h:
54996         * rendering/RenderPath.h:
54997         * rendering/RenderSVGContainer.h:
54998         * rendering/RenderSVGRoot.h:
54999         * rendering/RenderSVGTextPath.h:
55000         * rendering/RenderSVGViewportContainer.h:
55001         * rendering/RenderScrollbar.h:
55002         * rendering/RenderSlider.h:
55003         * rendering/RenderTextControlMultiLine.h:
55004         * rendering/RenderTextControlSingleLine.h:
55005         * rendering/RenderVideo.h:
55006         Added a checked cast. Also made most members protected or private.
55008         * rendering/RenderBlock.h:
55009         * rendering/RenderInline.h:
55010         * rendering/RenderReplaced.h:
55011         * rendering/RenderSVGBlock.h:
55012         * rendering/RenderSVGImage.h:
55013         * rendering/RenderSVGInlineText.h:
55014         * rendering/RenderSVGText.h:
55015         * rendering/RenderTextControl.h:
55016         Made most members protected or private.
55018         * rendering/RenderInline.cpp:
55019         * rendering/RenderSVGContainer.cpp:
55020         * rendering/RenderSVGHiddenContainer.cpp:
55021         * rendering/RenderSVGImage.cpp:
55022         * rendering/RenderSVGRoot.cpp:
55023         Removed unneeded destructor.
55025         * rendering/RenderSVGHiddenContainer.h:
55026         Removed unneeded virtual function overrides that did the same as
55027         the default and base class.
55029         * rendering/RenderSVGViewportContainer.cpp:
55030         (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
55031         directly instead of using a function call.
55032         (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
55033         (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
55034         (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
55035         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
55037         * rendering/RenderScrollbar.cpp:
55038         (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
55039         all values instead of using a default case.
55041         * rendering/RenderTreeAsText.cpp:
55042         (WebCore::operator<<): Removed dependency on casting to types that don't
55043         have any public members we need to get at. Instead, use function names to
55044         identify the type rather than doing so much overloading. Changed to use
55045         checked casts.
55046         (WebCore::write): Ditto.
55048         * rendering/SVGRenderSupport.cpp:
55049         (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
55050         added a comment about the fact that the code does not do sufficient type
55051         checking before doing the cast.
55053         * rendering/SVGRenderTreeAsText.cpp:
55054         (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
55055         (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
55056         (WebCore::writeSVGText): Renamed this from write.
55057         (WebCore::writeSVGInlineText): Ditto.
55058         (WebCore::writeSVGImage): Ditto.
55059         * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
55060         unneeded default arguments.
55062 2009-08-05  Peter Kasting  <pkasting@google.com>
55064         Reviewed by Sam Weinig.
55066         https://bugs.webkit.org/show_bug.cgi?id=27851
55067         Fix a pair of compiler warnings on the GTK Linux buildbot.
55069         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
55070         (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
55071         * platform/image-decoders/ico/ICOImageDecoder.cpp:
55072         (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.
55074 2009-08-05  Peter Kasting  <pkasting@google.com>
55076         Reviewed by Eric Seidel.
55078         https://bugs.webkit.org/show_bug.cgi?id=26460
55079         Return multiple icon entries from the ICO decoder as separate frames,
55080         sorted by decreasing quality (much like the CG ICO decoder does).
55082         As a result of this change, we can eliminate the Skia-specific setData()
55083         hack that the Chromium port used to select the desired icon size -- now
55084         callers can just enumerate the frames and ask for the data from the one
55085         they like.
55086         
55087         Under the hood, the ICO decoder now keeps vectors for a number of things
55088         (including directory entries and image decoders) where it used to have
55089         single members.  However, callers (that I have seen) will only request
55090         one frame from the icon, so practically there aren't going to be lots of
55091         instantiated image decoders.
55093         * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
55094         * platform/graphics/cairo/ImageSourceCairo.cpp:
55095         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
55096         * platform/graphics/skia/ImageSourceSkia.cpp:
55097         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
55098         (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
55099         * platform/graphics/skia/ImageSourceSkia.h: Removed.
55100         * platform/graphics/wx/ImageSourceWx.cpp:
55101         (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
55102         * platform/image-decoders/ico/ICOImageDecoder.cpp:
55103         (WebCore::ICOImageDecoder::ICOImageDecoder):
55104         (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
55105         (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
55106         (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
55107         (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
55108         (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
55109         (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
55110         (WebCore::ICOImageDecoder::frameCount): Implement.
55111         (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
55112         (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
55113         (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
55114         (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
55115         (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
55116         (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
55117         (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
55118         (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
55119         (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
55120         * platform/image-decoders/ico/ICOImageDecoder.h:
55122 2009-08-05  Szabo Carol  <carol.szabo@nokia.com>
55124         Reviewed by Darin Adler.
55126         https://bugs.webkit.org/show_bug.cgi?id=27942
55128         Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
55130         * dom/SelectElement.cpp:
55131         (WebCore::SelectElement::reset):
55132            Added HTML 4.01 compliant handling of broken webpages that
55133            specify more than one selected option for single selection SELECT
55134            element, in a manner that emulates Firefox and is similar to IE 7
55137 2009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
55139         Reviewed by Simon Hausmann.
55141         WebCore.pro bugfix
55143         Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.
55145         * WebCore.pro:
55147 2009-08-05  Chris Fleizach  <cfleizach@apple.com>
55149         Fix Tiger build breakage.
55151         * accessibility/mac/AccessibilityObjectWrapper.mm:
55153 2009-08-04  Simon Hausmann  <hausmann@webkit.org>
55155         Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
55156         to both source files, HTMLTagNames.in and HTMLAttributeNames.in
55158         * WebCore.pro:
55160 2009-08-04  Brian Weinstein  <bweinstein@apple.com>
55162         Reviewed by Adele Peterson.
55164         Keypress should exit from pan scrolling mode.
55165         https://bugs.webkit.org/show_bug.cgi?id=28005
55167         Change the logic from only exiting pan scrolling on escape to exiting on any key press,
55168         making it easier for users to back out of an accidental pan scroll.
55170         * page/EventHandler.cpp:
55171         (WebCore::EventHandler::keyEvent):
55172         
55173 2009-08-04  Eric Seidel  <eric@webkit.org>
55175         Reviewed by Simon Fraser.
55177         REGRESSION (r45064): Drop caret remains in text control after the mouse exits
55178         https://bugs.webkit.org/show_bug.cgi?id=26787
55180         Add back missing dragController()->clear() call.
55182         * manual-tests/drag-caret.html: Added.
55183         * page/DragController.cpp:
55184         (WebCore::DragController::tryDocumentDrag):
55186 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
55188         Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
55189         https://bugs.webkit.org/show_bug.cgi?id=27994
55191         Forgot to commit attribute names.
55193         * html/HTMLAttributeNames.in:
55195 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
55197         Reviewed by Darin Adler.
55199         Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
55200         https://bugs.webkit.org/show_bug.cgi?id=27994
55202         Test: platform/mac/accessibility/aria-valuetext.html
55204         * accessibility/AccessibilityObject.h:
55205         (WebCore::AccessibilityObject::valueDescription):
55206         * accessibility/AccessibilityRenderObject.cpp:
55207         (WebCore::AccessibilityRenderObject::valueDescription):
55208         * accessibility/AccessibilityRenderObject.h:
55209         * accessibility/mac/AccessibilityObjectWrapper.mm:
55210         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
55211         * html/HTMLAttributeNames.in:
55213 2009-08-04  Michael Nordman  <michaeln@google.com>
55215         Reviewed by Alexey Proskuryakov.
55217         https://bugs.webkit.org/show_bug.cgi?id=27821
55219         No new features, no new tests. Existing layout tests pass.
55221         * WebCore.base.exp:
55223         Export AppliationCacheGroup::storeCopyOfCache
55225         * WebCore.xcodeproj/project.pbxproj:
55227         Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
55228         instead of 'private' headers since they're no longer in the DocumentLoader.h
55229         include graph.
55231         * html/HTMLHtmlElement.cpp:
55232         (WebCore::HTMLHtmlElement::insertedIntoDocument):
55234         Reinstate the test for manifest.isNull instead of .isEmtpty().
55235         Added a FIXME to revisit once the spec gets clarified.
55236         
55237         * loader/DocumentLoader.cpp:
55238         (WebCore::DocumentLoader::DocumentLoader):
55239         (WebCore::DocumentLoader::mainReceivedError):
55240         (WebCore::DocumentLoader::detachFromFrame):
55241         * loader/DocumentLoader.h:
55242         (WebCore::DocumentLoader::applicationCacheHost):
55244         ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
55245         for compile time friendliness, it results in a smaller include graph for files
55246         dependent on DocumentLoader.h.
55248         * loader/FrameLoader.cpp:
55249         * loader/MainResourceLoader.cpp:
55250         * loader/ResourceLoader.cpp:
55252         Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
55253         This was done for readability at the include site. The included files contain appropriate guards,
55254         so they're not needed at the include site.
55256         * loader/appcache/ApplicationCacheGroup.cpp:
55257         (WebCore::ApplicationCacheGroup::selectCache):
55258         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
55259         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
55260         (WebCore::ApplicationCacheGroup::update):
55261         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
55262         (WebCore::ApplicationCacheGroup::manifestNotFound):
55263         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
55264         (WebCore::ApplicationCacheGroup::startLoadingEntry):
55265         (WebCore::CallCacheListenerTask::create):
55266         (WebCore::CallCacheListenerTask::performTask):
55267         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
55268         (WebCore::ApplicationCacheGroup::postListenerTask):
55269         * loader/appcache/ApplicationCacheGroup.h:
55271         Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.
55273         * loader/appcache/ApplicationCacheHost.cpp:
55274         (WebCore::ApplicationCacheHost::ApplicationCacheHost):
55275         (WebCore::ApplicationCacheHost::setDOMApplicationCache):
55276         (WebCore::ApplicationCacheHost::notifyEventListener):
55277         (WebCore::ApplicationCacheHost::status):
55278         * loader/appcache/ApplicationCacheHost.h:
55279         (WebCore::ApplicationCacheHost::):
55280         * loader/appcache/ApplicationCacheStorage.cpp:
55281         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
55282         * loader/appcache/ApplicationCacheStorage.h:
55284         Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.
55286         * loader/appcache/DOMApplicationCache.cpp:
55287         (WebCore::DOMApplicationCache::status):
55288         (WebCore::DOMApplicationCache::addEventListener):
55289         (WebCore::DOMApplicationCache::removeEventListener):
55290         (WebCore::DOMApplicationCache::callListener):
55291         (WebCore::DOMApplicationCache::toEventType):
55292         (WebCore::DOMApplicationCache::toEventID):
55293         * loader/appcache/DOMApplicationCache.h:
55294         (WebCore::DOMApplicationCache::setAttributeEventListener):
55295         (WebCore::DOMApplicationCache::getAttributeEventListener):
55296         (WebCore::DOMApplicationCache::clearAttributeEventListener):
55297         (WebCore::DOMApplicationCache::callEventListener):
55298         (WebCore::DOMApplicationCache::setOnchecking):
55299         (WebCore::DOMApplicationCache::onchecking):
55300         (WebCore::DOMApplicationCache::setOnerror):
55301         (WebCore::DOMApplicationCache::onerror):
55302         (WebCore::DOMApplicationCache::setOnnoupdate):
55303         (WebCore::DOMApplicationCache::onnoupdate):
55304         (WebCore::DOMApplicationCache::setOndownloading):
55305         (WebCore::DOMApplicationCache::ondownloading):
55306         (WebCore::DOMApplicationCache::setOnprogress):
55307         (WebCore::DOMApplicationCache::onprogress):
55308         (WebCore::DOMApplicationCache::setOnupdateready):
55309         (WebCore::DOMApplicationCache::onupdateready):
55310         (WebCore::DOMApplicationCache::setOncached):
55311         (WebCore::DOMApplicationCache::oncached):
55312         (WebCore::DOMApplicationCache::setOnobsolete):
55313         (WebCore::DOMApplicationCache::onobsolete):
55315         Use ApplicationCachHost defined constants for Status and EventIDs.
55317 2009-08-04  Nate Chapin  <japhet@chromium.org>
55319         Reviewed by Dimitri Glazkov.
55321         Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.
55323         https://bugs.webkit.org/show_bug.cgi?id=27719
55325         * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
55326         (WebCore::V8AbstractEventListener::invokeEventHandler):
55327         * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
55328         (WebCore::ACCESSOR_GETTER):
55330 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
55332         Reviewed by Darin Adler.
55334         Bug 27993 - AXSliders are missing required attributes and actions
55335         https://bugs.webkit.org/show_bug.cgi?id=27993
55337         Expose appropriate actions and attributes for sliders.
55339         Test: platform/mac/accessibility/slider-supports-actions.html
55341         * accessibility/AccessibilityObject.cpp:
55342         (WebCore::AccessibilityObject::orientation):
55343         * accessibility/AccessibilityObject.h:
55344         (WebCore::):
55345         * accessibility/AccessibilitySlider.cpp:
55346         (WebCore::AccessibilitySlider::orientation):
55347         * accessibility/AccessibilitySlider.h:
55348         * accessibility/mac/AccessibilityObjectWrapper.mm:
55349         (-[AccessibilityObjectWrapper accessibilityActionNames]):
55350         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
55351         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
55353 2009-08-04  Jian Li  <jianli@chromium.org>
55355         Reviewed by David Levin.
55357         [V8] Fix an assert in WebCoreStringResource that causes worker script
55358         evaluation failed.
55359         https://bugs.webkit.org/show_bug.cgi?id=27996
55361         The fix is to check for the same thread, instead of the main thread.
55362         This is because Chromium's workers use v8 in a single thread that is
55363         not the main thread.
55365         * bindings/v8/V8Binding.cpp:
55366         (WebCore::WebCoreStringResource::WebCoreStringResource):
55367         (WebCore::WebCoreStringResource::~WebCoreStringResource):
55368         (WebCore::WebCoreStringResource::atomicString):
55370 2009-08-04  Simon Fraser  <simon.fraser@apple.com>
55372         Reviewed by Dave Hyatt.
55374         Add support for transitions/animations of text-indent.
55376         Test: transitions/text-indent-transition.html
55378         * page/animation/AnimationBase.cpp:
55379         (WebCore::ensurePropertyMap):
55381 2009-08-04  Simon Fraser  <simon.fraser@apple.com>
55383         Reviewed by Dave Hyatt.
55385         Add support for transitions of min- and max-width, and min- and max-height.
55386         https://bugs.webkit.org/show_bug.cgi?id=27990
55388         Test: transitions/min-max-width-height-transitions.html
55390         * page/animation/AnimationBase.cpp:
55391         (WebCore::ensurePropertyMap):
55393 2009-08-04  Chris Fleizach  <cfleizach@apple.com>
55395         Reviewed by Darin Adler.
55397         Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
55398         https://bugs.webkit.org/show_bug.cgi?id=27964
55400         ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
55401         Also fixed an issue where an extra space was being appended to some ARIA labels.
55403         Test: platform/mac/accessibility/aria-radiobutton-text.html
55405         * accessibility/AccessibilityObject.h:
55406         (WebCore::AccessibilityObject::ariaAccessibilityName):
55407         * accessibility/AccessibilityRenderObject.cpp:
55408         (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
55409         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
55410         (WebCore::AccessibilityRenderObject::title):
55411         (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
55412         * accessibility/AccessibilityRenderObject.h:
55414 2009-08-04  Nate Chapin  <japhet@chromium.org>
55416         Reviewed by Dimitri Glazkov.
55418         Missed a place that expects window.event to be hidden when it shouldn't be.
55420         https://bugs.webkit.org/show_bug.cgi?id=27719
55422         * bindings/v8/custom/V8DOMWindowCustom.cpp:
55423         (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.
55425 2009-08-03  Chris Fleizach  <cfleizach@apple.com>
55427         Reviewed by Jon Honeycutt.
55429         Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
55430         https://bugs.webkit.org/show_bug.cgi?id=27958
55432         Test: platform/mac/accessibility/aria-required.html
55434         * accessibility/AccessibilityObject.h:
55435         (WebCore::AccessibilityObject::isRequired):
55436         * accessibility/AccessibilityRenderObject.cpp:
55437         (WebCore::AccessibilityRenderObject::isRequired):
55438         * accessibility/AccessibilityRenderObject.h:
55439         * accessibility/mac/AccessibilityObjectWrapper.mm:
55440         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
55441         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
55442         * html/HTMLAttributeNames.in:
55444 2009-08-04  Jakub Wieczorek  <faw217@gmail.com>
55446         Reviewed by Simon Hausmann.
55448         Add QWebPluginDatabase API to the Qt API.
55449         
55450         https://bugs.webkit.org/show_bug.cgi?id=27651
55452         * WebCore.pro:
55454 2009-08-04  Ariya Hidayat  <ariya.hidayat@nokia.com>
55456         Reviewed by Adam Treat.
55458         [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
55459         (as it is the closest match) instead of CompositionMode_SourceOver.
55461         * platform/graphics/qt/GraphicsContextQt.cpp:
55462         (WebCore::toQtCompositionMode):
55464 2009-08-04  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
55466         Reviewed by Adam Barth.
55468         [v8] Fix crash when converting empty v8 string to atomic webkit string.
55469         https://bugs.webkit.org/show_bug.cgi?id=27975
55471         collection-null-like-arguments.html tests for this.
55473         * bindings/v8/V8Binding.cpp:
55474         (WebCore::v8StringToAtomicWebCoreString):
55476 2009-08-04  Ryosuke Niwa  <rniwa@webkit.org>
55478         Reviewed by Eric Seidel.
55480         selectionHasStyle needs clean up to fix Bug 27858
55481         https://bugs.webkit.org/show_bug.cgi?id=27865
55483         This patch cleans up selectionStartHasStyle and selectionHasStyle.
55484         No test is added because the patch does not change any behavior.
55486         * editing/ApplyStyleCommand.cpp:
55487         (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
55488         * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
55489         * editing/Editor.cpp:
55490         (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
55491         (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
55492         (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState
55494 2009-08-03  John Abd-El-Malek  <jam@chromium.org>
55496         Reviewed by David Levin.
55498         Fix MessagePort construction in worker process.  Also make the other object constructions match this.
55500         https://bugs.webkit.org/show_bug.cgi?id=27906
55502         * bindings/v8/V8DOMWrapper.cpp:
55503         (WebCore::V8DOMWrapper::convertToV8Object):
55504         * bindings/v8/V8Proxy.cpp:
55505         (WebCore::V8Proxy::setDOMException):
55506         * bindings/v8/WorkerContextExecutionProxy.cpp:
55507         (WebCore::WorkerContextExecutionProxy::ToV8Object):
55509 2009-08-03  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
55511         Reviewed by David Levin.
55513         [V8] Cache atomic strings in externalized v8 strings
55514         https://bugs.webkit.org/show_bug.cgi?id=27762
55516         * bindings/scripts/CodeGeneratorV8.pm:
55517         * bindings/v8/V8Binding.cpp:
55518         (WebCore::WebCoreStringResource::WebCoreStringResource):
55519         (WebCore::WebCoreStringResource::~WebCoreStringResource):
55520         (WebCore::WebCoreStringResource::data):
55521         (WebCore::WebCoreStringResource::length):
55522         (WebCore::WebCoreStringResource::webcoreString):
55523         (WebCore::WebCoreStringResource::atomicString):
55524         (WebCore::WebCoreStringResource::toStringResource):
55525         (WebCore::v8StringToWebCoreString):
55526         (WebCore::v8StringToAtomicWebCoreString):
55527         (WebCore::v8ValueToWebCoreString):
55528         (WebCore::v8ValueToAtomicWebCoreString):
55529         * bindings/v8/V8Binding.h:
55530         (WebCore::):
55531         * dom/Document.idl:
55533 2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
55535         Reviewed by Timothy Hatcher.
55537         Inspector: DOM Storage Live Updating Should Not Affect Tabbing
55538         https://bugs.webkit.org/show_bug.cgi?id=27957
55540         * inspector/front-end/DOMStorageDataGrid.js:
55541         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
55542         (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
55543         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
55544         * inspector/front-end/DatabasesPanel.js:
55545         (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener
55547 2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
55549         Reviewed by Eric Seidel.
55551         [Qt] Consolidate common gcc flags to WebKit.pri
55552         https://bugs.webkit.org/show_bug.cgi?id=27934
55554         * WebCore.pro:
55556 2009-08-03  Jeremy Orlow  <jorlow@chromium.org>
55558         Reviewed by Darin Fisher.
55560         Chromium code sometimes isn't sandboxed and needs to access the FS.
55561         https://bugs.webkit.org/show_bug.cgi?id=27954
55563         These changes are the WebKit side of http://codereview.chromium.org/159778 which
55564         aims to make LocalStorage persistent.
55566         This change runs all FileSystem routines through the ChromiumBridge so that
55567         WebKitClients can handle them if they choose to.  For now, the only such client
55568         will be the one running in the browser process.
55570         It also adds a method called sandboxEnabled to the Chromium bridge so that the
55571         SQLite file system code can shift its behavior depending on whether we're
55572         inside a sandbox or not.
55574         * platform/chromium/ChromiumBridge.h:
55575         * platform/chromium/FileSystemChromium.cpp:
55576         (WebCore::deleteFile):
55577         (WebCore::deleteEmptyDirectory):
55578         (WebCore::getFileModificationTime):
55579         (WebCore::directoryName):
55580         (WebCore::pathByAppendingComponent):
55581         (WebCore::makeAllDirectories):
55582         (WebCore::fileExists):
55583         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
55584         (WebCore::SQLiteFileSystem::openDatabase):
55585         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
55586         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
55588 2009-08-03  Alpha Lam  <hclam@chromium.org>
55590         Reviewed by David Levin.
55592         [chromium] Implement media slider for chromium
55593         https://bugs.webkit.org/show_bug.cgi?id=27859
55595         Implemented the media slider for chromium port. The implementation
55596         is using Skia for drawing the thumb and buffered region instead of
55597         using any native system controls so different platforms would have
55598         the same look and feel.
55600         No new tests because this is covered by existing tests.
55602         * css/mediaControlsChromium.css:
55603         * rendering/RenderThemeChromiumSkia.cpp:
55604         * rendering/RenderThemeChromiumSkia.h:
55605         * rendering/RenderThemeChromiumWin.cpp:
55607 2009-07-27  Peter Kasting  <pkasting@google.com>
55609         Reviewed by Eric Seidel.
55611         https://bugs.webkit.org/show_bug.cgi?id=26460
55612         Plumbing and cleanup in advance of returning multiple frames from the
55613         ICOImageDecoder:
55614         * Make ImageDecoder::frameCount() return a size_t like
55615           ImageSource::frameCount() and BitmapImage::frameCount() already do.
55616         * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
55617           size of a particular frame.  Hook all the
55618           ImageSource::frameSizeAtIndex() implementations to this.  No
55619           ImageDecoder implements this yet; that will come in my next change.
55621         * platform/graphics/cairo/ImageSourceCairo.cpp:
55622         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
55623         * platform/graphics/qt/ImageDecoderQt.cpp:
55624         (WebCore::ImageDecoderQt::frameCount): returns size_t.
55625         * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
55626         * platform/graphics/qt/ImageSourceQt.cpp:
55627         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
55628         * platform/graphics/skia/ImageSourceSkia.cpp:
55629         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
55630         * platform/graphics/win/ImageCGWin.cpp:
55631         (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
55632         * platform/graphics/win/ImageCairoWin.cpp:
55633         (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
55634         * platform/graphics/wx/ImageSourceWx.cpp:
55635         (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
55636         * platform/image-decoders/ImageDecoder.h:
55637         (WebCore::ImageDecoder::size): Clarify comment.
55638         (WebCore::ImageDecoder::frameSizeAtIndex): Add.
55639         (WebCore::ImageDecoder::frameCount): returns size_t.
55640         (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
55641         * platform/image-decoders/gif/GIFImageDecoder.cpp:
55642         (WebCore::GIFImageDecoder::frameCount): returns size_t.
55643         (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
55644         * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.
55646 2009-08-03  Dumitru Daniliuc  <dumi@chromium.org>
55648         Reviewed by Darin Adler.
55650         Fix a bug that could cause an ASSERT to fail incorrectly, leading
55651         to a renderer crash in Chromium.
55653         https://bugs.webkit.org/show_bug.cgi?id=27947
55655         All tests in storage/ pass.
55657         * platform/sql/SQLiteTransaction.cpp:
55658         (WebCore::SQLiteTransaction::~SQLiteTransaction):
55659         (WebCore::SQLiteTransaction::begin):
55661 2009-08-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
55663         Reviewed by Simon Hausmann.
55665         Based on work by Yael Aharon.
55667         Implement keyboard event forwarding for windowless plugins
55668         for the Qt port.
55670         * plugins/qt/PluginViewQt.cpp:
55671         (WebCore::PluginView::dispatchNPEvent):
55672         (WebCore::setSharedXEventFields):
55673         (WebCore::setXKeyEventSpecificFields):
55674         (WebCore::PluginView::handleKeyboardEvent):
55675         (WebCore::PluginView::handleMouseEvent):
55677 2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
55679         Reviewed by Timothy Hatcher.
55681         Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
55682         https://bugs.webkit.org/show_bug.cgi?id=27928
55684         * English.lproj/localizedStrings.js:
55686           "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"
55688         * inspector/front-end/ChangesView.js: Added.
55689         (WebInspector.ChangesView):
55690         (WebInspector.ChangesView.prototype._clearButtonClicked):
55691         (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
55692         (WebInspector.ChangesView.prototype.attach):
55693         (WebInspector.ChangesView.prototype.show):
55694         (WebInspector.ChangesView.prototype.hide):
55696           To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.
55698         * inspector/front-end/Console.js: Removed.
55700           Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js
55702         * inspector/front-end/ConsoleView.js: Added.
55704           Little has changed from its move from Console.js other then support for working with the Drawer.
55706         * inspector/front-end/Drawer.js: Added.
55707         (WebInspector.Drawer):
55708         (WebInspector.Drawer.prototype.get visibleView):
55709         (WebInspector.Drawer.prototype.set visibleView):
55710         (WebInspector.Drawer.prototype.show.animationFinished):
55711         (WebInspector.Drawer.prototype.show):
55712         (WebInspector.Drawer.prototype.hide.animationFinished):
55713         (WebInspector.Drawer.prototype.hide):
55714         (WebInspector.Drawer.prototype._safelyRemoveChildren):
55715         (WebInspector.Drawer.prototype._startStatusBarDragging):
55716         (WebInspector.Drawer.prototype._statusBarDragging):
55717         (WebInspector.Drawer.prototype._endStatusBarDragging):
55719           Allow for multiple views inside the Sliding Drawer.
55721         * inspector/front-end/ElementsPanel.js:
55722         (WebInspector.ElementsPanel):
55723         (WebInspector.ElementsPanel.prototype.renameSelector):
55724         (WebInspector.ElementsPanel.prototype.addStyleChange):
55725         (WebInspector.ElementsPanel.prototype.removeStyleChange):
55726         (WebInspector.ElementsPanel.prototype.generateStylesheet):
55728           Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.
55730         * inspector/front-end/Images/styleIcon.png: Added.
55732         * inspector/front-end/StylesSidebarPane.js:
55733         (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
55734         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
55735         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
55736         (WebInspector.StylePropertyTreeElement.prototype):
55738           Interface with ElementsPanel for generating a Stylesheet of Changes.
55740         * inspector/front-end/WebKit.qrc:
55741         * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
55742         * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.
55744         * inspector/front-end/inspector.js:
55745         (WebInspector.get styleChanges):
55746         (WebInspector.set styleChanges):
55747         (WebInspector._updateChangesCount):
55748         (WebInspector.loaded):
55749         (WebInspector.documentKeyDown):
55750         (WebInspector.showConsole):
55751         (WebInspector.showChanges):
55753           Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.
55755 2009-08-03  Dean McNamee  <deanm@chromium.org>
55757         Reviewed by Adam Barth.
55759         Correct an assert on a PassRefPtr in the v8 svg bindings.
55760         https://bugs.webkit.org/show_bug.cgi?id=27951
55762         * bindings/v8/V8SVGPODTypeWrapper.h:
55763         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
55765 2009-08-03  Dirk Pranke  <dpranke@chromium.org>
55767         Reviewed by Sam Weinig.
55769         Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
55770         crash w/ stack overflow when same CSS file loaded repeatedly
55772         Fix crash caused by a stack overflow when repeatedly loading very large
55773         CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
55774         recursively rather than iteratively.
55776         Test: fast/css/large-list-of-rules-crash.html
55778         * css/CSSStyleSelector.h:
55779         (WebCore::CSSRuleData::~CSSRuleData):
55780         (WebCore::CSSRuleDataList::~CSSRuleDataList):
55782 2009-08-03  Simon Fraser  <simon.fraser@apple.com>
55784         Reviewed by Dan Bernstein.
55786         Make the DRT APIs to pause transitions and animations work for accelerated animations
55787         <https://bugs.webkit.org/show_bug.cgi?id=27627>
55788         <rdar://problem/6442932>
55790         Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
55791         available to LayoutTests to work with accelerated animations and transitions. Done by sending
55792         the pause time down to the GraphicsLayer, and using it to stop time on the layer.
55793         
55794         I also added an assertion to check that the animation has actually started when we
55795         try to pause it, to check that the pause time we compute is valid. This revealed a number
55796         of tests that tried to pause before animations started, required some amount of test fixing.
55798         * page/animation/AnimationBase.cpp:
55799         (WebCore::AnimationBase::freezeAtTime):
55800         * page/animation/AnimationBase.h:
55801         * page/animation/CompositeAnimation.cpp:
55802         (WebCore::CompositeAnimation::pauseAnimationAtTime):
55803         (WebCore::CompositeAnimation::pauseTransitionAtTime):
55804         * platform/graphics/GraphicsLayer.cpp:
55805         (WebCore::GraphicsLayer::suspendAnimations):
55806         * platform/graphics/GraphicsLayer.h:
55807         * platform/graphics/mac/GraphicsLayerCA.h:
55808         * platform/graphics/mac/GraphicsLayerCA.mm:
55809         (WebCore::GraphicsLayerCA::suspendAnimations):
55810         * rendering/RenderLayerBacking.cpp:
55811         (WebCore::RenderLayerBacking::suspendAnimations):
55812         * rendering/RenderLayerBacking.h:
55814 2009-08-03  Tony Chang  <tony@chromium.org>
55816         Reviewed by Darin Adler.
55818         Fix Chromium build by removing PluginView.h from Page.cpp.
55819         Chromium doesn't use PluginView and the pointer is never
55820         dereferenced so the header doesn't need to be included.
55821         https://bugs.webkit.org/show_bug.cgi?id=27946
55823         No new tests because this is a build fix.
55825         * page/Page.cpp:
55827 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
55829         One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
55831         Unreviewed.
55833         * WebCoreSources.bkl:
55835 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
55837         Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
55839         Unreviewed.
55841         * GNUmakefile.am:
55842         * WebCore.gypi:
55843         * WebCore.pro:
55844         * WebCore.vcproj/WebCore.vcproj:
55846 2009-08-03  Chris Fleizach  <cfleizach@apple.com>
55848         Reviewed by Darin Adler.
55850         Bug 27943: Need to implement ARIA role="radiogroup"
55851         https://bugs.webkit.org/show_bug.cgi?id=27943
55853         Test: platform/mac/accessibility/aria-radiogroup.html
55855         * accessibility/AccessibilityObject.h:
55856         (WebCore::AccessibilityObject::isRadioGroup):
55857         (WebCore::AccessibilityObject::selectedRadioButton):
55858         * accessibility/AccessibilityRenderObject.cpp:
55859         (WebCore::AccessibilityRenderObject::selectedRadioButton):
55860         (WebCore::RoleEntry::):
55861         * accessibility/AccessibilityRenderObject.h:
55862         * accessibility/mac/AccessibilityObjectWrapper.mm:
55863         (-[AccessibilityObjectWrapper roleDescription]):
55864         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
55866 2009-08-03  Eric Carlson  <eric.carlson@apple.com>
55868         Reviewed by Eric Seidel.
55870         HTMLInputElement is not controllable by assistive technologies
55871         https://bugs.webkit.org/show_bug.cgi?id=27941
55873         Test: accessibility/input-slider.html
55875         * WebCore.xcodeproj/project.pbxproj:
55876             Add AccessibilitySlider.cpp/.h
55878         * accessibility/AXObjectCache.cpp:
55879         (WebCore::AXObjectCache::getOrCreate):
55880             Create AccessibilitySlider and AccessibilitySliderThumb.
55882         * accessibility/AccessibilityObject.h:
55883         (WebCore::AccessibilityObject::increment):
55884         (WebCore::AccessibilityObject::decrement):
55885             Add default, do nothing, base class methods.
55887         * accessibility/AccessibilityRenderObject.cpp:
55888         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
55889             Correct typo.
55891         * accessibility/AccessibilitySlider.cpp: Added.
55892         (WebCore::AccessibilitySlider::AccessibilitySlider):
55893         (WebCore::AccessibilitySlider::create):
55894         (WebCore::AccessibilitySlider::children):
55895         (WebCore::AccessibilitySlider::addChildren):
55896         (WebCore::AccessibilitySlider::getAttribute):
55897         (WebCore::AccessibilitySlider::valueForRange):
55898         (WebCore::AccessibilitySlider::maxValueForRange):
55899         (WebCore::AccessibilitySlider::minValueForRange):
55900         (WebCore::AccessibilitySlider::changeValue):
55901         (WebCore::AccessibilitySlider::setValue):
55902         (WebCore::AccessibilitySlider::increment):
55903         (WebCore::AccessibilitySlider::decrement):
55904         (WebCore::AccessibilitySlider::element):
55905         (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
55906         (WebCore::AccessibilitySliderThumb::create):
55907         (WebCore::AccessibilitySliderThumb::elementRect):
55908         (WebCore::AccessibilitySliderThumb::size):
55909         * accessibility/AccessibilitySlider.h: Added.
55910         (WebCore::AccessibilitySlider::~AccessibilitySlider):
55911         (WebCore::AccessibilitySlider::roleValue):
55912         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
55913         (WebCore::AccessibilitySlider::isSlider):
55914         (WebCore::AccessibilitySlider::canSetValueAttribute):
55915         (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
55916         (WebCore::AccessibilitySliderThumb::roleValue):
55917         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
55918         (WebCore::AccessibilitySliderThumb::setParentObject):
55919         (WebCore::AccessibilitySliderThumb::parentObject):
55921         * accessibility/mac/AccessibilityObjectWrapper.mm:
55922         (RoleEntry::):
55923             SliderThumbRole -> NSAccessibilityValueIndicatorRole
55924         (-[AccessibilityObjectWrapper roleDescription]):
55925             Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
55926         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
55927             Minor coding style correction.
55928         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
55929             If attachement view handles press action, don't also call object wrapper.
55930         (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
55931             New, call object's increment() method.
55932         (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
55933             New, call object's decrement() method.
55934         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
55935             Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.
55937         * rendering/RenderSlider.cpp:
55938         (WebCore::RenderSlider::thumbRect):
55939             Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
55940         (WebCore::RenderSlider::layout):
55941             Move code to thumbRect().
55942         * rendering/RenderSlider.h:
55944 2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
55946         Reviewed by Eric Seidel.
55948         Build fix if Netscape plugin support is turned off
55949         https://bugs.webkit.org/show_bug.cgi?id=27940
55951         * plugins/PluginView.cpp:
55952         (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
55953         disabled
55954         * plugins/PluginViewNone.cpp:
55955         (WebCore::PluginView::platformStart): Empty stub.
55957 2009-07-31  Joe Mason  <joe.mason@torchmobile.com>
55959         Reviewed by George Staikos.
55961         WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
55962         https://bugs.webkit.org/show_bug.cgi?id=27917
55964         * plugins/win/PluginPackageWin.cpp:
55965         (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx
55967 2009-08-02  Adam Barth  <abarth@webkit.org>
55968         Reviewed by Darin Adler.
55970         SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()
55972         https://bugs.webkit.org/show_bug.cgi?id=27932
55974         There's no reason to pay for a virtual function call in this case.  We
55975         can just call document() directly because we know that element is a
55976         Node*.
55978         * svg/SVGElementInstance.cpp:
55979         (WebCore::SVGElementInstance::scriptExecutionContext):
55981 2009-08-02  Adam Barth  <abarth@webkit.org>
55983         Reviewed by Darin Adler.
55985         JSNodeCustom should call document() instead of scriptExecutionContext()
55986         https://bugs.webkit.org/show_bug.cgi?id=27931
55988         We want to call document() because it's in inline function, instead of
55989         scriptExecutionContext() because it's a virtual function.  If we have a
55990         Node*, then we know that the virtual function will always return the
55991         document anyway.
55993         There are more instance of this bug, but I'd like to start with a small
55994         patch and work up.
55996         * bindings/js/JSDOMGlobalObject.cpp:
55997         (WebCore::toJSDOMGlobalObject):
55998         * bindings/js/JSDOMGlobalObject.h:
55999         * bindings/js/JSNodeCustom.cpp:
56000         (WebCore::JSNode::addEventListener):
56001         (WebCore::JSNode::removeEventListener):
56003 2009-08-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56005         Reviewed by Anders Carlsson.
56007         Share implementation of PluginView::userAgent() and userAgentStatic()
56009         https://bugs.webkit.org/show_bug.cgi?id=27706
56011         Differences to the original implementation are as follows:
56012         
56013             - The Win port used to return 0 for userAgentStatic, but now
56014               returns the quirk mode MozillaUserAgent as the other ports.
56016         * plugins/PluginView.cpp:
56017         (WebCore::PluginView::userAgent):
56018         (WebCore::PluginView::userAgentStatic):
56019         * plugins/PluginViewNone.cpp:
56020         * plugins/gtk/PluginViewGtk.cpp:
56021         * plugins/mac/PluginViewMac.cpp:
56022         * plugins/qt/PluginViewQt.cpp:
56023         * plugins/win/PluginViewWin.cpp:
56025 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56027         Reviewed by Anders Carlsson.
56029         Unregister plugin from PluginMainThreadScheduler if NPP_New fails
56030         
56031         https://bugs.webkit.org/show_bug.cgi?id=27706
56032         
56033         Since the plugin has not been started yet (m_isStarted is not set),
56034         calling stop() will not have any affect, so we manually unregister
56035         in start() before returning.
56037         * plugins/PluginView.cpp:
56038         (WebCore::PluginView::start):
56040 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56042         Reviewed by Anders Carlsson.
56044         Join the various versions of PluginView::stop() into one shared implementation
56046         https://bugs.webkit.org/show_bug.cgi?id=27706
56048         The platform-dependent bits are now ifdef'ed in the shared implementation,
56049         using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
56050         
56051         Differences to the original implementation are as follows:
56053             - The Qt port unregistered the plugin before calling NP_SetWindow
56054               with a 0 window handle. Now it's done after (similar to Win)
56056             - The GTK and Qt ports unregistered the plugin before clearing
56057               the m_npWindow.ws_info struct. Now it's done after.
56058               
56059             - The Win port constructed the DropAllLocks after unsubclassing
56060               the window. Now it's done before.
56061               
56062             - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
56063               to NP_Destroy (like the Win port). Now all ports do.
56065             - The Win port did not call PluginView::setCurrentPluginView()
56066               before calling to NP-functions. Now it does.     
56068         * plugins/PluginView.cpp:
56069         * plugins/PluginViewNone.cpp:
56070         * plugins/gtk/PluginViewGtk.cpp:
56071         * plugins/mac/PluginViewMac.cpp:
56072         * plugins/qt/PluginViewQt.cpp:
56073         * plugins/win/PluginViewWin.cpp:
56075 2009-07-30  Joseph Pecoraro  <joepeck02@gmail.com>
56077         Reviewed by Timothy Hatcher.
56079         Inspector: let me *edit* css styles in the web inspector.
56080         https://bugs.webkit.org/show_bug.cgi?id=27124
56082         * English.lproj/localizedStrings.js:
56083         * inspector/front-end/ElementsPanel.js:
56084         (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
56085         * inspector/front-end/StylesSidebarPane.js:
56086         (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
56087         (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
56088         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
56089         (WebInspector.StylePropertiesSection):
56090         (WebInspector.StylePropertiesSection.prototype.expand):
56091         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
56092         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
56093         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
56094         (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
56095         (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
56096         (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
56097         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
56098         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
56099         (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
56100         (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
56101         (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
56102         (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
56103         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
56104         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
56105         (WebInspector.StylePropertyTreeElement.prototype):
56106         (WebInspector.StylePropertyTreeElement.prototype.):
56107         * inspector/front-end/inspector.css:
56109 2009-07-31  Anton Muhin  <antonm@chromium.org>
56111         Reviewed by Adam Barth.
56113         [v8] check if proxy is present before invoking a handler
56114         https://bugs.webkit.org/show_bug.cgi?id=27883 
56116         Do not invoke handler function if proxy is null pointer (that would lead to access violation
56117         anyway)
56119         * bindings/v8/custom/V8CustomEventListener.cpp:
56120         (WebCore::V8EventListener::callListenerFunction):
56122 2009-08-01  Pavel Feldman  <pfeldman@chromium.org>
56124         Reviewed by Timothy Hatcher.
56126         Web Inspector: Reimplement Elements Panel so that its
56127         interaction with DOM is serialized.
56129         This is a first cut wuth read support for DOM elements
56130         tree as well as some limited editing. No properties, no
56131         styles, no search capabilities are implemented yet.
56132         Set Preferences.useDOMAgent to true in order to try it
56133         out, otherwise disabled by default.
56135         https://bugs.webkit.org/show_bug.cgi?id=27771
56137         * GNUmakefile.am:
56138         * WebCore.gypi:
56139         * WebCore.pro:
56140         * WebCore.vcproj/WebCore.vcproj:
56141         * WebCore.xcodeproj/project.pbxproj:
56142         * WebCoreSources.bkl:
56143         * inspector/InspectorBackend.cpp:
56144         (WebCore::InspectorBackend::getChildNodes):
56145         (WebCore::InspectorBackend::setAttribute):
56146         (WebCore::InspectorBackend::removeAttribute):
56147         (WebCore::InspectorBackend::setTextNodeValue):
56148         * inspector/InspectorBackend.h:
56149         * inspector/InspectorBackend.idl:
56150         * inspector/InspectorController.cpp:
56151         (WebCore::InspectorController::windowScriptObjectAvailable):
56152         (WebCore::InspectorController::setFrontendProxyObject):
56153         (WebCore::InspectorController::close):
56154         (WebCore::InspectorController::populateScriptObjects):
56155         (WebCore::InspectorController::didCommitLoad):
56156         * inspector/InspectorController.h:
56157         (WebCore::InspectorController::domAgent):
56158         * inspector/InspectorDOMAgent.cpp: Added.
56159         * inspector/InspectorDOMAgent.h: Added.
56160         * inspector/InspectorFrontend.cpp:
56161         * inspector/InspectorFrontend.h:
56162         * inspector/front-end/Callback.js: Added.
56163         * inspector/front-end/DOMAgent.js: Added.
56164         * inspector/front-end/ElementsPanel.js:
56165         * inspector/front-end/WebKit.qrc:
56166         * inspector/front-end/inspector.html:
56167         * inspector/front-end/inspector.js:
56168         (WebInspector.loaded):
56170 2009-08-01  Ryosuke Niwa  <rniwa@webkit.org>
56172         Reviewed by Adele Peterson.
56174         isContentEditable function in htmlediting.* must be removed
56175         https://bugs.webkit.org/show_bug.cgi?id=27870
56177         This patch removes isContentEditable function in htmlediting.cpp and
56178         replaces all usage by calling Node::isContentEditable or its derivatives.
56180         * editing/AppendNodeCommand.cpp: ditto
56181         (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
56182         * editing/IndentOutdentCommand.cpp: ditto
56183         (WebCore::IndentOutdentCommand::outdentParagraph): ditto
56184         * editing/InsertNodeBeforeCommand.cpp: ditto
56185         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
56186         * editing/htmlediting.cpp: ditto
56187         (WebCore::enclosingNodeWithTag): ditto
56188         (WebCore::enclosingNodeOfType): ditto
56189         (WebCore::canMergeLists): ditto
56190         * editing/htmlediting.h: Updated prototype
56192 2009-08-01  John Abd-El-Malek  <jam@chromium.org>
56194         Reviewed by Adam Barth.
56196         Fix a message port handle always getting marked as reachable once it gets entangled.
56198         https://bugs.webkit.org/show_bug.cgi?id=27824
56200         No tests since this only arises with the Chromium multi-process message port implementation
56201         which isn't in this repostiory.
56203         * bindings/v8/V8GCController.cpp:
56204         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
56206 2009-07-31  Yong Li  <yong.li@torchmobile.com>
56208         Reviewed by Adam Barth.
56210         Fix Geolocation permission problem
56211         https://bugs.webkit.org/show_bug.cgi?id=26993
56213         * page/Geolocation.cpp:
56214         (WebCore::Geolocation::requestPermission):
56216 2009-07-31  Norbert Leser  <norbert.leser@nokia.com>
56218         Reviewed by Eric Seidel.
56220         Added project properties as needed by symbian platform
56222         * WebCore.pro:
56224 2009-07-31  Xan Lopez  <xlopez@igalia.com>
56226         Reviewed by Holger Freyther.
56228         Fix compiler warning.
56230         Initialize member variables in the correct order.
56232         * plugins/PluginView.cpp:
56233         (WebCore::PluginView::PluginView):
56235 2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
56237         Windows build fix!
56239         Unreviewed.
56241         * page/win/PageWin.cpp:
56243 2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
56245         Mac build fix.
56247         Unreviewed.
56249         * page/Page.cpp:
56250         Move setCanStartPlugins() from here...
56251         * page/win/PageWin.cpp:
56252         (WebCore::Page::setCanStartPlugins):
56253         ... to here.
56255 2009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>
56257         <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
56258         background tabs (make Win consistent with Mac)
56260         https://bugs.webkit.org/show_bug.cgi?id=27855
56262         Reviewed by Anders Carlsson.
56264         * loader/FrameLoaderClient.h:
56265         (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
56266         Declare a new function to dispatch failures to start plug-ins.
56268         * page/Page.cpp:
56269         (WebCore::Page::Page):
56270         Initialize new member variable.
56271         (WebCore::Page::addUnstartedPlugin):
56272         Add the PluginView to the set of unstarted plug-ins.
56273         (WebCore::Page::removeUnstartedPlugin):
56274         Remove the PluginView from the set of unstarted plug-ins.
56275         (WebCore::Page::setCanStartPlugins):
56276         If we can now start plug-ins, iterate the set of unstarted plug-ins,
56277         starting them. If a plug-in fails to start, dispatch a failed-to-start-
56278         plug-in error. Clear the list of unstarted plug-ins.
56280         * page/Page.h:
56281         Added m_canStartPlugins to track whether we can currently start
56282         plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
56283         page that are waiting to be started.
56284         (WebCore::Page::canStartPlugins):
56286         * plugins/PluginView.cpp:
56287         (WebCore::PluginView::start):
56288         m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
56289         fails, set m_status to reflect this; this used to be set by init(), but
56290         start() will not be called by init() if we are delaying start().
56291         If NPP_New() succeeds, set m_status to reflect this, and call
56292         platformStart().
56293         (WebCore::PluginView::startOrAddToUnstartedList):
56294         If we cannot start plug-ins, add this view to the Page's list of
56295         unstarted plug-ins and return true. Otherwise, call start() and return
56296         the result.
56297         (WebCore::PluginView::removeFromUnstartedListIfNecessary):
56298         If we've been started or we don't have a Page, return early. Remove
56299         ourselves from the Page's list of unstarted plug-ins.
56300         (WebCore::PluginView::bindingInstance):
56301         If we haven't been started yet, return 0. This matches the Mac
56302         behavior.
56303         (WebCore::PluginView::setParameters):
56304         If we find the "plug-ins page" parameter, record it; it may be used if
56305         we fail to start the plug-in.
56306         (WebCore::PluginView::PluginView):
56307         Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
56308         with mimeType directly; m_mimeType is now a WebCore::String.
56310         * plugins/PluginView.h:
56311         Made start() public, so Page can call it when we start unstarted
56312         plug-ins. Changed m_mimeType from CString to String and added
56313         m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
56314         (WebCore::PluginView::pluginsPage):
56315         Added for dispatchDidFailToStartPlugin().
56316         (WebCore::PluginView::mimeType):
56317         Ditto.
56318         (WebCore::PluginView::url):
56319         Ditto.
56321         * plugins/gtk/PluginViewGtk.cpp:
56322         (WebCore::PluginView::platformStart):
56323         Stubbed.
56325         * plugins/mac/PluginViewMac.cpp:
56326         (WebCore::PluginView::platformStart):
56327         Stubbed.
56329         * plugins/qt/PluginViewQt.cpp:
56330         (WebCore::PluginView::platformStart):
56331         Stubbed.
56333         * plugins/win/PluginViewWin.cpp:
56334         (WebCore::PluginView::updatePluginWidget):
56335         Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
56336         and SetWindowRgn() to position the plug-in and set its clip rect if an
56337         earlier call to updatePluginWidget() was made before
56338         setPlatformPluginWidget() was called to set the plug-in's HWND.
56339         (WebCore::PluginView::~PluginView):
56340         Call removeFromUnstartedListIfNecessary() to remove the plug-in from
56341         the unstarted list if the plug-in is destroyed before it is started.
56342         (WebCore::PluginView::init):
56343         Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
56344         cannot be started, to add it to the list of plug-ins waiting to be
56345         started. Set m_status to indicate success; this is also set by start(),
56346         but that may be delayed, and we don't want the loader to dispatch a
56347         failed-to-start-plug-in error when we return from init().
56348         (WebCore::PluginView::platformStart):
56349         Added; code moved from init(). This is now called by start() to perform
56350         any platform-specific tasks that need to take place after the plug-in
56351         has started. Added a call to updatePluginWidget() to ensure we position
56352         the plug-in and set its clip rect after the plug-in has started.
56353         Removed the setting of m_status; start() does this before calling this
56354         function (and we assert this at the head of the function).
56356 2009-07-30  Darin Adler  <darin@apple.com>
56358         Reviewed by David Levin.
56360         Use checked casts for render tree
56361         https://bugs.webkit.org/show_bug.cgi?id=23522
56363         Next step: Add casts for all the RenderTable classes and use them everywhere.
56365         Also added a few uses in places that were still using static_cast.
56366         Also made some virtual member functions private.
56367         Also changed RenderTable::m_tableLayout to use OwnPtr.
56369         * accessibility/AccessibilityTable.cpp:
56370         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
56371         (WebCore::AccessibilityTable::addChildren):
56372         (WebCore::AccessibilityTable::cellForColumnAndRow):
56373         * accessibility/AccessibilityTableCell.cpp:
56374         (WebCore::AccessibilityTableCell::parentTable):
56375         (WebCore::AccessibilityTableCell::rowIndexRange):
56376         (WebCore::AccessibilityTableCell::columnIndexRange):
56377         (WebCore::AccessibilityTableCell::titleUIElement):
56378         * accessibility/AccessibilityTableColumn.cpp:
56379         (WebCore::AccessibilityTableColumn::headerObject):
56380         * accessibility/AccessibilityTableRow.cpp:
56381         (WebCore::AccessibilityTableRow::parentTable):
56382         * editing/DeleteSelectionCommand.cpp:
56383         (WebCore::DeleteSelectionCommand::removeNode):
56384         * editing/TextIterator.cpp:
56385         (WebCore::shouldEmitTabBeforeNode):
56386         (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
56387         * html/HTMLTableCellElement.cpp:
56388         (WebCore::HTMLTableCellElement::parseMappedAttribute):
56389         * html/HTMLTableColElement.cpp:
56390         (WebCore::HTMLTableColElement::parseMappedAttribute):
56391         * page/Frame.cpp:
56392         (WebCore::Frame::searchForLabelsAboveCell):
56393         * page/mac/FrameMac.mm:
56394         (WebCore::Frame::searchForNSLabelsAboveCell):
56395         * rendering/AutoTableLayout.cpp:
56396         (WebCore::AutoTableLayout::recalcColumn):
56397         (WebCore::AutoTableLayout::fullRecalc):
56398         (WebCore::shouldScaleColumns):
56399         * rendering/FixedTableLayout.cpp:
56400         (WebCore::FixedTableLayout::calcWidthArray):
56401         * rendering/RenderBlock.cpp:
56402         (WebCore::RenderBlock::calcPrefWidths):
56403         * rendering/RenderBox.cpp:
56404         (WebCore::RenderBox::calcPercentageHeight):
56405         * rendering/RenderObject.cpp:
56406         (WebCore::RenderObject::addChild):
56407         (WebCore::RenderObject::containingBlock):
56408         * rendering/RenderTableCell.cpp:
56409         (WebCore::RenderTableCell::collapsedBottomBorder):
56410         * rendering/RenderTableCol.cpp:
56411         (WebCore::RenderTableCol::table):
56412         * rendering/RenderTableRow.cpp:
56413         (WebCore::RenderTableRow::addChild):
56414         (WebCore::RenderTableRow::layout):
56415         (WebCore::RenderTableRow::paint):
56416         * rendering/RenderTableSection.cpp:
56417         (WebCore::RenderTableSection::addChild):
56418         (WebCore::RenderTableSection::layoutRows):
56419         (WebCore::RenderTableSection::lowestPosition):
56420         (WebCore::RenderTableSection::rightmostPosition):
56421         (WebCore::RenderTableSection::leftmostPosition):
56422         (WebCore::RenderTableSection::paintObject):
56423         (WebCore::RenderTableSection::recalcCells):
56424         * rendering/RenderTreeAsText.cpp:
56425         (WebCore::operator<<):
56426         (WebCore::writeTextRun):
56427         Use checked casts.
56429         * rendering/RenderTable.cpp:
56430         (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
56431         (WebCore::RenderTable::addChild): Use checked cast.
56432         (WebCore::RenderTable::layout): Ditto.
56433         (WebCore::RenderTable::setCellWidths): Ditto.
56434         (WebCore::RenderTable::paintObject): Ditto.
56435         (WebCore::RenderTable::splitColumn): Ditto.
56436         (WebCore::RenderTable::appendColumn): Ditto.
56437         (WebCore::RenderTable::colElement): Ditto.
56438         (WebCore::RenderTable::recalcSections): Ditto.
56439         (WebCore::RenderTable::outerBorderBottom): Ditto.
56440         (WebCore::RenderTable::outerBorderLeft): Ditto.
56441         (WebCore::RenderTable::outerBorderRight): Ditto.
56442         (WebCore::RenderTable::sectionAbove): Ditto.
56443         (WebCore::RenderTable::sectionBelow): Ditto.
56445         * rendering/RenderTable.h: Added checked cast. Made virtual
56446         functions private. Changed m_tableLayout to be a OwnPtr.
56448         * rendering/RenderTableCell.h: Added checked cast.
56449         * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
56450         * rendering/RenderTableRow.h: Ditto.
56451         * rendering/RenderTableSection.h: Ditto.
56453 2009-07-31  Brady Eidson  <beidson@apple.com>
56455         Reviewed by John Sullivan.
56457         <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
56458         Favicons are still loaded when automatic image loading is disabled.
56460         People who want to avoid loading images generally want to avoid loading all images.
56462         Test: http/tests/misc/favicon-loads-with-images-disabled.html
56464         * loader/FrameLoader.cpp:
56465         (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
56466           perform the load if images shouldn't be loading.
56468 2009-07-31  Simon Fraser  <simon.fraser@apple.com>
56470         Reviewed by Anders Carlsson.
56471         
56472         Accelerated animations stutter on pages with lots of animations and 3d transforms
56473         https://bugs.webkit.org/show_bug.cgi?id=27884
56474         
56475         This patch changes the strategy for synchronizing painting view the view,
56476         and compositing layer updates. Previously the strategy was to disable screen
56477         updates between the time we updated the layer tree, and painted the view. That
56478         left screen updates disabled for too long (hundreds of milliseconds) in some
56479         cases, causing animation stutter.
56480         
56481         The new strategy is to batch up changes to the CA layer tree, and commit them
56482         all at once just before painting happens (referred to as a "sync" in the code).
56483         GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
56484         the values stored in GraphicsLayer into the CA layer tree at commit time.
56485         
56486         Compositing layers are then synced in FrameView::paintContents(). However, not
56487         all style/layout changes will result in painting; to deal with style changes that
56488         touch only compositing properties, we set up a runloop observer that takes care
56489         of comitting layer changes when no painting happens.
56491         * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()
56493         * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
56494         * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
56496         * page/FrameView.h:
56497         * page/FrameView.cpp:
56498         (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
56499         view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
56500         sync and returns false, since we only want to sync when layout is done.
56501         
56502         (WebCore::FrameView::paintContents): syncCompositingState() before painting.
56504         * page/animation/KeyframeAnimation.cpp:
56505         (WebCore::KeyframeAnimation::endAnimation):
56506         Call animationPaused() to notify the graphics layers about animation pausing.
56507         
56508         * platform/graphics/FloatPoint3D.h:
56509         (WebCore::operator==):
56510         (WebCore::operator!=): 
56511         Add missing comparison operators.
56512         
56513         * platform/graphics/GraphicsLayer.cpp:
56514         (WebCore::GraphicsLayer::setOpacity):
56515         (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
56516         
56517         (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
56518         
56519         * platform/graphics/GraphicsLayer.h:
56520         (WebCore::AnimationValue:):
56521         (WebCore::TransformAnimationValue:):
56522         (WebCore::KeyframeValueList:):
56523         (WebCore::KeyframeValueList::insert):
56524         Cleaned up versions of FloatValue and TransformValue, used to store information
56525         about keyframes values.
56527         (WebCore::GraphicsLayer::contentsRect):
56528         (WebCore::GraphicsLayer::setContentsRect):
56529         ContentsRect is now a simple setter.
56530         
56531         (WebCore::GraphicsLayer::addAnimation):
56532         (WebCore::GraphicsLayer::removeAnimationsForProperty):
56533         (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
56534         (WebCore::GraphicsLayer::pauseAnimation):
56535         Simplified animation api.
56536         
56537         (WebCore::GraphicsLayer::setGeometryOrientation):
56538         (WebCore::GraphicsLayer::geometryOrientation):
56539         setGeometryOrientation is now just a normal member variable.
56540         
56541         (WebCore::GraphicsLayer::contentsOrientation): add a getter.
56542         (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
56543         
56544         * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)
56546         * platform/graphics/mac/GraphicsLayerCA.h:
56547         * platform/graphics/mac/GraphicsLayerCA.mm:
56548         Lots of cleanup and refactoring. Main points:
56549         - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
56550         - Bitmask is used to store which properties have changed. More efficient than before.
56551         - Simpler animation interface; simple setters are no longer confounded with animations.
56552         - Refactored code that creates CA animations, and stores which animations are running.
56554         * platform/graphics/transforms/TransformOperations.h:
56555         (WebCore::TransformOperations::size):
56556         (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
56557         
56558         * rendering/RenderLayerBacking.h:
56559         * rendering/RenderLayerBacking.cpp:
56560         Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
56561         contentsLayer.
56562         Adapt to GraphicsLayer's simpler animation API.
56563         Pass animation pausing through to the graphics layers.
56564         contentsBox() is no longer a callback via GraphicsLayerClient.
56565         
56566         * rendering/RenderLayerCompositor.h:
56567         * rendering/RenderLayerCompositor.cpp:
56568         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
56569         (WebCore::RenderLayerCompositor::scheduleSync):
56570         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
56571         scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
56572         notifications, which travel up to WebKit and set up a runloop observer.
56573         
56574 2009-07-30  Jeremy Orlow  <jorlow@chromium.org>
56576         Reviewed by David Levin.
56578         Guard needs //'s between #endif and ENABLE(DATAGRID)
56579         https://bugs.webkit.org/show_bug.cgi?id=27862
56581         Compiling this file causes a build break without this change.
56583         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
56585 2009-07-31  Greg Bolsinga  <bolsinga@apple.com>
56587         Reviewed by Eric Seidel.
56589         Geolocation clean up when no longer updating
56590         https://bugs.webkit.org/show_bug.cgi?id=27888
56592         When Geolocation::disconnectFrame() is called, need to call 
56593         Document::setUsingGeolocation(false) to mirror the true call 
56594         when it is set up.
56596         When handling an error, and there are no more listeners, call
56597         GeolocationService::stopUpdating().
56599         * page/Geolocation.cpp:
56600         (WebCore::Geolocation::disconnectFrame):
56601         (WebCore::Geolocation::handleError):
56603 2009-07-31  Greg Bolsinga  <bolsinga@apple.com>
56605         Reviewed by George Staikos.
56607         Consolidate GeoLocation code to send positions and errors
56608         https://bugs.webkit.org/show_bug.cgi?id=27863
56609         
56610         Create helper methods that will send positions and errors to either
56611         one shots or watchers.
56613         * page/Geolocation.cpp:
56614         (WebCore::Geolocation::sendError):
56615         (WebCore::Geolocation::sendErrorToOneShots):
56616         (WebCore::Geolocation::sendErrorToWatchers):
56617         (WebCore::Geolocation::sendPosition):
56618         (WebCore::Geolocation::sendPositionToOneShots):
56619         (WebCore::Geolocation::sendPositionToWatchers):
56620         * page/Geolocation.h:
56622 2009-07-31  Xan Lopez  <xlopez@igalia.com>
56624         Roll out previous change as it might be causing some weirdness in
56625         the bots.
56627         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
56628         (WebCore::BMPImageDecoder::processFileHeader):
56630 2009-07-31  Xan Lopez  <xlopez@igalia.com>
56632         Reviewed by Mark Rowe.
56634         Fix compiler warning.
56635         https://bugs.webkit.org/show_bug.cgi?id=27851
56637         GCC does not like multi-character character constants, so use the
56638         explicit numerical value of 'BM' in the enum.
56640         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
56641         (WebCore::BMPImageDecoder::processFileHeader):
56643 2009-07-30  Brady Eidson  <beidson@apple.com>
56645         Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.
56647         <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
56648         http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
56649         
56650         Test: http/tests/misc/meta-refresh-stray-single-quote.html
56652         * platform/network/HTTPParsers.cpp:
56653         (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.
56655 2009-07-30  Mark Rowe  <mrowe@apple.com>
56657         Reviewed by Adele Peterson and Jon Honeycutt.
56659         Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
56660         Bug 27828: Title attribute is not respected on option elements
56662         No tests added as it is not clear how to test a tool tip from DumpRenderTree.
56664         * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
56665         * platform/mac/PopupMenuMac.mm:
56666         (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
56667         * rendering/RenderMenuList.cpp:
56668         (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
56669         * rendering/RenderMenuList.h:
56670         * rendering/RenderTextControlSingleLine.h:
56671         (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
56672         the popup menu in RenderTextControlSingleLine.
56674 2009-07-30  Xiaomei Ji  <xji@chromium.org>
56676         Reviewed by Dan Bernstein.
56678         Remove ChromeClientChromium::setToolTip().
56679         https://bugs.webkit.org/show_bug.cgi?id=27861
56681         This patch is just to remove a temporarily introduced overloaded empty
56682         virtual function. No test is needed.
56684         * page/chromium/ChromeClientChromium.h:
56686 2009-07-30  Michael Nordman  <michaeln@google.com>
56688         Reviewed by Darin Fisher.
56690         https://bugs.webkit.org/show_bug.cgi?id=27821
56692         ApplicationCacheHost refactoring.
56693         
56694         1) Better encapsulate the interfaces between webcore common code
56695         and the appcache system within a new class ApplicationCacheHost.
56697         2) Use that interface throughout the loader system, replacing inline appcache logic.
56699         3) Implement the interface in terms of webcore's appcache system.
56701         4) Add the new files to various makefiles.
56703         5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp
56705         No new features, no new tests. The existing layout tests all pass.
56707         * GNUmakefile.am:
56708         * WebCore.base.exp:
56709         * WebCore.gypi:
56710         * WebCore.pro:
56711         * WebCore.vcproj/WebCore.vcproj:
56712         * WebCore.xcodeproj/project.pbxproj:
56713         * WebCoreSources.bkl:
56714         * html/HTMLHtmlElement.cpp:
56715         (WebCore::HTMLHtmlElement::insertedIntoDocument):
56716         * loader/DocumentLoader.cpp:
56717         (WebCore::DocumentLoader::DocumentLoader):
56718         (WebCore::DocumentLoader::~DocumentLoader):
56719         (WebCore::DocumentLoader::mainReceivedError):
56720         (WebCore::DocumentLoader::detachFromFrame):
56721         (WebCore::DocumentLoader::setPrimaryLoadComplete):
56722         * loader/DocumentLoader.h:
56723         (WebCore::DocumentLoader::applicationCacheHost):
56724         * loader/FrameLoader.cpp:
56725         (WebCore::FrameLoader::canCachePageContainingThisFrame):
56726         (WebCore::FrameLoader::logCanCacheFrameDecision):
56727         (WebCore::FrameLoader::loadResourceSynchronously):
56728         * loader/MainResourceLoader.cpp:
56729         (WebCore::MainResourceLoader::didReceiveResponse):
56730         (WebCore::MainResourceLoader::didReceiveData):
56731         (WebCore::MainResourceLoader::didFinishLoading):
56732         (WebCore::MainResourceLoader::didFail):
56733         (WebCore::MainResourceLoader::load):
56734         * loader/MainResourceLoader.h:
56735         * loader/ResourceLoader.cpp:
56736         (WebCore::ResourceLoader::load):
56737         (WebCore::ResourceLoader::willSendRequest):
56738         (WebCore::ResourceLoader::didReceiveResponse):
56739         (WebCore::ResourceLoader::didFail):
56740         * loader/ResourceLoader.h:
56741         * loader/appcache/ApplicationCacheGroup.cpp:
56742         (WebCore::ApplicationCacheGroup::selectCache):
56743         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
56744         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
56745         (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
56746         (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
56747         (WebCore::ApplicationCacheGroup::update):
56748         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
56749         (WebCore::ApplicationCacheGroup::manifestNotFound):
56750         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
56751         (WebCore::ApplicationCacheGroup::startLoadingEntry):
56752         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
56753         (WebCore::CallCacheListenerTask::create):
56754         (WebCore::CallCacheListenerTask::performTask):
56755         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
56756         (WebCore::ApplicationCacheGroup::postListenerTask):
56757         * loader/appcache/ApplicationCacheGroup.h:
56758         * loader/appcache/ApplicationCacheHost.cpp: Added.
56759         * loader/appcache/ApplicationCacheHost.h: Added.
56760         * loader/appcache/ApplicationCacheStorage.cpp:
56761         (WebCore::ApplicationCacheStorage::transferApplicationCache):
56762         * loader/appcache/ApplicationCacheStorage.h:
56763         * loader/appcache/DOMApplicationCache.cpp:
56764         (WebCore::DOMApplicationCache::DOMApplicationCache):
56765         (WebCore::DOMApplicationCache::disconnectFrame):
56766         (WebCore::DOMApplicationCache::applicationCacheHost):
56767         (WebCore::DOMApplicationCache::status):
56768         (WebCore::DOMApplicationCache::update):
56769         (WebCore::DOMApplicationCache::swapCache):
56770         (WebCore::DOMApplicationCache::addEventListener):
56771         (WebCore::DOMApplicationCache::removeEventListener):
56772         (WebCore::DOMApplicationCache::dispatchEvent):
56773         (WebCore::DOMApplicationCache::callListener):
56774         (WebCore::DOMApplicationCache::toEventName):
56775         (WebCore::DOMApplicationCache::toEventType):
56776         * loader/appcache/DOMApplicationCache.h:
56777         (WebCore::DOMApplicationCache::):
56778         (WebCore::DOMApplicationCache::setAttributeEventListener):
56779         (WebCore::DOMApplicationCache::getAttributeEventListener):
56780         (WebCore::DOMApplicationCache::clearAttributeEventListener):
56781         (WebCore::DOMApplicationCache::callEventListener):
56782         (WebCore::DOMApplicationCache::setOnchecking):
56783         (WebCore::DOMApplicationCache::onchecking):
56784         (WebCore::DOMApplicationCache::setOnerror):
56785         (WebCore::DOMApplicationCache::onerror):
56786         (WebCore::DOMApplicationCache::setOnnoupdate):
56787         (WebCore::DOMApplicationCache::onnoupdate):
56788         (WebCore::DOMApplicationCache::setOndownloading):
56789         (WebCore::DOMApplicationCache::ondownloading):
56790         (WebCore::DOMApplicationCache::setOnprogress):
56791         (WebCore::DOMApplicationCache::onprogress):
56792         (WebCore::DOMApplicationCache::setOnupdateready):
56793         (WebCore::DOMApplicationCache::onupdateready):
56794         (WebCore::DOMApplicationCache::setOncached):
56795         (WebCore::DOMApplicationCache::oncached):
56796         (WebCore::DOMApplicationCache::setOnobsolete):
56797         (WebCore::DOMApplicationCache::onobsolete):
56798         (WebCore::DOMApplicationCache::~DOMApplicationCache):
56799         * platform/KURLGoogle.cpp:
56800         (WebCore::protocolHostAndPortAreEqual):
56802 2009-07-30  Chris Fleizach  <cfleizach@apple.com>
56804         Reviewed by Darin Adler.
56806         Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
56807         https://bugs.webkit.org/show_bug.cgi?id=27854
56809         AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
56810         they can disappear and then lead to crashes.
56811        
56812         * accessibility/AXObjectCache.cpp:
56813         (WebCore::AXObjectCache::notificationPostTimerFired):
56814         (WebCore::AXObjectCache::postNotification):
56815         * accessibility/AXObjectCache.h:
56817 2009-07-30  Simon Fraser  <simon.fraser@apple.com>
56819         Minor change to earlier commit suggested by Darin Adler.
56820         Use the variable rather than dereferencing 'it' again.
56822         * css/CSSStyleSelector.cpp:
56823         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
56825 2009-07-30  Simon Fraser  <simon.fraser@apple.com>
56827         Reviewed by Dan Bernstein.
56829         Animation with a timing function property in a keyframe eats CPU
56830         https://bugs.webkit.org/show_bug.cgi?id=27856
56831         <rdar://problem/7104476> Animation demo uses lots of CPU
56832         
56833         Don't include animation-timing-function in the list of properties to
56834         animate in a keyframe animation, because this property is not animated;
56835         instead, it describes the timing function to apply to this keyframe.
56836         
56837         This prevents the animation code from thinking that there's a property
56838         that it has to software-animate, and thus firing the animation timer frequently.
56839         
56840         Not testable because there is no visible impact.
56842         * css/CSSStyleSelector.cpp:
56843         (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
56844         CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.
56846         * page/animation/KeyframeAnimation.cpp
56847         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment
56849 2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
56851          Reviewed by Adam Treat.
56853          Apply colour style to buttons that use Theme settings in Qt.
56855          https://bugs.webkit.org/show_bug.cgi?id=27814
56857          * platform/qt/RenderThemeQt.cpp:
56858          (WebCore::RenderThemeQt::adjustButtonStyle):
56860 === End merge of nitro-extreme branch 2009-07-30 ===
56862 2009-05-11  Geoffrey Garen  <ggaren@apple.com>
56864         Reviewed by Sam Weinig.
56866         Make WebCore compile with the new JS number representation.
56868         * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
56869         * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
56870         * bindings/js/ScriptEventListener.cpp:
56871         * bindings/scripts/CodeGeneratorJS.pm:
56872         * bridge/c/c_instance.cpp:
56874 === Start merge of nitro-extreme branch 2009-07-30 ===
56876 2009-07-30  Dean McNamee  <deanm@chromium.org>
56878         Reviewed by Dimitri Glazkov.
56880         Don't try to hash member function pointers, instead use a precomputed value based on the field.
56881         https://bugs.webkit.org/show_bug.cgi?id=27843
56883         * bindings/scripts/CodeGeneratorV8.pm:
56884         * bindings/v8/V8SVGPODTypeWrapper.h:
56885         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
56886         (WebCore::PODTypeWrapperCacheInfo::operator==):
56887         (WebCore::PODTypeWrapperCacheInfoHash::hash):
56888         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
56890 2009-07-30  Xan Lopez  <xlopez@igalia.com>
56892         Reviewed by Simon Fraser.
56894         Fix compiler warning.
56896         * dom/SelectElement.cpp:
56897         (WebCore::SelectElement::menuListDefaultEventHandler):
56899 2009-07-29  Matt Perry  <mpcomplete@chromium.org>
56901         Reviewed by Adam Barth.
56903         Add a way to register V8 extensions for Isolated Worlds only.
56904         https://bugs.webkit.org/show_bug.cgi?id=27785
56906         * bindings/v8/ScriptController.cpp:
56907         (WebCore::ScriptController::evaluateInNewWorld):
56908         (WebCore::ScriptController::evaluateInNewContext):
56909         * bindings/v8/ScriptController.h:
56910         * bindings/v8/V8IsolatedWorld.cpp:
56911         (WebCore::V8IsolatedWorld::evaluate):
56912         * bindings/v8/V8IsolatedWorld.h:
56913         * bindings/v8/V8Proxy.cpp:
56914         (WebCore::V8Proxy::evaluateInNewWorld):
56915         (WebCore::V8Proxy::evaluateInNewContext):
56916         (WebCore::V8Proxy::createNewContext):
56917         (WebCore::V8Proxy::initContextIfNeeded):
56918         (WebCore::V8Proxy::registerExtensionWithV8):
56919         (WebCore::V8Proxy::registerExtension):
56920         * bindings/v8/V8Proxy.h:
56922 2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
56924          Reviewed by Adam Treat.
56926          Add previously defined out support to PopupMenuQt for marking entries as
56927          disabled and for selecting the desired item.
56929          https://bugs.webkit.org/show_bug.cgi?id=27772
56931          * platform/qt/PopupMenuQt.cpp:
56932          (WebCore::PopupMenu::populate):
56934 2009-07-30  Darin Adler  <darin@apple.com>
56936         Reviewed by David Levin.
56938         Use checked casts for render tree
56939         https://bugs.webkit.org/show_bug.cgi?id=23522
56941         Next step: Add new toRenderWidget cast and use it everywhere.
56943         Use checked casts in all the places that were using static_cast
56944         but there is a checked cast available.
56946         * accessibility/AccessibilityRenderObject.cpp:
56947         (WebCore::AccessibilityRenderObject::stringValue):
56948         (WebCore::AccessibilityRenderObject::widget):
56949         (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
56950         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
56951         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
56952         (getPangoLayoutForAtk):
56953         * dom/Document.cpp:
56954         (WebCore::widgetForNode):
56955         (WebCore::Document::setFocusedNode):
56956         * html/HTMLEmbedElement.cpp:
56957         (WebCore::findWidgetRenderer):
56958         * html/HTMLMediaElement.cpp:
56959         (WebCore::HTMLMediaElement::defaultEventHandler):
56960         * html/HTMLObjectElement.cpp:
56961         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
56962         * html/HTMLPlugInElement.cpp:
56963         (WebCore::HTMLPlugInElement::defaultEventHandler):
56964         * loader/FrameLoader.cpp:
56965         (WebCore::FrameLoader::loadSubframe):
56966         * loader/PluginDocument.cpp:
56967         (WebCore::PluginTokenizer::writeRawData):
56968         * page/EventHandler.cpp:
56969         (WebCore::EventHandler::hitTestResultAtPoint):
56970         (WebCore::subframeForTargetNode):
56971         (WebCore::EventHandler::handleWheelEvent):
56972         * page/Frame.cpp:
56973         (WebCore::isFrameElement):
56974         * page/PrintContext.cpp:
56975         (WebCore::PrintContext::computePageRects):
56976         * page/android/EventHandlerAndroid.cpp:
56977         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56978         * page/chromium/EventHandlerChromium.cpp:
56979         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56980         * page/chromium/FrameChromium.cpp:
56981         (WebCore::computePageRectsForFrame):
56982         * page/gtk/EventHandlerGtk.cpp:
56983         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56984         * page/haiku/EventHandlerHaiku.cpp:
56985         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56986         * page/mac/EventHandlerMac.mm:
56987         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56988         (WebCore::EventHandler::passSubframeEventToSubframe):
56989         * page/win/FrameWin.cpp:
56990         (WebCore::computePageRectsForFrame):
56991         * page/wx/EventHandlerWx.cpp:
56992         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
56993         * platform/chromium/ClipboardChromium.cpp:
56994         (WebCore::getCachedImage):
56995         * platform/chromium/PasteboardChromium.cpp:
56996         (WebCore::Pasteboard::writeImage):
56997         * platform/gtk/PasteboardGtk.cpp:
56998         (WebCore::Pasteboard::writeImage):
56999         * platform/mac/PasteboardMac.mm:
57000         (WebCore::Pasteboard::writeImage):
57001         * platform/qt/ClipboardQt.cpp:
57002         (WebCore::getCachedImage):
57003         * platform/qt/PasteboardQt.cpp:
57004         (WebCore::Pasteboard::writeImage):
57005         * platform/win/ClipboardWin.cpp:
57006         (WebCore::getCachedImage):
57007         * platform/win/PasteboardWin.cpp:
57008         (WebCore::Pasteboard::writeImage):
57009         * rendering/InlineBox.h:
57010         (WebCore::InlineBox::boxModelObject):
57011         * rendering/RenderInline.cpp:
57012         (WebCore::RenderInline::splitInlines):
57013         (WebCore::RenderInline::addChildToContinuation):
57014         * rendering/RenderLayerBacking.cpp:
57015         (WebCore::RenderLayerBacking::updateImageContents):
57016         * rendering/TextControlInnerElements.cpp:
57017         (WebCore::RenderTextControlInnerBlock::positionForPoint):
57018         Use checked cast instead of static_cast.
57019         
57020         * rendering/RenderWidget.h: Added toRenderWidget.
57022 2009-07-30  Yong Li  <yong.li@torchmobile.com>
57024         Reviewed by George Staikos.
57026         WINCE PORT: some files modified to build for WINCE
57027         https://bugs.webkit.org/show_bug.cgi?id=27816
57029         * accessibility/AccessibilityObject.h:
57030         * page/win/EventHandlerWin.cpp:
57031         (WebCore::EventHandler::createDraggingClipboard):
57032         * platform/win/PlatformMouseEventWin.cpp:
57033         (WebCore::messageToEventType):
57034         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
57035         * platform/win/PlatformScreenWin.cpp:
57036         (WebCore::deviceInfoForWidget):
57037         (WebCore::screenIsMonochrome):
57038         * platform/win/PopupMenuWin.cpp:
57039         (WebCore::PopupMenu::show):
57040         (WebCore::PopupMenu::paint):
57041         (WebCore::registerPopup):
57042         (WebCore::PopupWndProc):
57044 2009-07-30  Yong Li  <yong.li@torchmobile.com>
57046         Reviewed by George Staikos.
57048         WINCE PORT: modified graphics files
57049         https://bugs.webkit.org/show_bug.cgi?id=27779
57051         * platform/graphics/BitmapImage.h:
57052         (WebCore::BitmapImage::mayFillWithSolidColor):
57053         * platform/graphics/Gradient.h:
57054         * platform/graphics/GraphicsContext.cpp:
57055         * platform/graphics/GraphicsContext.h:
57056         * platform/graphics/ImageSource.h:
57057         * platform/graphics/MediaPlayer.cpp:
57058         * platform/graphics/Path.h:
57059         * platform/graphics/Pattern.h:
57060         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
57061         (WebCore::Matrix3DTransformOperation::blend):
57062         * platform/graphics/transforms/MatrixTransformOperation.cpp:
57063         (WebCore::MatrixTransformOperation::blend):
57064         * platform/graphics/transforms/TransformationMatrix.h:
57065         (WebCore::TransformationMatrix::operator*):
57066         * platform/graphics/win/IconWin.cpp:
57067         (WebCore::Icon::createIconForFile):
57068         (WebCore::Icon::createIconForFiles):
57069         (WebCore::Icon::paint):
57071 2009-07-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
57073         Reviewed by Ariya Hidayat.
57075         Improve efficiency by rewriting code doing three hash table
57076         lookups, which can be replaced by just one as pointed out
57077         by Darin Adler.
57079         Though being slightly less clear, this should be considerable
57080         faster.
57082         * plugins/PluginDatabase.cpp:
57083         (WebCore::PluginDatabase::remove):
57085 2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
57087         Reviewed by Gustavo Noronha.
57089         [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
57090         https://bugs.webkit.org/show_bug.cgi?id=27651
57092         Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.
57094         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
57095         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
57097 2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
57099         Reviewed by Gustavo Noronha.
57101         [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
57102         https://bugs.webkit.org/show_bug.cgi?id=27651
57104         Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
57105         No functionality change at all.
57107         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
57108         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
57109         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
57110         * platform/graphics/gtk/VideoSinkGStreamer.h:
57112 2009-07-30  Jakub Wieczorek  <faw217@gmail.com>
57114         Reviewed by Simon Hausmann.
57116         Allow to explicitly choose a preferred plugin for a mimetype.
57118         https://bugs.webkit.org/show_bug.cgi?id=27651
57120         When the preferred plugin is set for a specific MIME type, it will be
57121         always picked up, regardless of its version, quirks etc.
57123         Client applications may want to use that API to resolve mimetype
57124         ambiguity in a custom way, rather than in the default way that is
57125         currently used in WebKit.
57127         * plugins/PluginDatabase.cpp:
57128         (WebCore::PluginDatabase::pluginForMIMEType):
57129         (WebCore::PluginDatabase::MIMETypeForExtension):
57130         (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
57131         (WebCore::PluginDatabase::remove):
57132         (WebCore::PluginDatabase::clear):
57133         * plugins/PluginDatabase.h:
57135 2009-07-30  Jakub Wieczorek  <faw217@gmail.com>
57137         [Qt] Fix build with Qt 4.4 after r46535.
57139         * platform/network/qt/ResourceHandleQt.cpp:
57141 2009-07-30  Eric Carlson  <eric.carlson@apple.com>
57143         Reviewed by Simon Fraser.
57145         Video elements fires another "load" event when attached to DOM
57146         https://bugs.webkit.org/show_bug.cgi?id=27623
57148         Test: media/media-load-event.html
57150         * html/HTMLMediaElement.cpp:
57151         (WebCore::HTMLMediaElement::insertedIntoDocument):
57152             Only schedule load when element's network state is NETWORK_EMPTY.
57154 2009-07-30  Anton Muhin  <antonm@chromium.org>
57156         Reviewed by David Levin.
57158         Cache v8 strings when converting from WebCore::String to v8 string.
57159         https://bugs.webkit.org/show_bug.cgi?id=27655
57161         * bindings/v8/V8Binding.cpp:
57162         (WebCore::v8String): now just immediately calls v8ExternalString
57163         (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
57164         v8::String
57165         (WebCore::makeExternalString): utilty function to create external v8::String out of
57166         WebCore::String
57167         (WebCore::getStringCache): static function to access string cache
57168         (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
57169         cache
57170         (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
57171         the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
57172         string.
57173         * bindings/v8/V8Binding.h:
57175 2009-07-30  Xan Lopez  <xlopez@igalia.com>
57177         Reviewed by Maciej Stachowiak.
57179         https://bugs.webkit.org/show_bug.cgi?id=25535
57180         [GTK] object:state-changed:checked events missing for radio buttons and checkboxes
57182         Implement state-changed:checked for radio buttons and checkboxes.
57184         * accessibility/gtk/AXObjectCacheAtk.cpp:
57185         (WebCore::AXObjectCache::postPlatformNotification):
57186         * html/HTMLInputElement.cpp:
57187         (WebCore::HTMLInputElement::setChecked):
57189 2009-07-30  Xan Lopez  <xlopez@igalia.com>
57191         Forgot the 'break'.
57193         * platform/ContextMenu.cpp:
57194         (WebCore::ContextMenu::checkOrEnableIfNeeded):
57196 2009-07-30  Xan Lopez  <xlopez@igalia.com>
57198         Try to fix Mac build.
57200         * platform/ContextMenu.cpp:
57201         (WebCore::ContextMenu::checkOrEnableIfNeeded):
57203 2009-07-29  Xan Lopez  <xlopez@igalia.com>
57205         Reviewed by Adam Barth.
57207         Add missing enumeration value to switch.
57209         * platform/ContextMenu.cpp:
57210         (WebCore::ContextMenu::checkOrEnableIfNeeded):
57212 2009-07-29  Jian Li  <jianli@chromium.org>
57214         Reviewed by Darin Adler.
57216         Workers need to throw an exception when presented with invalid URLs.
57217         https://bugs.webkit.org/show_bug.cgi?id=27770
57219         Tests covered by worker-constructor.html and worker-redirect.html.
57221         * bindings/js/JSWorkerConstructor.cpp:
57222         (WebCore::constructWorker):
57223         * bindings/v8/custom/V8WorkerCustom.cpp:
57224         (WebCore::CALLBACK_FUNC_DECL):
57225         * workers/Worker.cpp:
57226         (WebCore::Worker::Worker):
57227         * workers/Worker.h:
57228         (WebCore::Worker::create):
57229         * workers/WorkerContext.cpp:
57230         (WebCore::WorkerContext::importScripts):
57231         * workers/WorkerScriptLoader.cpp:
57232         (WebCore::WorkerScriptLoader::loadSynchronously):
57233         (WebCore::WorkerScriptLoader::loadAsynchronously):
57234         (WebCore::WorkerScriptLoader::createResourceRequest):
57235         * workers/WorkerScriptLoader.h:
57237 2009-07-29  Brady Eidson  <beidson@apple.com>
57239         Reviewed by Darin Adler.
57241         (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
57242         https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>
57244         * loader/loader.cpp:
57245         (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
57246           only limiting connections while parsing and still trying to figure out stylesheet urls.
57248 2009-07-29  Yong Li  <yong.li@torchmobile.com>
57250         Reviewed by George Staikos.
57252         WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
57253         https://bugs.webkit.org/show_bug.cgi?id=27729
57255         * page/wince/FrameWince.cpp: Added.
57257 2009-07-29  Ryosuke Niwa  <rniwa@webkit.org>
57259         Reviewed by Justin Garcia.
57261         REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
57262         https://bugs.webkit.org/show_bug.cgi?id=27809
57264         The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
57265         To determine that a particular text decoration is present, currentlyHasStyle should refer to
57266         -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
57267         We also need to update layout to accommodate the changes made within ApplyStyleCommand.
57269         * editing/ApplyStyleCommand.cpp: ditto
57270         (WebCore::StyleChange::currentlyHasStyle): ditto
57272 2009-07-29  Yong Li  <yong.li@torchmobile.com>
57274         Reviewed by George Staikos.
57276         WINCE PORT: changes to platform/text files
57277         https://bugs.webkit.org/show_bug.cgi?id=27715
57279         * platform/text/String.cpp:
57280         (WebCore::String::format):
57281         * platform/text/TextEncoding.cpp:
57282         (WebCore::TextEncoding::encode):
57283         * platform/text/TextEncodingRegistry.cpp:
57284         (WebCore::buildBaseTextCodecMaps):
57285         (WebCore::extendTextCodecMaps):
57287 2009-07-29  Yong Li  <yong.li@torchmobile.com>
57289         Reviewed by Adam Roben.
57291         FIX: HDC leaks in PopupMenuWin.cpp
57292         https://bugs.webkit.org/show_bug.cgi?id=27817
57294         * platform/win/PopupMenuWin.cpp:
57295         (WebCore::PopupMenu::~PopupMenu):
57296         (WebCore::PopupMenu::paint):
57298 2009-07-29  Darin Adler  <darin@apple.com>
57300         Reviewed by Dan Bernstein.
57302         Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
57303         https://bugs.webkit.org/show_bug.cgi?id=27810
57305         Test: fast/lists/ol-start-parsing.html
57307         * html/HTMLOListElement.cpp:
57308         (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
57309         and use the value 1 if it failed to parse. Before we were getting toInt's default
57310         behavior, which is to return 0.
57312 2009-07-29  Kevin McCullough  <kmccullough@apple.com>
57314         Reviewed by Darin Adler.
57316         Added foundation work to allow a testing infrastructure for the Web
57317         Inspector.
57319         * inspector/InspectorClient.h:
57320         * inspector/InspectorController.cpp:
57321         (WebCore::InspectorController::scriptObjectReady): Tell the testing
57322         harness that the window object is ready.
57323         * loader/EmptyClients.h: Empty class support for SVG.
57324         (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):
57326 2009-07-29  Chris Fleizach  <cfleizach@apple.com>
57328         Build fix for windows after landing
57329         Bug 27807 - AX: move re-usable code into more common areas for other platforms
57330    
57331         Apparently bzero doesn't exist on windows.
57333         * accessibility/AXObjectCache.cpp:
57334         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
57336 2009-07-29  Chris Fleizach  <cfleizach@apple.com>
57338         Reviewed by Justin Garcia.
57340         Bug 27807 - AX: move re-usable code into more common areas for other platforms
57341         https://bugs.webkit.org/show_bug.cgi?id=27807
57343         Moves some accessibility code that was in the Mac file to a more common place so 
57344         it can be used by other platforms. 
57345         This includes:
57346            Making TextMarkerData from a VisiblePosition.
57347            Making a VisiblePosition from TextMarkerData.
57348            Finding the anchor accessibility object for an arbitrary Node.
57350         * accessibility/AXObjectCache.cpp:
57351         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
57352         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
57353         * accessibility/AXObjectCache.h:
57354         * accessibility/AccessibilityObject.cpp:
57355         (WebCore::AccessibilityObject::anchorElementForNode):
57356         * accessibility/AccessibilityObject.h:
57357         (WebCore::AccessibilityObject::visiblePositionForIndex):
57358         * accessibility/mac/AccessibilityObjectWrapper.mm:
57359         (textMarkerForVisiblePosition):
57360         (visiblePositionForTextMarker):
57361         (AXAttributedStringAppendText):
57363 2009-07-29  Dan Bernstein  <mitz@apple.com>
57365         Reviewed by Simon Fraser.
57367         Inset box shadows are incorrectly accounted for in visual overflow
57368         computations
57369         https://bugs.webkit.org/show_bug.cgi?id=27811
57371         * rendering/InlineFlowBox.cpp:
57372         (WebCore::InlineFlowBox::placeBoxesHorizontally): Use
57373             getBoxShadowHorizontalExtent().
57374         (WebCore::InlineFlowBox::placeBoxesVertically): Use
57375             getBoxShadowVerticalExtent(). Removed duplicate code to get the
57376             text-shadow overflow.
57377         (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
57378         * rendering/RenderBlock.cpp:
57379         (WebCore::RenderBlock::overflowHeight): Use
57380             getBoxShadowVerticalExtent().
57381         (WebCore::RenderBlock::overflowWidth): Use
57382             getBoxShadowHorizontalExtent().
57383         (WebCore::RenderBlock::overflowLeft): Ditto.
57384         (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
57385         (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
57386         (WebCore::RenderBlock::layoutBlock): Ditto.
57387         * rendering/RenderFlexibleBox.cpp:
57388         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
57389         * rendering/RenderLayer.cpp:
57390         (WebCore::RenderLayer::calculateRects): Exclude inset shadows.
57391         * rendering/RenderObject.cpp:
57392         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
57393             getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
57394         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
57395             shadows.
57396         * rendering/RenderReplaced.cpp:
57397         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
57398         * rendering/style/RenderStyle.cpp:
57399         (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
57400             not inset.
57401         (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
57402             shadows.
57403         (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
57404         (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
57405         * rendering/style/RenderStyle.h:
57407 2009-07-29  Simon Fraser  <simon.fraser@apple.com>
57409         Reviewed by Dan Bernstein.
57411         Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
57412         https://bugs.webkit.org/show_bug.cgi?id=27796
57413         
57414         Avoid repainting when a layer becomes composited if the renderer is not parented
57415         yet, because it makes no sense to do so.
57416         
57417         If the table row is a repaint container, default to the RenderBox implementation
57418         of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
57419         computation to something that is above the repaint container.
57421         Test: fast/table/table-row-compositing-repaint-crash.html
57423         * rendering/RenderLayerCompositor.cpp:
57424         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
57425         * rendering/RenderTableRow.cpp:
57426         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
57428 2009-07-29  Brady Eidson  <beidson@apple.com>
57430         Reviewed by Sam Weinig.
57432         https://bugs.webkit.org/show_bug.cgi?id=27791
57433         307 redirects of POSTs should use POST, not GET
57435         Test: http/tests/loading/redirect-methods.html
57437         * platform/network/cf/ResourceHandleCFNet.cpp:
57438         (WebCore::willSendRequest):
57440         * platform/network/mac/ResourceHandleMac.mm:
57441         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
57443 2009-07-29  Chris Marrin  <cmarrin@apple.com>
57445         Reviewed by Simon Fraser.
57447         Adding -webkit-animation-play-state back in
57448         https://bugs.webkit.org/show_bug.cgi?id=26867
57450         We've decided to keep -webkit-animation-play-state. So this
57451         just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
57453         Test: animations/play-state.html
57455         * css/CSSComputedStyleDeclaration.cpp:
57456         (WebCore::):
57457         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
57458         * css/CSSParser.cpp:
57459         (WebCore::CSSParser::parseValue):
57460         (WebCore::CSSParser::parseAnimationPlayState):
57461         (WebCore::CSSParser::parseAnimationProperty):
57462         * css/CSSParser.h:
57463         * css/CSSPropertyNames.in:
57464         * css/CSSStyleSelector.cpp:
57465         (WebCore::CSSStyleSelector::applyProperty):
57466         (WebCore::CSSStyleSelector::mapAnimationPlayState):
57467         * css/CSSStyleSelector.h:
57468         * platform/animation/Animation.h:
57469         * rendering/style/RenderStyleConstants.h:
57470         (WebCore::):
57472 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
57474         Reviewed by Simon Hausmann.
57476         Expose the default plugin directories and the current directory set of
57477         the plugin database as public API.
57479         https://bugs.webkit.org/show_bug.cgi?id=27651
57481         * plugins/PluginDatabase.h:
57482         (WebCore::PluginDatabase::pluginDirectories):
57484 2009-07-29  Alpha Lam  <hclam@chromium.org>
57486         Reviewed by David Levin.
57488         [chromium] Font size for current time display in media controls panel
57489         is affected by body font size.
57490         https://bugs.webkit.org/show_bug.cgi?id=27799
57492         Fixing the problem of rendering by explicitly setting the font size
57493         for the time displays.
57495         No new tests since this is covered by existing media tests.
57497         * css/mediaControlsChromium.css:
57499 2009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>
57501         Reviewed by David Levin.
57503         Update WebCore/page/ContextMenuController.cpp to conform to WebKit
57504         Style Guidelines as identified by cpp_style.py.
57505         https://bugs.webkit.org/show_bug.cgi?id=27613
57507         * page/ContextMenuController.cpp:
57508         (WebCore::openNewWindow):
57509         (WebCore::ContextMenuController::contextMenuItemSelected):
57511 2009-07-29  Dean McNamee  <deanm@chromium.org>
57513         Reviewed by Dimitri Glazkov.
57515         Removed unused wrapCPointer/extractCPointer from the v8 bindings.
57516         https://bugs.webkit.org/show_bug.cgi?id=27805
57518         * bindings/v8/V8DOMWrapper.h:
57520 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
57522         Reviewed by Simon Hausmann.
57524         Expose the PluginDatabase::pluginForMIMEType() function as public API.
57525         https://bugs.webkit.org/show_bug.cgi?id=27651
57527         It can be used to determine the appropriate plugin for a mime type,
57528         without guessing the mimetype from the extension.
57530         * plugins/PluginDatabase.h:
57532 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
57534         Reviewed by Adam Treat.
57536         Allow to enable/disable particular plugin packages.
57537         https://bugs.webkit.org/show_bug.cgi?id=27651
57539         Disabled plugins will not be picked up when looking for a plugin
57540         supporting the requested mimetypes.
57542         Client applications may want to use that API to disable specific
57543         plugins.
57545         * plugins/PluginDatabase.cpp:
57546         (WebCore::PluginDatabase::pluginForMIMEType):
57547         (WebCore::PluginDatabase::MIMETypeForExtension):
57548         * plugins/PluginPackage.cpp:
57549         (WebCore::PluginPackage::PluginPackage):
57550         (WebCore::PluginPackage::setEnabled):
57551         * plugins/PluginPackage.h:
57552         (WebCore::PluginPackage::isEnabled):
57554 2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
57556         Reviewed by Adam Treat.
57558         [WML] Running WML tests in random order multiple times exposes subtle bugs
57559         https://bugs.webkit.org/show_bug.cgi?id=27801
57561         Remove superflous assertions regarding the parent node. Under certain circumstances
57562         these can even fire (related to garbage collection while destructing). Fixes random order
57563         WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
57565         The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
57566         WMLPageState::reset() - the history stack should still contain the current card afterwards.
57567         Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
57569         * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
57570         (WebCore::BackForwardList::clearWMLPageHistory):
57571         * wml/WMLDoElement.cpp:
57572         (WebCore::WMLDoElement::insertedIntoDocument):
57573         (WebCore::WMLDoElement::removedFromDocument):
57574         * wml/WMLNoopElement.cpp:
57575         (WebCore::WMLNoopElement::insertedIntoDocument):
57576         * wml/WMLOnEventElement.cpp:
57577         (WebCore::eventHandlingParent):
57578         * wml/WMLPostfieldElement.cpp:
57579         (WebCore::WMLPostfieldElement::insertedIntoDocument):
57580         (WebCore::WMLPostfieldElement::removedFromDocument):
57581         * wml/WMLSetvarElement.cpp:
57582         (WebCore::WMLSetvarElement::insertedIntoDocument):
57583         (WebCore::WMLSetvarElement::removedFromDocument):
57584         * wml/WMLTaskElement.cpp:
57585         (WebCore::WMLTaskElement::insertedIntoDocument):
57586         (WebCore::WMLTaskElement::removedFromDocument):
57587         * wml/WMLTimerElement.cpp:
57588         (WebCore::WMLTimerElement::insertedIntoDocument):
57589         (WebCore::WMLTimerElement::removedFromDocument):
57591 2009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>
57593         Reviewed by Simon Hausmann.
57595         https://bugs.webkit.org/show_bug.cgi?id=26848
57596         [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
57598         * loader/FrameLoader.cpp:
57599         (WebCore::FrameLoader::loadItem):
57600         * platform/network/ResourceHandle.h:
57601         * platform/network/cf/ResourceHandleCFNet.cpp:
57602         (WebCore::ResourceHandle::willLoadFromCache):
57603         * platform/network/curl/ResourceHandleCurl.cpp:
57604         (WebCore::ResourceHandle::willLoadFromCache):
57605         * platform/network/mac/ResourceHandleMac.mm:
57606         (WebCore::ResourceHandle::willLoadFromCache):
57607         * platform/network/qt/ResourceHandleQt.cpp:
57608         (WebCore::ResourceHandle::willLoadFromCache):
57609         * platform/network/soup/ResourceHandleSoup.cpp:
57610         (WebCore::):
57612 2009-07-29  Alpha Lam  <hclam@chromium.org>
57614         Reviewed by David Levin.
57616         Media control panel for <video> in MediaDocument is mis-placed
57617         https://bugs.webkit.org/show_bug.cgi?id=27798
57619         Fixing a rendering problem: When <video> is displayed in MediaDocument,
57620         the media control panel overlaps with the video by 16 pixels.
57622         No new tests as this is covered by existing media tests.
57624         * css/mediaControlsChromium.css:
57626 2009-07-29  Adam Barth  <abarth@webkit.org>
57628         Unreviewed build fix for Chromium.  Those last two patches weren't
57629         independent despite the clean merge.
57631         * bindings/v8/V8AbstractEventListener.cpp:
57632         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
57634 2009-07-29  Avi Drissman  <avi@chromium.org>
57636         Reviewed by Darin Adler.
57638         ImageSourceCG makes bad data refs (race condition causes blank images)
57639         https://bugs.webkit.org/show_bug.cgi?id=27777
57641         Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
57642         backs the CFDataRef will be long enough.
57644         No new tests, as this fixes a bug with a race condition that is
57645         difficult to trigger.
57647         * platform/graphics/cg/ImageSourceCG.cpp:
57648         (WebCore::ImageSource::setData):
57650 2009-07-29  Keishi Hattori  <casey.hattori@gmail.com>
57652         Reviewed by Timothy Hatcher.
57654         Inspector: Console should show completions for the command line APIs
57655         https://bugs.webkit.org/show_bug.cgi?id=27696
57657         * inspector/front-end/Console.js:
57658         (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 
57659         completions when available.
57660         * inspector/front-end/utilities.js:
57661         (Object.properties): Added.
57662         (Object.sortedProperties):
57664 2009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>
57666         Reviewed by Eric Seidel.
57668         Refactor the first step of layout in RenderFlexibleBox.cpp
57669         https://bugs.webkit.org/show_bug.cgi?id=27704
57671         No new tests as this change is just a refactoring.
57673         * rendering/RenderFlexibleBox.cpp:
57674         (WebCore::gatherFlexChildrenInfo):
57675         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
57676         (WebCore::RenderFlexibleBox::layoutVerticalBox):
57678 2009-07-29  Kent Tamura  <tkent@chromium.org>
57680         Reviewed by Nikolas Zimmermann.
57682         Fix a bug that HTMLOptionElement::value() returns an incorrect
57683         value in a case that the element has a label attribute and no
57684         value attribute.
57685         https://bugs.webkit.org/show_bug.cgi?id=27760
57687         Test: fast/forms/option-value-and-label.html
57689         * dom/OptionElement.cpp:
57690         (WebCore::OptionElement::collectOptionLabelOrText):
57691         (WebCore::OptionElement::collectOptionInnerText):
57692         (WebCore::OptionElement::normalizeText):
57693         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
57694         (WebCore::OptionElement::collectOptionValue):
57695         * dom/OptionElement.h:
57696         * html/HTMLOptionElement.cpp:
57697         (WebCore::HTMLOptionElement::text):
57698         * wml/WMLOptionElement.cpp:
57699         (WebCore::WMLOptionElement::text):
57701 2009-07-29  Adam Barth  <abarth@webkit.org>
57703         Reviewed by Dimitri Glazkov.
57705         [V8] Fix isolated world wrappers for event handlers
57706         https://bugs.webkit.org/show_bug.cgi?id=27533
57708         Instead of getting the context from the frame, we cache the context
57709         when the listener is created so that we get the context for the right
57710         world.
57712         Test: http/tests/security/isolatedWorld/click-event.html
57714         * WebCore.gypi:
57715         * bindings/v8/OwnHandle.h: Added.
57716         (WebCore::OwnHandle::OwnHandle):
57717         (WebCore::OwnHandle::~OwnHandle):
57718         (WebCore::OwnHandle::get):
57719         (WebCore::OwnHandle::set):
57720         (WebCore::OwnHandle::release):
57721         (WebCore::OwnHandle::adopt):
57722         (WebCore::OwnHandle::swap):
57723         (WebCore::OwnHandle::clear):
57724         (WebCore::OwnHandle::makeWeak):
57725         (WebCore::OwnHandle::weakCallback):
57726         * bindings/v8/V8AbstractEventListener.cpp:
57727         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
57728         (WebCore::V8AbstractEventListener::handleEvent):
57729         * bindings/v8/V8AbstractEventListener.h:
57730         * bindings/v8/V8DOMWrapper.h:
57732 2009-07-29  Adam Barth  <abarth@webkit.org>
57734         Reviewed by Dimitri Glazkov.
57736         [V8] Teach V8Proxy::context about isolated worlds
57737         https://bugs.webkit.org/show_bug.cgi?id=27701
57739         Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
57740         all callers of this method to make sure they want isolated worlds.  In
57741         cases where we really want the main world, I've changed the call to
57742         V8Proxy::mainWorldContext(Frame*).
57743         
57744         The main visible change is to the document.open method when called with
57745         more than two arguments.  This design seems more likely to lead to
57746         future correct code.
57748         Test: http/tests/security/isolatedWorld/document-open.html
57750         * bindings/v8/ScriptController.cpp:
57751         (WebCore::ScriptController::processingUserGesture):
57752         (WebCore::ScriptController::evaluate):
57753         (WebCore::ScriptController::bindToWindowObject):
57754         (WebCore::ScriptController::collectGarbage):
57755         (WebCore::createScriptObject):
57756         (WebCore::ScriptController::createScriptObjectForPluginElement):
57757         * bindings/v8/ScriptObjectQuarantine.cpp:
57758         (WebCore::getQuarantinedScriptObject):
57759         * bindings/v8/V8AbstractEventListener.cpp:
57760         (WebCore::V8AbstractEventListener::handleEvent):
57761         * bindings/v8/V8DOMWrapper.cpp:
57762         (WebCore::V8DOMWrapper::getConstructor):
57763         (WebCore::V8DOMWrapper::setHiddenWindowReference):
57764         (WebCore::V8DOMWrapper::convertNodeToV8Object):
57765         (WebCore::V8DOMWrapper::convertWindowToV8Object):
57766         * bindings/v8/V8Helpers.cpp:
57767         (WebCore::toV8Context):
57768         * bindings/v8/V8LazyEventListener.cpp:
57769         (WebCore::V8LazyEventListener::getListenerFunction):
57770         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
57771         * bindings/v8/V8Proxy.cpp:
57772         (WebCore::V8Proxy::context):
57773         (WebCore::V8Proxy::mainWorldContext):
57774         (WebCore::V8Proxy::bindJsObjectToWindow):
57775         * bindings/v8/V8Proxy.h:
57777 2009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
57779         Reviewed by Simon Hausmann.
57781         Fix the Qt build, add missing file.
57783         * WebCore.pro:
57785 2009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>
57787         Speculative fix for <rdar://problem/7005077> WER: Crash in
57788         WebCore::PluginStream::destroyStream+279 (1310510882)
57790         Reviewed by Oliver Hunt.
57792         * plugins/PluginStream.cpp:
57793         (WebCore::PluginStream::destroyStream):
57794         Move the "protector" RefPtr out of the block that dispatches
57795         notifications and into the function level; if NPN_DestroyStream were
57796         called from NPP_NewStream as the comment warns, we would be deleted at
57797         the end of the block.
57799 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
57801         Inspector: Tab Through the DOM Storage DataGrid when Editing
57803         https://bugs.webkit.org/show_bug.cgi?id=27746
57805         Reviewed by Timothy Hatcher.
57807         * inspector/front-end/DOMStorageDataGrid.js:
57808         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
57809         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
57810         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
57811         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
57813 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
57815         Inspector: Create New DOM Storage Items via DataGrid
57817         https://bugs.webkit.org/show_bug.cgi?id=27322
57819         Reviewed by Timothy Hatcher.
57821         * inspector/front-end/DOMStorageDataGrid.js:
57822         (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
57823         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
57824         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
57825         * inspector/front-end/DataGrid.js:
57826         (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
57827         (WebInspector.CreationDataGridNode): new type of node
57828         (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
57829         * inspector/front-end/DatabasesPanel.js:
57830         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
57832 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
57834         Inspector: Automatically Refresh DOM Storage Grids on "storage" event
57836         https://bugs.webkit.org/show_bug.cgi?id=27400
57838         Reviewed by Timothy Hatcher.
57840         * inspector/front-end/DatabasesPanel.js:
57841         (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
57842         (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
57843         (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
57844         (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
57845         (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
57847 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
57849         Inspector should support inspect() in the command line.
57851         https://bugs.webkit.org/show_bug.cgi?id=19874
57852         rdar://problem/6070225
57854         Reviewed by Timothy Hatcher.
57856         * inspector/front-end/Console.js:
57857         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
57858         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
57859         * inspector/front-end/DatabasesPanel.js:
57860         (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
57861         (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
57862         (WebInspector.DatabasesPanel.prototype.showDatabase): 
57864 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
57866         The rest of: Web Inspector: Add inspected node using public console API.
57868         https://bugs.webkit.org/show_bug.cgi?id=27758
57870         Reviewed by Timothy Hatcher.
57872         * inspector/front-end/Console.js:
57873         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
57874         (WebInspector.Console.prototype.addInspectedNode): Added.
57876 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
57878         Reviewed by Timothy Hatcher.
57880         WebInspector: Accept autocomplete on 'End' key pressed.
57882         https://bugs.webkit.org/show_bug.cgi?id=27447.
57884         * inspector/front-end/TextPrompt.js:
57885         (WebInspector.TextPrompt.prototype.handleKeyEvent):
57887 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
57889         Reviewed by David Levin.
57891         [Qt] Build fix after r46502
57892         https://bugs.webkit.org/show_bug.cgi?id=27789
57894         * WebCore.pro: Remove StorageArea.cpp
57896 2009-07-28  Mark Rowe  <mrowe@apple.com>
57898         Reviewed by Darin Adler.
57900         Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
57901         in -dealloc overrides in DOMObject subclasses.
57903         * bindings/scripts/CodeGeneratorObjC.pm:
57905 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
57907         Reviewed by Adam Treat.
57909         [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
57910         https://bugs.webkit.org/show_bug.cgi?id=27786
57912         WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
57913         The only case where this is relevant in WML is error handling. The parsed WML
57914         tree fragment is inserted in an XHTML compound error document. This requires
57915         removedFromDocument() to be correctly implemented otherwhise we run into
57916         trouble (visible when using run-webkit-tests fast/wml --random).
57918         * wml/WMLAnchorElement.cpp:
57919         (WebCore::WMLAnchorElement::registerTask):
57920         (WebCore::WMLAnchorElement::deregisterTask):
57921         * wml/WMLAnchorElement.h:
57922         * wml/WMLDoElement.cpp:
57923         (WebCore::WMLDoElement::removedFromDocument):
57924         (WebCore::WMLDoElement::registerTask):
57925         (WebCore::WMLDoElement::deregisterTask):
57926         * wml/WMLDoElement.h:
57927         * wml/WMLEventHandlingElement.cpp:
57928         (WebCore::WMLEventHandlingElement::registerDoElement):
57929         (WebCore::WMLEventHandlingElement::deregisterDoElement):
57930         * wml/WMLEventHandlingElement.h:
57931         * wml/WMLFieldSetElement.cpp:
57932         (WebCore::WMLFieldSetElement::removedFromDocument):
57933         * wml/WMLGoElement.cpp:
57934         (WebCore::WMLGoElement::registerPostfieldElement):
57935         (WebCore::WMLGoElement::deregisterPostfieldElement):
57936         * wml/WMLGoElement.h:
57937         * wml/WMLIntrinsicEventHandler.cpp:
57938         (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
57939         * wml/WMLIntrinsicEventHandler.h:
57940         * wml/WMLOnEventElement.cpp:
57941         (WebCore::eventHandlingParent):
57942         (WebCore::WMLOnEventElement::registerTask):
57943         (WebCore::WMLOnEventElement::deregisterTask):
57944         * wml/WMLOnEventElement.h:
57945         * wml/WMLPostfieldElement.cpp:
57946         (WebCore::WMLPostfieldElement::removedFromDocument):
57947         * wml/WMLPostfieldElement.h:
57948         * wml/WMLSetvarElement.cpp:
57949         (WebCore::WMLSetvarElement::removedFromDocument):
57950         * wml/WMLSetvarElement.h:
57951         * wml/WMLTaskElement.cpp:
57952         (WebCore::WMLTaskElement::removedFromDocument):
57953         (WebCore::WMLTaskElement::registerVariableSetter):
57954         (WebCore::WMLTaskElement::deregisterVariableSetter):
57955         (WebCore::WMLTaskElement::storeVariableState):
57956         * wml/WMLTaskElement.h:
57957         * wml/WMLTimerElement.cpp:
57958         (WebCore::WMLTimerElement::removedFromDocument):
57959         * wml/WMLTimerElement.h:
57961 2009-07-28  David Levin  <levin@chromium.org>
57963         Suggested by Drew Wilson.
57965         Speculative gtk build fix, follow up to:
57966         https://bugs.webkit.org/show_bug.cgi?id=27697
57968         * GNUmakefile.am:
57970 2009-07-28  Dan Bernstein  <mitz@apple.com>
57972         Reviewed by Simon Fraser.
57974         [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
57975         properties
57976         https://bugs.webkit.org/show_bug.cgi?id=27578
57978         [CSS3 Backgrounds and Borders] Handle the / and 4 values in
57979         border-radius
57980         https://bugs.webkit.org/show_bug.cgi?id=27584
57982         Test: fast/borders/border-radius-parsing.html
57984         Dropped the -webkit- prefix from the individual corner border-radius
57985         properties. Added border-radius with the / and 4-value syntax, and
57986         maintained -webkit-border-radius with legacy 2-value syntax.
57988         * css/CSSComputedStyleDeclaration.cpp:
57989         (computedProperties): Removed Webkit prefix.
57990         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
57991         * css/CSSParser.cpp:
57992         (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
57993             single-corner properties. Call out to parseBorderRadius() to parse
57994             border-radius and -webkit-border-radius. 
57995         (WebCore::completeBorderRadii): Added this helper function that
57996             completes the values for all four corners when fewer than four are
57997             specified.
57998         (WebCore::CSSParser::parseBorderRadius): Added.
57999         (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
58000             unprefixed property.
58001         * css/CSSParser.h:
58002         * css/CSSPropertyLonghand.cpp:
58003         (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
58004             for border-radius. Kept the entry for -webkit-border-radius.
58005         * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
58006             single-corenr properties. Added border-radius. Kept
58007             -webkit-border-radius because of its conflicting syntax.
58008         * css/CSSStyleSelector.cpp:
58009         (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
58010         * page/animation/AnimationBase.cpp:
58011         (WebCore::ensurePropertyMap): Ditto.
58013 2009-07-28  Drew Wilson  <atwilson@google.com>
58015         Reviewed by David Levin.
58017         Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
58019         WorkerThread needs to be refactored to separate out dedicated-worker functionality.
58020         https://bugs.webkit.org/show_bug.cgi?id=27697
58022         This is just a refactoring, so existing tests suffice.
58024         * GNUmakefile.am:
58025         Added DedicatedWorkerThread.h/.cpp
58026         * WebCore.gypi:
58027         Added DedicatedWorkerThread.h/.cpp
58028         * WebCore.pro:
58029         Added DedicatedWorkerThread.h/.cpp
58030         * WebCore.vcproj/WebCore.vcproj:
58031         Added DedicatedWorkerThread.h/.cpp
58032         * WebCore.xcodeproj/project.pbxproj:
58033         Added DedicatedWorkerThread.h/.cpp
58034         * bindings/js/WorkerScriptController.cpp:
58035         (WebCore::WorkerScriptController::evaluate):
58036         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
58037         * bindings/v8/WorkerScriptController.cpp:
58038         (WebCore::WorkerScriptController::evaluate):
58039         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
58040         * workers/DedicatedWorkerContext.cpp:
58041         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
58042         (WebCore::DedicatedWorkerContext::addMessage):
58043         Forwards console messages to parent document.
58044         (WebCore::DedicatedWorkerContext::importScripts):
58045         Now sends the updated pending activity status after importing scripts.
58046         (WebCore::DedicatedWorkerContext::thread):
58047         Helper routine that casts WorkerThread to DedicatedWorkerThread.
58048         * workers/DedicatedWorkerContext.h:
58049         (WebCore::DedicatedWorkerContext::create):
58050         * workers/DedicatedWorkerThread.cpp: Added.
58051         (WebCore::DedicatedWorkerThread::create):
58052         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
58053         (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
58054         (WebCore::DedicatedWorkerThread::createWorkerContext):
58055         Implementation of the base class factory method to create the appropriate worker context.
58056         (WebCore::DedicatedWorkerThread::runEventLoop):
58057         Reports pending activity before running the event loop.
58058         * workers/DedicatedWorkerThread.h: Added.
58059         (WebCore::DedicatedWorkerThread::workerObjectProxy):
58060         Moved from base class.
58061         * workers/WorkerContext.cpp:
58062         * workers/WorkerContext.h:
58063         * workers/WorkerMessagingProxy.cpp:
58064         (WebCore::WorkerMessagingProxy::startWorkerContext):
58065         Now creates DedicatedWorkerThread.
58066         (WebCore::WorkerMessagingProxy::workerThreadCreated):
58067         Now is passed a DedicatedWorkerThread.
58068         * workers/WorkerMessagingProxy.h:
58069         * workers/WorkerThread.cpp:
58070         (WebCore::WorkerThread::WorkerThread):
58071         Moved workerObjectProxy param into derived class constructor.
58072         (WebCore::WorkerThread::workerThread):
58073         (WebCore::WorkerThread::runEventLoop):
58074         Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
58075         * workers/WorkerThread.h:
58076         (WebCore::WorkerThread::workerContext):
58078 2009-07-28  Nate Chapin  <japhet@chromium.org>
58080         Reviewed by Darin Fisher.
58082         Fix V8NPUtils' handling of UTF8 identifiers.
58084         https://bugs.webkit.org/show_bug.cgi?id=27782
58086         * bindings/v8/V8NPUtils.cpp:
58087         (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
58088             since NPN_GetStringIdentifier() is expecting UTF8.
58090 2009-07-28  Jeremy Orlow  <jorlow@chromium.org>
58092         Reviewed by Eric Seidel.
58094         Misc cleanup in DOM Storage.
58095         https://bugs.webkit.org/show_bug.cgi?id=27517
58097         The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
58098         runs in a different process from where the Frame object lives, Chromium passes in NULL
58099         for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
58100         incognito mode does not use the private browsing setting, so that's not a concern.  As for
58101         events, I've decided to simply disable them for now.
58103         The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
58104         safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
58106         Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
58108         * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
58109         * storage/StorageAreaImpl.cpp:
58110         (WebCore::privateBrowsingEnabled): Factored out the check.
58111         (WebCore::StorageAreaImpl::setItem): Make frame optional.
58112         (WebCore::StorageAreaImpl::removeItem): ditto
58113         (WebCore::StorageAreaImpl::clear): ditto
58114         (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
58115         * storage/StorageNamespaceImpl.cpp:
58116         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
58117         (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
58119 2009-07-28  Alpha Lam  <hclam@google.com>
58121         Reviewed by David Levin.
58123         [chromium] Default UI controls for <video> has rendering problems
58124         https://bugs.webkit.org/show_bug.cgi?id=27669
58126         Fixes the bug that <video> in MediaDocument is 1 pixel tall if
58127         it is playing an audio file by changing the style to be 32px
58128         tall.
58130         Also fixes a problem of default styled audio tag that hides the
58131         all the time digits by expanding the width to 300px.
58133         Changed the size and position of the current time and remaining
58134         display to give enough space for the hour digit to be shown.
58136         There are no new tests provided because this is already covered
58137         by existing tests.
58139         * css/mediaControlsChromium.css:
58141 2009-07-28  Jakub Wieczorek  <faw217@gmail.com>
58143         Reviewed by Eric Seidel.
58145         Fix style in PluginPackage and PluginDatabase.
58146         Part of https://bugs.webkit.org/show_bug.cgi?id=27651
58148         * plugins/PluginDatabase.cpp:
58149         (WebCore::PluginDatabase::refresh):
58150         (WebCore::PluginDatabase::findPlugin):
58151         * plugins/PluginDatabase.h:
58152         * plugins/PluginPackage.cpp:
58153         (WebCore::PluginPackage::~PluginPackage):
58154         (WebCore::PluginPackage::freeLibrarySoon):
58155         (WebCore::PluginPackage::freeLibraryTimerFired):
58156         (WebCore::PluginPackage::unloadWithoutShutdown):
58157         (WebCore::PluginPackage::initializeBrowserFuncs):
58158         * plugins/PluginPackage.h:
58160 2009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>
58162         Reviewed by Dimitri Glazkov.
58164         https://bugs.webkit.org/show_bug.cgi?id=27769
58165         The V8 bindings function V8Proxy::createNewContext can be 
58166         called during frame shutdown where the activeDocumentLoader
58167         function in FrameLoader can return NULL. Added a check for the
58168         same.
58170         No new tests added as this is an edge case where the V8 
58171         bindings code is reentered via NPAPI during shutdown. It is 
58172         difficult to write a consistently reproducible test for this.
58174         * bindings/v8/V8Proxy.cpp:
58175         (WebCore::V8Proxy::createNewContext):
58177 2009-07-28  Ivan Posva  <iposva@chromium.org>
58179         Reviewed by Dimitri Glazkov.
58181         Associate the CanvasPixelData backing store with the
58182         indexed properties of the wrapper object.
58184         https://bugs.webkit.org/show_bug.cgi?id=27773
58186         No new tests: Relying on existing Canvas tests.
58188         * bindings/v8/V8DOMWrapper.cpp:
58189         (WebCore::V8DOMWrapper::getTemplate):
58190         (WebCore::V8DOMWrapper::convertToV8Object):
58192 2009-07-28  Xan Lopez  <xlopez@igalia.com>
58194         Reviewed by Gustavo Noronha.
58196         Nuke all references to JSWorkerContextBase.lut.h, it was removed
58197         back in April.
58199         * GNUmakefile.am:
58201 2009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>
58203         Reviewed by Simon Hausmann.
58205         Fixed references to script generate-webkitversion.pl, and
58206         removed duplicated generate-webkitversion.pl
58208         https://bugs.webkit.org/show_bug.cgi?id=27158
58210         * WebCore.pro:
58211         * platform/generate-webkitversion.pl: Removed.
58213 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
58215         Reviewed by Dmitry Glazkov.
58217         Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
58218         InspectorJSONObject.
58220         https://bugs.webkit.org/show_bug.cgi?id=27766
58222         * GNUmakefile.am:
58223         * WebCore.gypi:
58224         * WebCore.pro:
58225         * WebCore.vcproj/WebCore.vcproj:
58226         * WebCore.xcodeproj/project.pbxproj:
58227         * WebCoreSources.bkl:
58228         * bindings/js/ScriptArray.cpp:
58229         (WebCore::ScriptArray::ScriptArray):
58230         (WebCore::ScriptArray::set):
58231         (WebCore::ScriptArray::length):
58232         (WebCore::ScriptArray::createNew):
58233         * bindings/js/ScriptArray.h:
58234         * bindings/js/ScriptFunctionCall.cpp:
58235         (WebCore::ScriptFunctionCall::construct):
58236         * bindings/js/ScriptObject.cpp:
58237         (WebCore::ScriptObject::ScriptObject):
58238         (WebCore::ScriptObject::set):
58239         (WebCore::ScriptObject::createNew):
58240         (WebCore::ScriptGlobalObject::get):
58241         * bindings/js/ScriptObject.h:
58242         * bindings/js/ScriptObjectQuarantine.cpp:
58243         (WebCore::getQuarantinedScriptObject):
58244         * bindings/v8/ScriptArray.cpp:
58245         (WebCore::ScriptArray::ScriptArray):
58246         (WebCore::ScriptArray::set):
58247         (WebCore::ScriptArray::length):
58248         (WebCore::ScriptArray::createNew):
58249         * bindings/v8/ScriptArray.h:
58250         * bindings/v8/ScriptFunctionCall.cpp:
58251         (WebCore::ScriptFunctionCall::construct):
58252         * bindings/v8/ScriptObject.cpp:
58253         (WebCore::ScriptObject::ScriptObject):
58254         (WebCore::ScriptObject::set):
58255         (WebCore::ScriptObject::createNew):
58256         (WebCore::ScriptGlobalObject::get):
58257         * bindings/v8/ScriptObject.h:
58258         (WebCore::ScriptObject::ScriptObject):
58259         * bindings/v8/ScriptObjectQuarantine.cpp:
58260         (WebCore::getQuarantinedScriptObject):
58261         * inspector/ConsoleMessage.cpp:
58262         (WebCore::ConsoleMessage::addToConsole):
58263         * inspector/InspectorDOMStorageResource.cpp:
58264         (WebCore::InspectorDOMStorageResource::bind):
58265         * inspector/InspectorDatabaseResource.cpp:
58266         (WebCore::InspectorDatabaseResource::bind):
58267         * inspector/InspectorFrontend.cpp:
58268         (WebCore::InspectorFrontend::newScriptArray):
58269         (WebCore::InspectorFrontend::newScriptObject):
58270         (WebCore::InspectorFrontend::addMessageToConsole):
58271         (WebCore::InspectorFrontend::addResource):
58272         (WebCore::InspectorFrontend::updateResource):
58273         (WebCore::InspectorFrontend::addDatabase):
58274         (WebCore::InspectorFrontend::addDOMStorage):
58275         * inspector/InspectorFrontend.h:
58276         * inspector/InspectorJSONObject.cpp: Removed.
58277         * inspector/InspectorJSONObject.h: Removed.
58278         * inspector/InspectorResource.cpp:
58279         (WebCore::populateHeadersObject):
58280         (WebCore::InspectorResource::createScriptObject):
58281         (WebCore::InspectorResource::updateScriptObject):
58283 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
58285         Reviewed by George Staikos.
58287         [WML] Variable substitution recursion seems to have bugs
58288         https://bugs.webkit.org/show_bug.cgi?id=27726
58290         Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
58291         Required by the specification - assure it only works in linear order. A setvar element may
58292         not depend on the variable state of a following setvar element, only the previous ones.
58294         Extend wml/variable-reference-valid.html layout test to cover these cases.
58296         * wml/WMLTaskElement.cpp:
58297         (WebCore::WMLTaskElement::storeVariableState):
58299 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
58301         Reviewed by George Staikos.
58303         [WML] Page title doesn't update after variable substitution, if it contained variables
58304         https://bugs.webkit.org/show_bug.cgi?id=27725
58306         Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
58307         too much, leading to a bug with 1-char variable names, which were not detected properly.
58309         Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
58310         Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
58312         * wml/WMLVariables.cpp:
58313         (WebCore::containsVariableReference):
58315 2009-07-28  Robert Hogan  <robert@roberthogan.net>
58317         Reviewed by Simon Hausmann.
58319         Add WebKit version API to Qt.
58321         Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
58322         at compile time and make it available to webkit ports through WebKitVersion.h.
58324         https://bugs.webkit.org/show_bug.cgi?id=27158
58326         * WebCore.pro: Call generate-webkitversion.pl
58328 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
58330         Unreviewed make dist build fix.
58332         * GNUmakefile.am:
58334 2009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>
58336         Reviewed by Adam Treat.
58338         Replace hardcoded separator text with proper separator.
58339         Also adjusts include order as per style guidelines.
58341         https://bugs.webkit.org/show_bug.cgi?id=27763
58343         * platform/qt/PopupMenuQt.cpp:
58344         (WebCore::PopupMenu::populate):
58346 2009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
58348         Reviewed by Steve Falkenburg.
58350         Add output directory for VS pre-build steps to enable out-of-tree builds
58352         https://bugs.webkit.org/show_bug.cgi?id=27700
58354         The tmp.obj file is now placed in the intermediate build directory.
58356         * WebCore.vcproj/WebCoreCommon.vsprops:
58358 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
58360         Reviewed by Timothy Hatcher.
58362         Web Inspector: Add inspected node using public console API.
58364         https://bugs.webkit.org/show_bug.cgi?id=27758
58366         * inspector/front-end/Console.js:
58367         (WebInspector.Console.prototype.addInspectedNode):
58368         * inspector/front-end/ElementsPanel.js:
58369         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
58370         (WebInspector.ElementsPanel):
58372 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
58374         Reviewed by George Staikos.
58376         [WML] <do> elements with a <noop> task shouldn't be exposed to the user
58377         https://bugs.webkit.org/show_bug.cgi?id=27724
58379         Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
58380         Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
58382         * manual-tests/wml/task-noop-in-do.wml: Removed.
58383         * wml/WMLNoopElement.cpp:
58384         (WebCore::WMLNoopElement::insertedIntoDocument):
58386 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
58388         Reviewed by Simon Hausmann.
58390         [Qt] Disable some compiler warnings for the win build
58391         https://bugs.webkit.org/show_bug.cgi?id=27709
58393         * WebCore.pro: Move the msvc options to WebKit.pri
58395 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
58397         Reviewed by Tor Arne Vestbø
58399         Make equality checks for logging channel names ignore casing.
58401         * platform/Logging.cpp:
58402         (WebCore::getChannelFromName):
58404 2009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
58406         Reviewed by Xan Lopez.
58408         [Gtk] Refactor ResourceHandleSoup - make start* functions static
58409         https://bugs.webkit.org/show_bug.cgi?id=27687
58411         * platform/network/ResourceHandle.h:
58412         * platform/network/soup/ResourceHandleSoup.cpp:
58413         (WebCore::startData):
58414         (WebCore::startHttp):
58415         (WebCore::):
58417 2009-07-28  Xan Lopez  <xlopez@igalia.com>
58419         Reviewed by Gustavo Noronha.
58421         https://bugs.webkit.org/show_bug.cgi?id=25415
58422         [GTK][ATK] Please implement support for get_text_at_offset
58424         Do not cache the pango layout in the object, since the layout of
58425         the page can change between calls.
58427         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
58429 2009-07-23  Anton Muhin  <antonm@chromium.org>
58431         Reviewed by Adam Barth.
58433         Simplify management of Nodes in weak handles callbacks.
58434         https://bugs.webkit.org/show_bug.cgi?id=27628
58436         * bindings/v8/V8DOMMap.cpp:
58437         (WebCore::weakNodeCallback):
58439 2009-07-28  Brian Weinstein  <bweinstein@apple.com>
58441         Rubber-stamped by David Levin.
58443         Fix error handling of GetIconInfo (returns a bool).
58445         * platform/win/DragImageWin.cpp:
58446         (WebCore::createDragImageIconForCachedImage):
58448 2009-07-27  Brian Weinstein  <bweinstein@apple.com>
58450         Reviewed by Jon Honeycutt.
58452         Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
58453         
58454         Implemented the createDragImageIconForCachedImage function by using the Windows 
58455         SHFILEINFO structure.
58457         * platform/win/DragImageWin.cpp:
58458         (WebCore::createDragImageIconForCachedImage):
58460 2009-07-25  Adam Barth  <abarth@webkit.org>
58462         Reviewed by David Levin.
58464         [V8] Split up V8DOMMap.cpp by class
58465         https://bugs.webkit.org/show_bug.cgi?id=27685
58467         No behavior change.  Just copy-and-paste.
58469         * WebCore.gypi:
58470         * bindings/v8/ChildThreadDOMData.cpp: Added.
58471         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
58472         (WebCore::ChildThreadDOMData::getStore):
58473         * bindings/v8/ChildThreadDOMData.h: Added.
58474         * bindings/v8/DOMData.cpp: Added.
58475         (WebCore::DOMData::DOMData):
58476         (WebCore::DOMData::getCurrent):
58477         (WebCore::DOMData::getCurrentMainThread):
58478         (WebCore::DOMData::handleWeakObject):
58479         (WebCore::DOMData::ensureDeref):
58480         (WebCore::DOMData::derefObject):
58481         (WebCore::DOMData::derefDelayedObjects):
58482         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
58483         (WebCore::DOMData::removeObjectsFromWrapperMap):
58484         * bindings/v8/DOMData.h: Added.
58485         (WebCore::):
58486         * bindings/v8/DOMDataStore.cpp: Added.
58487         (WebCore::DOMDataStore::DOMDataStore):
58488         (WebCore::DOMDataStore::~DOMDataStore):
58489         (WebCore::DOMDataStore::allStores):
58490         (WebCore::DOMDataStore::allStoresMutex):
58491         (WebCore::DOMDataStore::getDOMWrapperMap):
58492         (WebCore::forget):
58493         (WebCore::DOMDataStore::weakDOMObjectCallback):
58494         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
58495         (WebCore::DOMDataStore::weakNodeCallback):
58496         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
58497         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
58498         * bindings/v8/DOMDataStore.h: Added.
58499         (WebCore::DOMDataStore::):
58500         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
58501         (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
58502         (WebCore::DOMDataStore::domData):
58503         (WebCore::DOMDataStore::domNodeMap):
58504         (WebCore::DOMDataStore::domObjectMap):
58505         (WebCore::DOMDataStore::activeDomObjectMap):
58506         (WebCore::DOMDataStore::domSvgElementInstanceMap):
58507         (WebCore::DOMDataStore::domSvgObjectWithContextMap):
58508         * bindings/v8/MainThreadDOMData.cpp: Added.
58509         (WebCore::MainThreadDOMData::MainThreadDOMData):
58510         (WebCore::MainThreadDOMData::getStore):
58511         * bindings/v8/MainThreadDOMData.h: Added.
58512         * bindings/v8/ScopedDOMDataStore.cpp: Added.
58513         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
58514         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
58515         * bindings/v8/ScopedDOMDataStore.h: Added.
58516         * bindings/v8/StaticDOMDataStore.cpp: Added.
58517         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
58518         * bindings/v8/StaticDOMDataStore.h: Added.
58519         * bindings/v8/V8DOMMap.cpp:
58521 2009-07-27  Mark Rowe  <mrowe@apple.com>
58523         Reviewed by Darin Adler.
58525         <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
58527         Add a method for detecting if we're being used within Microsoft Messenger.
58529         * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
58530         * platform/mac/RuntimeApplicationChecks.h:
58531         * platform/mac/RuntimeApplicationChecks.mm:
58532         (WebCore::applicationIsMicrosoftMessenger):
58534 2009-07-27  Jian Li  <jianli@chromium.org>
58536         Reviewed by David Levin.
58538         [V8] Implement EventListener::reportError for V8 event listeners in worker context. 
58539         https://bugs.webkit.org/show_bug.cgi?id=27731
58541         * bindings/v8/V8WorkerContextEventListener.cpp:
58542         (WebCore::V8WorkerContextEventListener::reportError):
58543         * bindings/v8/V8WorkerContextEventListener.h:
58545 2009-07-27  Stephen White  <senorblanco@chromium.org>
58547         Reviewed by Eric Seidel and David Levin.
58549         Re-apply chromium/skia border fix (originally landed in r46157,
58550         reverted in r46363), since it was not the cause of the reliability
58551         failures in Chromium.
58553         http://bugs.webkit.org/show_bug.cgi?id=27388
58555         * platform/graphics/skia/GraphicsContextSkia.cpp:
58556         (WebCore::GraphicsContext::drawLine):
58557         * platform/graphics/skia/PlatformContextSkia.cpp:
58558         (PlatformContextSkia::setupPaintForStroking):
58560 2009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
58562         Reviewed by Justin Garcia.
58564         createMarkup does not handle CSS properly
58565         https://bugs.webkit.org/show_bug.cgi?id=27660
58567         This patch isolates code that creates markup for styles in addStyleMarkup
58568         It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
58569         so that we can assume no text decoration style is passed to addStyleMarkup.
58571         * editing/markup.cpp:
58572         (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
58573         (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
58574         (WebCore::addStyleMarkup): Adds markup for style span and div
58575         (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
58577 2009-07-27  Eric Seidel  <eric@webkit.org>
58579         Reviewed by Adam Barth.
58581         fix more obvious global object lookups
58582         https://bugs.webkit.org/show_bug.cgi?id=27745
58584         No new tests for these changes.  I believe in many cases
58585         testing to be impossible.  Lack of testing justification next to
58586         each change below.  The remaining pieces of bug 27634 will all
58587         need tests.
58589         * bindings/js/JSDOMWindowBase.cpp:
58590         (WebCore::JSDOMWindowBase::updateDocument): not testable.
58591         * bindings/js/JSDataGridColumnListCustom.cpp:
58592         (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
58593         * bindings/js/JSEventListener.cpp:
58594         (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
58595         * bindings/js/JSEventTarget.cpp:
58596         (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
58597         * bindings/js/JSHTMLElementCustom.cpp:
58598         (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
58599         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
58600         (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
58601         * bindings/js/JSLazyEventListener.cpp:
58602         (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
58603         * bindings/js/ScriptController.cpp:
58604         (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
58605         * bindings/js/ScriptEventListener.cpp:
58606         (WebCore::createAttributeEventListener): unclear how to test.
58607         * bindings/js/ScriptObject.cpp:
58608         (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
58609         * bindings/js/ScriptObjectQuarantine.cpp:
58610         (WebCore::getQuarantinedScriptObject): unclear how to test.
58611         * bindings/objc/DOMInternal.mm:
58612         (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
58614 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
58616         Reviewed by George Staikos.
58618         [WML] 'title' attribute handling not correct for <a> / <anchor> elements
58619         https://bugs.webkit.org/show_bug.cgi?id=27720
58621         Unify title() implementation in WMLElement instead of several copies of the same logic.
58622         We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
58623         WML manual-test suite.
58625         * wml/WMLCardElement.cpp:
58626         * wml/WMLCardElement.h:
58627         * wml/WMLElement.cpp:
58628         (WebCore::WMLElement::title):
58629         * wml/WMLElement.h:
58630         * wml/WMLOptGroupElement.cpp:
58631         * wml/WMLOptGroupElement.h:
58632         * wml/WMLSelectElement.cpp:
58633         * wml/WMLSelectElement.h:
58635 2009-07-27  Adam Treat  <adam.treat@torchmobile.com>
58637         Speculative build fix for Windows and WinCE.
58639         * plugins/win/PluginPackageWin.cpp:
58640         (WebCore::PluginPackage::load):
58642 2009-07-27  Ojan Vafai  <ojan@chromium.org>
58644         Reviewed by Darin Adler.
58646         https://bugs.webkit.org/show_bug.cgi?id=27474
58647         Fixes crashes due to renderer getting destroyed in updateLayout.
58648         We need to call updateLayout before we call into the renderer.
58649         Removed the updateLayout call from RenderTextControl and moved it
58650         into the calling sites.
58651         
58652         Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
58653         this works with pending stylesheets. Unfortunately, this seems to be
58654         untestable. Loading an external stylesheet and then having an inline
58655         script hit this code did not result in an pending stylesheets.
58656         
58657         The are other cases of this bug in the rendering code. I'll file a 
58658         followup bug to audit the calls to updateLayout.
58660         Test: fast/dom/text-control-crash-on-select.html
58662         * dom/Document.h:
58663         (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
58664             and setSelectionRange could deal with cases of reentrancy into updateLayout
58665             calls. This happens in a couple layout tests.
58666         * dom/InputElement.cpp:
58667         (WebCore::InputElement::updateSelectionRange):
58668         * html/HTMLInputElement.cpp:
58669         (WebCore::isTextFieldWithRendererAfterUpdateLayout):
58670         (WebCore::HTMLInputElement::setSelectionStart):
58671         (WebCore::HTMLInputElement::setSelectionEnd):
58672         (WebCore::HTMLInputElement::select):
58673         * html/HTMLTextAreaElement.cpp:
58674         (WebCore::rendererAfterUpdateLayout):
58675         (WebCore::HTMLTextAreaElement::setSelectionStart):
58676         (WebCore::HTMLTextAreaElement::setSelectionEnd):
58677         (WebCore::HTMLTextAreaElement::select):
58678         (WebCore::HTMLTextAreaElement::setSelectionRange):
58679         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
58680         * rendering/RenderTextControl.cpp:
58681         (WebCore::RenderTextControl::setSelectionRange):
58683 2009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
58685         Reviewed by Dave Levin.
58687         [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
58688         https://bugs.webkit.org/show_bug.cgi?id=27737
58690         Refactoring, no new behavior, covered by existing tests.
58692         * bindings/v8/ScriptCallStack.cpp:
58693         (WebCore::ScriptCallStack::ScriptCallStack):
58694         * bindings/v8/V8NPUtils.cpp:
58695         (convertV8ObjectToNPVariant): Ditto.
58696         * bindings/v8/V8Proxy.cpp:
58697         (WebCore::V8Proxy::retrieve): Ditto.
58698         (WebCore::V8Proxy::canAccessPrivate): Ditto.
58699         * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
58700         * bindings/v8/custom/V8DatabaseCustom.cpp:
58701         (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
58702         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
58703         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58704         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
58705         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58706         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
58707         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58708         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
58709         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58710         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
58711         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58712         * bindings/v8/custom/V8WorkerCustom.cpp:
58713         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58714         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
58715         (WebCore::CALLBACK_FUNC_DECL): Ditto.
58717 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
58719         Reviewed by George Staikos.
58721         [WML] 'onpick' intrinsic event handling missing
58722         https://bugs.webkit.org/show_bug.cgi?id=27723
58724         Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
58725         All was in place, just forgot to enable the relevant code.
58727         Fixes manual-tests/wml/select-onpick-event.wml
58728         Test: wml/option-element-onpick.html
58730         * wml/WMLOptionElement.cpp:
58731         (WebCore::WMLOptionElement::setSelectedState):
58733 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
58735         Reviewed by Darin Adler.
58737         https://bugs.webkit.org/show_bug.cgi?id=27735
58738         Give a helpful name to JSLock constructor argument
58740         * bindings/js/GCController.cpp:
58741         (WebCore::collect):
58742         (WebCore::GCController::gcTimerFired):
58743         (WebCore::GCController::garbageCollectNow):
58744         * bindings/js/JSCustomPositionCallback.cpp:
58745         (WebCore::JSCustomPositionCallback::handleEvent):
58746         * bindings/js/JSCustomPositionErrorCallback.cpp:
58747         (WebCore::JSCustomPositionErrorCallback::handleEvent):
58748         * bindings/js/JSCustomSQLStatementCallback.cpp:
58749         (WebCore::JSCustomSQLStatementCallback::handleEvent):
58750         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
58751         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
58752         * bindings/js/JSCustomSQLTransactionCallback.cpp:
58753         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
58754         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
58755         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
58756         * bindings/js/JSCustomVoidCallback.cpp:
58757         (WebCore::JSCustomVoidCallback::handleEvent):
58758         * bindings/js/JSCustomXPathNSResolver.cpp:
58759         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
58760         * bindings/js/JSEventCustom.cpp:
58761         (WebCore::toJS):
58762         * bindings/js/JSEventListener.cpp:
58763         (WebCore::JSEventListener::handleEvent):
58764         * bindings/js/JSInspectorBackendCustom.cpp:
58765         (WebCore::JSInspectorBackend::currentCallFrame):
58766         (WebCore::JSInspectorBackend::profiles):
58767         * bindings/js/JSNodeFilterCondition.cpp:
58768         (WebCore::JSNodeFilterCondition::acceptNode):
58769         * bindings/js/ScheduledAction.cpp:
58770         (WebCore::ScheduledAction::executeFunctionInContext):
58771         * bindings/js/ScriptArray.cpp:
58772         (WebCore::ScriptArray::set):
58773         (WebCore::ScriptArray::createNew):
58774         * bindings/js/ScriptCachedFrameData.cpp:
58775         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
58776         (WebCore::ScriptCachedFrameData::restore):
58777         (WebCore::ScriptCachedFrameData::clear):
58778         * bindings/js/ScriptController.cpp:
58779         (WebCore::ScriptController::evaluate):
58780         (WebCore::ScriptController::clearWindowShell):
58781         (WebCore::ScriptController::initScript):
58782         (WebCore::ScriptController::updateDocument):
58783         (WebCore::ScriptController::bindingRootObject):
58784         (WebCore::ScriptController::windowScriptNPObject):
58785         (WebCore::ScriptController::jsObjectForPluginElement):
58786         (WebCore::ScriptController::clearScriptObjects):
58787         * bindings/js/ScriptControllerMac.mm:
58788         (WebCore::ScriptController::windowScriptObject):
58789         * bindings/js/ScriptEventListener.cpp:
58790         (WebCore::createAttributeEventListener):
58791         * bindings/js/ScriptFunctionCall.cpp:
58792         (WebCore::ScriptFunctionCall::appendArgument):
58793         (WebCore::ScriptFunctionCall::call):
58794         (WebCore::ScriptFunctionCall::construct):
58795         * bindings/js/ScriptObject.cpp:
58796         (WebCore::ScriptObject::set):
58797         (WebCore::ScriptObject::createNew):
58798         (WebCore::ScriptGlobalObject::set):
58799         (WebCore::ScriptGlobalObject::get):
58800         (WebCore::ScriptGlobalObject::remove):
58801         * bindings/js/ScriptObjectQuarantine.cpp:
58802         (WebCore::quarantineValue):
58803         (WebCore::getQuarantinedScriptObject):
58804         * bindings/js/ScriptValue.cpp:
58805         (WebCore::ScriptValue::getString):
58806         * bindings/js/WorkerScriptController.cpp:
58807         (WebCore::WorkerScriptController::initScript):
58808         (WebCore::WorkerScriptController::evaluate):
58809         * bindings/objc/WebScriptObject.mm:
58810         (-[WebScriptObject callWebScriptMethod:withArguments:]):
58811         (-[WebScriptObject evaluateWebScript:]):
58812         (-[WebScriptObject setValue:forKey:]):
58813         (-[WebScriptObject valueForKey:]):
58814         (-[WebScriptObject removeWebScriptKey:]):
58815         (-[WebScriptObject stringRepresentation]):
58816         (-[WebScriptObject webScriptValueAtIndex:]):
58817         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
58818         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
58819         * bridge/NP_jsobject.cpp:
58820         (_NPN_InvokeDefault):
58821         (_NPN_Invoke):
58822         (_NPN_Evaluate):
58823         (_NPN_GetProperty):
58824         (_NPN_SetProperty):
58825         (_NPN_RemoveProperty):
58826         (_NPN_HasProperty):
58827         (_NPN_HasMethod):
58828         (_NPN_Enumerate):
58829         (_NPN_Construct):
58830         * bridge/c/c_class.cpp:
58831         (JSC::Bindings::CClass::~CClass):
58832         (JSC::Bindings::CClass::methodsNamed):
58833         (JSC::Bindings::CClass::fieldNamed):
58834         * bridge/c/c_instance.cpp:
58835         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
58836         (JSC::Bindings::CInstance::invokeMethod):
58837         (JSC::Bindings::CInstance::invokeDefaultMethod):
58838         (JSC::Bindings::CInstance::invokeConstruct):
58839         (JSC::Bindings::CInstance::getPropertyNames):
58840         * bridge/c/c_runtime.cpp:
58841         (JSC::Bindings::CField::valueFromInstance):
58842         (JSC::Bindings::CField::setValueToInstance):
58843         * bridge/c/c_utility.cpp:
58844         (JSC::Bindings::convertValueToNPVariant):
58845         (JSC::Bindings::convertNPVariantToValue):
58846         * bridge/jni/jni_class.cpp:
58847         (JavaClass::JavaClass):
58848         (JavaClass::~JavaClass):
58849         * bridge/jni/jni_instance.cpp:
58850         (JavaInstance::stringValue):
58851         * bridge/jni/jni_jsobject.mm:
58852         (JavaJSObject::call):
58853         (JavaJSObject::eval):
58854         (JavaJSObject::getMember):
58855         (JavaJSObject::setMember):
58856         (JavaJSObject::removeMember):
58857         (JavaJSObject::getSlot):
58858         (JavaJSObject::setSlot):
58859         (JavaJSObject::toString):
58860         (JavaJSObject::convertValueToJObject):
58861         (JavaJSObject::convertJObjectToValue):
58862         * bridge/jni/jni_objc.mm:
58863         (JSC::Bindings::dispatchJNICall):
58864         * bridge/jni/jni_runtime.cpp:
58865         (JavaMethod::signature):
58866         * bridge/jni/jni_runtime.h:
58867         (JSC::Bindings::JavaString::JavaString):
58868         (JSC::Bindings::JavaString::_commonInit):
58869         (JSC::Bindings::JavaString::~JavaString):
58870         (JSC::Bindings::JavaString::UTF8String):
58871         * bridge/jni/jni_utility.cpp:
58872         (JSC::Bindings::convertValueToJValue):
58873         * bridge/objc/objc_instance.mm:
58874         (ObjcInstance::moveGlobalExceptionToExecState):
58875         (ObjcInstance::invokeMethod):
58876         (ObjcInstance::invokeDefaultMethod):
58877         (ObjcInstance::setValueOfUndefinedField):
58878         (ObjcInstance::getValueOfUndefinedField):
58879         * bridge/objc/objc_runtime.mm:
58880         (JSC::Bindings::ObjcField::valueFromInstance):
58881         (JSC::Bindings::ObjcField::setValueToInstance):
58882         * bridge/objc/objc_utility.mm:
58883         (JSC::Bindings::convertValueToObjcValue):
58884         (JSC::Bindings::convertNSStringToString):
58885         (JSC::Bindings::convertObjcValueToValue):
58886         * bridge/qt/qt_instance.cpp:
58887         (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
58888         (JSC::Bindings::QtInstance::~QtInstance):
58889         (JSC::Bindings::QtInstance::getQtInstance):
58890         (JSC::Bindings::QtInstance::createRuntimeObject):
58891         * bridge/qt/qt_runtime.cpp:
58892         (JSC::Bindings::convertValueToQVariant):
58893         (JSC::Bindings::convertQVariantToValue):
58894         (JSC::Bindings::QtRuntimeMetaMethod::call):
58895         (JSC::Bindings::QtRuntimeConnectionMethod::call):
58896         (JSC::Bindings::QtConnectionObject::execute):
58897         * bridge/runtime.cpp:
58898         (JSC::Bindings::Instance::createRuntimeObject):
58899         * inspector/InspectorController.cpp:
58900         (WebCore::InspectorController::addScriptProfile):
58901         * inspector/JavaScriptCallFrame.cpp:
58902         (WebCore::JavaScriptCallFrame::evaluate):
58903         * inspector/JavaScriptDebugServer.cpp:
58904         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
58905         * inspector/JavaScriptProfileNode.cpp:
58906         (WebCore::getTotalTime):
58907         (WebCore::getSelfTime):
58908         (WebCore::getTotalPercent):
58909         (WebCore::getSelfPercent):
58910         (WebCore::getNumberOfCalls):
58911         (WebCore::getChildren):
58912         (WebCore::getParent):
58913         (WebCore::getHead):
58914         (WebCore::getVisible):
58915         (WebCore::getCallUID):
58916         * plugins/PluginView.cpp:
58917         (WebCore::PluginView::start):
58918         (WebCore::getString):
58919         (WebCore::PluginView::performRequest):
58920         (WebCore::PluginView::bindingInstance):
58921         * plugins/gtk/PluginViewGtk.cpp:
58922         (WebCore::PluginView::dispatchNPEvent):
58923         (WebCore::PluginView::handleKeyboardEvent):
58924         (WebCore::PluginView::handleMouseEvent):
58925         (WebCore::PluginView::setNPWindowIfNeeded):
58926         (WebCore::PluginView::stop):
58927         (WebCore::PluginView::init):
58928         * plugins/mac/PluginViewMac.cpp:
58929         (WebCore::PluginView::stop):
58930         (WebCore::PluginView::setNPWindowIfNeeded):
58931         (WebCore::PluginView::dispatchNPEvent):
58932         * plugins/qt/PluginViewQt.cpp:
58933         (WebCore::PluginView::setNPWindowIfNeeded):
58934         (WebCore::PluginView::stop):
58935         (WebCore::PluginView::init):
58936         * plugins/win/PluginViewWin.cpp:
58937         (WebCore::PluginView::dispatchNPEvent):
58938         (WebCore::PluginView::handleKeyboardEvent):
58939         (WebCore::PluginView::handleMouseEvent):
58940         (WebCore::PluginView::setNPWindowRect):
58941         (WebCore::PluginView::stop):
58943 2009-07-27  Yong Li  <yong.li@torchmobile.com>
58945         Reviewed by George Staikos.
58947         WINCE PORT: Make plugin work for WINCE
58948         https://bugs.webkit.org/show_bug.cgi?id=27713
58950         * plugins/win/PluginDatabaseWin.cpp:
58951         (SHGetValue):
58952         (PathRemoveFileSpec):
58953         (WebCore::addWindowsMediaPlayerPluginDirectory):
58954         (WebCore::addMacromediaPluginDirectories):
58955         * plugins/win/PluginPackageWin.cpp:
58956         (WebCore::PluginPackage::load):
58957         * plugins/win/PluginViewWin.cpp:
58958         (WebCore::registerPluginView):
58959         (WebCore::PluginView::wndProc):
58960         (WebCore::PluginView::updatePluginWidget):
58961         (WebCore::PluginView::paintWindowedPluginIntoContext):
58962         (WebCore::PluginView::paint):
58963         (WebCore::PluginView::handleMouseEvent):
58964         (WebCore::PluginView::setParent):
58965         (WebCore::PluginView::setNPWindowRect):
58966         (WebCore::PluginView::stop):
58967         (WebCore::PluginView::init):
58969 2009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
58971         Inspector: Tab Through Element Attributes and CSS Properties When Editing
58973         https://bugs.webkit.org/show_bug.cgi?id=27673
58975         Reviewed by Timothy Hatcher.
58977         * inspector/front-end/ElementsTreeOutline.js:
58978         (WebInspector.ElementsTreeElement):
58979         (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
58980         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
58981         (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
58982         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
58983         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
58984         * inspector/front-end/StylesSidebarPane.js:
58985         (WebInspector.StylePropertiesSection.prototype.onpopulate):
58986         (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
58987         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
58988         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
58989         (WebInspector.StylePropertyTreeElement.prototype.):
58990         (WebInspector.StylePropertyTreeElement.prototype):
58991         * inspector/front-end/inspector.js:
58992         (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
58993         (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
58994         (WebInspector.startEditing):
58996 2009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
58998         Reviewed by Adam Treat.
59000         Add mapping FontWeight to QFont::Weight values as requested via FIXME.
59001         https://bugs.webkit.org/show_bug.cgi?id=27663
59003         * platform/graphics/qt/FontCacheQt.cpp:
59004         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
59005         * platform/graphics/qt/FontPlatformData.h:
59006         (WebCore::FontPlatformData::toQFontWeight):
59007         * platform/graphics/qt/FontPlatformDataQt.cpp:
59008         (WebCore::FontPlatformData::FontPlatformData):
59010 2009-07-27  Jakub Wieczorek  <faw217@gmail.com>
59012          Reviewed by Adam Treat.
59014          When clearing the plugin database, clear also the timestamp map.
59016          https://bugs.webkit.org/show_bug.cgi?id=27651
59018          Currently, if we clear the database, it will still think that it is up
59019          to date with the plugin directories so refreshing the database again
59020          after changing the search paths may not work.
59022          * plugins/PluginDatabase.cpp:
59023          (WebCore::PluginDatabase::clear):
59025 2009-07-27  Albert J. Wong  <ajwong@chromium.org>
59027         Reviewed by David Levin.
59029         Add in trivial implementation of FontPlatformData::description() for
59030         linux to fix build bustage in chromium.
59032         Fix chromium linux build by adding missing function implementation.
59033         https://bugs.webkit.org/show_bug.cgi?id=27732
59035         Tested with a build of chromium on linux.
59037         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
59038         (WebCore::FontPlatformData::description):
59039         * platform/graphics/chromium/FontPlatformDataLinux.h:
59041 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
59043         Build correct, no review.
59045         Final correction for WinCairo builds.
59046         CoreServices only exists in Apple builds, but
59047         some of its internal includes (e.g., <windows.h>) are needed
59048         for other Windows targets.
59050         * WebCorePrefix.h: When building for WinCairo, make sure
59051           to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
59053 2009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
59055         Reviewed by Darin Adler.
59057         https://bugs.webkit.org/show_bug.cgi?id=25552
59058         Added new "pattern" attribute to HTMLInputElement and validation code
59059         (validity.patternMismatch) as per HTML5 specs.
59060         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
59062         Tests: fast/forms/ValidityState-002.html
59063                fast/forms/ValidityState-patternMismatch-001.html
59064                fast/forms/ValidityState-patternMismatch-002.html
59065                fast/forms/ValidityState-patternMismatch-003.html
59066                fast/forms/ValidityState-patternMismatch-004.html
59067                fast/forms/ValidityState-patternMismatch-005.html
59068                fast/forms/ValidityState-patternMismatch-006.html
59069                fast/forms/ValidityState-patternMismatch-007.html
59070                fast/forms/pattern-attribute-001.html
59071                fast/forms/pattern-attribute-002.html
59072                fast/forms/pattern-attribute-003.html
59074         * html/HTMLAttributeNames.in: pattern attribute
59075         * html/HTMLFormControlElement.h:
59076         (WebCore::HTMLFormControlElement::patternMismatch): method definition
59077         * html/HTMLInputElement.cpp:
59078         (WebCore::HTMLInputElement::patternMismatch): validation method
59079         * html/HTMLInputElement.h:
59080         * html/HTMLInputElement.idl:
59081         * html/ValidityState.h:
59082         (WebCore::ValidityState::patternMismatch): validation flag
59084 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59086         Reviewed by George Staikos.
59088         [WML] Manual WML tests aren't properly working
59089         https://bugs.webkit.org/show_bug.cgi?id=27718
59091         Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
59092         Add missing resources directory and test image. Reformat all testcases to a common style.
59093         Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
59095         Filing bugs soon for all tests exposing bugs (7 in total).
59097         * manual-tests/wml/StartTests.wml: Added.
59098         * manual-tests/wml/a-br-element.wml:
59099         * manual-tests/wml/a-element.wml:
59100         * manual-tests/wml/a-img-element.wml:
59101         * manual-tests/wml/access-target.wml:
59102         * manual-tests/wml/anchor-br-element.wml:
59103         * manual-tests/wml/anchor-element.wml:
59104         * manual-tests/wml/anchor-img-element.wml:
59105         * manual-tests/wml/card-newcontext-attr.wml:
59106         * manual-tests/wml/card-onenterbackward.wml:
59107         * manual-tests/wml/card-onenterforward.wml:
59108         * manual-tests/wml/card-ontimer.wml:
59109         * manual-tests/wml/card-title-attr.wml: Removed.
59110         * manual-tests/wml/deck-access-control.wml:
59111         * manual-tests/wml/go-element.wml: Removed.
59112         * manual-tests/wml/input-emptyok.wml: Removed.
59113         * manual-tests/wml/input-format.wml:
59114         * manual-tests/wml/onevent-go.wml:
59115         * manual-tests/wml/onevent-noop.wml:
59116         * manual-tests/wml/onevent-prev.wml:
59117         * manual-tests/wml/onevent-refresh.wml:
59118         * manual-tests/wml/onevent-shadow.wml:
59119         * manual-tests/wml/postfield-get.wml: Removed.
59120         * manual-tests/wml/postfield-post.wml: Removed.
59121         * manual-tests/wml/resources: Added.
59122         * manual-tests/wml/resources/smiley.png: Added.
59123         * manual-tests/wml/select-element.wml:
59124         * manual-tests/wml/select-onpick-event.wml:
59125         * manual-tests/wml/setvar-element.wml:
59126         * manual-tests/wml/targetdeck.wml:
59127         * manual-tests/wml/task-go-in-anchor.wml:
59128         * manual-tests/wml/task-noop-in-do.wml:
59129         * manual-tests/wml/task-noop-in-onevent.wml: Removed.
59130         * manual-tests/wml/task-prev-in-anchor.wml:
59131         * manual-tests/wml/task-refresh-in-anchor.wml:
59132         * manual-tests/wml/template-go.wml:
59133         * manual-tests/wml/template-onevent.wml: Removed.
59134         * manual-tests/wml/template-ontimer.wml:
59135         * manual-tests/wml/timer.wml:
59136         * manual-tests/wml/variable-substitution.wml:
59138 2009-07-27  Nate Chapin  <japhet@chromium.org>
59140         Reviewed by Dimitri Glazkov.
59142         Fix a regression introduced in r42671, which caused the js event 
59143         object to be hidden (some websites depend on being able to access it).
59145         https://bugs.webkit.org/show_bug.cgi?id=27719
59147         * bindings/v8/V8AbstractEventListener.cpp:
59148         (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
59150 2009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
59152         Reviewed by Dimitri Glazkov.
59154         Removing a no-op block of code in DatabaseTracker.cpp that
59155         should've been removed in the patch for bug 26054.
59157         https://bugs.webkit.org/show_bug.cgi?id=27666
59159         All tests in WebCore/storage pass.
59161         * storage/DatabaseTracker.cpp:
59162         (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
59163         block of code that was moved to SQLiteFileSystem.cpp and should
59164         have been removed from DatabaseTracker.cpp
59166 2009-07-27  Jian Li  <jianli@chromium.org>
59168         Reviewed by David Levin.
59170         Fix error handling in dedicated worker and worker context.
59171         https://bugs.webkit.org/show_bug.cgi?id=27525
59173         The following problems have been fixed:
59174         1) The uncaught runtime script error is not reported using the
59175         WorkerGlobalScope object's onerror attribute.
59176         2) If the error is still not handled afterwards (onerror attribute
59177         is not defined as a function or it returns true), the error should
59178         be reported back to the associated Worker object by firing an
59179         ErrorEvent.
59180         3) If the error is still not handled by the associated Worker
59181         object, the error should be reported to the user.
59183         Test: fast/workers/worker-script-error.html
59185         * bindings/js/JSEventListener.cpp:
59186         (WebCore::JSEventListener::reportError):
59187         * bindings/js/JSEventListener.h:
59188         * dom/EventListener.h:
59189         (WebCore::EventListener::reportError): adds a function to call
59190         EventListener as a function with 3 arguments to report an error.
59191         * workers/AbstractWorker.cpp:
59192         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
59193         * workers/AbstractWorker.h:
59194         * workers/DedicatedWorkerContext.cpp:
59195         (WebCore::DedicatedWorkerContext::reportException):
59196         * workers/WorkerContext.cpp:
59197         (WebCore::WorkerContext::reportException):
59198         * workers/WorkerContext.h:
59199         * workers/WorkerMessagingProxy.cpp:
59200         (WebCore::WorkerExceptionTask::performTask):
59201         * workers/WorkerMessagingProxy.h:
59203 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59205         Reviewed by George Staikos.
59207         [WML] History handling / page cache / loading is buggy and depends on several hacks
59208         https://bugs.webkit.org/show_bug.cgi?id=27707
59210         Redesign WML history/loading handling. In detail:
59212         - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
59213           by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
59214           WML content itself.
59216           WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
59217           an XHTML document which embeds a WML document (that's the way the WML layout tests work).
59218           Force WML loading behaviour even for XHTML document which embed WML documents. This only
59219           applies to our layout tests, not for any real world site. Though it gives us a perfect
59220           way to test the WML loading code even when we're not operating on a standalone WML document.
59222           Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
59223           in a standalone WML document or wheter the main frame document is different. If it differs
59224           the main frame documents' "containsWMLContent" property is set to true.
59226           -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
59227              checks if the associated frame document is a WML document or wheter it contains WML content.
59229         - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
59230           detection. WML documents (or those containing WML content) always want new loads even for in-page
59231           navigation. No "scroll to anchor" mechanism should apply.
59233         - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
59234           WML pages should never be cached, potential security problem due the use of variables (per spec).
59236         Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
59237         and history navigation (<prev/> task).
59239         Tests: wml/enter-card-with-events.html
59240                wml/enter-first-card-with-events.html
59242         * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
59243         (WebCore::Document::Document):
59244         * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
59245         (WebCore::Document::setContainsWMLContent):
59246         (WebCore::Document::containsWMLContent):
59247         * history/BackForwardList.cpp:
59248         (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
59249         * history/BackForwardList.h:
59250         * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
59251         (WebCore::FrameLoader::FrameLoader):
59252         (WebCore::frameContainsWMLContent):
59253         (WebCore::FrameLoader::canCachePageContainingThisFrame):
59254         (WebCore::FrameLoader::shouldReload):
59255         (WebCore::FrameLoader::loadItem):
59256         * loader/FrameLoader.h:
59257         * wml/WMLCardElement.cpp: 
59258         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
59259         (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
59260         * wml/WMLGoElement.cpp: 
59261         (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
59262         * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
59263         (WebCore::WMLPageState::WMLPageState):
59264         (WebCore::WMLPageState::dump):
59265         (WebCore::WMLPageState::reset):
59266         * wml/WMLPageState.h:
59268 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
59270         Reviewed by Adam Roben.
59272         Fix Chromium build breakage introduced in 46388.
59274         https://bugs.webkit.org/show_bug.cgi?id=27705
59276         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
59277         (WebCore::FontPlatformData::description):
59278         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
59280 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
59282         Reviewed by Simon Hausmann.
59284         Add some more debug logging to PluginViewMac.
59286         * plugins/mac/PluginViewMac.cpp:
59288 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
59290         Reviewed by Jan Michael Alonzo.
59292         Remove dead code from the GTK NPAPI implementation.
59294         * plugins/gtk/PluginViewGtk.cpp:
59296 2009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
59298         Reviewed by Simon Hausmann.
59300         [Qt] Buildfix on Windows.
59301         https://bugs.webkit.org/show_bug.cgi?id=27702
59303         * plugins/win/PluginViewWin.cpp:
59304         (WebCore::PluginView::hookedEndPaint):
59305             Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
59306             assembly, because with "g" constraint, wrong assembly code generated.
59308 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
59310         Reviewed by Timothy Hatcher.
59312         WebCore bindings: Implement ScriptArray bindings.
59314         https://bugs.webkit.org/show_bug.cgi?id=27691
59316         * GNUmakefile.am:
59317         * WebCore.gypi:
59318         * WebCore.pro:
59319         * WebCore.vcproj/WebCore.vcproj:
59320         * WebCore.xcodeproj/project.pbxproj:
59321         * bindings/js/ScriptArray.cpp: Added.
59322         (WebCore::ScriptArray::ScriptArray):
59323         (WebCore::handleException):
59324         (WebCore::ScriptArray::set):
59325         (WebCore::length):
59326         (WebCore::ScriptArray::createNew):
59327         * bindings/js/ScriptArray.h: Added.
59328         (WebCore::ScriptArray::ScriptArray):
59329         (WebCore::ScriptArray::jsArray):
59330         * bindings/v8/ScriptArray.cpp: Added.
59331         (WebCore::ScriptArray::ScriptArray):
59332         (WebCore::ScriptArray::set):
59333         (WebCore::ScriptArray::length):
59334         (WebCore::ScriptArray::createNew):
59335         * bindings/v8/ScriptArray.h: Added.
59336         (WebCore::ScriptArray::ScriptArray):
59337         (WebCore::ScriptArray::~ScriptArray):
59339 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
59341         Build correct, no review.
59343         Change in r46407 broke Apple Windows build.
59344         Switch to WinCairo-only test, to avoid any
59345         other platform break.
59347         * WebCorePrefix.h: 
59349 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
59351         Build correct, no review.
59353         Change in r46407 broke Apple Windows build.
59355         * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
59356           CoreServices.h should be included.
59358 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
59360         Build correction, no review.
59362         Change in r46195 broke WinCairo build.
59364         * WebCorePrefix.h: CoreServices should be ignored
59365           for non-Apple build.
59367 2009-07-26  Pavel Feldman  <pfeldman@chromium.org>
59369         Reviewed by Timothy Hatcher.
59371         Web Inspector: Implement the breakpoints sidebar pane.
59372         This change adds simple UI support into the existing
59373         BreakpointSidebarPane.
59375         https://bugs.webkit.org/show_bug.cgi?id=11175
59377         * inspector/front-end/Breakpoint.js:
59378         (WebInspector.Breakpoint.prototype.set enabled):
59379         (WebInspector.Breakpoint.prototype.get label):
59380         (WebInspector.Breakpoint.prototype.get id):
59381         * inspector/front-end/BreakpointsSidebarPane.js:
59382         (WebInspector.BreakpointsSidebarPane):
59383         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
59384         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
59385         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
59386         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
59387         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
59388         * inspector/front-end/ScriptsPanel.js:
59389         (WebInspector.ScriptsPanel):
59390         (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
59391         * inspector/front-end/inspector.css:
59393 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
59395         Reviewed by Oliver Hunt.
59397         Canvas: rotation of 'no-repeat' pattern still has small error
59398         https://bugs.webkit.org/show_bug.cgi?id=26749
59400         Use 1<<22 as steps of no-repeat pattern to make the error less
59401         than 0.5.  The previous value may cause 1 pixel errors.
59403         Add another test to show this bug clearly.
59404         Also add png expected image which was missing in the previous patch.
59406         Test: fast/canvas/image-pattern-rotate.html
59408         * platform/graphics/cg/PatternCG.cpp:
59409         (WebCore::Pattern::createPlatformPattern):
59411 2009-07-25  Kwang Yul Seo  <skyul@company100.net>
59413         Reviewed by Darin Adler.
59415         Windows build break due to warning C4819
59416         https://bugs.webkit.org/show_bug.cgi?id=27416
59418         Disable C4819 warning to fix build.
59420         * WebCore.vcproj/QTMovieWin.vcproj:
59421         * WebCore.vcproj/WebCore.vcproj:
59423 2009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
59425         Reviewed by Kevin McCullough.
59427         Inspector: Keyboard Shortcuts to Switch Panels
59428         https://bugs.webkit.org/show_bug.cgi?id=27286
59430         * inspector/front-end/inspector.js:
59431         (WebInspector.loaded): save a list of the order of the panels
59432         (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
59434 2009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
59436         Reviewed by George Staikos.
59438         [Qt] Fix build break after r46369
59439         https://bugs.webkit.org/show_bug.cgi?id=27680
59441         * WebCore.pro:
59443 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59445         Reviewed by George Staikos.
59447         [WML] Variable substitution is buggy
59448         https://bugs.webkit.org/show_bug.cgi?id=27677
59450         Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
59451         won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
59453         * dom/Text.cpp:
59454         (WebCore::Text::attach):
59455         * dom/Text.h:
59457 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59459         Reviewed by George Staikos.
59461         [WML] WMLDoElement doesn't update its RenderButton object upon attach()
59462         https://bugs.webkit.org/show_bug.cgi?id=27676
59464         WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
59465         Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
59467         * wml/WMLDoElement.cpp:
59468         (WebCore::WMLDoElement::attach):
59469         * wml/WMLDoElement.h:
59471 2009-07-25  Pavel Feldman  <pfeldman@chromium.org>
59473         Fix Windows build breakage introduced in 46390.
59475         * WebCore.vcproj/WebCore.vcproj:
59477 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
59479         Reviewed by Oliver Hunt.
59481         Inspector: Properties Should be Sorted more Naturally
59482         https://bugs.webkit.org/show_bug.cgi?id=27329
59484         * inspector/front-end/ObjectPropertiesSection.js:
59485         (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
59486         (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
59487         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
59488         * inspector/front-end/utilities.js:
59489         (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
59491 2009-07-24  Pavel Feldman  <pfeldman@chromium.org>
59493         Reviewed by Timothy Hatcher.
59495         Web Inspector: Split InspectorController into InspectorController
59496         and InspectorBackend. Everything frontend needs from InspectorController
59497         will slowly migrate into the InspectorBackend.
59499         https://bugs.webkit.org/show_bug.cgi?id=27541
59501         * DerivedSources.make:
59502         * GNUmakefile.am:
59503         * WebCore.gypi:
59504         * WebCore.pro:
59505         * WebCore.xcodeproj/project.pbxproj:
59506         * WebCoreSources.bkl:
59507         * bindings/js/JSInspectorBackendCustom.cpp: Added.
59508         (WebCore::JSInspectorBackend::highlightDOMNode):
59509         (WebCore::JSInspectorBackend::search):
59510         (WebCore::JSInspectorBackend::databaseTableNames):
59511         (WebCore::JSInspectorBackend::inspectedWindow):
59512         (WebCore::JSInspectorBackend::setting):
59513         (WebCore::JSInspectorBackend::setSetting):
59514         (WebCore::JSInspectorBackend::wrapCallback):
59515         (WebCore::JSInspectorBackend::currentCallFrame):
59516         (WebCore::JSInspectorBackend::profiles):
59517         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
59518         (WebCore::CALLBACK_FUNC_DECL):
59519         * bindings/js/JSInspectorControllerCustom.cpp: Removed.
59520         * bindings/js/ScriptObject.cpp:
59521         (WebCore::ScriptGlobalObject::set):
59522         * bindings/js/ScriptObject.h:
59523         * bindings/v8/DOMObjectsInclude.h:
59524         * bindings/v8/DerivedSourcesAllInOne.cpp:
59525         * bindings/v8/ScriptObject.cpp:
59526         (WebCore::ScriptGlobalObject::set):
59527         * bindings/v8/ScriptObject.h:
59528         * bindings/v8/V8Index.cpp:
59529         * bindings/v8/V8Index.h:
59530         * bindings/v8/custom/V8CustomBinding.h:
59531         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
59532         * inspector/InspectorController.cpp:
59533         (WebCore::InspectorController::InspectorController):
59534         (WebCore::InspectorController::windowScriptObjectAvailable):
59535         * inspector/InspectorController.h:
59536         (WebCore::InspectorController::inspectorBackend):
59537         * inspector/InspectorBackend.cpp: Added.
59538         * inspector/InspectorBackend.h: Added.
59539         (WebCore::InspectorBackend::create):
59540         (WebCore::InspectorBackend::inspectorController):
59541         * inspector/InspectorBackend.idl: Added.
59542         * inspector/InspectorController.idl: Removed.
59543         * inspector/front-end/Resource.js:
59544         * page/Page.cpp:
59545         (WebCore::Page::Page):
59546         * page/Page.h:
59548 2009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
59550         Reviewed by George Staikos.
59552         Update WebCore/page/Frame.cpp/h to conform to WebKit
59553         Style Guidelines as identified by cpplint.py.
59554         https://bugs.webkit.org/show_bug.cgi?id=27654
59556         * page/Frame.cpp:
59557         (WebCore::Frame::Frame):
59558         (WebCore::Frame::~Frame):
59559         (WebCore::Frame::setDocument):
59560         (WebCore::Frame::firstRectForRange):
59561         (WebCore::createRegExpForLabels):
59562         (WebCore::Frame::searchForLabelsBeforeElement):
59563         (WebCore::Frame::matchLabelsAgainstElement):
59564         (WebCore::Frame::selectionLayoutChanged):
59565         (WebCore::Frame::setZoomFactor):
59566         (WebCore::Frame::reapplyStyles):
59567         (WebCore::Frame::isContentEditable):
59568         (WebCore::Frame::computeAndSetTypingStyle):
59569         (WebCore::Frame::selectionStartStylePropertyValue):
59570         (WebCore::Frame::selectionComputedStyle):
59571         (WebCore::Frame::applyEditingStyleToBodyElement):
59572         (WebCore::Frame::removeEditingStyleFromBodyElement):
59573         (WebCore::Frame::applyEditingStyleToElement):
59574         (WebCore::Frame::selectionBounds):
59575         (WebCore::Frame::currentForm):
59576         (WebCore::Frame::revealSelection):
59577         (WebCore::Frame::styleForSelectionStart):
59578         (WebCore::Frame::setSelectionFromNone):
59579         (WebCore::Frame::findString):
59580         (WebCore::Frame::markAllMatchesForText):
59581         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
59582         (WebCore::Frame::clearFormerDOMWindow):
59583         (WebCore::Frame::unfocusWindow):
59584         (WebCore::Frame::respondToChangedSelection):
59585         (WebCore::Frame::documentAtPoint):
59586         * page/Frame.h:
59587         (WebCore::Frame::create):
59588         (WebCore::Frame::displayStringModifiedByEncoding):
59589         (WebCore::Frame::pageZoomFactor):
59590         (WebCore::Frame::textZoomFactor):
59592 2009-07-24  Dan Bernstein  <mitz@apple.com>
59594         Reviewed by Darin Adler.
59596         Add functions to print the glyph page trees for debugging
59597         https://bugs.webkit.org/show_bug.cgi?id=27671
59599         * platform/graphics/FontData.h: Defined a description() method.
59601         * platform/graphics/GlyphPageTreeNode.cpp:
59602         (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
59603             its descendants.
59604         (showGlyphPageTrees): Added. Prints all glyph page trees.
59605         (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
59606         * platform/graphics/GlyphPageTreeNode.h:
59608         * platform/graphics/SegmentedFontData.cpp:
59609         (WebCore::SegmentedFontData::description): Added.
59611         * platform/graphics/SegmentedFontData.h:
59612         * platform/graphics/SimpleFontData.cpp:
59613         (WebCore::SimpleFontData::description): Added. Uses the platform data
59614             as the description for non-svg, non-custom fonts.
59615         * platform/graphics/SimpleFontData.h:
59617         * platform/graphics/gtk/FontPlatformData.h:
59618         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
59619         (WebCore::FontPlatformData::description): Added. Returns a null string.
59620         * platform/graphics/gtk/FontPlatformDataPango.cpp:
59621         (WebCore::FontPlatformData::description): Added. Returns a null string.
59623         * platform/graphics/mac/FontPlatformData.h:
59624         * platform/graphics/mac/FontPlatformDataMac.mm:
59625         (WebCore::FontPlatformData::description): Added. Returns the
59626             description of the CGFont, the size and the synthetic style flags,
59627             if set.
59629         * platform/graphics/qt/FontPlatformData.h:
59630         * platform/graphics/qt/FontPlatformDataQt.cpp:
59631         (WebCore::FontPlatformData::description): Added. Returns a null string.
59633         * platform/graphics/win/FontPlatformData.h:
59634         * platform/graphics/win/FontPlatformDataWin.cpp:
59635         (WebCore::FontPlatformData::description): Added. Returns a null string.
59637         * platform/graphics/wince/FontPlatformData.cpp:
59638         (WebCore::FontPlatformData::description): Added. Returns a null string.
59639         * platform/graphics/wince/FontPlatformData.h:
59641         * platform/graphics/wx/FontPlatformData.h:
59642         * platform/graphics/wx/FontPlatformDataWx.cpp:
59643         (WebCore::FontPlatformData::description): Added. Returns a null string.
59645 2009-07-24  Mads Ager  <ager@chromium.org>
59647         Reviewed by Adam Barth.
59649         SVG and XPath memory leaks in V8 bindings
59650         https://bugs.webkit.org/show_bug.cgi?id=27488
59652         Add proper 'create' methods to SVGPodTypeWrappers and
59653         XPathNSResolvers in the V8 bindings to avoid memory leaks.
59655         Introduce convertToV8Object methods that accept PassRefPtrs and
59656         clean up the use of get() and release() on RefPtrs.
59657         
59658         * bindings/scripts/CodeGeneratorV8.pm:
59659         * bindings/v8/V8DOMWrapper.h:
59660         (WebCore::V8DOMWrapper::convertNodeToV8Object):
59661         (WebCore::V8DOMWrapper::convertEventToV8Object):
59662         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
59663         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
59664         * bindings/v8/V8SVGPODTypeWrapper.h:
59665         (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
59666         (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
59667         (WebCore::V8SVGStaticPODTypeWrapper::create):
59668         (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
59669         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
59670         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
59671         (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
59672         (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
59673         (WebCore::V8SVGDynamicPODTypeWrapper::create):
59674         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
59675         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
59676         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
59677         (WebCore::CALLBACK_FUNC_DECL):
59678         * bindings/v8/custom/V8ClientRectListCustom.cpp:
59679         (WebCore::INDEXED_PROPERTY_GETTER):
59680         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
59681         (WebCore::V8CustomXPathNSResolver::create):
59682         * bindings/v8/custom/V8CustomXPathNSResolver.h:
59683         * bindings/v8/custom/V8DOMWindowCustom.cpp:
59684         (WebCore::NAMED_PROPERTY_GETTER):
59685         * bindings/v8/custom/V8DocumentCustom.cpp:
59686         (WebCore::CALLBACK_FUNC_DECL):
59687         * bindings/v8/custom/V8ElementCustom.cpp:
59688         (WebCore::CALLBACK_FUNC_DECL):
59689         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
59690         (WebCore::getNamedItems):
59691         (WebCore::getItem):
59692         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
59693         (WebCore::NAMED_PROPERTY_GETTER):
59694         (WebCore::ACCESSOR_GETTER):
59695         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
59696         (WebCore::INDEXED_PROPERTY_GETTER):
59697         (WebCore::NAMED_PROPERTY_GETTER):
59698         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
59699         (WebCore::INDEXED_PROPERTY_GETTER):
59700         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
59701         (WebCore::NAMED_PROPERTY_GETTER):
59702         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
59703         (WebCore::CALLBACK_FUNC_DECL):
59704         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
59705         (WebCore::INDEXED_PROPERTY_GETTER):
59706         (WebCore::NAMED_PROPERTY_GETTER):
59707         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
59708         (WebCore::toV8):
59709         * bindings/v8/custom/V8NodeListCustom.cpp:
59710         (WebCore::NAMED_PROPERTY_GETTER):
59711         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
59712         (WebCore::CALLBACK_FUNC_DECL):
59713         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
59714         (WebCore::toV8):
59715         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
59716         (WebCore::CALLBACK_FUNC_DECL):
59718 2009-07-24  Brian Weinstein  <bweinstein@apple.com>
59720         Reviewed by Jon Honeycutt.
59722         Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
59723         https://bugs.webkit.org/show_bug.cgi?id=21794
59724         
59725         Create two new booleans to determine whether we have done a springloaded pan scroll, and update
59726         the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
59727         does. 
59729         * page/EventHandler.cpp:
59730         (WebCore::EventHandler::EventHandler): Initialized two new booleans.
59731         (WebCore::EventHandler::autoscrollTimerFired):
59732         (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
59733         (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
59734         (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
59735         * page/EventHandler.h:
59737 2009-07-24  Yong Li  <yong.li@torchmobile.com>
59739         Reviewed by George Staikos.
59741         https://bugs.webkit.org/show_bug.cgi?id=27657
59742         Add more wince port files to WebCore
59744         Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
59746         * loader/icon/wince/IconDatabaseWince.cpp: Added.
59747         * rendering/RenderThemeWince.cpp: Added.
59748         * rendering/RenderThemeWince.h: Added.
59749         * storage/wince/DatabaseThreadWince.cpp: Added.
59750         * storage/wince/DatabaseThreadWince.h: Added.
59751         * storage/wince/LocalStorageThreadWince.cpp: Added.
59752         * storage/wince/LocalStorageThreadWince.h: Added.
59753         * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
59755 2009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
59757         Reviewed by Justin Garcia.
59759         execCommand('underline') can modify DOM outside of the contentEditable area
59760         https://bugs.webkit.org/show_bug.cgi?id=24333
59762         highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
59763         outside of it, we don't accidently modify the style attribute.
59765         Tests: editing/style/textdecoration-outside-of-rooteditable.html
59766                editing/style/textdecoration-outside-of-unsplittable-element.html
59768         * editing/ApplyStyleCommand.cpp:
59769         (WebCore::StyleChange::init):
59770         (WebCore::highestAncestorWithTextDecoration):
59772 2009-07-24  Daniel Bates  <dbates@intudata.com>
59774         Reviewed by Adam Barth.
59776         https://bugs.webkit.org/show_bug.cgi?id=27639
59778         Fixes false positives when evaluating certain strings that only contain 
59779         non-canonical characters.
59781         Test: http/tests/security/xssAuditor/script-tag-safe.html
59783         * page/XSSAuditor.cpp:
59784         (WebCore::isNonCanonicalCharacter):
59785         (WebCore::XSSAuditor::findInRequest):
59787 2009-07-24  Drew Wilson  <atwilson@google.com>
59789         Reviewed by David Levin.
59791         Changed WorkerContext destructor to not access possibly-freed WorkerThread.
59793         Failed assertion in WorkerContext::~WorkerContext().
59794         https://bugs.webkit.org/show_bug.cgi?id=27665
59796        * workers/DedicatedWorkerContext.cpp:
59797         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
59798         * workers/WorkerContext.cpp:
59799         (WebCore::WorkerContext::~WorkerContext):
59800         Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
59802 2009-07-24  Drew Wilson  <atwilson@google.com>
59804         Reviewed by Adam Barth.
59806         Updated code generator to properly generate bindings for WorkerContext exposed functions.
59808         Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
59809         https://bugs.webkit.org/show_bug.cgi?id=27419
59811         Test: fast/workers/worker-call.html
59813         * bindings/js/JSWorkerContextBase.cpp:
59814         (WebCore::toJSDedicatedWorkerContext):
59815         (WebCore::toJSWorkerContext):
59816         Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
59817         * bindings/js/JSWorkerContextBase.h:
59818         Added toJS*WorkerContext APIs.
59819         * bindings/scripts/CodeGeneratorJS.pm:
59820         Added code to appropriately check the passed-in this object when invoking functions at global scope.
59822 2009-07-24  Drew Wilson  <atwilson@google.com>
59824         Reviewed by Adam Barth.
59826         Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
59827         https://bugs.webkit.org/show_bug.cgi?id=27420
59829         No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
59831         * DerivedSources.cpp:
59832         Added JSDerivedWorkerContext.cpp
59833         * DerivedSources.make:
59834         Added DerivedWorkerContext files
59835         * GNUmakefile.am:
59836         Added DerivedWorkerContext files
59837         * WebCore.gypi:
59838         Added DerivedWorkerContext files
59839         * WebCore.pro:
59840         Added DerivedWorkerContext files
59841         * WebCore.vcproj/WebCore.vcproj:
59842         Added DerivedWorkerContext files
59843         * WebCore.xcodeproj/project.pbxproj:
59844         Added DerivedWorkerContext files
59845         * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
59846         (WebCore::JSDedicatedWorkerContext::mark):
59847         Custom mark function for onmessage event handler.
59848         * bindings/js/JSEventTarget.cpp:
59849         (WebCore::toJS):
59850         Supports conversion to JSDedicatedWorkerContext.
59851         (WebCore::toEventTarget):
59852         * bindings/js/JSWorkerContextCustom.cpp:
59853         (WebCore::JSWorkerContext::mark):
59854         Moved onmessage mark handling into DedicatedWorkerContext.
59855         * bindings/js/WorkerScriptController.cpp:
59856         Added appropriate casts to DedicatedWorkerContext for postMessage().
59857         (WebCore::WorkerScriptController::initScript):
59858         Manually sets up the prototype chain for the worker context.
59859         * bindings/scripts/CodeGeneratorJS.pm:
59860         Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
59861         * bindings/scripts/CodeGeneratorV8.pm:
59862         Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
59863         * bindings/v8/DOMObjectsInclude.h:
59864         Added DedicatedWorkerContext.h
59865         * bindings/v8/DerivedSourcesAllInOne.cpp:
59866         Added V8DedicatedWorkerContext.cpp
59867         * bindings/v8/V8DOMWrapper.cpp:
59868         (WebCore::V8DOMWrapper::getTemplate):
59869         Added code to reserve extra fields for V8DedicatedWorkerContext.
59870         * bindings/v8/V8Index.cpp:
59871         Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
59872         * bindings/v8/V8Index.h:
59873         Added DedicatedWorkerContext as a non-node wrapper type.
59874         Removed WORKERCONTEXT as a valid template type.
59875         * bindings/v8/WorkerContextExecutionProxy.cpp:
59876         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
59877         Creates DedicatedWorkerContext instead of WorkerContext.
59878         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
59879         Returns DedicatedWorkerContext instead of WorkerContext.
59880         (WebCore::WorkerContextExecutionProxy::retrieve):
59881         Refactored to deal with DedicatedWorkerContext.
59882         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
59883         * bindings/v8/custom/V8CustomBinding.h:
59884         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
59885         Moved onmessage code from V8WorkerContextCustom.cpp
59886         (WebCore::ACCESSOR_GETTER):
59887         (WebCore::ACCESSOR_SETTER):
59888         * bindings/v8/custom/V8WorkerContextCustom.cpp:
59889         Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
59890         * dom/EventTarget.cpp:
59891         (WebCore::EventTarget::toDedicatedWorkerContext):
59892         * dom/EventTarget.h:
59893         * workers/DedicatedWorkerContext.cpp: Added.
59894         Moved DedicatedWorker-only APIs from WorkerContext.
59895         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
59896         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
59897         (WebCore::DedicatedWorkerContext::reportException):
59898         (WebCore::DedicatedWorkerContext::postMessage):
59899         (WebCore::DedicatedWorkerContext::dispatchMessage):
59900         * workers/DedicatedWorkerContext.h: Added.
59901         Moved DedicatedWorker-only APIs from WorkerContext.
59902         (WebCore::DedicatedWorkerContext::create):
59903         (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
59904         (WebCore::DedicatedWorkerContext::setOnmessage):
59905         (WebCore::DedicatedWorkerContext::onmessage):
59906         * workers/DedicatedWorkerContext.idl: Added.
59907         * workers/WorkerContext.cpp:
59908         (WebCore::WorkerContext::~WorkerContext):
59909         Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
59910         * workers/WorkerContext.h:
59911         (WebCore::WorkerContext::isClosing):
59912         Exposed closing flag as an API so derived classes can access it.
59913         * workers/WorkerContext.idl:
59914         * workers/WorkerMessagingProxy.cpp:
59915         (WebCore::MessageWorkerContextTask::performTask):
59916         Calls into DedicatedWorkerContext to handle message.
59917         * workers/WorkerThread.cpp:
59918         (WebCore::WorkerThread::workerThread):
59919         Creates a DedicatedWorkerContext when the thread starts up.
59921 2009-07-24  Eric Seidel  <eric@webkit.org>
59923         Reviewed by Adam Barth.
59925         Move more callers to using 3 argument toJS
59926         https://bugs.webkit.org/show_bug.cgi?id=27661
59928         No functional changes, thus no tests.
59929         These are all the places where we can't yet pass the
59930         correct globalObject because we don't have or don't know the right one.
59932         * bindings/js/JSCustomPositionCallback.cpp:
59933         (WebCore::JSCustomPositionCallback::handleEvent):
59934         * bindings/js/JSCustomPositionErrorCallback.cpp:
59935         (WebCore::JSCustomPositionErrorCallback::handleEvent):
59936         * bindings/js/JSCustomSQLStatementCallback.cpp:
59937         (WebCore::JSCustomSQLStatementCallback::handleEvent):
59938         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
59939         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
59940         * bindings/js/JSCustomSQLTransactionCallback.cpp:
59941         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
59942         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
59943         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
59944         * bindings/js/JSNodeFilterCondition.cpp:
59945         (WebCore::JSNodeFilterCondition::acceptNode):
59947 2009-07-24  Eric Seidel  <eric@webkit.org>
59949         Reviewed by Adam Barth.
59951         Fix the last of the x-frame constructor calls to have the right prototype chains
59952         https://bugs.webkit.org/show_bug.cgi?id=27645
59954         Fix the last few constructors to use their stored globalObject pointer when
59955         constructing objects instead of the lexicalGlobalObject().
59957         * bindings/js/JSAudioConstructor.cpp:
59958         (WebCore::constructAudio):
59959         * bindings/js/JSImageConstructor.cpp:
59960         (WebCore::constructImage):
59961         * bindings/js/JSMessageChannelConstructor.cpp:
59962         (WebCore::JSMessageChannelConstructor::construct):
59963         * bindings/js/JSOptionConstructor.cpp:
59964         (WebCore::constructHTMLOptionElement):
59965         * bindings/js/JSWebKitPointConstructor.cpp:
59966         (WebCore::constructWebKitPoint):
59967         * bindings/js/JSWorkerConstructor.cpp:
59968         (WebCore::constructWorker):
59970 2009-07-24  Jian Li  <jianli@chromium.org>
59972         Reviewed by Adam Barth.
59974         [V8] Cleanup exception handling in worker evaluation code.
59975         https://bugs.webkit.org/show_bug.cgi?id=27282
59977         * bindings/v8/WorkerContextExecutionProxy.cpp:
59978         (WebCore::WorkerContextExecutionProxy::evaluate):
59979         * bindings/v8/WorkerContextExecutionProxy.h:
59980         (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
59981         * bindings/v8/WorkerScriptController.cpp:
59982         (WebCore::WorkerScriptController::evaluate):
59983         (WebCore::WorkerScriptController::setException):
59985 2009-07-24  Stephen White  <senorblanco@chromium.org>
59987         Reviewed by David Levin.
59989         Reverting r46157, since it may be causing problems with Chromium
59990         reliability (see http://crbug.com/17569).
59992         https://bugs.webkit.org/show_bug.cgi?id=27388
59994         * platform/graphics/skia/GraphicsContextSkia.cpp:
59995         (WebCore::GraphicsContext::drawLine):
59996         * platform/graphics/skia/PlatformContextSkia.cpp:
59997         (PlatformContextSkia::setupPaintForStroking):
59999 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60001         Reviewed by Timothy Hatcher.
60003         REGRESSION: inspector seems broken in ToT WebKit
60004         https://bugs.webkit.org/show_bug.cgi?id=27646
60006         * inspector/front-end/Console.js:
60007         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
60009 2009-07-24  Dan Bernstein  <mitz@apple.com>
60011         Reviewed by Anders Carlsson.
60013         Add the shadow style member to the ShadowData constructor and ==
60014         operator
60016         * rendering/style/ShadowData.cpp:
60017         (WebCore::ShadowData::ShadowData):
60018         (WebCore::ShadowData::operator==):
60020 2009-07-24  Jian Li  <jianli@chromium.org>
60022         Reviewed by Eric Seidel.
60024         [V8] More V8 bindings changes to use ErrorEvent.
60025         https://bugs.webkit.org/show_bug.cgi?id=27630
60027         * bindings/v8/DOMObjectsInclude.h:
60028         * bindings/v8/DerivedSourcesAllInOne.cpp:
60029         * bindings/v8/V8DOMWrapper.cpp:
60030         (WebCore::V8DOMWrapper::convertEventToV8Object):
60031         * bindings/v8/V8Index.cpp:
60032         * bindings/v8/V8Index.h:
60034 2009-07-24  Brent Fulgham  <bfulgham@webkit.org>
60036         Reviewed by Dave Hyatt.
60038         Clean up dependencies on Apple support libraries for non-Apple build.
60039         http://bugs.webkit.org/show_bug.cgi?id=27532.
60041         * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
60042           to ApplicationServices.h and WebKitSystemInterface.h
60044 2009-07-24  Dan Bernstein  <mitz@apple.com>
60046         Another attempted build fix 
60048         * bindings/js/JSAbstractWorkerCustom.cpp:
60050 2009-07-24  Dan Bernstein  <mitz@apple.com>
60052         Attempted build fix
60054         * bindings/js/JSAbstractWorkerCustom.cpp:
60055         (WebCore::toJS):
60057 2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60059         Build fix for 64 bit Linux.
60061         int64_t is long on Linux 64 bit and not long long, thus
60062         getFileSize with a int64_t out value fails to build.
60064         Use a temporary to work around the problem.
60066         * loader/appcache/ApplicationCacheStorage.cpp:
60067         (WebCore::ApplicationCacheStorage::spaceNeeded):
60069 2009-07-24  Eric Seidel  <eric@webkit.org>
60071         Reviewed by Adam Barth.
60073         Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
60074         https://bugs.webkit.org/show_bug.cgi?id=27644
60076         This is another attempt at making the change for bug 27634 smaller.
60077         I included the changes to make_names.pl as well as any file which
60078         used CREATE_DOM_*_WRAPPER macros.
60080         The changes to the construct* functions are what fix the cases in
60081         fast/dom/constructed-objects-prototypes.html
60083         The changes to passing globalObject through CREATE_* are what fix
60084         fast/dom/prototype-inheritance-2.html
60086         * bindings/js/JSCDATASectionCustom.cpp:
60087         (WebCore::toJSNewlyCreated): pass globalObject.
60088         * bindings/js/JSCSSRuleCustom.cpp:
60089         (WebCore::toJS): pass globalObject.
60090         * bindings/js/JSCSSValueCustom.cpp:
60091         (WebCore::toJS): pass globalObject.
60092         * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
60093         * bindings/js/JSDocumentCustom.cpp:
60094         (WebCore::toJS): pass globalObject.
60095         * bindings/js/JSElementCustom.cpp:
60096         (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
60097         (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
60098         (WebCore::toJSNewlyCreated): pass globalObject.
60099         * bindings/js/JSEventCustom.cpp:
60100         (WebCore::JSEvent::clipboardData): pass globalObject.
60101         (WebCore::toJS): pass globalObject.
60102         * bindings/js/JSHTMLCollectionCustom.cpp:
60103         (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
60104         (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
60105         (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
60106         (WebCore::toJS): pass globalObject.
60107         * bindings/js/JSImageDataCustom.cpp:
60108         (WebCore::toJS): pass globalObject.
60109         * bindings/js/JSNodeCustom.cpp:
60110         (WebCore::createWrapper): pass globalObject.
60111         * bindings/js/JSSVGPathSegCustom.cpp:
60112         (WebCore::toJS): pass globalObject.
60113         * bindings/js/JSStyleSheetCustom.cpp:
60114         (WebCore::toJS): pass globalObject.
60115         * bindings/js/JSTextCustom.cpp:
60116         (WebCore::toJSNewlyCreated): pass globalObject.
60117         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
60118         (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
60119         * bindings/js/JSXMLHttpRequestConstructor.cpp:
60120         (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
60121         * bindings/js/JSXSLTProcessorConstructor.cpp:
60122         (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
60123         * dom/make_names.pl:
60124             Pass globalObject through CREATE_* macros and various support functions.
60126 2009-07-24  Eric Seidel  <eric@webkit.org>
60128         Reviewed by Adam Barth.
60130         Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
60131         https://bugs.webkit.org/show_bug.cgi?id=27643
60133         This is an attempt to make this change as small as possible.
60134         I started by including all changes to CodeGeneratorJS.pm from bug 27634,
60135         and then made the minimal amount of other changes needed to support that change.
60137         Most toJS implementations ignore their passed JSDOMGlobalObject.
60138         There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
60139         All places where it is not clear what we should pass as the global object
60140         (or where the global object is simply not available, like for some SVG bindings)
60141         we pass deprecatedGlobalObjectForPrototype instead.
60143         * bindings/js/JSCDATASectionCustom.cpp:
60144         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
60145         * bindings/js/JSCSSRuleCustom.cpp:
60146         (WebCore::toJS): add ignored JSDOMGlobalObject*
60147         * bindings/js/JSCSSValueCustom.cpp:
60148         (WebCore::toJS): add ignored JSDOMGlobalObject*
60149         * bindings/js/JSDOMBinding.cpp:
60150         (WebCore::setDOMException): pass the wrong globalObject for now
60151         * bindings/js/JSDOMBinding.h:
60152             Pass the wrong global object to the CREATE_ macros for now.
60153             In the next change we'll come back and pass the correct one.
60154             That will require changes to make_names.pl.
60155         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
60156         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
60157         (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
60158         (WebCore::createDOMObjectWrapper):
60159         (WebCore::getDOMObjectWrapper):
60160         (WebCore::createDOMNodeWrapper):
60161         (WebCore::getDOMNodeWrapper):
60162         (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
60163         (WebCore::toJSNewlyCreated):
60164         * bindings/js/JSDOMWindowBase.cpp:
60165         (WebCore::toJS): DOMWindow always uses its own prototype chain.
60166         * bindings/js/JSDOMWindowBase.h:
60167         * bindings/js/JSDocumentCustom.cpp:
60168         (WebCore::toJS): add ignored JSDOMGlobalObject*
60169         * bindings/js/JSElementCustom.cpp:
60170         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
60171         * bindings/js/JSEventCustom.cpp:
60172         (WebCore::toJS): add ignored JSDOMGlobalObject*
60173         * bindings/js/JSEventTarget.cpp:
60174         (WebCore::toJS): add ignored JSDOMGlobalObject*
60175         * bindings/js/JSEventTarget.h:
60176         * bindings/js/JSHTMLCollectionCustom.cpp:
60177         (WebCore::toJS): add ignored JSDOMGlobalObject*
60178         * bindings/js/JSImageDataCustom.cpp:
60179         (WebCore::toJS): add ignored JSDOMGlobalObject*
60180         * bindings/js/JSNodeCustom.cpp:
60181         (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
60182         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
60183         (WebCore::toJS): add ignored JSDOMGlobalObject*
60184         * bindings/js/JSSVGElementInstanceCustom.cpp:
60185         (WebCore::toJS): pass globalObject along
60186         * bindings/js/JSSVGMatrixCustom.cpp:
60187         (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
60188         (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
60189         * bindings/js/JSSVGPathSegCustom.cpp:
60190         (WebCore::toJS):
60191         * bindings/js/JSSVGPathSegListCustom.cpp:
60192             All of these methods need a globalObject, but most SVG binding don't have
60193             space for one, so we just pass the lexicalGlobalObject for now.
60194         (WebCore::JSSVGPathSegList::initialize):
60195         (WebCore::JSSVGPathSegList::getItem):
60196         (WebCore::JSSVGPathSegList::insertItemBefore):
60197         (WebCore::JSSVGPathSegList::replaceItem):
60198         (WebCore::JSSVGPathSegList::removeItem):
60199         (WebCore::JSSVGPathSegList::appendItem):
60200         * bindings/js/JSSVGPointListCustom.cpp:
60201         (WebCore::finishGetter): pass wrong globalObject for now.
60202         (WebCore::finishSetter):
60203         (WebCore::finishSetterReadOnlyResult):
60204         * bindings/js/JSSVGTransformListCustom.cpp:
60205         (WebCore::finishGetter): pass wrong globalObject for now.
60206         (WebCore::finishSetter):
60207         (WebCore::finishSetterReadOnlyResult):
60208         * bindings/js/JSStyleSheetCustom.cpp:
60209         (WebCore::toJS): add ignored JSDOMGlobalObject*
60210         * bindings/js/JSTextCustom.cpp:
60211         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
60212         * bindings/js/JSWorkerContextBase.cpp:
60213         (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
60214         * bindings/js/JSWorkerContextBase.h:
60215         * bindings/scripts/CodeGeneratorJS.pm:
60216             All generated toJS calls now pass a globalObject.
60217             All generated toJS implementations now expect a globalObject.
60218             Simplified all the slot casts by using a "castedThis" local.
60219             SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
60220             Simplified printing of constructor objects using a $constructorClassName variable.
60221             All generated constructor functions follow the construct$className form to match the custom constructors.
60223 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60225         Reviewed by Timothy Hatcher.
60227         typing "document.__proto__" in inspector throws exception
60228         https://bugs.webkit.org/show_bug.cgi?id=27169
60230         * inspector/front-end/utilities.js:
60231         (Object.type):
60233 2009-07-24  Andrei Popescu  <andreip@google.com>
60235         Reviewed by Anders Carlsson.
60237         ApplicationCache should have size limit
60238         https://bugs.webkit.org/show_bug.cgi?id=22700
60240         https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
60242         This change implements a mechanism for limiting the maximum size of
60243         the application cache file. When this size is reached, a ChromeClient
60244         callback is invoked asynchronously and the saving of the last (failed)
60245         cache is retried automatically.
60246         
60247         This change also extends the ApplicationCacheStorage API by allowing
60248         a client to query or modify the application cache without having to
60249         load any resources into memory.
60251         Test: http/tests/appcache/max-size.html
60253         * WebCore.base.exp:
60254         Exports the symbols required by the DumpRenderTree test application.
60255         * loader/EmptyClients.h:
60256         Adds empty implementation of the new ChromeClient methods.
60257         * loader/appcache/ApplicationCache.cpp:
60258         * loader/appcache/ApplicationCache.h:
60259         Adds the ability to calculate the approximate size of an ApplicationCache object.
60260         * loader/appcache/ApplicationCacheGroup.cpp:
60261         * loader/appcache/ApplicationCacheGroup.h:
60262         Invokes the ChromeClient callback when the storage layer runs out of space.
60263         After the callback is invoked, we re-attempt to store the newest cache,
60264         in case the ChromeClient has freed some space.
60265         * loader/appcache/ApplicationCacheResource.cpp:
60266         * loader/appcache/ApplicationCacheResource.h:
60267         Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
60268         * loader/appcache/ApplicationCacheStorage.cpp:
60269         * loader/appcache/ApplicationCacheStorage.h:
60270         Enforces a maximum size for the application cache file.
60271         * page/ChromeClient.h:
60272         Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
60273         reached the maximum size for its database file.
60274         * platform/sql/SQLiteDatabase.cpp:
60275         * platform/sql/SQLiteDatabase.h:
60276         Adds a new method that allows querying for the amount of unused space inside the
60277         application cache database file.
60279 2009-07-24  Xan Lopez  <xlopez@igalia.com>
60281         Reviewed by Jan Alonzo.
60283         https://bugs.webkit.org/show_bug.cgi?id=25415
60284         [GTK][ATK] Please implement support for get_text_at_offset
60286         Use TextEncoding facilities to convert between UTF16 and UTF8
60287         instead of rolling our own solution.
60289         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
60290         (convertUniCharToUTF8):
60292 2009-07-24  Xan Lopez  <xlopez@igalia.com>
60294         Reviewed by Jan Alonzo.
60296         https://bugs.webkit.org/show_bug.cgi?id=25415
60297         [GTK][ATK] Please implement support for get_text_at_offset
60299         Fix confusion in g_substr between length in bytes and length in
60300         characters. Was causing crashes in some situations when dealing
60301         with non-ASCII text encoded as UTF8.
60303         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
60304         (g_substr):
60306 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60308         Reviewed by Timothy Hatcher.
60310         Inspector: Impossible to add an attribute to a node without attributes
60311         https://bugs.webkit.org/show_bug.cgi?id=21108
60313         * inspector/front-end/ElementsTreeOutline.js:
60314         (WebInspector.ElementsTreeElement):
60315         (WebInspector.ElementsTreeElement.prototype.set hovered):
60316         (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
60317         (WebInspector.ElementsTreeElement.prototype.ondblclick):
60318         (WebInspector.ElementsTreeElement.prototype._startEditing):
60319         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
60320         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
60321         * inspector/front-end/inspector.css:
60323 2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
60325         Reviewed by Timothy Hatcher.
60327         Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
60328         https://bugs.webkit.org/show_bug.cgi?id=17907
60330         * inspector/front-end/Console.js:
60331         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
60332             _inspectedNodes, _addInspectedNode, $0, $1, $n}
60333         * inspector/front-end/ElementsPanel.js:
60334         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
60335             in _inspectorCommandLineAPI._inspectedNodes
60336         (WebInspector.ElementsPanel):
60338 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60340         Reviewed by Timothy Hatcher.
60342         Dragging a resource in the sidebar should drag it's URL
60343         https://bugs.webkit.org/show_bug.cgi?id=14410
60345         * inspector/front-end/ResourcesPanel.js:
60346         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
60348 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60350         Reviewed by Timothy Hatcher.
60352         Double click on a resource in the sidebar should open that resource in Safari
60353         https://bugs.webkit.org/show_bug.cgi?id=14409
60355         * inspector/front-end/ResourcesPanel.js:
60356         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
60358 2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
60360         Reviewed by Xan Lopez.
60362         Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
60364         * platform/graphics/gtk/FontGtk.cpp:
60365         (WebCore::getDefaultPangoLayout):
60366         * platform/graphics/gtk/FontPlatformDataPango.cpp:
60367         (WebCore::FontPlatformData::FontPlatformData):
60368         * platform/gtk/Language.cpp:
60370 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60372         Reviewed by Timothy Hatcher.
60374         Inspector: Missing UIString and other localizedString.js fixes
60375         https://bugs.webkit.org/show_bug.cgi?id=27288
60377         * English.lproj/localizedStrings.js:
60379 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
60381         Reviewed by Timothy Hatcher.
60383         Inspector: Should Syntax Highlight JSON
60384         https://bugs.webkit.org/show_bug.cgi?id=27503
60386         * inspector/front-end/SourceView.js:
60387         (WebInspector.SourceView.prototype._contentLoaded):
60389 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
60391         Reviewed by Eric Seidel.
60393         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
60394         Style Guidelines as identified by cpplint.py.
60395         https://bugs.webkit.org/show_bug.cgi?id=27624
60397         * page/DragController.cpp:
60398         (WebCore::DragController::~DragController):
60399         (WebCore::documentFragmentFromDragData):
60400         (WebCore::DragController::dragEnded):
60401         (WebCore::DragController::dragEntered):
60402         (WebCore::DragController::dragExited):
60403         (WebCore::DragController::dragUpdated):
60404         (WebCore::DragController::performDrag):
60405         (WebCore::asFileInput):
60406         (WebCore::DragController::tryDocumentDrag):
60407         (WebCore::DragController::delegateDragSourceAction):
60408         (WebCore::DragController::concludeEditDrag):
60409         (WebCore::DragController::canProcessDrag):
60410         (WebCore::DragController::tryDHTMLDrag):
60411         (WebCore::DragController::mayStartDragAtEventLocation):
60412         (WebCore::getCachedImage):
60413         (WebCore::getImage):
60414         (WebCore::prepareClipboardForImageDrag):
60415         (WebCore::dragLocForDHTMLDrag):
60416         (WebCore::DragController::startDrag):
60417         (WebCore::DragController::doImageDrag):
60418         (WebCore::DragController::doSystemDrag):
60419         (WebCore::DragController::placeDragCaret):
60421 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
60423         Reviewed by Eric Seidel.
60425         Update WebCore/page/Chrome.cpp to conform to WebKit
60426         Style Guidelines as identified by cpplint.py.
60427         https://bugs.webkit.org/show_bug.cgi?id=27608
60429         * page/Chrome.cpp:
60430         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
60431         (WebCore::Chrome::runJavaScriptAlert):
60432         (WebCore::Chrome::runJavaScriptConfirm):
60433         (WebCore::Chrome::runJavaScriptPrompt):
60434         (WebCore::Chrome::shouldInterruptJavaScript):
60435         (WebCore::Chrome::setToolTip):
60436         (WebCore::Chrome::requestGeolocationPermissionForFrame):
60437         (WebCore::ChromeClient::generateReplacementFile):
60438         (WebCore::ChromeClient::paintCustomScrollbar):
60440 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
60442         Reviewed by Eric Seidel.
60444         Update WebCore/page/Coordinates.cpp to conform to WebKit
60445         Style Guidelines as identified by cpplint.py.
60446         https://bugs.webkit.org/show_bug.cgi?id=27614
60448         * page/Coordinates.cpp:
60449         (WebCore::Coordinates::toString):
60451 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
60453         Reviewed by Eric Seidel.
60455         Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
60456         Style Guidelines as identified by cpplint.py.
60457         https://bugs.webkit.org/show_bug.cgi?id=27614
60459         * page/DOMSelection.cpp:
60460         (WebCore::DOMSelection::setBaseAndExtent):
60461         (WebCore::DOMSelection::modify):
60462         (WebCore::DOMSelection::addRange):
60463         (WebCore::DOMSelection::deleteFromDocument):
60464         * page/DOMSelection.h:
60466 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
60468         Reviewed by Eric Seidel.
60470         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
60471         Style Guidelines as identified by cpplint.py.
60472         https://bugs.webkit.org/show_bug.cgi?id=27618
60474         * page/DOMTimer.cpp:
60475         (WebCore::DOMTimer::DOMTimer):
60476         (WebCore::DOMTimer::~DOMTimer):
60477         (WebCore::DOMTimer::fired):
60478         (WebCore::DOMTimer::suspend):
60479         (WebCore::DOMTimer::resume):
60480         (WebCore::DOMTimer::canSuspend):
60481         * page/DOMTimer.h:
60482         (WebCore::DOMTimer::minTimerInterval):
60483         (WebCore::DOMTimer::setMinTimerInterval):
60485 2009-07-24  Eric Seidel  <eric@webkit.org>
60487         Reviewed by Adam Barth.
60489         Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
60490         https://bugs.webkit.org/show_bug.cgi?id=27641
60492         Nothing uses globalObject() yet, but this was causing crashes
60493         in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
60495         I decided to change these to Base:: instead of DOMObjectWithGlobal::
60496         for future-proofing.  All autogenerated classes use a typedef Base
60497         to avoid bugs like these.  Sadly C+does not have a built-in super:: we could use.
60499         * WebCore.xcodeproj/project.pbxproj:
60500         * bindings/js/JSAbstractWorkerCustom.cpp:
60501         (WebCore::JSAbstractWorker::mark):
60502         * bindings/js/JSDOMApplicationCacheCustom.cpp:
60503         (WebCore::JSDOMApplicationCache::mark):
60504         * bindings/js/JSMessageChannelCustom.cpp:
60505         (WebCore::JSMessageChannel::mark):
60506         * bindings/js/JSMessagePortCustom.cpp:
60507         (WebCore::JSMessagePort::mark):
60508         * bindings/js/JSNamedNodesCollection.cpp:
60509         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
60510         * bindings/js/JSNodeCustom.cpp:
60511         (WebCore::JSNode::mark):
60512         * bindings/js/JSNodeFilterCustom.cpp:
60513         (WebCore::JSNodeFilter::mark):
60514         * bindings/js/JSNodeIteratorCustom.cpp:
60515         (WebCore::JSNodeIterator::mark):
60516         * bindings/js/JSSVGElementInstanceCustom.cpp:
60517         (WebCore::JSSVGElementInstance::mark):
60518         * bindings/js/JSTreeWalkerCustom.cpp:
60519         (WebCore::JSTreeWalker::mark):
60521 2009-07-22  Eric Seidel  <eric@webkit.org>
60523         Reviewed by Adam Barth.
60525         Make most DOMObjects hold onto a JSDOMGlobalObject*
60526         https://bugs.webkit.org/show_bug.cgi?id=27588
60528         This change is almost entirely plumbing.  Only one functional
60529         change as part of this all (window.document.constructor has the correct prototype)
60530         Changes are detailed below.
60532         inner.document.constructor is fixed because all properties on the window
60533         object are created with the correct globalObject (instead of the lexical one).
60534         Since all objects now carry a globalObject pointer, when document creates
60535         HTMLDocumentConstructor it now has the right globalObject to use.
60537         Tests:
60538           fast/dom/prototype-inheritance.html
60539           fast/dom/prototype-inheritance-2.html
60541         * bindings/js/DOMObjectWithSVGContext.h:
60542         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
60543             Update the comment and add an ignored globalObject argument.
60544         * bindings/js/JSDOMBinding.h:
60545             Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
60546             Once toJS is passed a globalObject it will be the right one.
60547         (WebCore::createDOMObjectWrapper):
60548         (WebCore::createDOMNodeWrapper):
60549         * bindings/js/JSDOMGlobalObject.h:
60550         (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
60551         * bindings/js/JSDOMWindowCustom.cpp:
60552         (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
60553         (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
60554         * bindings/js/JSDocumentCustom.cpp:
60555         (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
60556         * bindings/js/JSHTMLAllCollection.h:
60557         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
60558         * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
60559         (WebCore::getNamedItems):
60560         (WebCore::callHTMLCollection):
60561         (WebCore::JSHTMLCollection::canGetItemsForName):
60562         (WebCore::JSHTMLCollection::nameGetter):
60563         (WebCore::JSHTMLCollection::item):
60564         (WebCore::JSHTMLCollection::namedItem):
60565         * bindings/js/JSHTMLFormElementCustom.cpp:
60566         (WebCore::JSHTMLFormElement::nameGetter):
60567         * bindings/js/JSNamedNodesCollection.cpp:
60568              Now passed globalObject.  This is tested by inner.document.forms.testForm.
60569              The passed globalObject is still wrong until toJS is fixed.
60570         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
60571         * bindings/js/JSNamedNodesCollection.h:
60572         * bindings/js/JSSharedWorkerConstructor.cpp:
60573              Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
60574              This class is not compiled by default, so not testable.
60575         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
60576         * bindings/js/JSSharedWorkerConstructor.h:
60577         * bindings/scripts/CodeGeneratorJS.pm:
60578              Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
60579              SVG bindings which need a context() pointer do not have enough space for globalObject() too.
60580              WorkerContext does not need a globalObject (it is one), so special case it.
60581              Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
60582              Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
60583              override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
60585 2009-07-23  Brady Eidson  <beidson@apple.com>
60587         Reviewed by Geoff Garen.
60589         WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
60590         https://bugs.webkit.org/show_bug.cgi?id=27595
60592         Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
60593         
60594         * inspector/InspectorController.cpp:
60595         (WebCore::InspectorController::removeResource): Null-check the request URL.
60596         
60597         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
60598         (WebCore::willSendRequest):
60600 2009-07-23  Chris Fleizach  <cfleizach@apple.com>
60602         Reviewed by Darin Adler.
60604         Bug 27633 - AXLoadComplete can be fired off to frequently
60605         https://bugs.webkit.org/show_bug.cgi?id=27633
60607         An integration issue left out some curly braces.
60609         * dom/Document.cpp:
60610         (WebCore::Document::implicitClose):
60612 2009-07-23  Darin Adler  <darin@apple.com>
60614         Reviewed by Brady Eidson.
60616         URL appears in back/forward button menu instead of title for items with custom representation
60617         https://bugs.webkit.org/show_bug.cgi?id=27586
60618         rdar://problem/5060337
60620         * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
60621         * loader/FrameLoader.cpp:
60622         (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
60623         loader is the correct one; previously this would never happen because we'd
60624         commit the load before any title changes could be registered, but now we can
60625         encounter a case where we get a title during a provisional load.
60627 2009-07-23  Dan Bernstein  <mitz@apple.com>
60629         Reviewed by Dave Hyatt.
60631         [CSS3 Backgrounds and Borders] Add support for inset box shadows
60632         https://bugs.webkit.org/show_bug.cgi?id=27582
60634         Test: fast/box-shadow/inset.html
60636         * css/CSSComputedStyleDeclaration.cpp:
60637         (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
60638             as needed.
60640         * css/CSSParser.cpp:
60641         (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
60642             members. Initialize the allowStyle member.
60643         (WebCore::ShadowParseContext::commitValue): Pass the style value to the
60644             ShadowValue constructor. Reset allowStyle.
60645         (WebCore::ShadowParseContext::commitLength): Update allowStyle.
60646         (WebCore::ShadowParseContext::commitColor): Ditto.
60647         (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
60648             updates the state.
60649         (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
60651         * css/CSSStyleSelector.cpp:
60652         (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
60653             shadow value and pass it to the ShadowData constructor.
60655         * css/ShadowValue.cpp:
60656         (WebCore::ShadowValue::ShadowValue): Added style.
60657         (WebCore::ShadowValue::cssText): Added style.
60659         * css/ShadowValue.h:
60660         (WebCore::ShadowValue::create): Added style.
60662         * page/animation/AnimationBase.cpp:
60663         (WebCore::blendFunc): Added a blend function for shadow styles. When blending
60664             between normal and inset shadows, all intermediate values map to normal.
60665         (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
60666             shadow.
60667             
60668         * rendering/InlineFlowBox.cpp:
60669         (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
60670             which is passed through to RenderBoxModelObject::paintBoxShadow().
60672         (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
60673             the background.
60675         * rendering/InlineFlowBox.h:
60677         * rendering/RenderBox.cpp:
60678         (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
60679             background.
60681         * rendering/RenderBoxModelObject.cpp:
60682         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
60683             parameter, and code to paint inset shadows.
60685         * rendering/RenderBoxModelObject.h:
60687         * rendering/RenderFieldset.cpp:
60688         (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
60689             the background.
60691         * rendering/RenderTable.cpp:
60692         (WebCore::RenderTable::paintBoxDecorations): Ditto.
60694         * rendering/RenderTableCell.cpp:
60695         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
60697         * rendering/style/ShadowData.h:
60698         Added a ShadowStyle enum.
60699         (WebCore::ShadowData::ShadowData): Add and initialize a style member.
60701 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
60703         Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
60705         * css/MediaQueryEvaluator.cpp:
60706         (WebCore::transform_3dMediaFeatureEval):
60708 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
60710         Reviewed by Adele Peterson.
60712         3d-transforms media query needs to look check that accelerated compositing is enabled
60713         https://bugs.webkit.org/show_bug.cgi?id=27621
60714         
60715         When evaluating a media query with '-webkit-transform-3d', we need to check the
60716         runtime switch that toggles accererated compositing, and therefore 3D.
60717         
60718         No test because we can't disable the pref dynamically in DRT.
60720         * css/MediaQueryEvaluator.cpp:
60721         (WebCore::transform_3dMediaFeatureEval):
60723 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
60725         Reviewed by Eric Seidel.
60727         execCommand('underline') can't remove <U> underlines
60728         https://bugs.webkit.org/show_bug.cgi?id=20215
60730         This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
60731         WebKit can remove those presentational tags when necessary.
60732         It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
60733         (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
60735         * css/CSSValueList.cpp:
60736         (WebCore::CSSValueList::hasValue): True if the property contains the specified value
60737         * css/CSSValueList.h: Updated prototype
60738         * editing/ApplyStyleCommand.cpp:
60739         (WebCore::StyleChange::init): No longer adds "text-decoration: none"
60740         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
60742 2009-07-23  Jessie Berlin  <jberlin@apple.com>
60743         
60744         Reviewed by Dan Bernstein.
60746         https://bugs.webkit.org/show_bug.cgi?id=27554
60747         Expose the value of text-overflow in getComputedStyle.
60749         Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
60751         * css/CSSComputedStyleDeclaration.cpp:
60752         (WebCore::):
60753         Add text-overflow to the list of computedProperties.
60754         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60755         Return the value of the text-overflow property.
60757 2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
60759         Reviewed by Simon Hausmann.
60761         https://bugs.webkit.org/show_bug.cgi?id=27510
60763         [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
60764         file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
60765         be reverted after qmake is fixed.
60767         * WebCore.pro:
60769 2009-07-23  Jian Li  <jianli@chromium.org>
60771         Reviewed by David Levin.
60773         [V8] Fix an assert in running workers in Chrome.
60774         https://bugs.webkit.org/show_bug.cgi?id=27620
60776         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
60777         to do not call removeObjectsFromWrapperMap for certain types of DOM
60778         objects that exist only in main thread.
60780         * bindings/v8/V8DOMMap.cpp:
60781         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
60783 2009-07-23  David Hyatt  <hyatt@apple.com>
60785         Reviewed by Dan Bernstein.
60787         https://bugs.webkit.org/show_bug.cgi?id=27572
60788         Implement support for background-attachment:local.
60790         Added new test fast/overflow/overflow-with-local-attachment.html.
60792         * css/CSSComputedStyleDeclaration.cpp:
60793         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60794         * css/CSSParser.cpp:
60795         (WebCore::CSSParser::parseFillProperty):
60796         * css/CSSPrimitiveValueMappings.h:
60797         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
60798         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
60799         * css/CSSStyleSelector.cpp:
60800         (WebCore::CSSStyleSelector::mapFillAttachment):
60801         * css/CSSValueKeywords.in:
60802         * rendering/RenderBoxModelObject.cpp:
60803         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
60804         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
60805         * rendering/style/FillLayer.h:
60806         (WebCore::FillLayer::attachment):
60807         (WebCore::FillLayer::setAttachment):
60808         (WebCore::FillLayer::hasFixedImage):
60809         (WebCore::FillLayer::initialFillAttachment):
60810         * rendering/style/RenderStyle.h:
60811         (WebCore::InheritedFlags::backgroundAttachment):
60812         (WebCore::InheritedFlags::maskAttachment):
60813         * rendering/style/RenderStyleConstants.h:
60814         (WebCore::):
60816 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
60818         Reviewed by Eric Seidel.
60820         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
60821         https://bugs.webkit.org/show_bug.cgi?id=27325
60823         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
60824         1.  Calculating the typing style.
60825         2.  Moving HTML subtrees and seeking to remove redundant styles.
60826         These tasks should be broken out into two separate functions.  New code should not use this function.
60828         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
60830         There is no test since the patch does not change any behavior.
60832         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
60833         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
60834         * css/CSSComputedStyleDeclaration.h: ditto
60835         * editing/DeleteSelectionCommand.cpp: ditto
60836         (WebCore::removeEnclosingAnchorStyle): ditto
60837         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
60838         * editing/EditCommand.cpp: ditto
60839         (WebCore::EditCommand::styleAtPosition): ditto
60840         * editing/RemoveFormatCommand.cpp: ditto
60841         (WebCore::RemoveFormatCommand::doApply): ditto
60842         * editing/ReplaceSelectionCommand.cpp: ditto
60843         (WebCore::handleStyleSpansBeforeInsertion): ditto
60844         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
60845         * editing/markup.cpp: ditto
60846         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
60847         (WebCore::removeDefaultStyles): ditto
60848         (WebCore::createMarkup): ditto
60850 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
60852         Reviewed by Simon Fraser.
60854         Audio element at default width shouldn't have time field.
60855         https://bugs.webkit.org/show_bug.cgi?id=27589
60857         * rendering/MediaControlElements.cpp:
60858         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
60859         forget to remember the visibility if there is no renderer.
60861 2009-07-23  Beth Dakin  <bdakin@apple.com>
60863         Reviewed by Darin Adler.
60865         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
60866         AccessibilityObject class
60868         Mostly this is just moving empty stubs into the header rather than 
60869         muddying the cpp file with them. A few functions were made pure 
60870         virtual.
60872         * accessibility/AccessibilityObject.cpp:
60873         (WebCore::AccessibilityObject::isARIAControl):
60874         (WebCore::AccessibilityObject::clickPoint):
60875         (WebCore::AccessibilityObject::documentFrameView):
60876         (WebCore::AccessibilityObject::actionVerb):
60877         * accessibility/AccessibilityObject.h:
60878         (WebCore::AccessibilityObject::intValue):
60879         (WebCore::AccessibilityObject::layoutCount):
60880         (WebCore::AccessibilityObject::doAccessibilityHitTest):
60881         (WebCore::AccessibilityObject::focusedUIElement):
60882         (WebCore::AccessibilityObject::firstChild):
60883         (WebCore::AccessibilityObject::lastChild):
60884         (WebCore::AccessibilityObject::previousSibling):
60885         (WebCore::AccessibilityObject::nextSibling):
60886         (WebCore::AccessibilityObject::parentObjectIfExists):
60887         (WebCore::AccessibilityObject::observableObject):
60888         (WebCore::AccessibilityObject::linkedUIElements):
60889         (WebCore::AccessibilityObject::titleUIElement):
60890         (WebCore::AccessibilityObject::ariaRoleAttribute):
60891         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
60892         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
60893         (WebCore::AccessibilityObject::roleValue):
60894         (WebCore::AccessibilityObject::ariaAccessiblityName):
60895         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
60896         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
60897         (WebCore::AccessibilityObject::accessibilityDescription):
60898         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
60899         (WebCore::AccessibilityObject::axObjectCache):
60900         (WebCore::AccessibilityObject::axObjectID):
60901         (WebCore::AccessibilityObject::setAXObjectID):
60902         (WebCore::AccessibilityObject::anchorElement):
60903         (WebCore::AccessibilityObject::actionElement):
60904         (WebCore::AccessibilityObject::boundingBoxRect):
60905         (WebCore::AccessibilityObject::selectedTextRange):
60906         (WebCore::AccessibilityObject::selectionStart):
60907         (WebCore::AccessibilityObject::selectionEnd):
60908         (WebCore::AccessibilityObject::url):
60909         (WebCore::AccessibilityObject::selection):
60910         (WebCore::AccessibilityObject::stringValue):
60911         (WebCore::AccessibilityObject::title):
60912         (WebCore::AccessibilityObject::helpText):
60913         (WebCore::AccessibilityObject::textUnderElement):
60914         (WebCore::AccessibilityObject::text):
60915         (WebCore::AccessibilityObject::textLength):
60916         (WebCore::AccessibilityObject::selectedText):
60917         (WebCore::AccessibilityObject::accessKey):
60918         (WebCore::AccessibilityObject::widget):
60919         (WebCore::AccessibilityObject::widgetForAttachmentView):
60920         (WebCore::AccessibilityObject::setFocused):
60921         (WebCore::AccessibilityObject::setSelectedText):
60922         (WebCore::AccessibilityObject::setSelectedTextRange):
60923         (WebCore::AccessibilityObject::setValue):
60924         (WebCore::AccessibilityObject::setSelected):
60925         (WebCore::AccessibilityObject::makeRangeVisible):
60926         (WebCore::AccessibilityObject::childrenChanged):
60927         (WebCore::AccessibilityObject::addChildren):
60928         (WebCore::AccessibilityObject::hasChildren):
60929         (WebCore::AccessibilityObject::selectedChildren):
60930         (WebCore::AccessibilityObject::visibleChildren):
60931         (WebCore::AccessibilityObject::visiblePositionRange):
60932         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
60933         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
60934         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
60935         (WebCore::AccessibilityObject::visiblePositionForPoint):
60936         (WebCore::AccessibilityObject::nextVisiblePosition):
60937         (WebCore::AccessibilityObject::previousVisiblePosition):
60938         (WebCore::AccessibilityObject::visiblePositionForIndex):
60939         (WebCore::AccessibilityObject::indexForVisiblePosition):
60940         (WebCore::AccessibilityObject::index):
60941         (WebCore::AccessibilityObject::doAXRangeForLine):
60942         (WebCore::AccessibilityObject::doAXRangeForIndex):
60943         (WebCore::AccessibilityObject::doAXStringForRange):
60944         (WebCore::AccessibilityObject::doAXBoundsForRange):
60945         (WebCore::AccessibilityObject::updateBackingStore):
60947 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
60949         Reviewed by David Hyatt.
60951         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
60953         * page/EventHandler.cpp:
60954         (WebCore::EventHandler::handleMousePressEvent):
60955         * platform/ScrollView.cpp:
60956         (WebCore::ScrollView::wheelEvent):
60957         * platform/ScrollView.h:
60959 2009-07-23  David Hyatt  <hyatt@apple.com>
60961         Reviewed by Dan Bernstein.
60963         https://bugs.webkit.org/show_bug.cgi?id=27581
60964         Drop the prefix from the box-shadow property.
60966         * css/CSSComputedStyleDeclaration.cpp:
60967         (WebCore::):
60968         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60969         * css/CSSParser.cpp:
60970         (WebCore::CSSParser::parseValue):
60971         (WebCore::ShadowParseContext::commitLength):
60972         (WebCore::cssPropertyID):
60973         * css/CSSPropertyNames.in:
60974         * css/CSSStyleSelector.cpp:
60975         (WebCore::CSSStyleSelector::applyProperty):
60976         * page/animation/AnimationBase.cpp:
60977         (WebCore::ensurePropertyMap):
60979 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
60981         Reviewed by David Hyatt.
60983         https://bugs.webkit.org/show_bug.cgi?id=27289
60984         When a mouse click occurs on a scrollbar without a preceding mouse move
60985         onto it, the release isn't handled correctly (since
60986         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
60987         only on mouse move). (Side comment: That scrollbar-handling code
60988         in EventHandler is ugly. It should be fixed properly.)
60990         Tests: scrollbars/scrollbar-miss-mousemove.html
60991                scrollbars/scrollbar-miss-mousemove-disabled.html
60993         * page/EventHandler.cpp:
60994         (WebCore::EventHandler::handleMousePressEvent):
60995         (WebCore::EventHandler::handleMouseMoveEvent):
60996         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
60997         * page/EventHandler.h:
60999 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
61001         Reviewed by David Levin.
61003         Update WebCore/page/BarInfo.cpp to conform to WebKit
61004         Style Guidelines as identified by cpplint.py.
61005         https://bugs.webkit.org/show_bug.cgi?id=27606
61007         * page/BarInfo.cpp:
61008         (WebCore::BarInfo::visible):
61010 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
61012         Reviewed by David Levin.
61014         Update WebCore/page/Console.cpp to conform to WebKit
61015         Style Guidelines as identified by cpplint.py.
61016         https://bugs.webkit.org/show_bug.cgi?id=27606
61018         * page/Console.cpp:
61019         (WebCore::printMessageSourceAndLevelPrefix):
61020         (WebCore::Console::profile):
61021         (WebCore::Console::time):
61023 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
61025         Reviewed by Holger Freyther.
61027         Fix crashes with the QObject bindings after garbage collection.
61029         There is one QtInstance per wrapped QObject, and that QtInstance keeps
61030         references to cached JSObjects for slots. When those objects get
61031         deleted due to GC, then they becoming dangling pointers.
61033         When a cached member dies, it is now removed from the QtInstance's
61034         cache.
61036         As we cannot track the lifetime of the children, we have to remove
61037         them from QtInstance alltogether. They are not cached and were
61038         only used for mark(), but we _want_ them to be subject to gc.
61040         * bridge/qt/qt_instance.cpp:
61041         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
61042         use qDeleteAll().
61043         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
61044         clean m_methods and m_defaultMethod.
61045         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
61046         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
61047         marking.
61048         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
61049         * bridge/qt/qt_runtime.cpp:
61050         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
61051         with this on the instance.
61053 2009-07-23  Xan Lopez  <xlopez@igalia.com>
61055         Reviewed by Mark Rowe.
61057         https://bugs.webkit.org/show_bug.cgi?id=27599
61058         'const unsigned' in return value
61060         Remove const modifier from unsigned return value, as it does not
61061         make sense.
61063         * dom/ErrorEvent.h:
61065 2009-07-22  Jens Alfke  <snej@chromium.org>
61067         Reviewed by David Levin.
61069         Bug 22784: Improve keyboard navigation of Select elements.
61070         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
61071         on non-Mac platforms.
61072         https://bugs.webkit.org/show_bug.cgi?id=22784
61073         http://code.google.com/p/chromium/issues/detail?id=4576
61075         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
61077         * dom/SelectElement.cpp:
61078         (WebCore::nextValidIndex): 
61079         New utility fn for traversing items of a select's list.
61080         (WebCore::SelectElement::menuListDefaultEventHandler):
61081         Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
61083 2009-07-23  Xan Lopez  <xlopez@igalia.com>
61085         Reviewed by Mark Rowe.
61087         Fix a couple of compiler warnings.
61089         * platform/graphics/cairo/ImageBufferCairo.cpp:
61090         (copySurface):
61091         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
61092         (WebCore::SimpleFontData::containsCharacters):
61094 2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
61096         Rubber-stamped by David Levin.
61098         Enable HTML5 Datagrid defines for the Qt build.
61100         * WebCore.pro:
61102 2009-07-22  Adam Barth  <abarth@webkit.org>
61104         Reviewed by David Levin.
61106         [V8] Make Node wrappers go fast
61107         https://bugs.webkit.org/show_bug.cgi?id=27597
61109         Profiles indicate we're spending a lot of time asking whether we're on
61110         the main thread when looking up DOM wrappers for Nodes, but there isn't
61111         much point in doing that work because Nodes only exist on the main
61112         thread.  I've also added an assert to keep us honest in this regard.
61114         * bindings/v8/V8DOMMap.cpp:
61115         (WebCore::):
61116         (WebCore::getDOMNodeMap):
61117         (WebCore::DOMData::getCurrent):
61118         (WebCore::DOMData::getCurrentMainThread):
61120 2009-07-22  Adam Barth  <abarth@webkit.org>
61122         Reviewed by Alexey Proskuryakov.
61124         Remove unneeded virtual destructor from ScriptSourceProvider
61125         https://bugs.webkit.org/show_bug.cgi?id=27563
61127         * bindings/js/ScriptSourceProvider.h:
61129 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
61131         Reviewed by Eric Seidel.
61133         execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
61134         https://bugs.webkit.org/show_bug.cgi?id=27476
61136         executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
61137         This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
61138         It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
61139         and adds removeAll member function to CSSValueList.
61141         Tests: editing/execCommand/toggle-text-decorations.html
61142                fast/css/getComputedStyle/getComputedStyle-text-decoration.html
61144         * css/CSSComputedStyleDeclaration.cpp:
61145         (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
61146         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
61147         * css/CSSParser.cpp:
61148         (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
61149         * css/CSSValueList.cpp:
61150         (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
61151         * css/CSSValueList.h:
61152         * editing/EditorCommand.cpp:
61153         (WebCore::applyCommandToFrame): Apply style to a frame using specified command
61154         (WebCore::executeApplyStyle): Uses applyCommandToFrame
61155         (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
61156         (WebCore::executeToggleStyle): Toggles a style in CSSValueList
61157         (WebCore::executeStrikethrough): Uses executeToggleStyleInList
61158         (WebCore::executeUnderline): Uses executeToggleStyleInList
61160 2009-07-22  Daniel Bates  <dbates@intudata.com>
61162         Reviewed by Adam Barth.
61164         https://bugs.webkit.org/show_bug.cgi?id=27174
61165         And
61166         https://bugs.webkit.org/show_bug.cgi?id=26938
61167         
61168         Code cleanup. Implements support for detecting attacks transformed by 
61169         PHP Magic Quotes/PHP addslashes().
61171         Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
61172                http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
61173                http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
61174                http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
61176         * page/XSSAuditor.cpp:
61177         (WebCore::isInvalidCharacter):
61178         (WebCore::XSSAuditor::canEvaluate):
61179         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
61180         (WebCore::XSSAuditor::canLoadObject):
61181         (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
61182         and removes control characters that could otherwise cause a discrepancy between
61183         the source code of a script and the outgoing HTTP parameters.
61184         (WebCore::XSSAuditor::decodeURL):
61185         (WebCore::XSSAuditor::decodeHTMLEntities):
61186         (WebCore::XSSAuditor::findInRequest):
61187         * page/XSSAuditor.h:
61189 2009-07-22  Oliver Hunt  <oliver@apple.com>
61191         Reviewed by Adele Peterson.
61193         Null deref in JSObject::mark due to null xhr wrapper
61194         https://bugs.webkit.org/show_bug.cgi?id=27565
61196         Make event target binding for appcache and xhr behave in the same way as
61197         it does for all other events.
61199         No test as I couldn't make a testcase which was remotely reliable.
61201         * bindings/js/JSEventTarget.cpp:
61202         (WebCore::toJS):
61204 2009-07-22  Mads Ager  <ager@chromium.org>
61206         Reviewed by David Levin.
61208         Inform V8 of the amount of WebCore string memory it is keeping alive.
61209         https://bugs.webkit.org/show_bug.cgi?id=27537
61211         V8 uses external strings that are backed by WebCore strings. Since
61212         the external strings themselves are small, V8 has no way of
61213         knowing how much memory it is actually holding on to. With this
61214         change, we inform V8 of the amount of WebCore string data it is
61215         holding on to with external strings.
61217         * bindings/v8/V8Binding.cpp:
61218         (WebCore::WebCoreStringResource::WebCoreStringResource):
61219         (WebCore::WebCoreStringResource::~WebCoreStringResource):
61221 2009-07-22  David Hyatt  <hyatt@apple.com>
61223         Reviewed by Beth Dakin.
61225         https://bugs.webkit.org/show_bug.cgi?id=27562
61226         Add the finalized versions of background-clip and background-origin.  Remove background-clip from
61227         the background shorthand and have it be auto-set based off background-origin's value.
61229         Three new tests added in fast/backgrounds/size
61231         * css/CSSComputedStyleDeclaration.cpp:
61232         (WebCore::):
61233         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
61234         * css/CSSMutableStyleDeclaration.cpp:
61235         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
61236         * css/CSSParser.cpp:
61237         (WebCore::CSSParser::parseValue):
61238         (WebCore::CSSParser::parseFillShorthand):
61239         (WebCore::CSSParser::parseFillProperty):
61240         * css/CSSPropertyLonghand.cpp:
61241         (WebCore::initShorthandMap):
61242         * css/CSSPropertyNames.in:
61243         * css/CSSStyleSelector.cpp:
61244         (WebCore::CSSStyleSelector::applyProperty):
61245         * css/CSSValueKeywords.in:
61247 2009-07-22  Jens Alfke  <snej@chromium.org>
61249         Reviewed by Darin Fisher.
61251         Hook up V8 bindings for DataGrid elements.
61252         https://bugs.webkit.org/show_bug.cgi?id=27383
61253         http://code.google.com/p/chromium/issues/detail?id=16730
61255         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
61256         to handle exceptions, check appropriate JS prototypes, and
61257         test column-list's item() method as well as array-indexing.
61259         * WebCore.gypi: Added new source files.
61260         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
61261         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
61262         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
61263         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
61264         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
61265         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
61266         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
61267         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
61268         (WebCore::V8DataGridDataSource::create):
61269         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
61270         (WebCore::V8DataGridDataSource::jsDataSource):
61271         (WebCore::asV8DataGridDataSource):
61272         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
61273         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
61274         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
61275         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
61276         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
61277         (WebCore::ACCESSOR_GETTER):
61278         (WebCore::ACCESSOR_SETTER):
61280 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
61282         Reviewed by Eric Seidel.
61284         pushDownTextDecorationStyleAroundNode needs clean up
61285         https://bugs.webkit.org/show_bug.cgi?id=27556
61287         Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
61288         While traversing, it will apply the specified style to all nodes but targetNode.
61289         i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
61291         * editing/ApplyStyleCommand.cpp:
61292         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
61293         * editing/ApplyStyleCommand.h: Updated prototype
61295 2009-07-22  Peter Kasting  <pkasting@google.com>
61297         Reviewed by David Kilzer.
61299         https://bugs.webkit.org/show_bug.cgi?id=27323
61300         Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
61302         * DerivedSources.make:
61303         * css/makeprop.pl:
61304         * css/makevalues.pl:
61306 2009-07-22  Paul Godavari  <paul@chromium.org>
61308         Reviewed by Darin Fisher.
61310         Chromium has a build break after removal of JSRGBColor bindings
61311         https://bugs.webkit.org/show_bug.cgi?id=27548
61313         Fix a build break in Chromium V8 after the JSRGBColor bindings change:
61314         https://bugs.webkit.org/show_bug.cgi?id=27242
61316         * bindings/scripts/CodeGeneratorV8.pm:
61318 2009-07-22  Adam Langley  <agl@google.com>
61320         Reviewed by Darin Fisher.
61322         Chromium Linux: add static functions to FontPlatformData which allow
61323         for setting the global font rendering preferences.
61325         https://bugs.webkit.org/show_bug.cgi?id=27513
61326         http://code.google.com/p/chromium/issues/detail?id=12179
61328         This should not affect any layout tests.
61330         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
61331         (WebCore::FontPlatformData::setHinting):
61332         (WebCore::FontPlatformData::setAntiAlias):
61333         (WebCore::FontPlatformData::setSubpixelGlyphs):
61334         (WebCore::FontPlatformData::setupPaint):
61335         * platform/graphics/chromium/FontPlatformDataLinux.h:
61337 2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
61339         Reviewed by Timothy Hatcher.
61341         Move Inspector panels creation into a function to make possible introducing
61342         custom panels.
61344         * inspector/front-end/inspector.js:
61345         (WebInspector._createPanels):
61346         (WebInspector.loaded):
61348 2009-07-22  Pavel Feldman  <pfeldman@chromium.org>
61350         Reviewed by Timothy Hatcher.
61352         WebInspector: Print console command message upon evaluate
61353         selection request; Handle errors in evaluation request
61354         properly.
61356         https://bugs.webkit.org/show_bug.cgi?id=27535
61358         * inspector/front-end/ScriptsPanel.js:
61359         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
61360         * inspector/front-end/SourceFrame.js:
61361         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
61363 2009-07-22  Xan Lopez  <xlopez@igalia.com>
61365         Attempt to fix the GTKbuild.
61367         * GNUmakefile.am:
61369 2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
61371         Fix the Qt build.
61373         * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
61375 2009-07-21  Daniel Bates  <dbates@intudata.com>
61377         Reviewed by Adam Barth.
61379         https://bugs.webkit.org/show_bug.cgi?id=27494
61381         Fixes an issue that can cause a crash or unexpected behavior when calling
61382         WebCore::ScriptSourceCode::source on a cached script.
61384         * GNUmakefile.am:
61385         * WebCore.gypi:
61386         * WebCore.pro:
61387         * WebCore.vcproj/WebCore.vcproj:
61388         * WebCore.xcodeproj/project.pbxproj:
61389         * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
61390         WebCore::ScriptSourceCode.
61391         (WebCore::CachedScriptSourceProvider::source):
61392         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
61393         * bindings/js/ScriptSourceCode.h:
61394         (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
61395         rewrote to use WebCore::ScriptSourceProvider.
61396         (WebCore::ScriptSourceCode::source):
61397         * bindings/js/ScriptSourceProvider.h: Added.
61398         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
61399         (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
61400         * bindings/js/StringSourceProvider.h: Modified to inherit from 
61401         WebCore::ScriptSourceCode.
61402         (WebCore::StringSourceProvider::StringSourceProvider):
61404 2009-07-21  Sam Weinig  <sam@webkit.org>
61406         Another attempt to fix the Windows build.
61408         * WebCore.vcproj/WebCore.vcproj:
61410 2009-07-21  Sam Weinig  <sam@webkit.org>
61412         Attempt to fix the Windows build.
61414         * DerivedSources.cpp:
61416 2009-07-21  Sam Weinig  <sam@webkit.org>
61418         Attempt to fix the GTK build.
61420         * GNUmakefile.am:
61422 2009-07-21  Sam Weinig  <sam@webkit.org>
61424         Reviewed by Dan Bernstein.
61426         Autogenerate Objective-C binding implementation for RGBColor.
61428         No functionality change.
61430         * WebCore.xcodeproj/project.pbxproj: 
61431         * bindings/objc/DOMRGBColor.mm: Removed.
61432         * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
61433         WebCore::Color to NSColor*.
61434         * css/RGBColor.idl:
61436 2009-07-21  Sam Weinig  <sam@webkit.org>
61438         Reviewed by Dan Bernstein.
61440         Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
61441         JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
61443         Move the JSC and Objective-C bindings onto using the RGBColor object instead
61444         of just an unsigned int. The JSC bindings are now completely autogenerated for
61445         this class. (Also removes the last lut from WebCore).
61447         * DerivedSources.make:
61448         * GNUmakefile.am:
61449         * WebCore.pro:
61450         * WebCore.vcproj/WebCore.vcproj:
61451         * WebCore.xcodeproj/project.pbxproj:
61452         * WebCoreSources.bkl:
61453         * bindings/js/JSRGBColor.cpp: Removed.
61454         * bindings/js/JSRGBColor.h: Removed.
61455         * bindings/objc/DOM.mm:
61456         (-[DOMRGBColor _color]):
61457         * bindings/objc/DOMRGBColor.mm:
61458         (-[DOMRGBColor dealloc]):
61459         (-[DOMRGBColor finalize]):
61460         (-[DOMRGBColor red]):
61461         (-[DOMRGBColor green]):
61462         (-[DOMRGBColor blue]):
61463         (-[DOMRGBColor alpha]):
61464         (-[DOMRGBColor color]):
61465         * bindings/scripts/CodeGenerator.pm:
61466         * bindings/scripts/CodeGeneratorJS.pm:
61467         * bindings/scripts/CodeGeneratorObjC.pm:
61468         * css/CSSParser.cpp:
61469         (WebCore::CSSParser::parseColor):
61470         * css/CSSPrimitiveValue.cpp:
61471         (WebCore::CSSPrimitiveValue::getRGBColorValue):
61472         * css/CSSPrimitiveValue.h:
61473         (WebCore::CSSPrimitiveValue::getRGBA32Value):
61474         * css/CSSStyleSelector.cpp:
61475         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
61476         * css/RGBColor.cpp:
61477         (WebCore::RGBColor::alpha):
61478         * css/RGBColor.h:
61479         (WebCore::RGBColor::color):
61480         (WebCore::RGBColor::RGBColor):
61481         * css/RGBColor.idl:
61482         * page/DOMWindow.idl:
61483         * svg/SVGColor.cpp:
61484         (WebCore::SVGColor::rgbColor):
61485         * svg/SVGColor.h:
61487 2009-07-21  Jian Li  <jianli@chromium.org>
61489         Reviewed by David Levin.
61491         Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
61492         https://bugs.webkit.org/show_bug.cgi?id=27515
61494         * workers/AbstractWorker.cpp:
61495         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
61497 2009-07-21  Eric Seidel  <eric@webkit.org>
61499         Reviewed by Adam Barth.
61501         Move m_context out of generator into a superclass
61502         https://bugs.webkit.org/show_bug.cgi?id=27521
61504         Mostly this is removing code from CodeGeneratorJS
61505         and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
61507         DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
61508         know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
61510         I also removed context pointer from SVGZoomEvent since it was never used.
61512         * WebCore.gypi:
61513         * WebCore.pro:
61514         * WebCore.vcproj/WebCore.vcproj:
61515         * WebCore.xcodeproj/project.pbxproj:
61516         * bindings/js/DOMObjectWithSVGContext.h: Added.
61517         (WebCore::DOMObjectWithSVGContext::context):
61518         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
61519         * bindings/js/JSDOMBinding.h:
61520         * bindings/js/JSEventCustom.cpp:
61521         (WebCore::toJS):
61522         * bindings/scripts/CodeGeneratorJS.pm:
61524 2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
61526         Reviewed by Eric Seidel.
61528         REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
61529         https://bugs.webkit.org/show_bug.cgi?id=27480
61531         Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
61532         We made m_anchorType unsigned so that anchorType() returns the correct value.
61534         * dom/Position.h:
61535         (WebCore::Position::anchorType): statically cast to AnchorType
61537 2009-07-21  Jian Li  <jianli@chromium.org>
61539         Reviewed by David Levin.
61541         [V8] Add V8 bindings for onerror in WorkerContext.
61542         https://bugs.webkit.org/show_bug.cgi?id=27518
61544         * bindings/v8/custom/V8CustomBinding.h:
61545         * bindings/v8/custom/V8WorkerContextCustom.cpp:
61546         (WebCore::ACCESSOR_GETTER):
61547         (WebCore::ACCESSOR_SETTER):
61549 2009-07-21  Jian Li  <jianli@chromium.org>
61551         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
61552         https://bugs.webkit.org/show_bug.cgi?id=27516
61554         * workers/WorkerContext.h:
61555         (WebCore::WorkerContext::setOnerror):
61556         (WebCore::WorkerContext::onerror):
61557         * workers/WorkerContext.idl:
61559 2009-07-21  Jian Li  <jianli@chromium.org>
61561         Reviewed by David Levin.
61563         Add onerror to WorkerContext.
61564         https://bugs.webkit.org/show_bug.cgi?id=27516
61566         * bindings/js/JSWorkerContextCustom.cpp:
61567         (WebCore::JSWorkerContext::mark):
61568         * workers/WorkerContext.h:
61569         (WebCore::WorkerContext::setOnerror):
61570         (WebCore::WorkerContext::onerror):
61571         * workers/WorkerContext.idl:
61573 2009-07-21  Yong Li  <yong.li@torchmobile.com>
61575         Reviewed by George Staikos.
61577         https://bugs.webkit.org/show_bug.cgi?id=27509
61578         Add font-related files for the WinCE port.
61580         Written by Yong Li <yong.li@torchmobile.com>
61582         * platform/graphics/wince/FontCacheWince.cpp: Added.
61583         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
61584         * platform/graphics/wince/FontCustomPlatformData.h: Added.
61585         * platform/graphics/wince/FontPlatformData.cpp: Added.
61586         * platform/graphics/wince/FontPlatformData.h: Added.
61587         * platform/graphics/wince/FontWince.cpp: Added.
61588         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
61589         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
61591 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
61593         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
61595         * WebCorePrefix.h:
61597 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
61599         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
61601         * WebCorePrefix.h:
61603 2009-07-21  Eric Seidel  <eric@webkit.org>
61605         Reviewed by Adam Barth.
61607         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
61608         https://bugs.webkit.org/show_bug.cgi?id=27478
61610         This is just moving code.
61611         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
61613         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
61614         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
61615         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
61617         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
61618         which require a backpointer to the Document to function.  I made this a subclass of
61619         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
61620         about having a back-pointer to the Document (since many constructors can be used from Workers).
61622         * bindings/js/JSAudioConstructor.cpp:
61623         (WebCore::JSAudioConstructor::JSAudioConstructor):
61624         * bindings/js/JSAudioConstructor.h:
61625         * bindings/js/JSDOMBinding.h:
61626         (WebCore::DOMObjectWithGlobalPointer::globalObject):
61627         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
61628         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
61629         (WebCore::DOMObjectWithGlobalPointer::mark):
61630         (WebCore::DOMConstructorObject::DOMConstructorObject):
61631         (WebCore::DOMConstructorWithDocument::document):
61632         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
61633         * bindings/js/JSImageConstructor.cpp:
61634         (WebCore::JSImageConstructor::JSImageConstructor):
61635         * bindings/js/JSImageConstructor.h:
61636         * bindings/js/JSMessageChannelConstructor.cpp:
61637         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
61638         * bindings/js/JSMessageChannelConstructor.h:
61639         * bindings/js/JSOptionConstructor.cpp:
61640         (WebCore::JSOptionConstructor::JSOptionConstructor):
61641         * bindings/js/JSOptionConstructor.h:
61642         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
61643         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
61644         * bindings/js/JSWebKitPointConstructor.cpp:
61645         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
61646         * bindings/js/JSWorkerConstructor.cpp:
61647         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
61648         * bindings/js/JSXMLHttpRequestConstructor.cpp:
61649         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
61650         * bindings/js/JSXMLHttpRequestConstructor.h:
61651         * bindings/js/JSXSLTProcessorConstructor.cpp:
61652         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
61654 2009-07-21  James Hawkins  <jhawkins@google.com>
61656         Reviewed by David Hyatt.
61658         https://bugs.webkit.org/show_bug.cgi?id=27453
61659         Initialize isInt when creating a CSSParserValue for a function.
61661         No change in behavior, so no tests.
61663         * css/CSSFunctionValue.cpp:
61664         (WebCore::CSSFunctionValue::parserValue):
61666 2009-07-20  Jens Alfke  <snej@google.com>
61668          Reviewed by David Levin.
61670          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
61671          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
61672          an arrow key is pressed.
61673          https://bugs.webkit.org/show_bug.cgi?id=27448
61675          No new tests; affects only control response to user input.
61677          * dom/SelectElement.cpp:
61678          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
61679          so it will behave compatibly with Mac HI guidelines on pop-up menus.
61680          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
61682 2009-07-21  Paul Godavari  <paul@chromium.org>
61684         Reviewed by Eric Seidel.
61686         [Chromium] popup menus can crash when the selected index is -1
61687         https://bugs.webkit.org/show_bug.cgi?id=27275
61689         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
61690         is passed an index of less than 0 (which is possible under certain circumstances). This
61691         change prevents such a value from causing a crash by enforcing valid index values passed
61692         by all callers of isSelectableItem. isSelectableItem is now a private method of
61693         PopupListBox, as there are no external callers.
61695         Also cleaned up a small amount of code for style and grammar errors.
61697         No automatic test is provided since we cannot send events to the child window used by
61698         the popup menu.
61700         * platform/chromium/PopupMenuChromium.cpp:
61701         (WebCore::PopupListBox::acceptIndex):
61702         (WebCore::PopupListBox::selectIndex):
61703         (WebCore::PopupListBox::isSelectableItem):
61704         (WebCore::PopupListBox::selectPreviousRow):
61706 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
61708         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
61710         * platform/network/curl/ResourceHandleManager.h:
61712 2009-07-21  Adam Roben  <aroben@apple.com>
61714         Roll out r46153, r46154, and r46155
61716         These changes were causing build failures and assertion failures on
61717         Windows.
61719         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
61720         * platform/graphics/cg/ImageBufferCG.cpp:
61722 2009-07-21  Jian Li  <jianli@chromium.org>
61724         Reviewed by Eric Seidel.
61726         Implement ErrorEvent API.
61727         https://bugs.webkit.org/show_bug.cgi?id=27387
61729         * DerivedSources.cpp:
61730         * DerivedSources.make:
61731         * GNUmakefile.am:
61732         * WebCore.gypi:
61733         * WebCore.pro:
61734         * WebCore.vcproj/WebCore.vcproj:
61735         * WebCore.xcodeproj/project.pbxproj:
61736         * WebCoreSources.bkl:
61737         * bindings/js/JSEventCustom.cpp:
61738         (WebCore::toJS):
61739         * dom/ErrorEvent.cpp: Added.
61740         * dom/ErrorEvent.h: Added.
61741         * dom/ErrorEvent.idl: Added.
61742         * dom/Event.cpp:
61743         (WebCore::Event::isErrorEvent):
61744         * dom/Event.h:
61746 2009-07-21  Priit Laes  <plaes@plaes.org>
61748         Reviewed by Gustavo Noronha.
61750         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
61751         https://bugs.webkit.org/show_bug.cgi?id=24602
61753         Remove workaround required for <=libsoup-2.26.1
61755         * platform/network/soup/ResourceHandleSoup.cpp:
61756         (WebCore::restartedCallback):
61758 2009-07-21  Adam Barth  <abarth@webkit.org>
61760         Reviewed by David Levin.
61762         V8IsolatedWorld keeps a handle to a disposed context
61763         https://bugs.webkit.org/show_bug.cgi?id=27397
61765         Make a copy of the context handle before making it weak.  We don't want
61766         to make the original handle weak because we want it to survive for the
61767         length of the V8IsolatedWorld::evaluate method.
61769         * bindings/v8/V8IsolatedWorld.cpp:
61770         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
61772 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
61774         Reviewed by Timothy Hatcher.
61776         Web Inspector: Add ability to evaluate selection while on break point.
61778         https://bugs.webkit.org/show_bug.cgi?id=27502
61780         * inspector/front-end/SourceFrame.js:
61781         (WebInspector.SourceFrame.prototype._loaded):
61782         (WebInspector.SourceFrame.prototype._documentKeyDown):
61784 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
61786         Reviewed by Timothy Hatcher.
61788         WebInspector: Special case ConsolePanel opening since
61789         it is a 'fast view'.
61791         https://bugs.webkit.org/show_bug.cgi?id=27493
61793         * inspector/InspectorController.cpp:
61794         (WebCore::InspectorController::setWindowVisible):
61796 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
61798         Reviewed by Eric Seidel.
61800         Fix Qt code to follow the WebKit Coding Style.
61802         * platform/graphics/qt/FontQt.cpp:
61803         (WebCore::qstring):
61804         (WebCore::fixSpacing):
61805         * platform/graphics/qt/FontQt43.cpp:
61806         (WebCore::generateComponents):
61807         (WebCore::Font::offsetForPositionForComplexText):
61808         (WebCore::cursorToX):
61809         * platform/graphics/qt/GradientQt.cpp:
61810         (WebCore::Gradient::platformGradient):
61811         * platform/graphics/qt/GraphicsContextQt.cpp:
61812         (WebCore::toQtFillRule):
61813         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
61814         (WebCore::GraphicsContext::~GraphicsContext):
61815         (WebCore::GraphicsContext::getCTM):
61816         (WebCore::GraphicsContext::concatCTM):
61817         (WebCore::GraphicsContext::getWindowsContext):
61818         * platform/graphics/qt/IconQt.cpp:
61819         (WebCore::Icon::paint):
61820         * platform/graphics/qt/ImageDecoderQt.cpp:
61821         (WebCore::ImageDecoderQt::ReadContext::read):
61822         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
61823         (WebCore::ImageDecoderQt::setData):
61824         * platform/graphics/qt/ImageQt.cpp:
61825         (WebCore::Image::drawPattern):
61826         (WebCore::BitmapImage::draw):
61827         * platform/graphics/qt/ImageSourceQt.cpp:
61828         (WebCore::ImageSource::frameDurationAtIndex):
61829         (WebCore::ImageSource::frameHasAlphaAtIndex):
61830         (WebCore::ImageSource::frameIsCompleteAtIndex):
61831         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
61832         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
61833         (WebCore::MediaPlayerPrivate::create):
61834         (WebCore::MediaPlayerPrivate::bytesLoaded):
61835         (WebCore::MediaPlayerPrivate::updateStates):
61836         * platform/graphics/qt/PathQt.cpp:
61837         (WebCore::Path::addArcTo):
61838         (WebCore::Path::isEmpty):
61839         * platform/graphics/qt/TransformationMatrixQt.cpp:
61840         (WebCore::TransformationMatrix::operator QTransform):
61841         * platform/qt/ClipboardQt.cpp:
61842         (WebCore::ClipboardQt::ClipboardQt):
61843         (WebCore::ClipboardQt::clearData):
61844         (WebCore::ClipboardQt::clearAllData):
61845         (WebCore::ClipboardQt::getData):
61846         (WebCore::ClipboardQt::setData):
61847         (WebCore::ClipboardQt::setDragImage):
61848         (WebCore::getCachedImage):
61849         (WebCore::ClipboardQt::declareAndWriteDragImage):
61850         (WebCore::ClipboardQt::writeURL):
61851         (WebCore::ClipboardQt::writeRange):
61852         (WebCore::ClipboardQt::hasData):
61853         * platform/qt/ClipboardQt.h:
61854         * platform/qt/ContextMenuItemQt.cpp:
61855         (WebCore::ContextMenuItem::action):
61856         (WebCore::ContextMenuItem::title):
61857         * platform/qt/CursorQt.cpp:
61858         (WebCore::westPanningCursor):
61859         (WebCore::notAllowedCursor):
61860         * platform/qt/DragDataQt.cpp:
61861         (WebCore::DragData::containsFiles):
61862         (WebCore::DragData::asFilenames):
61863         (WebCore::DragData::asPlainText):
61864         (WebCore::DragData::asFragment):
61865         * platform/qt/DragImageQt.cpp:
61866         (WebCore::createDragImageIconForCachedImage):
61867         * platform/qt/FileSystemQt.cpp:
61868         (WebCore::getFileSize):
61869         (WebCore::unloadModule):
61870         * platform/qt/Localizations.cpp:
61871         (WebCore::contextMenuItemTagShowSpellingPanel):
61872         * platform/qt/MIMETypeRegistryQt.cpp:
61873         (WebCore::):
61874         * platform/qt/PasteboardQt.cpp:
61875         (WebCore::Pasteboard::Pasteboard):
61876         (WebCore::Pasteboard::writeSelection):
61877         (WebCore::Pasteboard::plainText):
61878         * platform/qt/PlatformKeyboardEventQt.cpp:
61879         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
61880         * platform/qt/PlatformMouseEventQt.cpp:
61881         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
61882         * platform/qt/PopupMenuQt.cpp:
61883         (WebCore::PopupMenu::populate):
61884         * platform/qt/RenderThemeQt.cpp:
61885         (WebCore::RenderThemeQt::fallbackStyle):
61886         (WebCore::inflateButtonRect):
61887         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
61888         (WebCore::RenderThemeQt::paintButton):
61889         (WebCore::RenderThemeQt::paintMenuList):
61890         (WebCore::RenderThemeQt::applyTheme):
61891         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
61892         (WebCore::RenderThemeQt::paintMediaBackground):
61893         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
61894         * platform/qt/RenderThemeQt.h:
61895         * platform/qt/ScreenQt.cpp:
61896         (WebCore::screenRect):
61897         (WebCore::usableScreenRect):
61898         * platform/qt/ScrollbarQt.cpp:
61899         (WebCore::Scrollbar::contextMenu):
61900         * platform/qt/ScrollbarThemeQt.cpp:
61901         (WebCore::scPart):
61902         (WebCore::scrollbarPart):
61903         * platform/qt/ScrollbarThemeQt.h:
61904         * platform/qt/SharedBufferQt.cpp:
61905         (WebCore::SharedBuffer::createWithContentsOfFile):
61906         * platform/qt/TemporaryLinkStubs.cpp:
61907         (PluginDatabase::defaultPluginDirectories):
61908         (PluginDatabase::getPluginPathsInDirectories):
61909         (PluginDatabase::isPreferredPluginDirectory):
61910         (WebCore::getSupportedKeySizes):
61911         (WebCore::signedPublicKeyAndChallengeString):
61912         (WebCore::userIdleTime):
61913         (WebCore::prefetchDNS):
61914         * platform/text/qt/StringQt.cpp:
61915         (WebCore::String::String):
61916         * platform/text/qt/TextBoundaries.cpp:
61917         * platform/text/qt/TextBreakIteratorQt.cpp:
61918         (WebCore::TextBreakIterator::following):
61919         (WebCore::TextBreakIterator::preceding):
61920         (WebCore::WordBreakIteratorQt::first):
61921         (WebCore::WordBreakIteratorQt::next):
61922         (WebCore::WordBreakIteratorQt::previous):
61923         (WebCore::CharBreakIteratorQt::first):
61924         (WebCore::CharBreakIteratorQt::next):
61925         (WebCore::CharBreakIteratorQt::previous):
61926         (WebCore::characterBreakIterator):
61927         * plugins/qt/PluginPackageQt.cpp:
61928         (WebCore::PluginPackage::fetchInfo):
61929         * plugins/qt/PluginViewQt.cpp:
61930         (WebCore::PluginView::userAgentStatic):
61931         (WebCore::PluginView::handlePostReadFile):
61932         (WebCore::PluginView::init):
61934 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
61936         Reviewed by David Levin.
61938         Added a first bunch of Haiku-specific files for WebCore.
61939         https://bugs.webkit.org/show_bug.cgi?id=26988
61941         * platform/haiku/ClipboardHaiku.cpp: Added.
61942         (WebCore::ClipboardHaiku::ClipboardHaiku):
61943         (WebCore::ClipboardHaiku::clearData):
61944         (WebCore::ClipboardHaiku::clearAllData):
61945         (WebCore::ClipboardHaiku::getData):
61946         (WebCore::ClipboardHaiku::setData):
61947         (WebCore::ClipboardHaiku::types):
61948         (WebCore::ClipboardHaiku::files):
61949         (WebCore::ClipboardHaiku::dragLocation):
61950         (WebCore::ClipboardHaiku::dragImage):
61951         (WebCore::ClipboardHaiku::setDragImage):
61952         (WebCore::ClipboardHaiku::dragImageElement):
61953         (WebCore::ClipboardHaiku::setDragImageElement):
61954         (WebCore::ClipboardHaiku::createDragImage):
61955         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
61956         (WebCore::ClipboardHaiku::writeURL):
61957         (WebCore::ClipboardHaiku::writeRange):
61958         (WebCore::ClipboardHaiku::hasData):
61959         * platform/haiku/ClipboardHaiku.h: Added.
61960         (WebCore::ClipboardHaiku::create):
61961         (WebCore::ClipboardHaiku::~ClipboardHaiku):
61962         * platform/haiku/CookieJarHaiku.cpp: Added.
61963         (WebCore::setCookies):
61964         (WebCore::cookies):
61965         (WebCore::cookiesEnabled):
61966         * platform/haiku/CursorHaiku.cpp: Added.
61967         (WebCore::Cursor::Cursor):
61968         (WebCore::Cursor::~Cursor):
61969         (WebCore::Cursor::operator=):
61970         (WebCore::pointerCursor):
61971         (WebCore::moveCursor):
61972         (WebCore::crossCursor):
61973         (WebCore::handCursor):
61974         (WebCore::iBeamCursor):
61975         (WebCore::waitCursor):
61976         (WebCore::helpCursor):
61977         (WebCore::eastResizeCursor):
61978         (WebCore::northResizeCursor):
61979         (WebCore::northEastResizeCursor):
61980         (WebCore::northWestResizeCursor):
61981         (WebCore::southResizeCursor):
61982         (WebCore::southEastResizeCursor):
61983         (WebCore::southWestResizeCursor):
61984         (WebCore::westResizeCursor):
61985         (WebCore::northSouthResizeCursor):
61986         (WebCore::eastWestResizeCursor):
61987         (WebCore::northEastSouthWestResizeCursor):
61988         (WebCore::northWestSouthEastResizeCursor):
61989         (WebCore::columnResizeCursor):
61990         (WebCore::rowResizeCursor):
61991         (WebCore::verticalTextCursor):
61992         (WebCore::cellCursor):
61993         (WebCore::contextMenuCursor):
61994         (WebCore::noDropCursor):
61995         (WebCore::copyCursor):
61996         (WebCore::progressCursor):
61997         (WebCore::aliasCursor):
61998         (WebCore::noneCursor):
61999         (WebCore::notAllowedCursor):
62000         (WebCore::zoomInCursor):
62001         (WebCore::zoomOutCursor):
62002         (WebCore::grabCursor):
62003         (WebCore::grabbingCursor):
62005 2009-07-21  Albert Astals Cid <aacid@kde.org>
62007         Reviewed by Tor Arne Vestbø.
62009         Change #error line not to have a ' (single quote)
62011         * DerivedSources.cpp:
62013 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
62015         Reviewed by David Levin.
62017         Add ENABLE_RUBY to list of build options
62018         https://bugs.webkit.org/show_bug.cgi?id=27324
62020         Added flag ENABLE_RUBY:
62022         * Configurations/FeatureDefines.xcconfig:
62023         * DerivedSources.make:
62024         * GNUmakefile.am:
62025         * WebCore.pro:
62026         * WebCore.vcproj/WebCoreCommon.vsprops:
62027         * WebCore.vcproj/build-generated-files.sh:
62029 2009-07-21  James Hawkins  <jhawkins@google.com>
62031         Reviewed by Eric Seidel.
62033         https://bugs.webkit.org/show_bug.cgi?id=27467
62034         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
62035         if matrix.invert() fails.  This prevents the use of an uninitialized
62036         value in inverseMatrix.
62038         No new tests added.  Run
62039         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
62040         under valgrind and notice there are no errors.
62042         * platform/graphics/skia/PlatformContextSkia.cpp:
62043         (PlatformContextSkia::currentPathInLocalCoordinates):
62045 2009-07-21  Stephen White  <senorblanco@chromium.org>
62047         Reviewed by Eric Seidel.
62049         https://bugs.webkit.org/show_bug.cgi?id=27388
62051         Fix dotted and dashed borders on Chromium/skia.  This follows
62052         the logic in the Cg path, so results are much closer to Safari now 
62053         (some tests won't be exactly the same due to font layout differences).
62055         * platform/graphics/skia/GraphicsContextSkia.cpp:
62056         (WebCore::GraphicsContext::drawLine):
62057         * platform/graphics/skia/PlatformContextSkia.cpp:
62058         (PlatformContextSkia::setupPaintForStroking):
62060 2009-07-20  Oliver Hunt  <oliver@apple.com>
62062         Reviewed by Gavin Barraclough.
62064         Make it harder to misuse try* allocation routines
62065         https://bugs.webkit.org/show_bug.cgi?id=27469
62067         Add forwarding header for PossiblyNull type, and add missing null check
62068         to ImageBuffer creation.
62070         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
62071         * platform/graphics/cg/ImageBufferCG.cpp:
62072         (WebCore::ImageBuffer::ImageBuffer):
62074 2009-07-20  Adam Langley  <agl@google.com>
62076         Reviewed by Eric Seidel.
62078         Guard access to installedMediaEngines()[0].
62080         https://bugs.webkit.org/show_bug.cgi?id=27479
62081         http://code.google.com/p/chromium/issues/detail?id=16541
62083         Else where in the file, installedMediaEngines is always checked for
62084         being empty because access. This patch adds a case which missed that
62085         check.
62087         This triggered a crash in Chromium:
62088             http://www.yakeze.com/chat/example-chromium-crash/
62090         * platform/graphics/MediaPlayer.cpp:
62091         (WebCore::MediaPlayer::load):
62093 2009-07-20  Adam Langley  <agl@google.com>
62095         Reviewed by Eric Seidel.
62097         Allow search entries to render with a CSS border if the RenderTheme
62098         doesn't paint them.
62100         https://bugs.webkit.org/show_bug.cgi?id=27466
62101         http://code.google.com/p/chromium/issues/detail?id=16958
62103         <input type="search"> is very much like a text entry except that,
62104         currently, if the RenderTheme doesn't deal with it, nothing is
62105         rendered. With this patch, the default CSS border is rendered if the
62106         RenderTheme requests it.
62108         This will affect many layout tests, but only for Chromium Linux and
62109         those results are not currently in the WebKit tree.
62111         * rendering/RenderTheme.cpp:
62112         (WebCore::RenderTheme::paintBorderOnly):
62114 2009-07-17  Anton Muhin  <antonm@chromium.org>
62116         Reviewed by Adam Barth.
62118         Switch to faster methods to access internal fields.
62119         https://bugs.webkit.org/show_bug.cgi?id=27372
62121         Minor refactoring.
62123         * bindings/scripts/CodeGeneratorV8.pm:
62124         * bindings/v8/V8DOMWrapper.cpp:
62125         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
62126         (WebCore::V8DOMWrapper::setDOMWrapper):
62127         * bindings/v8/V8DOMWrapper.h:
62128         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
62129         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
62130         (WebCore::V8DOMWrapper::convertToNativeObject):
62131         (WebCore::V8DOMWrapper::convertToNativeEvent):
62132         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
62133         (WebCore::CALLBACK_FUNC_DECL):
62134         * bindings/v8/custom/V8ClipboardCustom.cpp:
62135         (WebCore::CALLBACK_FUNC_DECL):
62136         * bindings/v8/custom/V8DocumentCustom.cpp:
62137         (WebCore::CALLBACK_FUNC_DECL):
62138         * bindings/v8/custom/V8ElementCustom.cpp:
62139         (WebCore::CALLBACK_FUNC_DECL):
62140         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
62141         (WebCore::CALLBACK_FUNC_DECL):
62142         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
62143         (WebCore::CALLBACK_FUNC_DECL):
62144         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
62145         (WebCore::removeElement):
62146         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
62147         (WebCore::CALLBACK_FUNC_DECL):
62148         * bindings/v8/custom/V8NodeCustom.cpp:
62149         (WebCore::CALLBACK_FUNC_DECL):
62150         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
62151         (WebCore::CALLBACK_FUNC_DECL):
62153 2009-07-20  Adam Langley  <agl@google.com>
62155         Reviewed by Eric Seidel.
62157         Chromium Linux: cache Harfbuzz faces.
62159         https://bugs.webkit.org/show_bug.cgi?id=27473
62161         Previously, we recreated the Harfbuzz face for each script-run. With
62162         this patch, we keep the Harfbuzz face in the FontPlatformData (created
62163         as needed) and so they will persist for the duration of the
62164         FontPlatformData.
62166         Shouldn't affect any layout tests. Results in a significant win on the
62167         intl2 page cycler time.
62169         * platform/graphics/chromium/FontLinux.cpp:
62170         (WebCore::TextRunWalker::~TextRunWalker):
62171         (WebCore::TextRunWalker::setupFontForScriptRun):
62172         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
62173         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
62174         (WebCore::FontPlatformData::FontPlatformData):
62175         (WebCore::FontPlatformData::harfbuzzFace):
62176         * platform/graphics/chromium/FontPlatformDataLinux.h:
62177         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
62178         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
62179         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
62180         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
62182 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
62184         Reviewed by Simon Fraser.
62186         REGRESSION (r46142): Need to remove showTreeThisForThis
62187         https://bugs.webkit.org/show_bug.cgi?id=27475
62189         Removes showTreeThisForThis
62191         * editing/IndentOutdentCommand.cpp:
62192         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
62194 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
62196         Reviewed by Eric Seidel.
62198         Refactoring of indentRegion to fix bugs 26816 and 25317
62199         https://bugs.webkit.org/show_bug.cgi?id=26816
62200         https://bugs.webkit.org/show_bug.cgi?id=25317
62201         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
62203         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
62204         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
62206         1. We try to indent as many wrapping nodes as possible.
62207            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
62208         2. We do not delete any wrapping elements
62209            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
62210            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
62211            With appendParagraphIntoNode, we can preserve all wrapping nodes.
62212         3. We only split the tree until the closest block node instead of until the root editable node.
62213            This behavioral change fixes the bug 25317.
62214         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
62215            e.g. when a list is a child node of a div, and the entire div is intended,
62216                 we enclose the div by a single blockquote.
62218         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
62219         To demonstrate this, the following tests are added.
62221         Tests: editing/execCommand/indent-div-inside-list.html
62222                editing/execCommand/indent-nested-blockquotes.html
62223                editing/execCommand/indent-nested-div.html
62224                editing/execCommand/indent-second-paragraph-in-blockquote.html
62226         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
62227         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
62228         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
62229         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
62230         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
62231         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
62232         * editing/IndentOutdentCommand.h: updated prototype
62234 2009-07-20  Dan Bernstein  <mitz@apple.com>
62236         Try to fix release builds after r46136
62238         * dom/Element.cpp:
62240 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
62242         Reviewed by Eric Seidel.
62244         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
62245         https://bugs.webkit.org/show_bug.cgi?id=27380
62247         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
62249         * css/mediaControlsQT.css:
62251 2009-07-20  Peter Kasting  <pkasting@google.com>
62253         Reviewed by Mark Rowe.
62255         https://bugs.webkit.org/show_bug.cgi?id=27468
62256         Back out r46060, which caused problems for some Apple developers.
62258         * WebCore.vcproj/QTMovieWin.vcproj:
62259         * WebCore.vcproj/WebCoreCommon.vsprops:
62260         * WebCore.vcproj/WebCoreGenerated.vcproj:
62262 2009-07-20  Dan Bernstein  <mitz@apple.com>
62264         Reviewed by Anders Carlsson.
62266         When loading a custom view into a frame, the old document is still
62267         around
62268         <rdar://problem/5145841>
62270         Safari fires onload before PDF is loaded into the browser
62271         <rdar://problem/6618869>
62273         Test: fast/loader/non-html-load-event.html
62275         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
62276         * WebCore.gypi: Ditto.
62277         * WebCore.pro: Ditto.
62278         * WebCore.vcproj/WebCore.vcproj: Ditto.
62279         * WebCore.xcodeproj/project.pbxproj: Ditto.
62280         * WebCoreSources.bkl: Ditto.
62281         * dom/Document.h:
62282         (WebCore::Document::setStyleSelector): Added this protected accessor for
62283             PlaceholderDocument to use.
62284         * dom/Element.cpp:
62285         (WebCore::Element::clientWidth): Check whether the document has a
62286             renderer.
62287         (WebCore::Element::clientHeight): Ditto.
62288         * loader/FrameLoader.cpp:
62289         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
62290             that do not use an HTML view. Do not nullify the content size in
62291             that case.
62292         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
62293             use an HTML view, call receivedFirstData(), which sets up the
62294             frame with a new PlaceHolderDocument.
62295         * loader/PlaceholderDocument.cpp: Added.
62296         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
62297             does not create a RenderView.
62298         * loader/PlaceholderDocument.h: Added.
62299         (WebCore::PlaceholderDocument::create):
62300         (WebCore::PlaceholderDocument::PlaceholderDocument):
62302 2009-07-20  Chris Marrin  <cmarrin@apple.com>
62304         Reviewed by Simon Fraser.
62306         Handle opacity and opacity animations on transform layers in Leopard
62307         https://bugs.webkit.org/show_bug.cgi?id=27398
62309         This makes two changes, and only for Leopard. 
62311         First, whenever opacity is changed on a layer I propagate the 
62312         change into the content layer and all the children if the layer 
62313         on which opacity is set is a transform layer (preserve3D is true). 
62314         The opacity set is the accumulated opacity from this layer
62315         and all its direct ancestor transform layers. Second, I turn off all 
62316         hardware opacity animation.
62318         * platform/graphics/GraphicsLayer.cpp:
62319         (WebCore::GraphicsLayer::accumulatedOpacity):
62320         (WebCore::GraphicsLayer::distributeOpacity):
62321         * platform/graphics/GraphicsLayer.h:
62322         (WebCore::GraphicsLayer::setOpacityInternal):
62323         * platform/graphics/mac/GraphicsLayerCA.h:
62324         * platform/graphics/mac/GraphicsLayerCA.mm:
62325         (WebCore::GraphicsLayerCA::setPreserves3D):
62326         (WebCore::GraphicsLayerCA::setOpacity):
62327         (WebCore::GraphicsLayerCA::animateFloat):
62328         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
62329         (WebCore::GraphicsLayerCA::setOpacityInternal):
62330         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
62332 2009-07-20  Yong Li  <yong.li@torchmobile.com>
62334         Reviewed by Adam Roben.
62336         https://bugs.webkit.org/show_bug.cgi?id=27349
62337         Add GraphicsContext implementation for the WinCE port.
62339         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
62340         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
62342         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
62344 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
62346         Reviewed by Dimitri Glazkov.
62348         Adding the Win SQLite VFS implementation for Chromium, and stubs
62349         for the Mac and Linux VFSs.
62351         https://bugs.webkit.org/show_bug.cgi?id=26940
62353         * WebCore.gypi:
62354         * platform/chromium/ChromiumBridge.h:
62355         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
62356         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
62357         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
62358         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
62360 2009-07-20  Xan Lopez  <xlopez@igalia.com>
62362         Reviewed by Gustavo Noronha.
62364         https://bugs.webkit.org/show_bug.cgi?id=27097
62365         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
62367         Check that an object is a RenderObject before trying to access its
62368         renderer and related node.
62370         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
62371         (webkit_accessible_get_role):
62373 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
62375         Reviewed by Simon Hausmann.
62377         [Qt] font cache reworking
62378         https://bugs.webkit.org/show_bug.cgi?id=27265
62380         Reimplemented Qt's FontCache in a way that follows the shared one.
62381         Now we can release its elements when those became inactive.
62382         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
62384         No change in behavior, so no tests.
62386         * platform/graphics/qt/FontCacheQt.cpp:
62387         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
62388         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
62389         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
62390         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
62391         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
62392         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
62393         (WebCore::FontPlatformDataCacheKey::operator==):
62394         (WebCore::FontPlatformDataCacheKey::hash):
62395         (WebCore::FontPlatformDataCacheKey::computeHash):
62396         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
62397         (WebCore::FontPlatformDataCacheKeyHash::hash):
62398         (WebCore::FontPlatformDataCacheKeyHash::equal):
62399         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
62400         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
62401         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
62402         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
62403         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
62404         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
62405         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
62406         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
62407         * platform/graphics/qt/FontFallbackListQt.cpp:
62408         (WebCore::FontFallbackList::releaseFontData):
62409         (WebCore::FontFallbackList::fontDataAt):
62410         * platform/graphics/qt/FontPlatformData.h:
62411         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
62412         (WebCore::FontPlatformData::bold): Ditto.
62413         (WebCore::FontPlatformData::italic): Ditto.
62414         (WebCore::FontPlatformData::smallCaps): Ditto.
62415         (WebCore::FontPlatformData::pixelSize): Ditto.
62416         * platform/graphics/qt/FontPlatformDataQt.cpp:
62417         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
62419 2009-07-20  Xan Lopez  <xlopez@igalia.com>
62421         Reviewed by Holger Freyther.
62423         https://bugs.webkit.org/show_bug.cgi?id=26716
62424         [Gtk] Each XMLHttpRequest leaks memory.
62426         Free the SoupURI we create to check the URI. Fix suggested by John
62427         Kjellberg.
62429         * platform/network/soup/ResourceHandleSoup.cpp:
62430         (WebCore::):
62432 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
62434         Reviewed by Holger Freyther.
62436         [Qt] On Symbian link against system sqlite3
62437         https://bugs.webkit.org/show_bug.cgi?id=27368
62439         Add an option to force linking against system sqlite3
62440         by adding system-sqlite to the CONFIG variable.
62442         The Symbian specific part of this patch is contributed by 
62443         Norbert Leser.
62445         * WebCore.pro:
62447 2009-07-20  Xan Lopez  <xlopez@igalia.com>
62449         Reviewed by Gustavo Noronha.
62451         Change the glib version check to check for the first unstable
62452         release with g_mapped_file_unref. Otherwise this would be useless
62453         until 2.22 is released, a few months from now.
62455         * platform/network/soup/ResourceHandleSoup.cpp:
62456         (WebCore::ResourceHandle::startHttp):
62458 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
62460         Reviewed by and done with Tor Arne Vestbø.
62462         Fix fast/css/pseudo-required-optional-*.html in the Qt build
62463         after r46062.
62465         These tests triggered a bug in RenderThemeQt where we did not fall back
62466         to the unstyled painting of text areas and input fields when they have
62467         a styled background.
62469         Our re-implementation of isControlStyled incorrectly only checked the
62470         border for determining whether to style or not. The base-implementation
62471         performs the same check, but also includes the background. Removing
62472         our implementation fixes the appearance.
62474         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
62475         * platform/qt/RenderThemeQt.h: Ditto.
62477 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
62479         Rubber-stamped by Tor Arne Vestbø.
62481         Add missing (sorted) header files to the HEADERS variable in the qmake
62482         .pro file for improved completion in IDEs.
62484         * WebCore.pro:
62486 2009-07-19  Adam Barth  <abarth@webkit.org>
62488         Reviewed by David Levin.
62490         [V8] Factor V8ConsoleMessage out of V8Proxy
62491         https://bugs.webkit.org/show_bug.cgi?id=27421
62493         No behavior change.
62495         * WebCore.gypi:
62496         * bindings/v8/V8ConsoleMessage.cpp: Added.
62497         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
62498         (WebCore::V8ConsoleMessage::dispatchNow):
62499         (WebCore::V8ConsoleMessage::dispatchLater):
62500         (WebCore::V8ConsoleMessage::processDelayed):
62501         (WebCore::V8ConsoleMessage::handler):
62502         * bindings/v8/V8ConsoleMessage.h: Added.
62503         (WebCore::V8ConsoleMessage::Scope::Scope):
62504         (WebCore::V8ConsoleMessage::Scope::~Scope):
62505         * bindings/v8/V8Proxy.cpp:
62506         (WebCore::logInfo):
62507         (WebCore::reportUnsafeAccessTo):
62508         (WebCore::V8Proxy::runScript):
62509         (WebCore::V8Proxy::callFunction):
62510         (WebCore::V8Proxy::newInstance):
62511         (WebCore::V8Proxy::initContextIfNeeded):
62512         (WebCore::V8Proxy::processConsoleMessages):
62514 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
62516         Reviewed by Adam Barth.
62518         Remove unused member variable.
62520         * svg/SVGPolyElement.h:
62522 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
62524         Reviewed by Dan Bernstein.
62526         HTMLAudioElement: constructor should set "autobuffer" attribute
62527         https://bugs.webkit.org/show_bug.cgi?id=27422
62529         Test: media/audio-constructor-autobuffer.html
62531         * bindings/js/JSAudioConstructor.cpp:
62532         (WebCore::constructAudio):
62533             Set 'autobuffer' attribute.
62535 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
62537         Reviewed by Simon Hausmann.
62539         Fix the Qt build with mingw.
62541         * WebCore.pro: Don't use MSVC commandline options to disable warnings
62542         with mingw.
62544 2009-07-19  Adam Barth  <abarth@webkit.org>
62546         Reviewed by David Levin.
62548         [V8] Phase 2: Remove event listener methods from V8Proxy
62549         https://bugs.webkit.org/show_bug.cgi?id=27415
62551         No behavior change.
62553         * bindings/v8/V8ObjectEventListener.cpp:
62554         (WebCore::weakObjectEventListenerCallback):
62555         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
62556         * bindings/v8/V8Proxy.cpp:
62557         (WebCore::V8Proxy::disconnectEventListeners):
62558         * bindings/v8/V8Proxy.h:
62559         (WebCore::V8Proxy::eventListeners):
62560         (WebCore::V8Proxy::objectListeners):
62561         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
62562         (WebCore::getEventListener):
62563         * bindings/v8/custom/V8CustomEventListener.cpp:
62564         (WebCore::V8EventListener::~V8EventListener):
62565         * bindings/v8/custom/V8DOMWindowCustom.cpp:
62566         (WebCore::CALLBACK_FUNC_DECL):
62567         (WebCore::ACCESSOR_SETTER):
62568         * bindings/v8/custom/V8ElementCustom.cpp:
62569         (WebCore::ACCESSOR_SETTER):
62570         * bindings/v8/custom/V8MessagePortCustom.cpp:
62571         (WebCore::ACCESSOR_SETTER):
62572         (WebCore::CALLBACK_FUNC_DECL):
62573         * bindings/v8/custom/V8NodeCustom.cpp:
62574         (WebCore::CALLBACK_FUNC_DECL):
62575         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
62576         (WebCore::CALLBACK_FUNC_DECL):
62577         * bindings/v8/custom/V8WorkerCustom.cpp:
62578         (WebCore::getEventListener):
62579         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
62580         (WebCore::getEventListener):
62581         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
62582         (WebCore::ACCESSOR_SETTER):
62583         (WebCore::CALLBACK_FUNC_DECL):
62585 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
62587         Reviewed by Gustavo Noronha.
62589         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
62590         https://bugs.webkit.org/show_bug.cgi?id=27230
62592         Use g_mapped_file_unref for GLIB version 2.22 onwards.
62594         * platform/network/soup/ResourceHandleSoup.cpp:
62595         (WebCore::ResourceHandle::startHttp):
62597 2009-07-18  Dan Bernstein  <mitz@apple.com>
62599         Reviewed by Anders Carlsson.
62601         Add spread radius support to -webkit-box-shadow
62602         https://bugs.webkit.org/show_bug.cgi?id=27417
62603         rdar://problem/7072267
62605         Test: fast/box-shadow/spread.html
62607         * css/CSSComputedStyleDeclaration.cpp:
62608         (WebCore::valueForShadow): Added a property ID parameter and used it to
62609             include the spread length for box-shadow but not for text-shadow.
62610         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
62611             Pass the property ID to valueForShadow().
62613         * css/CSSParser.cpp:
62614         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
62615             spread, and allowSpread members. Added a property ID parameter to
62616             the constructor. Initialize the property and allowSpread members.
62617         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
62618         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
62619             the ShadowValue constructor. Reset allowSpread.
62620         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
62621             for the box-shadow property.
62622         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
62623         (WebCore::CSSParser::parseShadow): Pass the property ID to
62624             ShadowParseContext().
62626         * css/CSSStyleSelector.cpp:
62627         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
62628             the shadow value and pass it to the ShadowData constructor.
62630         * css/ShadowValue.cpp:
62631         (WebCore::ShadowValue::ShadowValue): Added spread.
62632         (WebCore::ShadowValue::cssText): Added spread.
62634         * css/ShadowValue.h:
62635         (WebCore::ShadowValue::create): Added spread.
62637         * page/animation/AnimationBase.cpp:
62638         (WebCore::blendFunc): Blend the spread value.
62639         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
62640             shadow.
62642         * rendering/InlineFlowBox.cpp:
62643         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
62644             the visual overflow calculations.
62645         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
62646         (WebCore::InlineFlowBox::paint): Ditto.
62648         * rendering/RenderBlock.cpp:
62649         (WebCore::RenderBlock::overflowHeight): Ditto.
62650         (WebCore::RenderBlock::overflowWidth): Ditto.
62651         (WebCore::RenderBlock::overflowLeft): Ditto.
62652         (WebCore::RenderBlock::overflowTop): Ditto.
62653         (WebCore::RenderBlock::overflowRect): Ditto.
62654         (WebCore::RenderBlock::layoutBlock): Ditto.
62656         * rendering/RenderBoxModelObject.cpp:
62657         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
62658             casting rect by the shadow spread value. Adjust border radii if
62659             necessary.
62661         * rendering/RenderFlexibleBox.cpp:
62662         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
62663             visual overflow calculations.
62664         * rendering/RenderLayer.cpp:
62665         (WebCore::RenderLayer::calculateRects): Ditto.
62667         * rendering/RenderObject.cpp:
62668         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
62669         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
62671         * rendering/RenderReplaced.cpp:
62672         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
62674         * rendering/style/RenderStyle.cpp:
62675         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
62676             have spread.
62678         * rendering/style/ShadowData.cpp:
62679         (WebCore::ShadowData::ShadowData): Added spread.
62680         (WebCore::ShadowData::operator==): Compare spread.
62681         * rendering/style/ShadowData.h:
62682         (WebCore::ShadowData::ShadowData): Added spread.
62684 2009-07-18  Adam Barth  <abarth@webkit.org>
62686         Reviewed by Jan Alonzo.
62688         Minor FrameLoader.cpp cleanup
62689         https://bugs.webkit.org/show_bug.cgi?id=27406
62691         No behavior change.
62693         * loader/FrameLoader.cpp:
62694         (WebCore::FrameLoader::executeIfJavaScriptURL):
62696 2009-07-18  Adam Barth  <abarth@webkit.org>
62698         Reviewed by Darin Fisher.
62700         [V8] Move event listener methods from V8Proxy to V8EventListenerList
62701         https://bugs.webkit.org/show_bug.cgi?id=27408
62703         Move some event listener code out of V8Proxy and into the event
62704         listener list.
62706         I'd like to remove these methods from V8Proxy entirely and just expose
62707         getters for the lists themselves, but I'll do that in a follow up
62708         patch.
62710         * bindings/v8/V8EventListenerList.cpp:
62711         (WebCore::V8EventListenerList::findWrapper):
62712         * bindings/v8/V8EventListenerList.h:
62713         (WebCore::V8EventListenerList::findOrCreateWrapper):
62714         * bindings/v8/V8ObjectEventListener.cpp:
62715         * bindings/v8/V8Proxy.cpp:
62716         (WebCore::V8Proxy::findV8EventListener):
62717         (WebCore::V8Proxy::findOrCreateV8EventListener):
62718         (WebCore::V8Proxy::removeV8EventListener):
62719         (WebCore::V8Proxy::findObjectEventListener):
62720         (WebCore::V8Proxy::findOrCreateObjectEventListener):
62721         (WebCore::V8Proxy::removeObjectEventListener):
62722         * bindings/v8/V8Proxy.h:
62724 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
62726         Rubber stamped by Adam Barth.
62728         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
62729         https://bugs.webkit.org/show_bug.cgi?id=27407
62731         Revert Jens' patch.  I believe he forgot to include a file.
62733         * WebCore.gypi:
62734         * bindings/scripts/CodeGeneratorV8.pm:
62735         * bindings/v8/DOMObjectsInclude.h:
62736         * bindings/v8/V8DOMWrapper.cpp:
62737         (WebCore::V8DOMWrapper::getTemplate):
62738         * bindings/v8/V8DataGridDataSource.cpp: Removed.
62739         * bindings/v8/V8DataGridDataSource.h: Removed.
62740         * bindings/v8/V8GCController.h:
62741         * bindings/v8/V8Index.h:
62742         * bindings/v8/custom/V8CustomBinding.h:
62743         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
62744         (WebCore::ACCESSOR_GETTER):
62745         (WebCore::ACCESSOR_SETTER):
62747 2009-07-17  Daniel Bates  <dbates@intudata.com>
62749         Reviewed by Adam Barth.
62750         
62751         https://bugs.webkit.org/show_bug.cgi?id=27405
62753         Fixes an issue when decoding HTML entities with an unknown named entity that 
62754         caused null-characters to be inserted into the decoded result.
62756         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
62757               http/tests/security/xssAuditor/javascript-link-ampersand.html
62759         * page/XSSAuditor.cpp:
62760         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
62761         non-zero entity values are not inserted during decoding process.
62763 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
62765         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
62767         Reviewed by Holger Freyther.
62769         Add Gtk to platforms that want to open the menulist using the
62770         spacebar.
62772         * dom/SelectElement.cpp:
62773         (WebCore::SelectElement::menuListDefaultEventHandler):
62775 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
62777         Reviewed by Jan Alonzo.
62779         https://bugs.webkit.org/show_bug.cgi?id=25523
62780         [GTK] The text displayed by push buttons is not exposed to assistive technologies
62782         Add new public method text() to RenderButton and use it from
62783         AccessibilityRenderObject::stringValue().
62785         * accessibility/AccessibilityRenderObject.cpp:
62786         (WebCore::AccessibilityRenderObject::stringValue):
62787         * rendering/RenderButton.cpp:
62788         (WebCore::RenderButton::text):
62789         * rendering/RenderButton.h:
62791 2009-07-17  Anton Muhin  <antonm@chromium.org>
62793         Reviewed by Dimitri Glazkov.
62795         Restore proxy retrieval
62796         https://bugs.webkit.org/show_bug.cgi?id=27369
62798         No new tests are needed.
62800         * bindings/v8/V8DOMWrapper.cpp:
62801         (WebCore::V8DOMWrapper::instantiateV8Object):
62803 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
62805         Reviewed by George Staikos.
62807         https://bugs.webkit.org/show_bug.cgi?id=27351
62808         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
62809         Use uname to find the correct platform for Linux.
62811         * page/NavigatorBase.cpp:
62812         (WebCore::NavigatorBase::platform):
62814 2009-07-17  Jens Alfke  <snej@chromium.org>
62816         Reviewed by Dimitri Glazkov.
62818         Hook up V8 bindings for DataGrid elements.
62819         https://bugs.webkit.org/show_bug.cgi?id=27383
62820         http://code.google.com/p/chromium/issues/detail?id=16730
62822         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
62823         to handle exceptions, check appropriate JS prototypes, and
62824         test column-list's item() method as well as array-indexing.
62826         * WebCore.gypi: Added new source files.
62827         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
62828         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
62829         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
62830         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
62831         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
62832         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
62833         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
62834         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
62835         (WebCore::V8DataGridDataSource::create):
62836         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
62837         (WebCore::V8DataGridDataSource::jsDataSource):
62838         (WebCore::asV8DataGridDataSource):
62839         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
62840         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
62841         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
62842         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
62843         (WebCore::ACCESSOR_GETTER):
62844         (WebCore::ACCESSOR_SETTER):
62846 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
62848         Reviewed by Darin Fisher.
62850         StorageArea should only contain methods we intend to proxy.
62851         https://bugs.webkit.org/show_bug.cgi?id=27181
62853         Right now, StorageAreaSync takes in a StorageArea* and calls methods
62854         like importItem.  Really, StorageAreaSync should be operating directly
62855         on StorageAreaImpl* and those methods should be removed from StorageArea
62856         since StorageAreaSync should never be attached to anything other than a
62857         StorageAreaImpl.
62859         This was pointed out in the review for
62860         https://bugs.webkit.org/show_bug.cgi?id=27072
62862         Also clean up StorageNamespaceImpl to operate directly on
62863         StorageAreaImpl.  Also, get rid of the factory for StorageArea
62864         since nothing should ever create a StorageArea directly.
62866         * GNUmakefile.am:
62867         * WebCore.vcproj/WebCore.vcproj:
62868         * WebCore.xcodeproj/project.pbxproj:
62869         * WebCoreSources.bkl:
62870         * storage/StorageArea.cpp: Removed.
62871         * storage/StorageArea.h:
62872         (WebCore::StorageArea::~StorageArea):
62873         * storage/StorageAreaImpl.cpp:
62874         (WebCore::StorageAreaImpl::copy):
62875         * storage/StorageAreaImpl.h:
62876         * storage/StorageAreaSync.cpp:
62877         (WebCore::StorageAreaSync::create):
62878         (WebCore::StorageAreaSync::StorageAreaSync):
62879         * storage/StorageAreaSync.h:
62880         * storage/StorageNamespaceImpl.cpp:
62881         (WebCore::StorageNamespaceImpl::copy):
62882         (WebCore::StorageNamespaceImpl::storageArea):
62883         * storage/StorageNamespaceImpl.h:
62885 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
62887         Reviewed by Dimitri Glazkov.
62889         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
62890         https://bugs.webkit.org/show_bug.cgi?id=27327
62892         Wrap the storage object with a generic object as is done elsewhere in
62893         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
62894         enabled.
62896         * bindings/v8/ScriptObjectQuarantine.cpp:
62897         (WebCore::getQuarantinedScriptObject):
62899 2009-07-17  Mads Ager  <ager@chromium.org>
62901         Reviewed by Dimitri Glazkov.
62903         https://bugs.webkit.org/show_bug.cgi?id=27394
62904         Fix access to global object wrappers after navigation of their
62905         frame in the V8 bindings.  This fixes selenium test failures.
62907         * bindings/v8/V8Proxy.cpp:
62908         (WebCore::V8Proxy::updateDocument):
62910 2009-07-17  Mark Rowe  <mrowe@apple.com>
62912         Fix the 32-bit build by removing implicit float <-> double conversions.
62914         * inspector/InspectorController.cpp:
62915         (WebCore::constrainedAttachedWindowHeight):
62917 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
62919         Reviewed by Adam Roben.
62921         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
62922         https://bugs.webkit.org/show_bug.cgi?id=14272
62923         
62924         Moved preference setting for attached inspector height and inspector height calculation from
62925         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
62926         Windows resizing of attached inspector.
62928         * inspector/InspectorController.cpp:
62929         * inspector/InspectorController.h:
62931 2009-07-17  Dan Bernstein  <mitz@apple.com>
62933         Another attempt at fixing the build after r46063
62935         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
62936             header, because it is now included from htmlediting.h, which is
62937             a private header.
62939 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
62941         Reviewed by Dan Bernstein.
62943         https://bugs.webkit.org/show_bug.cgi?id=27396
62944         Moving cursor in Thai text sometimes jumps over two characters
62946         Test: editing/text-iterator/thai-cursor-movement.html
62948         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
62949         case for five Thai characters, matching ICU/CLDR changes.
62951 2009-07-14  Eric Seidel  <eric@webkit.org>
62953         Reviewed by Adam Barth.
62955         Some constructor objects exposed on Window have the wrong prototype chain
62956         https://bugs.webkit.org/show_bug.cgi?id=27276
62958         Several Constructor classes were already being passed a global object
62959         during construction, but they were ignoring it for prototype lookup.
62960         I've fixed those to use the passed global object instead.
62962         Most of these Constructor classes should just be auto-generated, but I
62963         refrained from changing them over to auto-gen in this patch.
62965         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
62966         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
62967         to match existing behavior.
62969         Test: fast/dom/prototype-inheritance.html
62971         * bindings/js/JSAudioConstructor.cpp:
62972         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
62973         * bindings/js/JSDOMBinding.h:
62974         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
62975         (WebCore::deprecatedGetDOMStructure):
62976         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
62977         * bindings/js/JSDOMWindowCustom.cpp:
62978         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
62979         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
62980         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
62981         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
62982         * bindings/js/JSImageConstructor.cpp:
62983         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
62984         * bindings/js/JSMessageChannelConstructor.cpp:
62985         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
62986         * bindings/js/JSOptionConstructor.cpp:
62987         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
62988         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
62989         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
62990         * bindings/js/JSWebKitCSSMatrixConstructor.h:
62991         * bindings/js/JSWebKitPointConstructor.cpp:
62992         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
62993         * bindings/js/JSWebKitPointConstructor.h:
62994         * bindings/js/JSWorkerConstructor.cpp:
62995         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
62996         * bindings/js/JSWorkerConstructor.h:
62997         * bindings/js/JSXMLHttpRequestConstructor.cpp:
62998         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
62999          -- XMLHttpRequest constructor was also missing a length.  Added one.
63000         * bindings/js/JSXSLTProcessorConstructor.cpp:
63001         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
63002         * bindings/js/JSXSLTProcessorConstructor.h:
63003         * bindings/scripts/CodeGeneratorJS.pm:
63005 2009-07-17  Dan Bernstein  <mitz@apple.com>
63007         Build fix
63009         * editing/htmlediting.cpp:
63010         (WebCore::visiblePositionBeforeNode):
63011         (WebCore::visiblePositionAfterNode):
63013 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
63015         Gtk build fix for symbol lookup error.
63017         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
63018         Changed in http://trac.webkit.org/changeset/46048
63020         * GNUmakefile.am:
63022 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
63024         Reviewed by Eric Seidel.
63026         htmlediting.cpp needs more utility functions to fix the bug 26816
63027         https://bugs.webkit.org/show_bug.cgi?id=27038
63029         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
63031         No tests because functions haven't been used anywhere yet.
63033         * dom/Range.cpp:
63034         (WebCore::Range::create):
63035         (WebCore::Range::comparePoint): added const qualifier
63036         (WebCore::Range::compareNode): added const qualifier
63037         * dom/Range.h:
63038         * editing/htmlediting.cpp:
63039         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
63040         (WebCore::positionBeforeNode): added ASSERT(node)
63041         (WebCore::positionAfterNode): added ASSERT(node)
63042         (WebCore::visiblePositionBeforeNode):
63043         (WebCore::visiblePositionAfterNode):
63044         (WebCore::createRange): create a range object from two visible positions
63045         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
63046         (WebCore::canMergeLists): typo
63047         (WebCore::indexForVisiblePosition): added const qualifier
63048         (WebCore::isVisiblyAdjacent): typo
63049         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
63050         * editing/htmlediting.h:
63052 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
63054         Reviewed by Darin Adler.
63056         https://bugs.webkit.org/show_bug.cgi?id=25551
63057         Added support for the "required" attribute, the valueMissing flag
63058         to the ValidityState object and :required/:optional CSS pseudoclasses.
63059         Part of HTML5 sec. Forms specs.
63060         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
63062         Tests: fast/css/pseudo-required-optional-001.html
63063                fast/css/pseudo-required-optional-002.html
63064                fast/css/pseudo-required-optional-003.html
63065                fast/css/pseudo-required-optional-004.html
63066                fast/css/pseudo-required-optional-005.html
63067                fast/css/pseudo-required-optional-006.html
63068                fast/forms/ValidityState-valueMissing-001.html
63069                fast/forms/ValidityState-valueMissing-002.html
63070                fast/forms/ValidityState-valueMissing-003.html
63071                fast/forms/ValidityState-valueMissing-004.html
63072                fast/forms/ValidityState-valueMissing-005.html
63073                fast/forms/ValidityState-valueMissing-006.html
63074                fast/forms/ValidityState-valueMissing-007.html
63075                fast/forms/ValidityState-valueMissing-008.html
63076                fast/forms/ValidityState-valueMissing-009.html
63077                fast/forms/required-attribute-001.html
63078                fast/forms/required-attribute-002.html
63080         * css/CSSSelector.cpp:
63081         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
63082         * css/CSSSelector.h:
63083         (WebCore::CSSSelector::): ditto
63084         * css/CSSStyleSelector.cpp:
63085         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
63086         * dom/Element.h:
63087         (WebCore::Element::isOptionalFormControl): check for optional controls
63088         (WebCore::Element::isRequiredFormControl): check for required controls
63089         * html/HTMLAttributeNames.in: required attribute
63090         * html/HTMLButtonElement.h:
63091         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
63092         * html/HTMLFormControlElement.cpp:
63093         (WebCore::HTMLFormControlElement::required): requiredAttr getter
63094         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
63095         * html/HTMLFormControlElement.h:
63096         (WebCore::HTMLFormControlElement::valueMissing): method definition
63097         * html/HTMLInputElement.cpp:
63098         (WebCore::HTMLInputElement::valueMissing): validation code
63099         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
63100         * html/HTMLInputElement.h:
63101         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
63102         * html/HTMLInputElement.idl: required DOM attribute
63103         * html/HTMLSelectElement.h:
63104         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
63105         * html/HTMLTextAreaElement.h:
63106         (WebCore::HTMLTextAreaElement::valueMissing): validation code
63107         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
63108         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
63109         * html/HTMLTextAreaElement.idl: required DOM attribute
63110         * html/ValidityState.cpp:
63111         * html/ValidityState.h:
63112         (WebCore::ValidityState::valueMissing): validation flag
63114 2009-07-17  Beth Dakin  <bdakin@apple.com>
63116         Reviewed by Darin Adler.
63118         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
63119         cursor hotspots should work in quirks mode
63120         - and corresponding <rdar://problem/6554340>
63122         Enable hotspots in quirks mode.
63123         * css/CSSParser.cpp:
63124         (WebCore::CSSParser::parseValue):
63126         Update this manual test to reflect the fact that hotspots are now 
63127         expected to work in quirks mode.
63128         * manual-tests/css3-cursor-fallback-quirks.html:
63130 2009-07-17  Peter Kasting  <pkasting@google.com>
63132         Reviewed by Steve Falkenburg.
63134         https://bugs.webkit.org/show_bug.cgi?id=27323
63135         Only add Cygwin to the path when it isn't already there.  This avoids
63136         causing problems for people who purposefully have non-Cygwin versions of
63137         executables like svn in front of the Cygwin ones in their paths.
63139         * WebCore.vcproj/QTMovieWin.vcproj:
63140         * WebCore.vcproj/WebCoreCommon.vsprops:
63141         * WebCore.vcproj/WebCoreGenerated.vcproj:
63143 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
63145         Reviewed by David Levin.
63147         https://bugs.webkit.org/show_bug.cgi?id=27384
63148         Random crashes in appcache/update-cache.html test
63150         * loader/appcache/ApplicationCacheGroup.cpp:
63151         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
63152         after canceling it.
63154 2009-07-17  Drew Wilson  <atwilson@google.com>
63156         Reviewed by David Levin.
63158         Need to refactor Worker to derive from AbstractWorker
63159         https://bugs.webkit.org/show_bug.cgi?id=26948
63161         Changed Worker to derive from AbstractWorker, which involved moving
63162         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
63163         ENABLE_WORKERS.
63165         Removed obsolete functionality from the JS/V8 bindings that is now
63166         inherited from AbstractWorker.
63168         * WebCore.pro:
63169         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
63170         * bindings/js/JSAbstractWorkerCustom.cpp:
63171         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
63172         * bindings/js/JSWorkerCustom.cpp:
63173         Removed obsolete event listener code (now in base class)
63174         (WebCore::JSWorker::mark):
63175         No longer need to explicitly mark event listeners (handled by base class).
63176         * bindings/v8/V8Index.h:
63177         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
63178         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
63179         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
63180         * bindings/v8/custom/V8CustomBinding.h:
63181         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
63182         * bindings/v8/custom/V8WorkerCustom.cpp:
63183         Removed obsolete event listener code that now lives in the base class.
63184         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
63185         * workers/AbstractWorker.cpp:
63186         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
63187         * workers/AbstractWorker.h:
63188         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
63189         * workers/Worker.cpp:
63190         Removed event listener code (now in base class).
63191         (WebCore::Worker::Worker): Now derives from AbstractWorker.
63192         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
63193         * workers/Worker.h:
63194         Removed APIs that now live in the base class.
63195         * workers/Worker.idl:
63196         Now derives from AbstractWorker.
63197         Removed APIs that live in the base class, and added a GenerateToJS flag.
63199 2009-07-17  David Hyatt  <hyatt@apple.com>
63201         Reviewed by Dan Bernstein.
63203         https://bugs.webkit.org/show_bug.cgi?id=27379
63204         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
63205         the vertical scrollbar width for overflow:scroll elements.
63207         Added fast/css/positioned-overflow-scroll.html
63209         * rendering/RenderBlock.cpp:
63210         (WebCore::RenderBlock::calcPrefWidths):
63211         * rendering/RenderFlexibleBox.cpp:
63212         (WebCore::RenderFlexibleBox::calcPrefWidths):
63214 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
63216         Reviewed by Dimitri Glazkov.
63218         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
63219         https://bugs.webkit.org/show_bug.cgi?id=27375
63221         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
63222         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
63223         DOM_STORAGE is not turned on by default in Chromium, and so these two
63224         files are never generated.  This breaks the compile.
63226         There are no other instances of guards in the file, which puzzles me...
63227         but I think adding guards is the right way to go about this.
63229         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
63231 2009-07-17  Brady Eidson  <beidson@apple.com>
63233         Reviewed by Darin Adler.
63235         https://bugs.webkit.org/show_bug.cgi?id=26496
63237         Let WebCore always enforce the connection-per-host limit itself.
63239         * loader/loader.cpp:
63240         (WebCore::Loader::Host::servePendingRequests):
63242 2009-07-17  Chris Marrin  <cmarrin@apple.com>
63244         Reviewed by David Hyatt.
63246         Some transitions don't work correctly on Leopard
63247         https://bugs.webkit.org/show_bug.cgi?id=27356
63249         We only have code to do component animation using valueFunction.
63250         So on Leopard we always need to do matrix animation in hardware.
63251         This fix ensures that. 
63253         This is currently not testable because it appears only in the
63254         hardware animation and we can't yet do pixel tests while 
63255         hardware animating.
63257         * platform/graphics/mac/GraphicsLayerCA.mm:
63258         (WebCore::GraphicsLayerCA::animateTransform):
63260 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
63262         Reviewed by Gustavo Noronha.
63264         [GTK+] Crash in screenAvailable due a null Widget*
63266         JSDOMWindow::open called screenAvailableRect(0). The other
63267         Screen methods can be called with a null widget as well, fix the
63268         crashing test by checking for null.
63270         In screenRect and screenAvailableRect it is not tried to use
63271         a default screen as the existing implementation didn't try either
63272         in case of not having a toplevel widget.
63274         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
63276         * platform/gtk/PlatformScreenGtk.cpp:
63277         (WebCore::getVisual): New method to get a visual or return zero.
63278         (WebCore::screenDepth): Use getVisual.
63279         (WebCore::screenDepthPerComponent): Use getVisual.
63280         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
63281         (WebCore::screenRect): Check for !widget.
63282         (WebCore::screenAvailableRect): Check for !widget.
63284 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
63286         Reviewed by Simon Hausmann.
63288         [Qt] Fix the include path for the Symbian port
63289         https://bugs.webkit.org/show_bug.cgi?id=27358
63291         * WebCore.pro:
63293 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
63295         Reviewed by Simon Hausmann.
63297         Make it possible to set the plugin directories from the DRT.
63298         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
63300         * plugins/PluginDatabase.cpp:
63301         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
63302         a populate argument, so we can avoid loading system plugins from the
63303         DRT and thus avoid their strerr errors that can make tests fail.
63304         (WebCore::PluginDatabase::clear): Make it possible to clear the
63305         database. Called from setPluginDirectories.
63306         * plugins/PluginDatabase.h:
63307         (WebCore::PluginDatabase::setPluginDirectories): Make public
63309 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63311         Reviewed by Simon Hausmann.
63313         PluginViewMac: Stop the plugin when loading fails
63315         Also, prevent event propagation when in the stopped state
63317         * plugins/mac/PluginViewMac.cpp:
63319 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63321         Reviewed by Simon Hausmann.
63323         PluginViewMac: Allow query and set of drawing and event models
63325         We now support querying and setting of the drawing and event model,
63326         but we still only support the CoreGraphics drawing model, and the
63327         Carbon event model.
63329         If unsupported drawing or event models are detected we show the
63330         missing-plugin icon.
63332         * plugins/PluginView.cpp:
63333         * plugins/PluginView.h:
63334         * plugins/mac/PluginViewMac.cpp:
63336 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63338         Reviewed by Simon Hausmann.
63340         Initialize two PluginView members using memset
63342         m_npWindow is used on all platforms, not just for XP_UNIX,
63343         so always initialize it. m_npCgContext on the other hand
63344         is only used for XP_MACOSX.
63346         * plugins/PluginView.cpp:
63348 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63350         Reviewed by Simon Hausmann.
63352         Add more debug logging in PluginView
63354         * plugins/PluginView.cpp: Add debug for setValue
63355         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
63356         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
63357         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
63358         * plugins/win/PluginViewWin.cpp: Add debug for getValue
63360 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63362         Reviewed by Holger Freyther.
63364         Use same license in PluginDebug.cpp as in the original PluginDebug.h
63366         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
63368 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63370         Reviewed by Simon Hausmann.
63372         Add more debugging functionality for the WebCore NPAPI layer
63374         * GNUmakefile.am: Add PluginDebug.cpp
63375         * WebCore.gypi: Add PluginDebug.cpp
63376         * WebCore.pro: Add PluginDebug.cpp
63377         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
63378         * WebCoreSources.bkl: Add PluginDebug.cpp
63379         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
63380         * plugins/PluginDebug.cpp: New file
63382 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
63384         Reviewed by David Levin.
63386         Fix Chromium build with DOM_STORAGE enabled.
63387         https://bugs.webkit.org/show_bug.cgi?id=27360
63389         2 minor changes as noted below:
63391         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
63392         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
63394 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
63396         Reviewed by David Levin.
63398         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
63399         https://bugs.webkit.org/show_bug.cgi?id=27206
63400         
63401         Add ENABLE_WEB_SOCKETS
63403         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
63404         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
63405         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
63406         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
63408 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63410         Reviewed by Oliver Hunt.
63412         Added a third bunch of Haiku-specific files for WebCore.
63413         https://bugs.webkit.org/show_bug.cgi?id=26952
63415         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
63416         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
63418         * platform/haiku/EventLoopHaiku.cpp: Added.
63419         (WebCore::EventLoop::cycle):
63420         * platform/haiku/FileChooserHaiku.cpp: Added.
63421         (WebCore::FileChooser::FileChooser):
63422         (WebCore::FileChooser::basenameForWidth):
63423         * platform/haiku/FileSystemHaiku.cpp: Added.
63424         (WebCore::fileSystemRepresentation):
63425         (WebCore::homeDirectoryPath):
63426         (WebCore::openTemporaryFile):
63427         (WebCore::closeFile):
63428         (WebCore::writeToFile):
63429         (WebCore::unloadModule):
63430         (WebCore::listDirectory):
63431         * platform/haiku/KeyboardCodes.h: Added.
63432         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
63433         (WebCore::):
63434         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
63436 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63438         Reviewed by Oliver Hunt.
63440         Added a second bunch of Haiku-specific files for WebCore.
63441         https://bugs.webkit.org/show_bug.cgi?id=26952
63443         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
63444         DragDataHaiku.cpp and DragImageHaiku.cpp
63446         * platform/haiku/ContextMenuHaiku.cpp: Added.
63447         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
63448         (WebCore::ContextMenuReceiver::HandleMessage):
63449         (WebCore::ContextMenuReceiver::Result):
63450         (WebCore::ContextMenu::ContextMenu):
63451         (WebCore::ContextMenu::~ContextMenu):
63452         (WebCore::ContextMenu::appendItem):
63453         (WebCore::ContextMenu::itemCount):
63454         (WebCore::ContextMenu::insertItem):
63455         (WebCore::ContextMenu::platformDescription):
63456         (WebCore::ContextMenu::setPlatformDescription):
63457         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
63458         (ContextMenuItem::ContextMenuItem):
63459         (ContextMenuItem::~ContextMenuItem):
63460         (ContextMenuItem::releasePlatformDescription):
63461         (ContextMenuItem::type):
63462         (ContextMenuItem::setType):
63463         (ContextMenuItem::action):
63464         (ContextMenuItem::setAction):
63465         (ContextMenuItem::title):
63466         (ContextMenuItem::setTitle):
63467         (ContextMenuItem::platformSubMenu):
63468         (ContextMenuItem::setSubMenu):
63469         (ContextMenuItem::setChecked):
63470         (ContextMenuItem::setEnabled):
63471         (ContextMenuItem::enabled):
63472         * platform/haiku/DragDataHaiku.cpp: Added.
63473         (WebCore::DragData::canSmartReplace):
63474         (WebCore::DragData::containsColor):
63475         (WebCore::DragData::containsFiles):
63476         (WebCore::DragData::asFilenames):
63477         (WebCore::DragData::containsPlainText):
63478         (WebCore::DragData::asPlainText):
63479         (WebCore::DragData::asColor):
63480         (WebCore::DragData::createClipboard):
63481         (WebCore::DragData::containsCompatibleContent):
63482         (WebCore::DragData::containsURL):
63483         (WebCore::DragData::asURL):
63484         (WebCore::DragData::asFragment):
63485         * platform/haiku/DragImageHaiku.cpp: Added.
63486         (WebCore::dragImageSize):
63487         (WebCore::deleteDragImage):
63488         (WebCore::scaleDragImage):
63489         (WebCore::dissolveDragImageToFraction):
63490         (WebCore::createDragImageFromImage):
63491         (WebCore::createDragImageIconForCachedImage):
63493 2009-07-16  Stephen White  <senorblanco@chromium.org>
63495         Reviewed by Darin Fisher and Brett Wilson.
63497         Refactor Skia implementation of gradients and patterns.
63499         http://bugs.webkit.org/show_bug.cgi?id=26618
63501         The following layout tests were breaking on Chromium/Linux:
63503         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
63504         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
63505         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
63506         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
63508         I could've fixed these the easy way, by copying the same 5
63509         lines of code we use everywhere we need patterns or gradients, but
63510         I decided to fix it the hard way:  by refactoring the code so that
63511         PlatformContextSkia::setupPaintForFilling() and
63512         PlatformContextSkia::setupPaintForStroking() do the right thing,
63513         and also handle gradients and patterns.
63514         
63515         This required pushing the gradients and patterns set in 
63516         (generic) GraphicsContext::setFillPattern() and friends down into
63517         PlatformContextSkia.  For this, I followed the setPlatformXXX()
63518         pattern used elsewhere in GraphicsContext, and stubbed them out on
63519         the other platforms with #if !PLATFORM(SKIA).  This also required
63520         pushing changes to the gradientSpaceTransform from the Gradient into 
63521         GradientSkia.
63523         Since it's a Skia context, I decided to cache the values as
63524         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
63525         but they were unused, and whose use was ambiguous, so I
63526         replaced them with one SkShader each for filling and stroking.
63528         * platform/graphics/Gradient.cpp:
63529         (WebCore::Gradient::setGradientSpaceTransform):
63530         (WebCore::Gradient::setPlatformGradientSpaceTransform):
63531         * platform/graphics/Gradient.h:
63532         * platform/graphics/GraphicsContext.cpp:
63533         (WebCore::GraphicsContext::setStrokePattern):
63534         (WebCore::GraphicsContext::setFillPattern):
63535         (WebCore::GraphicsContext::setStrokeGradient):
63536         (WebCore::GraphicsContext::setFillGradient):
63537         (WebCore::GraphicsContext::setPlatformFillGradient):
63538         (WebCore::GraphicsContext::setPlatformFillPattern):
63539         (WebCore::GraphicsContext::setPlatformStrokeGradient):
63540         (WebCore::GraphicsContext::setPlatformStrokePattern):
63541         * platform/graphics/GraphicsContext.h:
63542         * platform/graphics/skia/GradientSkia.cpp:
63543         (WebCore::Gradient::setPlatformGradientSpaceTransform):
63544         * platform/graphics/skia/GraphicsContextSkia.cpp:
63545         (WebCore::GraphicsContext::fillPath):
63546         (WebCore::GraphicsContext::fillRect):
63547         (WebCore::GraphicsContext::setPlatformFillGradient):
63548         (WebCore::GraphicsContext::setPlatformFillPattern):
63549         (WebCore::GraphicsContext::setPlatformStrokeGradient):
63550         (WebCore::GraphicsContext::setPlatformStrokePattern):
63551         (WebCore::GraphicsContext::strokePath):
63552         (WebCore::GraphicsContext::strokeRect):
63553         * platform/graphics/skia/PlatformContextSkia.cpp:
63554         (PlatformContextSkia::State::State):
63555         (PlatformContextSkia::State::~State):
63556         (PlatformContextSkia::drawRect):
63557         (PlatformContextSkia::setupPaintCommon):
63558         (PlatformContextSkia::setupPaintForFilling):
63559         (PlatformContextSkia::setupPaintForStroking):
63560         (PlatformContextSkia::setFillColor):
63561         (PlatformContextSkia::setStrokeColor):
63562         (PlatformContextSkia::setStrokeShader):
63563         (PlatformContextSkia::setFillShader):
63564         * platform/graphics/skia/PlatformContextSkia.h:
63565         * platform/graphics/skia/SkiaFontWin.cpp:
63566         (WebCore::skiaDrawText):
63567         (WebCore::paintSkiaText):
63568         * svg/graphics/SVGPaintServer.cpp:
63569         (WebCore::SVGPaintServer::teardown):
63571 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63573         Reviewed by Oliver Hunt.
63575         Added Haiku-specific files for WebCore/platform/image-decoders/.
63576         https://bugs.webkit.org/show_bug.cgi?id=26949
63578         Adding a new file, ImageDecoderHaiku.cpp.
63580         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
63581         (WebCore::RGBA32Buffer::RGBA32Buffer):
63582         (WebCore::RGBA32Buffer::clear):
63583         (WebCore::RGBA32Buffer::zeroFill):
63584         (WebCore::RGBA32Buffer::copyBitmapData):
63585         (WebCore::RGBA32Buffer::setSize):
63586         (WebCore::RGBA32Buffer::asNewNativeImage):
63587         (WebCore::RGBA32Buffer::hasAlpha):
63588         (WebCore::RGBA32Buffer::setHasAlpha):
63589         (WebCore::RGBA32Buffer::setStatus):
63590         (WebCore::RGBA32Buffer::operator=):
63591         (WebCore::RGBA32Buffer::width):
63592         (WebCore::RGBA32Buffer::height):
63594 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63596         Reviewed by Eric Seidel.
63598         Added Haiku-specific files for WebCore/page/.
63599         https://bugs.webkit.org/show_bug.cgi?id=26949
63601         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
63602         and FrameHaiku.cpp
63604         * page/haiku/DragControllerHaiku.cpp: Added.
63605         (WebCore::DragController::isCopyKeyDown):
63606         (WebCore::DragController::dragOperation):
63607         (WebCore::DragController::maxDragImageSize):
63608         (WebCore::DragController::cleanupAfterSystemDrag):
63609         * page/haiku/EventHandlerHaiku.cpp: Added.
63610         (WebCore::isKeyboardOptionTab):
63611         (WebCore::EventHandler::invertSenseOfTabsToLinks):
63612         (WebCore::EventHandler::tabsToAllControls):
63613         (WebCore::EventHandler::focusDocumentView):
63614         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
63615         (WebCore::EventHandler::passMouseDownEventToWidget):
63616         (WebCore::EventHandler::eventActivatedView):
63617         (WebCore::EventHandler::passSubframeEventToSubframe):
63618         (WebCore::EventHandler::passWheelEventToWidget):
63619         (WebCore::EventHandler::createDraggingClipboard):
63620         (WebCore::EventHandler::passMousePressEventToSubframe):
63621         (WebCore::EventHandler::passMouseMoveEventToSubframe):
63622         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
63623         (WebCore::EventHandler::accessKeyModifiers):
63624         * page/haiku/FrameHaiku.cpp: Added.
63625         (WebCore::Frame::dragImageForSelection):
63627 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63629         Reviewed by Eric Seidel.
63631         Added Haiku-specific files for WebCore/editing/.
63632         https://bugs.webkit.org/show_bug.cgi?id=26949
63634         Adding one new file, EditorHaiku.cpp
63636         * editing/haiku/EditorHaiku.cpp: Added.
63637         (WebCore::Editor::newGeneralClipboard):
63639 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63641         Reviewed by Eric Seidel.
63643         Added Haiku-specific files for WebCore/bindings/js/.
63644         https://bugs.webkit.org/show_bug.cgi?id=26949
63646         Adding a new file, ScriptControllerHaiku.cpp
63648         * bindings/js/ScriptControllerHaiku.cpp: Added.
63649         (WebCore::ScriptController::createScriptInstanceForWidget):
63651 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
63653         Reviewed by Eric Seidel.
63655         Added Haiku-specific files for WebCore/platform/text/.
63656         https://bugs.webkit.org/show_bug.cgi?id=26949
63658         Adding two new files, StringHaiku.cpp
63659         and TextBreakIteratorInternalICUHaiku.cpp
63661         * platform/text/haiku/StringHaiku.cpp: Added.
63662         (WebCore::String::String):
63663         (WebCore::String::operator BString):
63664         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
63665         (WebCore::currentTextBreakLocaleID):
63667 2009-07-16  Kent Tamura  <tkent@chromium.org>
63669         Reviewed by Eric Seidel.
63671         Sends the basename of a selected file for non-multipart form submission.
63672         <https://bugs.webkit.org/show_bug.cgi?id=26505>
63674         Test: fast/forms/get-file-upload.html
63676         * html/HTMLInputElement.cpp:
63677         (WebCore::HTMLInputElement::appendFormData):
63679 2009-07-16  Adam Barth  <abarth@webkit.org>
63681         Reviewed by David Levin.
63683         [V8] Centralize hidden property names
63684         https://bugs.webkit.org/show_bug.cgi?id=27359
63686         No behavior change.  Just moving these names to a central location.
63687         I'll move the rest of our hidden property names as I sweep though the
63688         bindings.
63690         * WebCore.gypi:
63691         * bindings/v8/V8HiddenPropertyName.cpp: Added.
63692         (WebCore::V8HiddenPropertyName::objectPrototype):
63693         (WebCore::V8HiddenPropertyName::isolatedWorld):
63694         * bindings/v8/V8HiddenPropertyName.h: Added.
63695         * bindings/v8/V8IsolatedWorld.cpp:
63696         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
63697         (WebCore::V8IsolatedWorld::getEntered):
63698         * bindings/v8/V8Proxy.cpp:
63699         (WebCore::V8Proxy::getHiddenObjectPrototype):
63700         (WebCore::V8Proxy::installHiddenObjectPrototype):
63702 2009-07-16  Dan Bernstein  <mitz@apple.com>
63704         Reviewed by Simon Fraser.
63706         REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
63707         https://bugs.webkit.org/show_bug.cgi?id=26747
63708         rdar://problem/7009243
63710         Test: fast/repaint/background-misaligned.html
63712         * platform/graphics/Image.cpp:
63713         (WebCore::Image::drawTiled): Moved a variable definition closer to where
63714         it is used.
63715         * platform/graphics/cg/ImageCG.cpp:
63716         (WebCore::BitmapImage::draw): In the subimage code path, compute a
63717         pixel-aligned source rect, because the subiamge is always pixel-aligned
63718         in source space, and adjust the destination rect to preserve the
63719         source -> destination mapping. Clip to the (original) destination rect
63720         to prevent bleeding out.
63722 2009-07-16  Jeremy Orlow  <jorlow@chromium.org>
63724         Reviewed by Adam Barth.
63726         Add a sessionStorageEnabled setting to the settings class.
63727         https://bugs.webkit.org/show_bug.cgi?id=27318
63729         Allow LocalStorage to be enabled without enabling SessionStorage at
63730         runtime.  There is a settings class setting for localStorage, but not
63731         for sessionStorage.  We want to be able to test one of these features
63732         without necessarily enabling the other.
63734         SessionStorage defaults to true so as to not change behavior and
63735         because there really aren't any security concerns around SessionStorage
63736         (unlike LocalsStorage).  The flag is needed in Chromium only because
63737         we want to enable the compile time flag in the default build, but don't
63738         want it on by default until it's been thoroughly tested.
63740         * page/DOMWindow.cpp:
63741         (WebCore::DOMWindow::sessionStorage):  Check the new flag
63742         (WebCore::DOMWindow::localStorage):  A bit of cleanup
63743         * page/Settings.cpp:
63744         (WebCore::Settings::Settings):  Default the flag to true
63745         (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
63746         * page/Settings.h:
63747         (WebCore::Settings::sessionStorageEnabled):  Get the new flag
63749 2009-07-16  Adam Barth  <abarth@webkit.org>
63751         Unreviewed.
63753         Revert 45987.  Tests did not pass on Windows.
63755         * html/HTMLInputElement.cpp:
63756         (WebCore::HTMLInputElement::appendFormData):
63758 2009-07-16  Drew Wilson  <atwilson@google.com>
63760         Reviewed by David Levin.
63762         Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
63763         Added missing V8 bindings to the AllInOne file
63765         https://bugs.webkit.org/show_bug.cgi?id=27321
63767         * WebCore.vcproj/WebCore.vcproj:
63768         Added missing files to build.
63769         * bindings/v8/DerivedSourcesAllInOne.cpp:
63770         Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
63771         * DerivedSources.cpp
63772         Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
63774 2009-07-16  John Abd-El-Malek  <jam@chromium.org>
63776         Reviewed by David Levin.
63778         Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
63780         https://bugs.webkit.org/show_bug.cgi?id=27337
63782         * dom/MessagePortChannel.h:
63783         (WebCore::MessagePortChannel::channel):
63785 2009-07-16  Xiaomei Ji  <xji@chromium.org>
63787         Reviewed by Darin Adler.
63789         Fix tooltip does not get its directionality from its element's directionality.
63790         https://bugs.webkit.org/show_bug.cgi?id=24187
63792         Per mitz's suggestion in comment #6, while getting the plain-text 
63793         title, we also get the directionality of the title. How to handle 
63794         the directionality is up to clients. Clients could ignore it, 
63795         or use attribute or unicode control characters to display the title
63796         as what they want.
63798         WARNING: NO TEST CASES ADDED OR CHANGED
63800         * WebCore.base.exp: Replace 2 names due to signature change.
63801         * loader/EmptyClients.h: 
63802         (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
63803         * page/Chrome.cpp:
63804         (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
63805         * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
63806         * page/chromium/ChromeClientChromium.h:
63807         (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
63808         temprarily to make chromium compile after pick up this webkit patch.
63809         * rendering/HitTestResult.cpp:
63810         (WebCore::HitTestResult::spellingToolTip): Besides getting the 
63811         spelling tooltip, get its directionality as well.
63812         (WebCore::HitTestResult::title): Besides getting the title, 
63813         get its directionality as well.
63814         * rendering/HitTestResult.h: Add 2 more methods.
63816 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
63818         Reviewed by Oliver Hunt.
63820         [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
63821         https://bugs.webkit.org/show_bug.cgi?id=20578
63823         Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
63825         Test: fast/canvas/canvas-pattern-modify.html
63827         * platform/graphics/cairo/ImageBufferCairo.cpp:
63828         (copySurface):
63829         (WebCore::ImageBuffer::image):
63831 2009-07-16  David Hyatt  <hyatt@apple.com>
63833         Reviewed by Beth Dakin.
63835         https://bugs.webkit.org/show_bug.cgi?id=27353
63836         Images mispositioned because of bug in percentage-based relative positioning.
63838         Added fast/css/nested-floating-relative-position-percentages.html
63840         * rendering/RenderBoxModelObject.cpp:
63841         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
63843 2009-07-16  Kent Tamura  <tkent@chromium.org>
63845         Reviewed by Eric Seidel.
63847         Sends the basename of a selected file for non-multipart form submission.
63848         <https://bugs.webkit.org/show_bug.cgi?id=26505>
63850         Test: fast/forms/get-file-upload.html
63852         * html/HTMLInputElement.cpp:
63853         (WebCore::HTMLInputElement::appendFormData):
63855 2009-07-16  Simon Fraser  <simon.fraser@apple.com>
63857         Reviewed by Darin Adler.
63859         Video size sometimes jumps just after the video starts loading
63860         https://bugs.webkit.org/show_bug.cgi?id=27352
63862         Ensure that the media player is at or after the 'HaveMetadata' state so that
63863         the instrinsic size is known before we create the layer for video. This avoids
63864         a flash caused by computing the video rect using the default intrinsic size, and then
63865         re-computing it when that size changes.
63866         
63867         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
63868         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63869         (WebCore::MediaPlayerPrivate::isReadyForRendering):
63870         (WebCore::MediaPlayerPrivate::updateStates):
63871         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
63873 2009-07-16  Brady Eidson  <beidson@apple.com>
63875         Reviewed by Antti Koivisto.
63876         Patch by Brady Eidson and Alexey Proskuryakov.
63878         https://bugs.webkit.org/show_bug.cgi?id=26496
63879         <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
63881         After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
63882         from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
63884         * loader/loader.cpp:
63885         (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
63887 2009-07-16  Adam Barth  <abarth@webkit.org>
63889         Reviewed by Dimitri Glazkov.
63891         [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
63892         https://bugs.webkit.org/show_bug.cgi?id=27335
63894         evaluateInNewContext makes this delegate call.  evaluateInNewWorld
63895         needs to make the same call.  This does not appear to be testable with
63896         our current technology.
63898         * bindings/v8/V8IsolatedWorld.cpp:
63899         (WebCore::V8IsolatedWorld::evaluate):
63901 2009-07-15  Jakub Wieczorek  <faw217@gmail.com>
63903         Reviewed by Simon Hausmann.
63905         Fix a typo: application/atom=xml -> application/atom+xml.
63907         * dom/ProcessingInstruction.cpp:
63908         (WebCore::ProcessingInstruction::checkStyleSheet):
63910 2009-07-16  Dean McNamee  <deanm@chromium.org>
63912         Reviewed by Oliver Hunt.
63914         https://bugs.webkit.org/show_bug.cgi?id=27292
63915         Improve handling of <canvas> path operations on an empty path.
63916         Implement Skia's Path::hasCurrentPoint().
63918         * html/CanvasRenderingContext2D.cpp:
63919         (WebCore::CanvasRenderingContext2D::lineTo):
63920         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
63921         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
63922         * platform/graphics/skia/PathSkia.cpp:
63923         (WebCore::Path::hasCurrentPoint):
63925 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
63927         Reviewed by Eric Seidel.
63929         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
63930         https://bugs.webkit.org/show_bug.cgi?id=26254
63932         Make it so that setting white-space and word-wrap via CSS
63933         overrides the wrap attribute.
63935         This involves having the shadow div in the textarea inherit
63936         the CSS from its parent instead of hard-coding it in
63937         RenderTextControlMultiline.
63938         
63939         Committer note: Earlier I reverted this change because I did it incorrectly
63940         by leaving out css/html.css. In the patch, the filename was the old name
63941         css/html4.css and that led to my error.
63943         * css/html.css:
63944         * html/HTMLTextAreaElement.cpp:
63945         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
63946         * rendering/RenderTextControlMultiLine.cpp:
63947         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
63949 2009-07-15  James Hawkins  <jhawkins@google.com>
63951         Reviewed by Adam Barth.
63953         [V8] Remove a local variable that is shadowing a function parameter.
63954         https://bugs.webkit.org/show_bug.cgi?id=27309
63956         No test required as this modification does not change the current behavior.
63958         * bindings/v8/V8DOMWrapper.cpp:
63959         (WebCore::V8DOMWrapper::instantiateV8Object):
63961 2009-07-15  Adam Langley  <agl@google.com>
63963         No review: reverting previous change.
63965         Revert r45959:
63967         2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
63968         Reviewed by Dimitri Glazkov.
63970         Adding the Win SQLite VFS implementation for Chromium.
63972         https://bugs.webkit.org/show_bug.cgi?id=26940
63975         The Chromium side of this patch was landed in 20839, but broke the build. It
63976         was reverted in r20840. Thus, I'm reverting this side of the patch too.
63978         * WebCore.gypi:
63979         * platform/chromium/ChromiumBridge.h:
63980         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
63981         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
63983 2009-07-15  David Levin  <levin@chromium.org>
63985         Layout test fix, reverting previous change.
63987         Reverting r45962 as it caused several layout test failures.
63989         * html/HTMLTextAreaElement.cpp:
63990         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
63991         * rendering/RenderTextControlMultiLine.cpp:
63992         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
63994 2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
63996         Reviewed by Eric Seidel.
63998         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
63999         https://bugs.webkit.org/show_bug.cgi?id=26254
64001         Make it so that setting white-space and word-wrap via CSS
64002         overrides the wrap attribute.
64004         This involves having the shadow div in the textarea inherit
64005         the CSS from its parent instead of hard-coding it in
64006         RenderTextControlMultiline.
64008         * css/html4.css:
64009         * html/HTMLTextAreaElement.cpp:
64010         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
64011         * rendering/RenderTextControlMultiLine.cpp:
64012         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
64014 2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
64016         Reviewed by Dimitri Glazkov.
64018         Adding the Win SQLite VFS implementation for Chromium.
64020         https://bugs.webkit.org/show_bug.cgi?id=26940
64022         * platform/chromium/ChromiumBridge.h:
64023         * platform/sql/chromium: Added.
64024         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
64025         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
64027 2009-07-15  Jian Li  <jianli@chromium.org>
64029         Reviewed by David Levin.
64031         Bug 25151 - workers that fail to load scripts not firing error event.
64032         https://bugs.webkit.org/show_bug.cgi?id=25151
64034         This fixes the problem that an error event is not fired when the worker
64035         script fails to load. Some reasons this may occur are an invalid URL for
64036         the worker script or a cross-origin redirect.
64038         We also moves the code to complete the URL and check its origin from
64039         Worker constructor to WorkerScriptLoader loading functions in order to
64040         move the exception throwing logic out of the scope of Worker constructor.
64041         Due to this change, we also remove the output ExceptionCode parameter
64042         in the worker constructor. Corresponding JS/V8 binding codes have been
64043         updated to reflect this change.
64045         * bindings/js/JSWorkerConstructor.cpp:
64046         (WebCore::constructWorker):
64047         * bindings/v8/custom/V8WorkerCustom.cpp:
64048         (WebCore::CALLBACK_FUNC_DECL):
64049         * workers/Worker.cpp:
64050         (WebCore::Worker::Worker):
64051         (WebCore::Worker::notifyFinished):
64052         * workers/Worker.h:
64053         (WebCore::Worker::create):
64054         * workers/WorkerContext.cpp:
64055         (WebCore::WorkerContext::importScripts):
64056         * workers/WorkerScriptLoader.cpp:
64057         (WebCore::toCrossOriginRedirectPolicy):
64058         (WebCore::WorkerScriptLoader::loadSynchronously):
64059         (WebCore::WorkerScriptLoader::loadAsynchronously):
64060         (WebCore::notifyLoadErrorTask):
64061         (WebCore::WorkerScriptLoader::createResourceRequest):
64062         (WebCore::WorkerScriptLoader::didFail):
64063         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
64064         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
64065         (WebCore::WorkerScriptLoader::notifyError):
64066         * workers/WorkerScriptLoader.h:
64067         (WebCore::):
64068         (WebCore::WorkerScriptLoader::url):
64070 2009-07-15  Dan Bernstein  <mitz@apple.com>
64072         Reviewed by Dave Hyatt.
64074         text-shadow is not drawn for text with transparent colour
64075         https://bugs.webkit.org/show_bug.cgi?id=21374
64077         Test: fast/text/shadow-translucent-fill.html
64079         * rendering/InlineTextBox.cpp:
64080         (WebCore::paintTextWithShadows): If the text fill color is not opaque,
64081         paint all shadows separately from the text, by casting them from
64082         clipped-out opaque text.
64084 2009-07-15  Adam Treat  <adam.treat@torchmobile.com>
64086         Fix the Qt build.
64088         * html/HTMLAreaElement.cpp:
64090 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
64092         Reviewed by Darin Fisher.
64094         Cleanup DOM Storage dependencies.
64095         https://bugs.webkit.org/show_bug.cgi?id=27180
64097         DOM Storage had several unnecessary (and probably unintended)
64098         dependencies.  This patch replaces many includes of header files with
64099         forward declaration of classes, making some destructors explicit, and
64100         taking some factories out of the header files.
64102         This will allow things like StorageAreaSync to take a StorageAreaImpl*
64103         (as it should) rather than a StorageArea* which previously weren't
64104         possible because the dependencies were such a tangled mess.
64106         * storage/LocalStorageTask.cpp:
64107         (WebCore::LocalStorageTask::~LocalStorageTask):
64108         * storage/LocalStorageTask.h:
64109         * storage/Storage.cpp:
64110         (WebCore::Storage::~Storage):
64111         * storage/Storage.h:
64112         * storage/StorageArea.cpp:
64113         * storage/StorageArea.h:
64114         * storage/StorageAreaImpl.cpp:
64115         * storage/StorageAreaImpl.h:
64116         * storage/StorageAreaSync.cpp:
64117         (WebCore::StorageAreaSync::~StorageAreaSync):
64118         * storage/StorageAreaSync.h:
64119         * storage/StorageEvent.cpp:
64120         (WebCore::StorageEvent::create):
64121         (WebCore::StorageEvent::StorageEvent):
64122         * storage/StorageEvent.h:
64123         * storage/StorageNamespace.h:
64124         * storage/StorageNamespaceImpl.cpp:
64125         * storage/StorageNamespaceImpl.h:
64126         * storage/StorageSyncManager.cpp:
64127         (WebCore::StorageSyncManager::~StorageSyncManager):
64128         * storage/StorageSyncManager.h:
64130 2009-07-15  Chris Marrin  <cmarrin@apple.com>
64132         Reviewed by Simon Fraser.
64134         Incorrect animation when trying to duplicate effect of transform-origin
64135         https://bugs.webkit.org/show_bug.cgi?id=27310
64137         The bug is that matrix animation is being used when animating
64138         a list of transform functions that match in the from and to states.
64139         This sometimes works. But because of the way CA does matrix animation
64140         function lists like the one shown in the testcase animate incorrectly.
64142         This fixes the bug by always doing component animation
64143         as long as the function lists match. This allows CA
64144         to animate the components and then recompose the result
64145         into the correct matrix.
64147         Test: animations/transform-origin-vs-functions.html
64149         * platform/graphics/mac/GraphicsLayerCA.mm:
64150         (WebCore::GraphicsLayerCA::animateTransform):
64152 2009-07-15  Albert J. Wong  <ajwong@chromium.org>
64154         Reviewed by David Levin.
64156         Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
64158         Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
64159         downstream
64160         https://bugs.webkit.org/show_bug.cgi?id=27274
64162         Changes the build file for chromium.  Test built the chromium tree
64163         to verify.
64165         * WebCore.gypi:
64167 2009-07-15  Mark Rowe  <mrowe@apple.com>
64169         I like it when the code compiles.
64171         * WebCore.base.exp:
64173 2009-07-15  Darin Adler  <darin@apple.com>
64175         Reviewed by Sam Weinig.
64177         Renamed parseURL to deprecatedParseURL.
64179         * bindings/js/JSAttrCustom.cpp:
64180         (WebCore::JSAttr::setValue): Renamed.
64181         * bindings/js/JSElementCustom.cpp:
64182         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
64183         * bindings/js/JSHTMLFrameElementCustom.cpp:
64184         (WebCore::allowSettingJavascriptURL): Renamed.
64185         * bindings/js/JSHTMLIFrameElementCustom.cpp:
64186         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
64187         * bindings/objc/DOM.mm:
64188         (-[DOMElement _getURLAttribute:]): Renamed.
64189         * bindings/objc/DOMHTML.mm:
64190         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
64191         * bindings/v8/custom/V8CustomBinding.cpp:
64192         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
64193         * css/CSSHelper.cpp:
64194         (WebCore::deprecatedParseURL): Renamed.
64195         * css/CSSHelper.h: Renamed and updated comment.
64196         * html/HTMLAnchorElement.cpp:
64197         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
64198         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
64199         * html/HTMLBaseElement.cpp:
64200         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
64201         * html/HTMLBodyElement.cpp:
64202         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
64203         * html/HTMLEmbedElement.cpp:
64204         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
64205         * html/HTMLFormElement.cpp:
64206         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
64207         * html/HTMLFrameElementBase.cpp:
64208         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
64209         * html/HTMLImageElement.cpp:
64210         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
64211         * html/HTMLImageLoader.cpp:
64212         (WebCore::HTMLImageLoader::sourceURI): Renamed.
64213         * html/HTMLLinkElement.cpp:
64214         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
64215         * html/HTMLObjectElement.cpp:
64216         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
64217         * html/HTMLTableElement.cpp:
64218         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
64219         * html/HTMLTablePartElement.cpp:
64220         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
64221         * html/HTMLTokenizer.cpp:
64222         (WebCore::HTMLTokenizer::parseTag): Renamed.
64223         * html/PreloadScanner.cpp:
64224         (WebCore::PreloadScanner::processAttribute): Renamed.
64225         (WebCore::PreloadScanner::emitCSSRule): Renamed.
64226         * platform/chromium/ClipboardChromium.cpp:
64227         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
64228         * platform/chromium/PasteboardChromium.cpp:
64229         (WebCore::Pasteboard::writeImage): Renamed.
64230         * platform/qt/ClipboardQt.cpp:
64231         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
64232         * platform/win/ClipboardWin.cpp:
64233         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
64234         * rendering/HitTestResult.cpp:
64235         (WebCore::HitTestResult::absoluteImageURL): Renamed.
64236         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
64237         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
64238         * svg/SVGAElement.cpp:
64239         (WebCore::SVGAElement::defaultEventHandler): Renamed.
64240         * svg/SVGImageLoader.cpp:
64241         (WebCore::SVGImageLoader::sourceURI): Renamed.
64242         * wml/WMLAElement.cpp:
64243         (WebCore::WMLAElement::defaultEventHandler): Renamed.
64244         * wml/WMLImageLoader.cpp:
64245         (WebCore::WMLImageLoader::sourceURI): Renamed.
64247 2009-07-15  Darin Adler  <darin@apple.com>
64249         Reviewed by Dan Bernstein.
64251         CSSHelper.h's parseURL is a function that no one should ever call
64252         Part 1: Eliminate callers in the CSS parser.
64253         https://bugs.webkit.org/show_bug.cgi?id=26599
64255         Test: fast/css/uri-token-parsing.html
64257         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
64258         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
64260         * css/CSSParser.cpp:
64261         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
64262         CSSParser::text already takes care of parsing the URI token syntax, and the
64263         parseURL function does no good.
64264         (WebCore::CSSParser::parseContent): Ditto.
64265         (WebCore::CSSParser::parseFillImage): Ditto.
64266         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
64267         (WebCore::CSSParser::parseBorderImage): Ditto.
64268         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
64269         easier to read.
64270         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
64271         are both trimmed before removing the quote marks. Changed to use the
64272         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
64274         * css/CSSParser.h: Removed stray "public:" in this header.
64276         * platform/text/StringImpl.cpp:
64277         (WebCore::StringImpl::substring): Optimized the case where the substring covers
64278         the entire string, so we just share the StringImpl instead of making a new one.
64279         This case came up in earlier versions of the CSS parser changes above.
64280         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
64281         not call substring any more. Before, this was relying on the substring function
64282         always making a copy of any non-empty substring.
64284 2009-07-15  Darin Adler  <darin@apple.com>
64286         Reviewed by John Sullivan.
64288         After double-clicking a word, using Shift-arrow to select behaves unpredictably
64289         https://bugs.webkit.org/show_bug.cgi?id=27177
64290         rdar://problem/7034324
64292         Test: editing/selection/extend-selection-after-double-click.html
64294         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
64295         being cleared in many cases where it should have been.
64297         * editing/SelectionController.cpp:
64298         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
64299         to false. This catches all sorts of cases that don't flow through the modify function.
64300         Before, the flag would reflect the last call to the modify function, which was not
64301         necessarily the last selection change.
64302         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
64303         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
64304         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
64305         setSelection when setting up a trial selection controller, since setSelection now
64306         clears that flag. Also changed both trial selection controller cases to set the flag,
64307         although it's not strictly necessary in both cases. Added code to set
64308         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
64309         handled in willBeModified. Now we need to do it after the selection change.
64311 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
64313         Reviewed by Dimitri Glazkov.
64315         Need to update DOM Storage files in GYPI file.
64316         https://bugs.webkit.org/show_bug.cgi?id=27317
64318         Need to update DOM Storage files in the GYPI file.  They're pretty out
64319         of date and we're on the path towards enabling them for everyone!
64321         * WebCore.gypi:
64323 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
64325         Reviewed by Eric Seidel.
64327         https://bugs.webkit.org/show_bug.cgi?id=26794
64328         Make Yacc-generated parsers to use fastMalloc/fastFree.
64329         
64330         Define YYMALLOC and YYFREE to fastMalloc and fastFree
64331         respectively.
64333         * css/CSSGrammar.y:
64334         * xml/XPathGrammar.y:
64336 2009-07-15  David Hyatt  <hyatt@apple.com>
64338         Reviewed by Adam Roben.
64340         https://bugs.webkit.org/show_bug.cgi?id=27193
64341         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
64342         is effectively broken as a result.
64344         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
64346         * rendering/RenderBlock.cpp:
64347         (WebCore::RenderBlock::handleRunInChild):
64349 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
64351         Reviewed by Darin Adler.
64353         Test: fast/js/instanceof-operator.html
64355         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
64356         https://bugs.webkit.org/show_bug.cgi?id=25205
64358         In addition to for XMLHttpRequest, this also fixes for:
64359         - Audio
64360         - Image
64361         - MessageChannel
64362         - Option
64363         - WebKitCSSMatrix
64364         - WebKitPoint
64365         - Worker
64366         - XSLTProcessor
64368         * bindings/js/JSAudioConstructor.cpp:
64369         (WebCore::JSAudioConstructor::JSAudioConstructor):
64370         * bindings/js/JSAudioConstructor.h:
64371         * bindings/js/JSDOMBinding.h:
64372         (WebCore::DOMConstructorObject::createStructure):
64373         (WebCore::DOMConstructorObject::DOMConstructorObject):
64374         * bindings/js/JSImageConstructor.cpp:
64375         (WebCore::JSImageConstructor::JSImageConstructor):
64376         * bindings/js/JSImageConstructor.h:
64377         * bindings/js/JSMessageChannelConstructor.cpp:
64378         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
64379         * bindings/js/JSMessageChannelConstructor.h:
64380         * bindings/js/JSOptionConstructor.cpp:
64381         (WebCore::JSOptionConstructor::JSOptionConstructor):
64382         * bindings/js/JSOptionConstructor.h:
64383         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
64384         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
64385         * bindings/js/JSWebKitCSSMatrixConstructor.h:
64386         * bindings/js/JSWebKitPointConstructor.cpp:
64387         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
64388         * bindings/js/JSWebKitPointConstructor.h:
64389         * bindings/js/JSWorkerConstructor.cpp:
64390         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
64391         * bindings/js/JSWorkerConstructor.h:
64392         * bindings/js/JSXMLHttpRequestConstructor.cpp:
64393         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
64394         * bindings/js/JSXMLHttpRequestConstructor.h:
64395         * bindings/js/JSXSLTProcessorConstructor.cpp:
64396         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
64397         * bindings/js/JSXSLTProcessorConstructor.h:
64399 2009-07-15  Kai Br�ning  <kai@granus.net>
64401         Reviewed by Dave Hyatt.
64403         CSS21 attribute selectors not dynamic for xml.
64404         https://bugs.webkit.org/show_bug.cgi?id=25072
64406         Moved the relevant test in StyledElement::attributeChanged()
64407         to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
64408         so it can be called from both StyledElement::attributeChanged()
64409         and Element::attributeChanged().
64410         Refactored Element::attributeChanged() into
64411         Element::updateAfterAttributeChanged() and
64412         Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
64413         separately from StyledElement::attributeChanged().
64415         Test: fast/css/attribute-selector-dynamic.xml
64417         * dom/Element.cpp:
64418         (WebCore::Element::attributeChanged):
64419         (WebCore::Element::updateAfterAttributeChanged):
64420         (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
64421         * dom/Element.h:
64422         * dom/StyledElement.cpp:
64423         (WebCore::StyledElement::attributeChanged):
64425 2009-07-15  Alpha Lam  <hclam@chromium.org>
64427         Reviewed by David Levin.
64429         [V8] Layout test failures for drawImage in Canvas
64430         https://bugs.webkit.org/show_bug.cgi?id=27311
64432         Fixing several canvas layout tests failures due to a
64433         missing return statement in CanvasRenderingContext2DDrawImage() which
64434         was accidentally removed in r45929.
64436         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
64438 2009-07-15  Robert Hogan  <robert@roberthogan.net>
64440         Reviewed by Eric Seidel.
64442         https://bugs.webkit.org/show_bug.cgi?id=26969
64444         If the httpMethod() of the request passed to SubresourceLoader::create is not
64445         supported by the client we must expect to call didFail() while m_loader is still null.
64447         * loader/DocumentThreadableLoader.cpp:
64448         (DocumentThreadableLoader::didFail):Changed.
64450 2009-07-15  Mark Rowe  <mrowe@apple.com>
64452         Fix the Mac build.
64454         * WebCore.base.exp:
64455         * css/MediaQueryEvaluator.cpp:
64456         * rendering/SVGRenderTreeAsText.cpp:
64457         * rendering/style/SVGRenderStyle.cpp:
64458         * svg/graphics/SVGPaintServer.cpp:
64460 2009-07-07  Alpha Lam  <hclam@chromium.org>
64462         Reviewed by Dimitri Glazkov.
64464         [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
64465         https://bugs.webkit.org/show_bug.cgi?id=27170
64467         Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
64468         as a parameter of drawImage() for HTMLCanvasElement.
64470         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
64472 2009-07-15  Adam Barth  <abarth@webkit.org>
64474         Reviewed by Dimitri Glazkov.
64476         [V8] Fix isolated world constructors
64477         https://bugs.webkit.org/show_bug.cgi?id=27287
64479         Don't enter V8Proxy::m_context before creating DOM constructors.
64480         Instead, use getWrapperContext to get the right context.
64482         After this patch, all my tests pass.  I'll enable the feature
64483         downstream and land the tests.
64485         * bindings/scripts/CodeGeneratorV8.pm:
64486         * bindings/v8/V8DOMWrapper.cpp:
64487         (WebCore::V8DOMWrapper::getConstructor):
64488         (WebCore::V8DOMWrapper::lookupDOMWrapper):
64489         * bindings/v8/V8DOMWrapper.h:
64490         * bindings/v8/V8IsolatedWorld.cpp:
64491         (WebCore::V8IsolatedWorld::evaluate):
64492         * bindings/v8/V8Proxy.cpp:
64493         (WebCore::V8Proxy::createWrapperFromCache):
64494         (WebCore::V8Proxy::isContextInitialized):
64495         (WebCore::V8Proxy::disposeContextHandles):
64496         (WebCore::V8Proxy::installDOMWindow):
64497         (WebCore::V8Proxy::initContextIfNeeded):
64498         (WebCore::V8Proxy::getHiddenObjectPrototype):
64499         (WebCore::V8Proxy::installHiddenObjectPrototype):
64500         * bindings/v8/V8Proxy.h:
64502 2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
64504         Reviewed by Darin Adler.
64506         useless null-check statement in visible_units.cpp@logicalStartOfLine
64507         https://bugs.webkit.org/show_bug.cgi?id=27154
64509         Simple fix.
64511         * editing/visible_units.cpp:
64512         (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
64514 2009-07-15  Brady Eidson  <beidson@apple.com>
64516         Reviewed by Dan Bernstein.
64518         https://bugs.webkit.org/show_bug.cgi?id=27304
64519         WebKit should provide usage and eligibility information about the page cache.
64521         * WebCore.base.exp:
64523         * history/CachedFrame.cpp:
64524         (WebCore::CachedFrame::childFrameCount):
64525         * history/CachedFrame.h:
64527         * history/PageCache.cpp:
64528         (WebCore::PageCache::frameCount):
64529         (WebCore::PageCache::autoreleasedPageCount):
64530         * history/PageCache.h:
64531         (WebCore::PageCache::pageCount):
64533 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
64535         Reviewed by David Levin.
64537         Chromium's canvas forgets its context after fillText again
64538         https://bugs.webkit.org/show_bug.cgi?id=27293
64540         No new tests because the test for this was already added in
64541         https://bugs.webkit.org/show_bug.cgi?id=26436
64543         * platform/graphics/chromium/TransparencyWin.cpp:
64544         (WebCore::TransparencyWin::compositeTextComposite):
64546 2009-07-14  David Hyatt  <hyatt@apple.com>
64548         Reviewed by Simon Fraser.
64550         https://bugs.webkit.org/show_bug.cgi?id=27283
64552         Implement the new 'rem' unit from CSS3.
64554         Added some rem-* tests in fast/css.
64556         * css/CSSGrammar.y:
64557         * css/CSSParser.cpp:
64558         (WebCore::CSSParser::validUnit):
64559         (WebCore::unitFromString):
64560         (WebCore::CSSParser::parseValue):
64561         (WebCore::CSSParser::lex):
64562         * css/CSSParserValues.cpp:
64563         (WebCore::CSSParserValue::createCSSValue):
64564         * css/CSSPrimitiveValue.cpp:
64565         (WebCore::CSSPrimitiveValue::computeLengthInt):
64566         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
64567         (WebCore::CSSPrimitiveValue::computeLengthShort):
64568         (WebCore::CSSPrimitiveValue::computeLengthFloat):
64569         (WebCore::CSSPrimitiveValue::computeLengthDouble):
64570         (WebCore::CSSPrimitiveValue::cssText):
64571         (WebCore::CSSPrimitiveValue::parserValue):
64572         * css/CSSPrimitiveValue.h:
64573         (WebCore::CSSPrimitiveValue::):
64574         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
64575         * css/CSSStyleSelector.cpp:
64576         (WebCore::CSSStyleSelector::initForStyleResolve):
64577         (WebCore::convertToLength):
64578         (WebCore::CSSStyleSelector::applyProperty):
64579         (WebCore::CSSStyleSelector::mapFillSize):
64580         (WebCore::CSSStyleSelector::mapFillXPosition):
64581         (WebCore::CSSStyleSelector::mapFillYPosition):
64582         (WebCore::CSSStyleSelector::createTransformOperations):
64583         * css/CSSStyleSelector.h:
64584         * css/MediaQueryEvaluator.cpp:
64585         (WebCore::device_heightMediaFeatureEval):
64586         (WebCore::device_widthMediaFeatureEval):
64587         (WebCore::heightMediaFeatureEval):
64588         (WebCore::widthMediaFeatureEval):
64589         * css/WebKitCSSMatrix.cpp:
64590         (WebCore::WebKitCSSMatrix::setMatrixValue):
64591         * css/tokenizer.flex:
64592         * dom/Document.cpp:
64593         (WebCore::Document::Document):
64594         * dom/Document.h:
64595         (WebCore::Document::usesRemUnits):
64596         (WebCore::Document::setUsesRemUnits):
64597         * dom/Element.cpp:
64598         (WebCore::Element::recalcStyle):
64599         * rendering/SVGRenderTreeAsText.cpp:
64600         (WebCore::writeStyle):
64601         * rendering/style/SVGRenderStyle.cpp:
64602         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
64603         * svg/graphics/SVGPaintServer.cpp:
64604         (WebCore::applyStrokeStyleToContext):
64605         (WebCore::dashArrayFromRenderingStyle):
64606         * svg/graphics/SVGPaintServer.h:
64608 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
64610         Unreviewed, build fix.
64612         Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
64614         * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
64616 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
64618         Reviewed by Darin Fisher.
64620         [V8] Update bindings for ValiditeState patch.
64621         https://bugs.webkit.org/show_bug.cgi?id=19562
64623         * bindings/v8/DOMObjectsInclude.h:
64624         * bindings/v8/DerivedSourcesAllInOne.cpp:
64625         * bindings/v8/V8Index.cpp:
64626         * bindings/v8/V8Index.h:
64628 2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
64630         Reviewed by Simon Hausmann.
64632         [Qt] Cleanup - Remove obsolete code from the make system
64633         https://bugs.webkit.org/show_bug.cgi?id=27299
64635         * WebCore.pro:
64637 2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
64639         Reviewed by Ariya Hidayat.
64641         Fix the build without media elements.
64643         * rendering/HitTestResult.cpp:
64644         (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
64645         markers around the body of the method.
64647 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
64649         Reviewed by Timothy Hatcher.
64651         WebInspector: Move storeLastActivePanel out of the
64652         ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
64653         Add default panel for the first opening of the
64654         WebInspector.
64656         https://bugs.webkit.org/show_bug.cgi?id=27263
64658         * inspector/InspectorController.cpp:
64659         (InspectorController::setWindowVisible):
64660         * inspector/InspectorController.idl:
64662 2009-07-14  Darin Adler  <darin@apple.com>
64664         Try to fix Windows build.
64666         * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
64668 2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
64670         Reviewed by Oliver Hunt.
64672         HTMLMediaElement::supportsFullscreen() should return false
64673         https://bugs.webkit.org/show_bug.cgi?id=27284
64675         (Reverting a part of 45875)
64677         HTMLVideoElement::supportsFullscreen() will properly do the
64678         job, and check if the backend supports fullscreen.
64680         HTMLVideoElement is the only subclass to support fullscreen
64681         (conditionnaly). HTMLAudioElement fullscreen is not supported
64682         and is a different kind of fullscreen, if it comes to be wanted.
64684         No test can be done currently given that none of the media
64685         backends support fullscreen.
64687         * html/HTMLMediaElement.cpp:
64688         * html/HTMLMediaElement.h:
64689         (WebCore::HTMLMediaElement::supportsFullscreen):
64691 2009-07-14  Darin Adler  <darin@apple.com>
64693         Reviewed by Dimitri Glazkov.
64695         Next step in making DOM attribute getter/setters consistently use AtomicString
64696         https://bugs.webkit.org/show_bug.cgi?id=25425
64698         This covers eight DOM classes, and for each one of the classes:
64700         - Changes the IDL to use the Reflect syntax for all simple cases.
64701         - Removes unused functions in the classes, mainly newly unused ones that were
64702           used for reflection before.
64703         - Removes unneeded explicitly defined destructors.
64704         - Explicitly declares destructors as virtual.
64705         - Removes unneeded includes.
64706         - Makes members protected or private rather than public where possible.
64707         - Renames "doc" to "document".
64708         - Tweaks formatting to match our latest style in a few places.
64709         - Improves some FIXME comments.
64711         Over time we'll want to do this for all HTML DOM classes.
64713         * html/HTMLAnchorElement.cpp:
64714         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
64715         * html/HTMLAnchorElement.h:
64716         (WebCore::HTMLAnchorElement::endTagRequirement):
64717         (WebCore::HTMLAnchorElement::tagPriority):
64718         * html/HTMLAnchorElement.idl:
64719         * html/HTMLAppletElement.cpp:
64720         * html/HTMLAppletElement.h:
64721         * html/HTMLAppletElement.idl:
64722         * html/HTMLAreaElement.cpp:
64723         (WebCore::HTMLAreaElement::parseMappedAttribute):
64724         * html/HTMLAreaElement.h:
64725         (WebCore::HTMLAreaElement::endTagRequirement):
64726         (WebCore::HTMLAreaElement::tagPriority):
64727         * html/HTMLAreaElement.idl:
64728         * html/HTMLBRElement.cpp:
64729         (WebCore::HTMLBRElement::parseMappedAttribute):
64730         * html/HTMLBRElement.h:
64731         * html/HTMLBRElement.idl:
64732         * html/HTMLBaseElement.cpp:
64733         (WebCore::HTMLBaseElement::HTMLBaseElement):
64734         (WebCore::HTMLBaseElement::removedFromDocument):
64735         (WebCore::HTMLBaseElement::process):
64736         * html/HTMLBaseElement.h:
64737         * html/HTMLBaseElement.idl:
64738         * html/HTMLBaseFontElement.cpp:
64739         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
64740         * html/HTMLBaseFontElement.h:
64741         (WebCore::HTMLBaseFontElement::endTagRequirement):
64742         (WebCore::HTMLBaseFontElement::tagPriority):
64743         * html/HTMLBaseFontElement.idl:
64744         * html/HTMLBlockquoteElement.cpp:
64745         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
64746         * html/HTMLBlockquoteElement.h:
64747         (WebCore::HTMLBlockquoteElement::tagPriority):
64748         * html/HTMLBlockquoteElement.idl:
64749         * html/HTMLBodyElement.cpp:
64750         (WebCore::HTMLBodyElement::HTMLBodyElement):
64751         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
64752         * html/HTMLBodyElement.h:
64753         (WebCore::HTMLBodyElement::endTagRequirement):
64754         (WebCore::HTMLBodyElement::tagPriority):
64755         * html/HTMLBodyElement.idl:
64756         Made changes as described above.
64758         * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
64760 2009-07-14  Steve Falkenburg  <sfalken@apple.com>
64762         Reorganize JavaScriptCore headers into:
64763         API: include/JavaScriptCore/
64764         Private: include/private/JavaScriptCore/
64766         Reviewed by Darin Adler.
64768         * WebCore.vcproj/QTMovieWin.vcproj:
64769         * WebCore.vcproj/WebCoreCommon.vsprops:
64770         * WebCore.vcproj/build-generated-files.sh:
64772 2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
64774         Reviewed by Darin Adler.
64776         Change all Noncopyable inheriting visibility to public.
64777         https://bugs.webkit.org/show_bug.cgi?id=27225
64779         Change all Noncopyable inheriting visibility to public because
64780         it is needed to the custom allocation framework (bug #20422).
64782         * bindings/js/GCController.h:
64783         * bindings/js/WorkerScriptController.h:
64784         * bindings/v8/V8DOMMap.cpp:
64785         (WebCore::):
64786         * bridge/runtime.h:
64787         * css/CSSSelector.h:
64788         * css/CSSSelectorList.h:
64789         * css/CSSStyleSelector.h:
64790         * dom/ClassNames.h:
64791         * dom/MessagePortChannel.h:
64792         * dom/XMLTokenizerLibxml2.cpp:
64793         * dom/XMLTokenizerScope.h:
64794         * editing/ReplaceSelectionCommand.cpp:
64795         * editing/SelectionController.h:
64796         * editing/TextIterator.cpp:
64797         * history/PageCache.h:
64798         * html/CanvasRenderingContext2D.h:
64799         * html/HTMLParser.h:
64800         * html/HTMLParserQuirks.h:
64801         * html/PreloadScanner.h:
64802         * loader/Cache.h:
64803         * loader/CrossOriginPreflightResultCache.h:
64804         * loader/FrameLoader.h:
64805         * loader/ProgressTracker.h:
64806         * loader/ThreadableLoader.h:
64807         * loader/appcache/ApplicationCacheGroup.h:
64808         * loader/archive/ArchiveResourceCollection.h:
64809         * loader/icon/IconDatabase.h:
64810         * loader/icon/IconLoader.h:
64811         * loader/icon/PageURLRecord.h:
64812         * loader/loader.h:
64813         * page/ContextMenuController.h:
64814         * page/EventHandler.h:
64815         * page/FrameTree.h:
64816         * page/Page.h:
64817         * page/PageGroup.h:
64818         * page/PageGroupLoadDeferrer.h:
64819         * page/mac/EventHandlerMac.mm:
64820         * platform/AutodrainedPool.h:
64821         * platform/ContextMenu.h:
64822         * platform/EventLoop.h:
64823         * platform/HostWindow.h:
64824         * platform/Pasteboard.h:
64825         * platform/PurgeableBuffer.h:
64826         * platform/RunLoopTimer.h:
64827         * platform/ThreadGlobalData.h:
64828         * platform/ThreadTimers.h:
64829         * platform/Timer.h:
64830         * platform/TreeShared.h:
64831         * platform/graphics/FontData.h:
64832         * platform/graphics/GlyphWidthMap.h:
64833         * platform/graphics/GraphicsContext.h:
64834         * platform/graphics/ImageBuffer.h:
64835         * platform/graphics/ImageSource.h:
64836         * platform/graphics/MediaPlayer.h:
64837         * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
64838         * platform/graphics/skia/PlatformContextSkia.h:
64839         * platform/graphics/win/QTMovieWin.cpp:
64840         * platform/mac/LocalCurrentGraphicsContext.h:
64841         * platform/network/FormDataBuilder.h:
64842         * platform/network/ResourceHandleInternal.h:
64843         * platform/network/soup/ResourceHandleSoup.cpp:
64844         * platform/text/StringBuffer.h:
64845         * platform/text/TextCodec.h:
64846         * platform/win/WindowMessageBroadcaster.h:
64847         * rendering/CounterNode.h:
64848         * rendering/LayoutState.h:
64849         * rendering/RenderFrameSet.h:
64850         * rendering/RenderView.h:
64851         * rendering/TransformState.h:
64852         * svg/SVGAnimatedProperty.h:
64853         * svg/SynchronizableTypeWrapper.h:
64854         * workers/WorkerMessagingProxy.h:
64855         * workers/WorkerRunLoop.cpp:
64856         * xml/XPathExpressionNode.h:
64857         * xml/XPathParser.h:
64858         * xml/XPathPredicate.h:
64859         * xml/XPathStep.h:
64861 2009-07-14  Darin Fisher  <darin@chromium.org>
64863         Reviewed by Darin Adler.
64865         Fails to save document state when navigating away from a page with a
64866         reference fragment.
64867         https://bugs.webkit.org/show_bug.cgi?id=27281
64869         Test: fast/history/saves-state-after-fragment-nav.html
64871         * history/HistoryItem.cpp:
64872         (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
64873         to compare URLs.
64875 2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
64877         Reviewed by Sam Weinig.
64879         Inspector: Remove Unintended Global Variables
64880         https://bugs.webkit.org/show_bug.cgi?id=27203
64882         * inspector/front-end/Console.js:
64883         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
64884         * inspector/front-end/DatabasesPanel.js:
64885         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
64886         * inspector/front-end/ObjectPropertiesSection.js:
64887         (WebInspector.ObjectPropertyTreeElement.prototype.update):
64888         * inspector/front-end/inspector.js:
64889         (WebInspector.animateStyle):
64891 2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
64893         Reviewed by Adele Peterson.
64895         https://bugs.webkit.org/show_bug.cgi?id=19562
64896         Added build stuff and stub for the ValidityState class, part of HTML5
64897         section Forms:
64898         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
64900         Test: fast/forms/ValidityState-001.html
64902         * DerivedSources.cpp: Inclusion of ValidityState files
64903         * DerivedSources.make: ditto
64904         * GNUmakefile.am: ditto
64905         * WebCore.gypi: ditto
64906         * WebCore.pro: ditto
64907         * WebCore.vcproj/WebCore.vcproj: ditto
64908         * WebCore.xcodeproj/project.pbxproj: ditto
64909         * WebCoreSources.bkl: ditto
64910         * html/HTMLButtonElement.idl: validity attribute
64911         * html/HTMLFieldSetElement.idl: ditto
64912         * html/HTMLFormControlElement.cpp:
64913         (WebCore::HTMLFormControlElement::validity): ValidityState getter
64914         * html/HTMLFormControlElement.h: ditto
64915         * html/HTMLInputElement.idl: validity attribute
64916         * html/HTMLSelectElement.idl: ditto
64917         * html/HTMLTextAreaElement.idl: ditto
64918         * html/ValidityState.cpp: Added.
64919         (WebCore::ValidityState::ValidityState):
64920         (WebCore::ValidityState::valid): validation flag
64921         * html/ValidityState.h: Added.
64922         (WebCore::ValidityState::create): validation flag
64923         (WebCore::ValidityState::control): ditto
64924         (WebCore::ValidityState::valueMissing): ditto
64925         (WebCore::ValidityState::typeMismatch): ditto
64926         (WebCore::ValidityState::patternMismatch): ditto
64927         (WebCore::ValidityState::tooLong): ditto
64928         (WebCore::ValidityState::rangeUnderflow): ditto
64929         (WebCore::ValidityState::rangeOverflow): ditto
64930         (WebCore::ValidityState::stepMismatch): ditto
64931         (WebCore::ValidityState::customError): ditto
64932         * html/ValidityState.idl: Added.
64934 2009-07-14  Ryosuke Niwa  <rniwa@google.com>
64936         Reviewed by Eric Seidel.
64938         Outdenting a line inside a blockquote tag does nothing
64939         https://bugs.webkit.org/show_bug.cgi?id=25316
64941         The bug was caused by the code checking whether the blockquote is created by WebKit or not.
64942         We simply remove this code to be consistent with Firefox and Internet Explorer.
64943         Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
64944         the placeholder before the enclosingNode because there could be contents before the current paragraph.
64945         Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
64946         It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
64948         Test: editing/execCommand/outdent-regular-blockquote.html
64950         * editing/IndentOutdentCommand.cpp:
64951         (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
64952         (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
64954 2009-07-14  Adam Barth  <abarth@webkit.org>
64956         Reviewed by Dimitri Glazkov.
64958         [V8] Fix isolated world wrappers for Node prototypes
64959         https://bugs.webkit.org/show_bug.cgi?id=27277
64961         This change does two things:
64963         1) We bypass the wrapper cache in the isolated world.  This is because
64964            the wrapper template cache has prototypes that lead to the main
64965            world.  We can add a template cache for the isolated world if
64966            performance warrants.
64968         2) We introduce a smarter way to grab the wrapper context for a frame
64969            that is aware that proxy <-> context do not stand in one-to-one
64970            correspondence.  This generalizes our solution for the node wrapper
64971            case to prototypes.
64973         The net result is that Node wrappers get the right prototypes.  As
64974         before, tests to follow.
64976         * bindings/v8/V8DOMWrapper.cpp:
64977         (WebCore::V8DOMWrapper::setHiddenWindowReference):
64978         (WebCore::V8DOMWrapper::instantiateV8Object):
64979         (WebCore::V8DOMWrapper::convertNodeToV8Object):
64980         (WebCore::V8DOMWrapper::convertWindowToV8Object):
64981         (WebCore::V8DOMWrapper::getWrapperContext):
64982         * bindings/v8/V8DOMWrapper.h:
64984 2009-07-14  Adam Barth  <abarth@webkit.org>
64986         Reviewed by Dimitri Glazkov.
64988         [V8] Fix isolated world wrappers for Nodes
64989         https://bugs.webkit.org/show_bug.cgi?id=27271
64991         Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
64992         caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
64994         I have tests, but I can't land them until I get this feature under
64995         control.
64997         * bindings/v8/V8DOMWrapper.cpp:
64998         (WebCore::V8DOMWrapper::convertNodeToV8Object):
64999         * bindings/v8/V8Proxy.h:
65000         (WebCore::V8Proxy::V8Proxy):
65002 2009-07-14  Adam Barth  <abarth@webkit.org>
65004         Reviewed by Dimitri Glazkov.
65006         [V8] Fix isolated world crash on getting window.location
65007         https://bugs.webkit.org/show_bug.cgi?id=27268
65009         I have a test for this locally, but it requires a compile-time hack to
65010         run.  Once I get the feature's stability under control, we can turn the
65011         feature on and add the tests.
65013         * bindings/v8/V8DOMWrapper.cpp:
65014         (WebCore::V8DOMWrapper::setHiddenWindowReference):
65015         * bindings/v8/V8IsolatedWorld.h:
65016         (WebCore::V8IsolatedWorld::context):
65018 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
65020         Correct failing tests after r45875.  The original patch did not
65021         test the m_player member for null, causing crashes.  This will
65022         happen fairly frequently in real use.  Was this original patch
65023         ever tested?
65024         https://bugs.webkit.org/show_bug.cgi?id=27246
65026         Test via existing media tests.
65028         * html/HTMLMediaElement.cpp:
65029         (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
65030         (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
65032 2009-07-14  Avi Drissman  <avi@chromium.org>
65034         Reviewed by Darin Fisher.
65036         Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
65037         The Windows clipboard format is explicitly documented as being UTF-8,
65038         and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
65039         indicated, Windows-1252 is assumed, which is wrong.
65041         Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
65043         No new tests.
65045         * platform/chromium/ClipboardChromium.cpp:
65046         (WebCore::ClipboardChromium::writeRange):
65047         * platform/chromium/PasteboardChromium.cpp:
65048         (WebCore::Pasteboard::writeSelection):
65050 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
65052         Reviewed by Dimitri Glazkov.
65054         Upstream V8NPObject.h and V8NPObject.cpp.
65055         https://bugs.webkit.org/show_bug.cgi?id=27103
65057         This just upstreams the files from the chromium code base. Only
65058         minor changes to formatting and similar were done, so no testing
65059         is required because nothing really changed.  Code verified to compile.
65061         * bindings/v8/ScriptController.cpp:
65062         (WebCore::ScriptController::bindToWindowObject):
65063         (WebCore::ScriptController::createScriptInstanceForWidget):
65064         * bindings/v8/V8NPObject.cpp: Added.
65065         (npObjectInvokeImpl):
65066         (npObjectMethodHandler):
65067         (npObjectInvokeDefaultHandler):
65068         (weakTemplateCallback):
65069         (npObjectGetProperty):
65070         (npObjectNamedPropertyGetter):
65071         (npObjectIndexedPropertyGetter):
65072         (npObjectGetNamedProperty):
65073         (npObjectGetIndexedProperty):
65074         (npObjectSetProperty):
65075         (npObjectNamedPropertySetter):
65076         (npObjectIndexedPropertySetter):
65077         (npObjectSetNamedProperty):
65078         (npObjectSetIndexedProperty):
65079         (weakNPObjectCallback):
65080         (createV8ObjectForNPObject):
65081         (forgetV8ObjectForNPObject):
65082         * bindings/v8/V8NPObject.h: Added.
65083         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
65084         (WebCore::NAMED_PROPERTY_GETTER):
65085         (WebCore::NAMED_PROPERTY_SETTER):
65086         (WebCore::CALLBACK_FUNC_DECL):
65087         (WebCore::INDEXED_PROPERTY_GETTER):
65088         (WebCore::INDEXED_PROPERTY_SETTER):
65091 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
65093         Reviewed by Darin Adler.
65095         Add HTMLMediaElement::supportSave() and a
65096         HitTestResult::absoluteMediaURL() functions
65097         https://bugs.webkit.org/show_bug.cgi?id=27246
65099         Added an implementation of supportsSave() into HTMLMediaElement
65100         that delegates to MediaPlayerPrivateImpl so that the media engine
65101         is able to signal whether or not a media source supports saving.
65103         Also added a function to HitTestResult that allows for retrieval
65104         of the currentSrc associated with the "hit" media element. 
65105         
65106         These functions are just pipeing with no visible UI change so there
65107         are no related layout test changes.
65109         * html/HTMLMediaElement.cpp:
65110         (WebCore::HTMLMediaElement::supportsFullscreen): 
65111         (WebCore::HTMLMediaElement::supportsSave):
65112         * html/HTMLMediaElement.h:
65113         * platform/graphics/MediaPlayer.cpp:
65114         (WebCore::MediaPlayer::supportsSave):
65115         * platform/graphics/MediaPlayer.h:
65116         * platform/graphics/MediaPlayerPrivate.h:
65117         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
65118         (WebCore::MediaPlayerPrivateInterface::supportsSave):
65119         * rendering/HitTestResult.cpp:
65120         (WebCore::HitTestResult::altDisplayString):
65121         (WebCore::HitTestResult::absoluteMediaURL):
65122         * rendering/HitTestResult.h:
65124 2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
65126         Reviewed by Adam Barth.
65128         [V8] Implement Reflect and ReflectURL attribute support.
65129         https://bugs.webkit.org/show_bug.cgi?id=27273
65131         * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
65133 2009-07-14  Dmitry Titov  <dimich@chromium.org>
65135         Reviewed by Darin Adler.
65137         https://bugs.webkit.org/show_bug.cgi?id=27266
65138         Add hasCurrentPoint() to WebCore::Path.
65139         This fixes Skia-based Chromium regression caused by the fix for
65140         https://bugs.webkit.org/show_bug.cgi?id=27187.
65141         For Skia, the new method always returns 'true', pending actual implementation.
65142         This means Chromium still will differ from Gecko behavior, but at least its Canvas
65143         will not be completely broken.
65145         Existing Canvas Layout Tests should pass in Chromium after this change.
65147         * html/CanvasRenderingContext2D.cpp:
65148         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
65149         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
65150         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
65152         * platform/graphics/Path.h:
65153         * platform/graphics/cairo/PathCairo.cpp:
65154         (WebCore::Path::hasCurrentPoint):
65155         * platform/graphics/cg/PathCG.cpp:
65156         (WebCore::Path::isEmpty):
65157         (WebCore::Path::hasCurrentPoint):
65158         * platform/graphics/qt/PathQt.cpp:
65159         (WebCore::Path::hasCurrentPoint):
65160         * platform/graphics/skia/PathSkia.cpp:
65161         (WebCore::Path::hasCurrentPoint):
65162         * platform/graphics/wx/PathWx.cpp:
65163         (WebCore::Path::hasCurrentPoint):
65164         All these files add a Path::hasCurrentPoint() for various platforms.
65166 2009-07-14  Nate Chapin  <japhet@chromium.org>
65168         Reviewed by Sam Weinig.
65170         Upstream RGBColor from src.chromium.org.
65172         https://bugs.webkit.org/show_bug.cgi?id=27133
65174         * WebCore.gypi: Add RGBColor
65175         * css/RGBColor.cpp: Added.
65176         (WebCore::RGBColor::create):
65177         (WebCore::RGBColor::red):
65178         (WebCore::RGBColor::green):
65179         (WebCore::RGBColor::blue):
65180         * css/RGBColor.h: Added.
65181         (WebCore::RGBColor::RGBColor):
65183 2009-07-10  Matt Perry  <mpcomplete@chromium.org>
65185         Reviewed by Darin Fisher.
65187         [V8] Rename the didCreate/DestroyScriptContext calls to make it
65188         clear that that those refer to the frame's contxt.  Add another
65189         similar call for when creating contexts via evaluateInNewContext.
65190         https://bugs.webkit.org/show_bug.cgi?id=27104
65192         * bindings/v8/V8Proxy.cpp:
65193         (WebCore::V8Proxy::evaluateInNewContext):
65194         (WebCore::V8Proxy::disposeContextHandles):
65195         (WebCore::V8Proxy::initContextIfNeeded):
65196         * loader/EmptyClients.h:
65197         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
65198         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
65199         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
65200         * loader/FrameLoaderClient.h:
65202 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
65204         Revert http://trac.webkit.org/changeset/45864 after
65205         breaking of Windows build.
65207         * storage/LocalStorageTask.cpp:
65208         * storage/LocalStorageTask.h:
65209         * storage/Storage.cpp:
65210         * storage/Storage.h:
65211         * storage/StorageArea.cpp:
65212         * storage/StorageArea.h:
65213         * storage/StorageAreaImpl.cpp:
65214         * storage/StorageAreaImpl.h:
65215         * storage/StorageAreaSync.cpp:
65216         * storage/StorageAreaSync.h:
65217         * storage/StorageEvent.cpp:
65218         * storage/StorageEvent.h:
65219         (WebCore::StorageEvent::create):
65220         (WebCore::StorageEvent::StorageEvent):
65221         * storage/StorageNamespace.h:
65222         * storage/StorageNamespaceImpl.cpp:
65223         * storage/StorageNamespaceImpl.h:
65224         * storage/StorageSyncManager.cpp:
65225         * storage/StorageSyncManager.h:
65227 2009-07-11  Jeremy Orlow  <jorlow@chromium.org>
65229         Reviewed by Darin Adler.
65231         Cleanup DOM Storage dependencies.
65232         https://bugs.webkit.org/show_bug.cgi?id=27180
65234         DOM Storage had several unnecessary (and probably unintended)
65235         dependencies.  This patch replaces many includes of header files with
65236         forward declaration of classes, making some destructors explicit, and
65237         taking some factories out of the header files.
65239         This will allow things like StorageAreaSync to take a StorageAreaImpl*
65240         (as it should) rather than a StorageArea* which previously weren't
65241         possible because the dependencies were such a tangled mess.
65243         * storage/LocalStorageTask.cpp:
65244         (WebCore::LocalStorageTask::~LocalStorageTask):
65245         * storage/LocalStorageTask.h:
65246         * storage/Storage.cpp:
65247         (WebCore::Storage::~Storage):
65248         * storage/Storage.h:
65249         * storage/StorageArea.cpp:
65250         * storage/StorageArea.h:
65251         * storage/StorageAreaImpl.cpp:
65252         * storage/StorageAreaImpl.h:
65253         * storage/StorageAreaSync.cpp:
65254         (WebCore::StorageAreaSync::~StorageAreaSync):
65255         * storage/StorageAreaSync.h:
65256         * storage/StorageEvent.cpp:
65257         (WebCore::StorageEvent::create):
65258         (WebCore::StorageEvent::StorageEvent):
65259         * storage/StorageEvent.h:
65260         * storage/StorageNamespace.h:
65261         * storage/StorageNamespaceImpl.cpp:
65262         * storage/StorageNamespaceImpl.h:
65263         * storage/StorageSyncManager.cpp:
65264         (WebCore::StorageSyncManager::~StorageSyncManager):
65265         * storage/StorageSyncManager.h:
65268 2009-07-14  Adam Treat  <adam.treat@torchmobile.com>
65270         Reviewed by David Hyatt.
65272         https://bugs.webkit.org/show_bug.cgi?id=26983
65274         Check to make sure the view is attached to a frame() in the visibleContentsResized()
65275         method as it can be triggered before the view is attached by Frame::createView(...)
65276         setting various values such as setScrollBarModes(...) for example.  An ASSERT is
65277         triggered when a view is layout before being attached to a frame().
65279         * page/FrameView.cpp:
65280         (WebCore::FrameView::visibleContentsResized):
65281         * page/FrameView.h:
65283 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
65285         Reviewed by Timothy Hatcher.
65287         WebInspector: show last opened panel when invoking inspector.
65289         https://bugs.webkit.org/show_bug.cgi?id=27263
65291         * inspector/InspectorController.cpp:
65292         (WebCore::InspectorController::InspectorController):
65293         (WebCore::InspectorController::setWindowVisible):
65294         (WebCore::InspectorController::storeLastActivePanel):
65295         (WebCore::InspectorController::specialPanelForJSName):
65296         * inspector/InspectorController.h:
65297         (WebCore::InspectorController::Setting::Setting):
65298         * inspector/InspectorController.idl:
65299         * inspector/front-end/inspector.js:
65300         (WebInspector.set currentPanel):
65301         (WebInspector.loaded):
65303 2009-07-14  Anton Muhin  <antonm@chromium.org>
65305         Reviewed by Dimitri Glazkov.
65307         Speed up access to NodeList length.
65308         https://bugs.webkit.org/show_bug.cgi?id=27264
65310         That's a minimal alternation of the code.
65312         * bindings/v8/custom/V8NodeListCustom.cpp:
65313         (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
65314         v8::Integer::New instead of v8::Number::New.
65316 2009-07-14  Anton Muhin  <antonm@chromium.org>
65318         Reviewed by Dimitri Glazkov.
65320         Do not do unnecessary conversions from v8::Handle<v8::Value> to
65321         v8::Handle<v8::Object> and accompanying changes.
65322         https://bugs.webkit.org/show_bug.cgi?id=26953
65324         Three things:
65326         1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
65327         but are not free (they check for emptiness of handle);
65328         2) inline conversion from wrapper to node;
65329         3) simplify case to an ASSERT.
65331         This is just a refactoring, so no new tests are needed.
65333         * bindings/scripts/CodeGeneratorV8.pm:
65334         * bindings/v8/V8Proxy.cpp:
65335         (WebCore::V8Proxy::evaluateInNewContext):
65336         (WebCore::V8Proxy::convertToSVGPODTypeImpl):
65337         * bindings/v8/V8Proxy.h:
65338         (WebCore::V8Proxy::convertDOMWrapperToNative):
65339         (WebCore::V8Proxy::convertToNativeObject):
65340         (WebCore::V8Proxy::convertToNativeEvent):
65341         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
65342         (WebCore::toCanvasStyle):
65343         (WebCore::CALLBACK_FUNC_DECL):
65344         * bindings/v8/custom/V8CustomBinding.cpp:
65345         (WebCore::V8Custom::GetTargetFrame):
65346         * bindings/v8/custom/V8DOMWindowCustom.cpp:
65347         (WebCore::CALLBACK_FUNC_DECL):
65348         (WebCore::V8Custom::ClearTimeoutImpl):
65349         (WebCore::NAMED_ACCESS_CHECK):
65350         (WebCore::INDEXED_ACCESS_CHECK):
65351         * bindings/v8/custom/V8DocumentCustom.cpp:
65352         (WebCore::CALLBACK_FUNC_DECL):
65353         * bindings/v8/custom/V8LocationCustom.cpp:
65354         (WebCore::CALLBACK_FUNC_DECL):
65356 2009-07-14  Darin Adler  <darin@apple.com>
65358         Reviewed by Dan Bernstein.
65360         Straight quotes should match fancy quotes in in-page search
65361         https://bugs.webkit.org/show_bug.cgi?id=27217
65363         Tests: fast/text/find-quotes.html
65365         * editing/TextIterator.cpp:
65366         (WebCore::foldQuoteMark): Added.
65367         (WebCore::foldQuoteMarks): Added.
65368         (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
65369         (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
65370         added to the search buffer.
65372         * platform/text/CharacterNames.h: Added more quotation mark character names.
65373         Sorted character names with the sort tool.
65375 2009-07-13  Pavel Feldman  <pfeldman@chromium.org>
65377         Reviewed by Timothy Hatcher.
65379         WebInspector: handle debugger shortcuts while on source frame or on
65380         script file selector.
65382         https://bugs.webkit.org/show_bug.cgi?id=27224
65384         * inspector/front-end/ScriptsPanel.js:
65385         (WebInspector.ScriptsPanel):
65386         * inspector/front-end/SourceFrame.js:
65387         (WebInspector.SourceFrame.prototype._loaded):
65389 2009-07-13  Sam Weinig  <sam@webkit.org>
65391         Reviewed by Darin Adler.
65393         Use standard HashCountedSet instead of a hand rolled one
65394         in HTMLDocument.
65396         * html/HTMLDocument.cpp:
65397         (WebCore::addItemToMap):
65398         (WebCore::removeItemFromMap):
65399         * html/HTMLDocument.h:
65401 2009-07-13  Erik Arvidsson  <arv@chromium.org>
65403         Reviewed by Darin Adler and Maciej Stachowiak.
65405         Implement HTML5 draggable
65406         https://bugs.webkit.org/show_bug.cgi?id=26262
65408         This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
65409         to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
65411         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
65413         Test: fast/html/draggable.html
65415         * css/html.css:
65416         * html/HTMLAnchorElement.cpp:
65417         (WebCore::HTMLAnchorElement::draggable):
65418         * html/HTMLAnchorElement.h:
65419         * html/HTMLAttributeNames.in:
65420         * html/HTMLElement.cpp:
65421         (WebCore::HTMLElement::draggable):
65422         (WebCore::HTMLElement::setDraggable):
65423         * html/HTMLElement.h:
65424         * html/HTMLElement.idl:
65425         * html/HTMLImageElement.cpp:
65426         (WebCore::HTMLImageElement::draggable):
65427         * html/HTMLImageElement.h:
65429 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
65431         Reviewed by Dan Bernstein.
65433         Image rendered as layer contents looks different from image rendered via CG.
65434         <rdar://problem/7048830> 
65435         
65436         Fix a visible color profile difference between between images rendered via Core Graphics
65437         and those rendered via a compositing layer, by assigning the GenericRGB profile to
65438         untagged images (which come through as having the DeviceRGB profile) when they are set
65439         as layer contents.
65441         Test: compositing/color-matching/image-color-matching.html
65443         * platform/graphics/mac/GraphicsLayerCA.mm:
65444         (WebCore::GraphicsLayerCA::setContentsToImage):
65446 2009-07-13  Darin Adler  <darin@apple.com>
65448         Reviewed by Oliver Hunt.
65450         https://bugs.webkit.org/show_bug.cgi?id=27220
65451         Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
65453         * editing/TextIterator.cpp:
65454         (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
65455         in the assertion. Affects only the assertion.
65457 2009-07-13  Alexey Proskuryakov  <ap@webkit.org>
65459         Reviewed by Darin Adler.
65461         https://bugs.webkit.org/show_bug.cgi?id=26925
65462         <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
65464         Test: http/tests/appcache/main-resource-hash.html
65466         * loader/appcache/ApplicationCache.cpp:
65467         (WebCore::ApplicationCache::resourceForURL):
65468         (WebCore::ApplicationCache::resourceForRequest):
65469         * loader/appcache/ApplicationCacheGroup.cpp:
65470         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
65471         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
65472         (WebCore::ApplicationCacheGroup::selectCache):
65473         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
65474         (WebCore::ApplicationCacheGroup::didReceiveResponse):
65475         (WebCore::ApplicationCacheGroup::didFail):
65476         (WebCore::ApplicationCacheGroup::addEntry):
65477         Remove URL fragment at appcache code borders.
65479         * loader/appcache/ApplicationCacheResource.h:
65480         (WebCore::ApplicationCacheResource::create):
65481         * loader/appcache/ApplicationCacheStorage.cpp:
65482         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
65483         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
65484         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
65485         Assert that there is no URL fragment in URL at key points in appcache code.
65487 2009-07-13  Darin Adler  <darin@apple.com>
65489         Reviewed by Dan Bernstein.
65491         https://bugs.webkit.org/show_bug.cgi?id=27166
65492         rdar://problem/7015857
65493         Find for strings composed entirely of spaces doesn't work
65495         Test: fast/text/find-spaces.html
65497         * editing/TextIterator.cpp:
65498         (WebCore::findPlainText): Removed unneeded special case.
65499         The empty string case already works correctly.
65501 2009-07-13  Anders Carlsson  <andersca@apple.com>
65503         Reviewed by Kevin Decker.
65505         Remove NPPVpluginPrivateModeBool, it was removed from the spec.
65506         
65507         * bridge/npapi.h:
65509 2009-07-13  Feng Qian  <feng@chromium.org>
65511         Reviewed by Dimitri Glazkov.
65513         Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
65515         Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
65517         * bindings/v8/V8DOMMap.h:
65518         (WebCore::WeakReferenceMap::WeakReferenceMap):
65519         (WebCore::WeakReferenceMap::~WeakReferenceMap):
65521 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
65523         Reviewed by Darin Fisher.
65525         Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
65527         * WebCore.gypi: Removed bidi.cpp and bidi.h
65529 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
65531         Reviewed by Darin Fisher.
65533         Update WebCore.gyp in preparation to hooking it up.
65535         * WebCore.gypi: Added files that were mid-stream while switching over.
65537 2009-07-13  Dmitry Titov  <dimich@chromium.org>
65539         Not reviewed, another small fix for Chromium build.
65541         * bindings/v8/ScriptController.cpp:
65542         (WebCore::ScriptController::evaluate):
65544 2009-07-13  Dmitry Titov  <dimich@chromium.org>
65546         Not reviewed, fix Chromium build bustage.
65548         * bindings/v8/ScriptController.cpp:
65549         (WebCore::ScriptController::evaluate):
65550         * bindings/v8/V8Proxy.cpp:
65551         (WebCore::JavaScriptConsoleMessage::addToPage):
65552         * bindings/v8/WorkerContextExecutionProxy.cpp:
65553         (WebCore::handleConsoleMessage):
65555 2009-07-13  Sam Weinig  <sam@webkit.org>
65557         Reviewed by Darin Adler.
65559         Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
65560         <rdar://problem/7054356>
65562         Add null page check in HTMLDocument::hasFocus.
65564         Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
65566         * html/HTMLDocument.cpp:
65567         (WebCore::HTMLDocument::hasFocus): Add page null check.
65568         (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
65570 2009-07-13  Dan Bernstein  <mitz@apple.com>
65572         Reviewed by Darin Adler.
65574         Disable continuous spell checking in the inspector
65575         https://bugs.webkit.org/show_bug.cgi?id=27131
65577         * inspector/front-end/inspector.html: Added spellcheck="false" to the
65578             main-panels and console-prompt containers.
65580 2009-07-13  Adam Langley  <agl@google.com>
65582         Reviewed by Eric Seidel.
65584         Chromium Linux: fix assertion when rendering google.com.kh
65586         https://bugs.webkit.org/show_bug.cgi?id=26924
65588         Some shapers (i.e. Khmer) will produce cluster logs which report that
65589         /no/ code points contributed to certain glyphs. Because of this, we
65590         take any code point which contributed to the glyph in question, or any
65591         subsequent glyph.  If we run off the end, then we take the last code
65592         point.
65594         Added LayoutTests/fast/text/international/khmar-selection.html
65596         * platform/graphics/chromium/FontLinux.cpp:
65597         (WebCore::Font::offsetForPositionForComplexText):
65599 2009-07-13  Dan Bernstein  <mitz@apple.com>
65601         Reviewed by Darin Adler.
65603         spellcheck="false" is ignored
65604         <rdar://problem/7054177>
65606         * editing/Editor.cpp:
65607         (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
65608             spellcheck attribute from here...
65609         (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
65610         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
65611             if spell chcking is disabled by the spellcheck attribute.
65612         * editing/Editor.h:
65614 2009-07-13  Brent Fulgham  <bfulgham@webkit.org>
65616         Reviewed by Adam Roben.
65618         Add new configuration flag for redistributable Windows build.
65619         https://bugs.webkit.org/show_bug.cgi=27087
65620         
65621         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
65622           Debug_Cairo and Release_Cairo builds.
65623         * config.h: Check for presence of WIN_CAIRO and select appropriate
65624           configuration.  Defaults to standard Apple build.
65626 2009-07-13  Peter Kasting  <pkasting@google.com>
65628         https://bugs.webkit.org/show_bug.cgi?id=19562
65629         Back out previous patch for this bug (too many problems).
65631         * DerivedSources.cpp:
65632         * DerivedSources.make:
65633         * GNUmakefile.am:
65634         * WebCore.gypi:
65635         * WebCore.pro:
65636         * WebCore.vcproj/WebCore.vcproj:
65637         * WebCore.xcodeproj/project.pbxproj:
65638         * WebCoreSources.bkl:
65639         * html/HTMLButtonElement.idl:
65640         * html/HTMLFieldSetElement.idl:
65641         * html/HTMLFormControlElement.cpp:
65642         * html/HTMLFormControlElement.h:
65643         (WebCore::HTMLFormControlElement::form):
65644         * html/HTMLInputElement.idl:
65645         * html/HTMLSelectElement.idl:
65646         * html/HTMLTextAreaElement.idl:
65647         * html/ValidityState.cpp: Removed.
65648         * html/ValidityState.h: Removed.
65649         * html/ValidityState.idl: Removed.
65651 2009-07-13  Nate Chapin  <japhet@chromium.org>
65653         Reviewed by Dimitri Glazkov.
65655         Add HTMLAllCollection to WebCore.gypi.
65657         https://bugs.webkit.org/show_bug.cgi?id=27223
65659         * WebCore.gypi: Add HTMLAllCollection.
65661 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
65663         Reviewed by Darin Fisher.
65665         [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
65666         https://bugs.webkit.org/show_bug.cgi?id=27218
65668         Test: fast/css/matrix-as-function-crash.html
65670         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
65671         (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
65673 2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
65675         Unreviewed make dist build fix.
65677         * GNUmakefile.am:
65679 2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
65681         Reviewed by Tor Arne Vestbø.
65683         Fix NPWindow clip rect in PluginViewMac
65685         The rect should be in window-coordinates. This bug can be observed
65686         with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
65688         * plugins/mac/PluginViewMac.cpp:
65690 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
65692         Reviewed by Ariya Hidayat.
65694         Fix Qt implementation of WebCore::directoryName to return the absolute
65695         directory name instead of the base file name.
65697         * platform/qt/FileSystemQt.cpp:
65698         (WebCore::directoryName):
65700 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
65702         Reviewed by Ariya Hidayat.
65704         Fix WebCore::Path::isEmpty() for the Qt port to return true
65705         if there is no element in the path.
65707         QPainterPath::isEmpty() returns also true if there is one single
65708         MoveTo element inside, which makes sense but doesn't patch Webcore's
65709         is-empty definition.
65711         * platform/graphics/qt/PathQt.cpp:
65712         (WebCore::Path::isEmpty): Use elementCount() == 0.
65714 2009-07-13  Albert J. Wong  <ajwong@chromium.org>
65716         Reviewed by Dimitri Glazkov.
65718         Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
65719         https://bugs.webkit.org/show_bug.cgi?id=27127
65721         There were a number of bugs introduced during the last upstreaming
65722         effort that broke around 30 layout tests.  This fixes those bugs.
65723         It also has compile fixes to match the recent cutting apart of
65724         V8Proxy.
65726         * bindings/v8/NPV8Object.cpp:
65727         (freeV8NPObject):
65728         (npCreateV8ScriptObject):
65729         (NPN_Invoke):
65730         (NPN_InvokeDefault):
65731         (NPN_EvaluateHelper):
65732         (NPN_SetException):
65733         (NPN_Construct):
65735 2009-07-13  Mads Ager  <ager@chromium.org>
65737         Reviewed by Adam Barth.
65739         Fix memory leak in the V8 binding layer. 
65740         https://bugs.webkit.org/show_bug.cgi?id=27163
65742         Reinitializing the context is not necessary when clearing the proxy for navigation
65743         and it will lead us to hold on to an empty context for each frame.
65745         Test for empty context instead of empty global object handle when
65746         updating the document for a context.
65748         * bindings/v8/V8Proxy.cpp:
65749         (WebCore::V8Proxy::clearForNavigation):
65750         (WebCore::V8Proxy::updateDocument):
65752 2009-07-13  John Gregg  <johnnyg@google.com>
65754         Reviewed by David Levin.
65756         Correct the logic to determine if a V8 callback returns a value.
65757         https://bugs.webkit.org/show_bug.cgi?id=27155
65759         * bindings/v8/custom/V8CustomVoidCallback.cpp:
65760         (WebCore::invokeCallback):
65761         - Don't crash if result.IsEmpty().
65763 2009-07-13  Drew Wilson  <atwilson@google.com>
65765         Reviewed by David Levin.
65767         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
65768         https://bugs.webkit.org/show_bug.cgi?id=26932
65770         Initial IDL definition and bindings for SharedWorkers.
65772         * Configurations/FeatureDefines.xcconfig:
65773         Added new files for SharedWorker support.
65774         * DerivedSources.make:
65775         Added new files for SharedWorker support.
65776         * GNUmakefile.am:
65777         Added new files for SharedWorker support.
65778         * WebCore.gypi:
65779         Added new files for SharedWorker support.
65780         * WebCore.pro:
65781         Added new files for SharedWorker support.
65782         * WebCore.xcodeproj/project.pbxproj:
65783         Added new files for SharedWorker support.
65784         * bindings/js/JSAbstractWorkerCustom.cpp: Added.
65785         (WebCore::JSAbstractWorker::mark):
65786         Custom mark handler that marks the event listeners.
65787         (WebCore::JSAbstractWorker::addEventListener):
65788         (WebCore::JSAbstractWorker::removeEventListener):
65789         (WebCore::JSAbstractWorker::toJS):
65790         Custom toJS handler which differentiates between various subclasses.
65791         * bindings/js/JSDOMWindowCustom.cpp:
65792         (WebCore::JSDOMWindow::sharedWorker):
65793         SharedWorker constructor (only enabled when SHARED_WORKERS is
65794         enabled).
65795         * bindings/js/JSEventTarget.cpp:
65796         (WebCore::toJS):
65797         (WebCore::toEventTarget):
65798         Added support for converting to/from SharedWorkers.
65799         * bindings/js/JSSharedWorkerConstructor.cpp: Added.
65800         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
65801         (WebCore::constructSharedWorker):
65802         (WebCore::JSSharedWorkerConstructor::getConstructData):
65803         * bindings/js/JSSharedWorkerConstructor.h: Added.
65804         (WebCore::JSSharedWorkerConstructor::classInfo):
65805         * bindings/js/JSSharedWorkerCustom.cpp: Added.
65806         (WebCore::JSSharedWorker::mark):
65807         Custom mark function that marks the internal MessagePort.
65808         * bindings/v8/DOMObjectsInclude.h:
65809         Updated to include new header files.
65810         * bindings/v8/V8Index.cpp:
65811         * bindings/v8/V8Index.h:
65812         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
65813         (WebCore::getEventListener):
65814         (WebCore::ACCESSOR_GETTER):
65815         (WebCore::ACCESSOR_SETTER):
65816         (WebCore::CALLBACK_FUNC_DECL):
65817         V8 handlers for add/removeEventListener().
65818         * bindings/v8/custom/V8CustomBinding.h:
65819         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
65820         (WebCore::CALLBACK_FUNC_DECL):
65821         Custom constructor for SharedWorker.
65822         * dom/EventTarget.cpp:
65823         (WebCore::EventTarget::toSharedWorker):
65824         * dom/EventTarget.h:
65825         * page/DOMWindow.idl:
65826         * workers/AbstractWorker.cpp: Added.
65827         (WebCore::AbstractWorker::AbstractWorker):
65828         Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
65829         This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
65830         (WebCore::AbstractWorker::~AbstractWorker):
65831         (WebCore::AbstractWorker::addEventListener):
65832         (WebCore::AbstractWorker::removeEventListener):
65833         (WebCore::AbstractWorker::dispatchEvent):
65834         (WebCore::AbstractWorker::dispatchLoadErrorEvent):
65835         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
65836         * workers/AbstractWorker.h: Added.
65837         Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
65838         (WebCore::AbstractWorker::scriptExecutionContext):
65839         (WebCore::AbstractWorker::setOnerror):
65840         (WebCore::AbstractWorker::onerror):
65841         (WebCore::AbstractWorker::eventListeners):
65842         (WebCore::AbstractWorker::refEventTarget):
65843         (WebCore::AbstractWorker::derefEventTarget):
65844         * workers/AbstractWorker.idl: Added.
65845         * workers/SharedWorker.cpp: Added.
65846         (WebCore::SharedWorker::SharedWorker):
65847         (WebCore::SharedWorker::~SharedWorker):
65848         * workers/SharedWorker.h: Added.
65849         (WebCore::SharedWorker::create):
65850         (WebCore::SharedWorker::port):
65851         (WebCore::SharedWorker::toSharedWorker):
65852         * workers/SharedWorker.idl: Added.
65854 2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
65856         Reviewed by Simon Hausmann.
65858         [Qt] Cleanup - Remove prf install target
65859         https://bugs.webkit.org/show_bug.cgi?id=27191
65861         qtwebkit.prf has been removed; this cleans up the related
65862         install target as well.
65864         * WebCore.pro: Remove prf install target
65866 2009-07-12  Adam Barth  <abarth@webkit.org>
65868         Reviewed by Oliver Hunt.
65870         Facebook Chat is broken due to XSS auditor
65871         https://bugs.webkit.org/show_bug.cgi?id=27179
65873         Instead of just using the script's URL as to detect an XSS attack, we
65874         now use a bit of context before the URL.  In particular, we use the
65875         bytes from the beginning of the attribute name to the end of the
65876         attribute value.  In virtually all injection attacks, the attacker
65877         would need to supply the attribute name as well as the attribute value.
65878         However, in the Facebook false positive, the attribute name is not
65879         present in the URL.
65881         Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
65882                http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
65883                http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
65885         * html/HTMLTokenizer.cpp:
65886         (WebCore::HTMLTokenizer::parseTag):
65887         * html/HTMLTokenizer.h:
65888         * page/XSSAuditor.cpp:
65889         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
65890         * page/XSSAuditor.h:
65892 2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
65894         Reviewed by Timothy Hatcher.
65896         Refactor ConsoleMessage to add MessageType attribute.
65897         https://bugs.webkit.org/show_bug.cgi?id=20625
65899         * bindings/js/JSCustomXPathNSResolver.cpp:
65900         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
65901         * bindings/js/JSDOMWindowBase.cpp:
65902         (WebCore::JSDOMWindowBase::printErrorMessage):
65903         * dom/Document.cpp:
65904         (WebCore::Document::reportException):
65905         (WebCore::Document::addMessage):
65906         * dom/Document.h:
65907         * dom/ScriptExecutionContext.h:
65908         * html/HTMLParser.cpp:
65909         (WebCore::HTMLParser::reportErrorToConsole):
65910         * inspector/ConsoleMessage.cpp:
65911         (WebCore::ConsoleMessage::ConsoleMessage):
65912         (WebCore::ConsoleMessage::addToConsole):
65913         (WebCore::ConsoleMessage::isEqual):
65914         * inspector/ConsoleMessage.h:
65915         * inspector/InspectorController.cpp:
65916         (WebCore::InspectorController::addMessageToConsole):
65917         (WebCore::InspectorController::startGroup):
65918         (WebCore::InspectorController::endGroup):
65919         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
65920         (WebCore::InspectorController::addStartProfilingMessageToConsole):
65921         (WebCore::InspectorController::count):
65922         * inspector/InspectorController.h:
65923         * inspector/front-end/Console.js:
65924         (WebInspector.Console.prototype.addMessage):
65925         (WebInspector.ConsoleMessage): Added type property.
65926         (WebInspector.ConsoleMessage.prototype.toMessageElement):
65927         (WebInspector.ConsoleMessage.prototype.toString):
65928         (WebInspector.ConsoleMessage.prototype.isEqual):
65929         (WebInspector.ConsoleCommandResult):
65930         (WebInspector.ConsoleGroup.prototype.addMessage):
65931         (WebInspector.ConsoleGroup.prototype._titleClicked):
65932         * inspector/front-end/Resource.js:
65933         (WebInspector.Resource.prototype._addTip):
65934         (WebInspector.Resource.prototype._checkWarning):
65935         * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
65936         * inspector/front-end/inspector.js:
65937         (WebInspector.addMessageToConsole):
65938         * loader/DocLoader.cpp:
65939         (WebCore::DocLoader::printAccessDeniedMessage):
65940         * loader/EmptyClients.h:
65941         (WebCore::EmptyChromeClient::addMessageToConsole):
65942         * loader/FrameLoader.cpp:
65943         (WebCore::FrameLoader::reportLocalLoadFailed):
65944         (WebCore::FrameLoader::shouldAllowNavigation):
65945         * page/ChromeClient.h:
65946         * page/Console.cpp:
65947         (WebCore::printMessageSourceAndLevelPrefix):
65948         (WebCore::Console::addMessage):
65949         (WebCore::Console::error):
65950         (WebCore::Console::log):
65951         (WebCore::Console::dir):
65952         (WebCore::Console::trace):
65953         (WebCore::Console::assertCondition):
65954         (WebCore::Console::timeEnd):
65955         (WebCore::Console::warn):
65956         * page/Console.h: Added MessageType enum.
65957         (WebCore::):
65958         * page/DOMWindow.cpp:
65959         (WebCore::DOMWindow::postMessageTimerFired):
65960         * page/XSSAuditor.cpp:
65961         (WebCore::XSSAuditor::canEvaluate):
65962         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
65963         (WebCore::XSSAuditor::canLoadObject):
65964         * svg/SVGDocumentExtensions.cpp:
65965         (WebCore::SVGDocumentExtensions::reportWarning):
65966         (WebCore::SVGDocumentExtensions::reportError):
65967         * wml/WMLErrorHandling.cpp:
65968         (WebCore::reportWMLError):
65969         * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
65970         (WebCore::GenericWorkerTask8::create):
65971         (WebCore::GenericWorkerTask8::GenericWorkerTask8):
65972         (WebCore::GenericWorkerTask8::performTask):
65973         (WebCore::createCallbackTask):
65974         * workers/WorkerContext.cpp:
65975         (WebCore::WorkerContext::addMessage):
65976         (WebCore::WorkerContext::importScripts):
65977         * workers/WorkerContext.h:
65978         * workers/WorkerMessagingProxy.cpp:
65979         (WebCore::postConsoleMessageTask):
65980         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
65981         * workers/WorkerMessagingProxy.h:
65982         * workers/WorkerObjectProxy.h:
65983         * xml/XMLHttpRequest.cpp:
65984         (WebCore::reportUnsafeUsage):
65985         (WebCore::XMLHttpRequest::didFinishLoading):
65986         * xml/XSLTProcessor.cpp:
65987         (WebCore::XSLTProcessor::parseErrorFunc):
65989 2009-07-12  Nate Chapin  <japhet@chromium.org>
65991         Reviewed by Dimitri Glazkov.
65993         Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
65995         https://bugs.webkit.org/show_bug.cgi?id=27132
65997         * bindings/scripts/CodeGeneratorV8.pm:
65998         * bindings/v8/DOMObjectsInclude.h:
65999         * bindings/v8/DerivedSourcesAllInOne.cpp:
66000         * bindings/v8/V8DOMWrapper.cpp:
66001         (WebCore::V8DOMWrapper::getTemplate):
66002         (WebCore::V8DOMWrapper::instantiateV8Object):
66003         * bindings/v8/V8Index.cpp:
66004         * bindings/v8/V8Index.h:
66005         * dom/HTMLAllCollection.idl: Added.
66007 2009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
66009         Reviewed by Maciej Stachowiak.
66011         Inspector: Duplicate Computation in Autocompletion
66012         https://bugs.webkit.org/show_bug.cgi?id=26778
66014         * inspector/front-end/TextPrompt.js:
66015         (WebInspector.TextPrompt.prototype._completionsReady):
66017 2009-07-12  Dan Bernstein  <mitz@apple.com>
66019         Reviewed by Maciej Stachowiak.
66021         https://bugs.webkit.org/show_bug.cgi?id=27196
66022         Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
66024         * GNUmakefile.am: Updated.
66025         * WebCore.gypi: Updated.
66026         * WebCore.pro: Updated.
66027         * WebCore.vcproj/WebCore.vcproj: Updated.
66028         * WebCore.xcodeproj/project.pbxproj: Updated.
66029         * WebCoreSources.bkl: Updated.
66030         * rendering/RenderBlock.h: Removed unnecessary forward declaration and
66031             updated comments.
66032         * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
66033             Removed unnecessary #include statements.
66034         (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
66035         (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
66036         * rendering/bidi.cpp: Removed.
66037         * rendering/bidi.h: Removed.
66039 2009-07-12  Dan Bernstein  <mitz@apple.com>
66041         - Windows build fix
66043         * platform/graphics/cg/PDFDocumentImage.cpp:
66044         (WebCore::PDFDocumentImage::dataChanged):
66046 2009-07-12  Dan Bernstein  <mitz@apple.com>
66048         Reviewed by Sam Weinig.
66050         - Image cleanup
66052         * platform/graphics/BitmapImage.cpp:
66053         (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
66054         instead of the m_data member.
66055         (WebCore::BitmapImage::dataChanged): Ditto.
66056         * platform/graphics/Image.h: Re-ordered #includes and class
66057         declarations. Removed the drawPatternCallback() declaration. Made member
66058         variables private.
66059         * platform/graphics/cg/ImageCG.cpp:
66060         (WebCore::drawPatternCallback): Changed this from a member function to a
66061         static function.
66062         * platform/graphics/cg/PDFDocumentImage.cpp:
66063         (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
66064         instead of the m_data member.
66065         * svg/graphics/SVGImage.cpp:
66066         (WebCore::SVGImage::dataChanged): Ditto.
66068 2009-07-12  Daniel Bates  <dbates@intudata.com>
66070         Reviewed by Darin Adler.
66072         https://bugs.webkit.org/show_bug.cgi?id=27189
66073         
66074         Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
66075         XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
66076         with the URL of the page.
66078         Test: http/tests/security/xssAuditor/base-href-safe3.html
66080         * page/XSSAuditor.cpp:
66081         (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
66082         XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
66083         in the base element URL.
66085 2009-07-12  Darin Adler  <darin@apple.com>
66087         Reviewed by Dan Bernstein.
66089         Text searching with ICU should take the user's default locale into account
66090         https://bugs.webkit.org/show_bug.cgi?id=27184
66091         rdar://problem/6812121
66093         No simple way to test this since it's dependent on user locale.
66094         After this, the user's default locale is used only on Mac.
66096         * editing/TextIterator.cpp:
66097         (WebCore::createSearcher): Pass result of the currentSearchLocaleID
66098         function as the locale.
66100         * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
66101         currentSearchLocaleID function.
66103         * platform/text/android/TextBreakIteratorInternalICU.cpp:
66104         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
66105         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
66106         (WebCore::currentSearchLocaleID): Ditto.
66107         * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
66108         (WebCore::currentSearchLocaleID): Ditto.
66110         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
66111         (WebCore::textBreakLocalePreference): Added. Returns the value of
66112         the AppleTextBreakLocale preference.
66113         (WebCore::topLanguagePreference): Added. Returns the value of the
66114         first item in the AppleLanguages preference.
66115         (WebCore::canonicalLanguageIdentifier): Added. Cover for the
66116         CFLocaleCreateCanonicalLanguageIdentifierFromString function.
66117         (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
66118         into a buffer.
66119         (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
66120         canonicalLanguageIdentifier, and getLocale.
66121         (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
66122         (WebCore::getTextBreakLocale): Changed to call
66123         textBreakLocalePreference, topLanguagePreference,
66124         canonicalLanguageIdentifier, and getLocale.
66126         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
66127         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
66128         * platform/wx/TemporaryLinkStubs.cpp:
66129         (WebCore::currentSearchLocaleID): Ditto.
66131 2009-07-12  Xan Lopez  <xlopez@igalia.com>
66133         Reviewed by Gustavo Noronha.
66135         https://bugs.webkit.org/show_bug.cgi?id=25415
66136         [GTK][ATK] Please implement support for get_text_at_offset
66138         Create a PangoLayout that properly represents the visual
66139         appearance of the text in the web page so that the line boundary
66140         modes of getText{At,Before,After}Offset work correctly.
66142         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
66143         (UTF16ToUTF8):
66144         (g_substr):
66145         (convertUniCharToUTF8):
66146         (getPangoLayoutForAtk):
66148 2009-07-11  Oliver Hunt  <oliver@apple.com>
66150         Reviewed by Simon Fraser.
66152         Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
66153         <https://bugs.webkit.org/show_bug.cgi?id=27187>
66155         Simple API change, check for the empty path and add appropriate point if necessary.
66157         Test: fast/canvas/canvas-modify-emptyPath.html
66159         * Info.plist:
66160         * WebCore.xcodeproj/project.pbxproj:
66161         * html/CanvasRenderingContext2D.cpp:
66162         (WebCore::CanvasRenderingContext2D::lineTo):
66163         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
66164         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
66166 2009-07-11  Eric Carlson  <eric.carlson@apple.com>
66168         Reviewed by Antti Koivisto.
66170         HTMLMediaElement.canPlayType "maybe" and "probably" reversed
66171         https://bugs.webkit.org/show_bug.cgi?id=27186
66173         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
66174         (WebCore::MediaPlayerPrivate::supportsType):
66175             Return "probably" if type has codecs parameter.
66177         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66178         (WebCore::MediaPlayerPrivate::supportsType):
66179             Ditto.
66181         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
66182         (WebCore::MediaPlayerPrivate::supportsType):
66183             Ditto.
66185 2009-07-11  Brady Eidson  <beidson@apple.com>
66187         Reviewed by Mark Rowe.
66189         A worker-thread inspired follow-up for:
66190         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
66191         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
66193         * xml/XMLHttpRequest.cpp:
66194         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
66195           is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
66196           not currently supported.
66198 2009-07-11  Simon Fraser  <simon.fraser@apple.com>
66200         Enable support for accelerated compositing and 3d transforms on Leopard.
66201         <https://bugs.webkit.org/show_bug.cgi?id=20166>
66202         <rdar://problem/6120614>
66204         Reviewed by Oliver Hunt.
66206         * Configurations/FeatureDefines.xcconfig:
66208 2009-07-11  Simon Hausmann  <hausmann@webkit.org>
66210         Fix the Qt build after r45724.
66212         * bridge/qt/qt_instance.cpp:
66213         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
66214         * bridge/qt/qt_runtime.cpp:
66215         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
66217 2009-07-10  Daniel Bates  <dbates@intudata.com>
66219         Reviewed by Adam Barth.
66221         https://bugs.webkit.org/show_bug.cgi?id=26921
66223         Implements support for HTML entities, so XSSAuditor can protect against attacks
66224         encoded with HTML entities.
66226         Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
66227                http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
66228                http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
66229                http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
66230                http/tests/security/xssAuditor/javascript-link-HTML-entities.html
66231                http/tests/security/xssAuditor/link-onclick-entities.html
66232                http/tests/security/xssAuditor/script-tag-entities.html
66233                http/tests/security/xssAuditor/script-tag-with-source-entities.html
66235         * page/XSSAuditor.cpp:
66236         (WebCore::XSSAuditor::canEvaluate):
66237         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
66238         (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
66239         to decode HTML entities.
66240         (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
66241         (WebCore::XSSAuditor::findInRequest):
66242         * page/XSSAuditor.h:
66244 2009-07-10  David Kilzer  <ddkilzer@apple.com>
66246         Bug 27007: Build fixes when ICONDATABASE is disabled
66248         <https://bugs.webkit.org/show_bug.cgi?id=27007>
66250         Reviewed by Sam Weinig.
66252         * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
66253         to the project.
66254         * loader/icon/IconDatabase.cpp: Added
66255         #if ENABLE(ICONDATABASE)/#endif macro guard.
66256         * loader/icon/IconDatabase.h: Removed three public methods from
66257         #if ENABLE(ICONDATABASE)/#endif macro so that they may be
66258         stubbed out in IconDatabaseNone.cpp.
66259         * loader/icon/IconDatabaseNone.cpp: Added
66260         #if !ENABLE(ICONDATABASE)/#endif macro guard.
66261         (WebCore::IconDatabase::importIconURLForPageURL): Added.
66262         (WebCore::IconDatabase::importIconDataForIconURL): Added.
66263         (WebCore::IconDatabase::shouldStopThreadActivity): Added.
66265 2009-07-10  Daniel Bates  <dbates@intudata.com>
66267         Reviewed by Adam Barth.
66269         https://bugs.webkit.org/show_bug.cgi?id=27151
66271         Fixes issue where JavaScript URLs that contain null- and non-null control characters can
66272         bypass XSSAuditor.
66274         Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
66275                http/tests/security/xssAuditor/javascript-link-null-char.html
66276                http/tests/security/xssAuditor/javascript-link.html
66278         * bindings/js/ScriptController.cpp:
66279         (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
66280         inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
66281         * bindings/v8/ScriptController.cpp:
66282         (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
66283         bindings/js/ScriptController.cpp.
66284         * page/XSSAuditor.cpp:
66285         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
66286         into its own method.
66287         * page/XSSAuditor.h:
66289 2009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
66291         Reviewed by David Kilzer.
66293         WebKit needs a style linting tool
66294         https://bugs.webkit.org/show_bug.cgi?id=25884
66296         Fix bunch of style issues by autofix of cpplint.
66297         This patch is created to demonstrate the autofix of cpplint.py.
66299         No new testcases because it's a style fix
66301         * css/CSSParser.cpp:
66302         (WebCore::CSSParser::parseMediaQuery):
66303         (WebCore::CSSParser::validUnit):
66304         (WebCore::CSSParser::parseValue):
66305         (WebCore::skipCommaInDashboardRegion):
66306         (WebCore::CSSParser::parseDashboardRegions):
66307         (WebCore::ShadowParseContext::commitValue):
66308         (WebCore::ShadowParseContext::commitLength):
66309         (WebCore::ShadowParseContext::commitColor):
66310         (WebCore::BorderImageParseContext::commitNumber):
66311         (WebCore::BorderImageParseContext::commitWidth):
66312         (WebCore::BorderImageParseContext::commitRule):
66313         (WebCore::BorderImageParseContext::commitBorderImage):
66314         (WebCore::CSSParser::lex):
66315         (WebCore::CSSParser::text):
66316         * css/CSSStyleSelector.cpp:
66317         (WebCore::CSSStyleSelector::applyProperty):
66318         * css/MediaList.cpp:
66319         (WebCore::MediaList::deleteMedium):
66320         * css/MediaQuery.h:
66321         * css/MediaQueryEvaluator.cpp:
66322         (WebCore::parseAspectRatio):
66323         * css/MediaQueryEvaluator.h:
66324         * css/MediaQueryExp.h:
66325         (WebCore::MediaQueryExp::operator==):
66326         * css/WebKitCSSMatrix.h:
66327         * dom/Comment.h:
66328         * dom/Document.cpp:
66329         (WebCore::Document::setFocusedNode):
66330         * dom/Document.h:
66331         (WebCore::Document::setHasDashboardRegions):
66332         * dom/DocumentFragment.cpp:
66333         (WebCore::DocumentFragment::nodeName):
66334         * dom/DocumentFragment.h:
66335         * dom/DynamicNodeList.h:
66336         * dom/EditingText.h:
66337         * dom/Element.cpp:
66338         (WebCore::Element::dispatchAttrAdditionEvent):
66339         * dom/NamedAttrMap.cpp:
66340         (WebCore::NamedNodeMap::item):
66341         * dom/Node.cpp:
66342         (WebCore::Node::nodeValue):
66343         (WebCore::Node::nodeIndex):
66344         * dom/NodeRareData.h:
66345         (WebCore::NodeListsNodeData::create):
66346         * dom/Notation.h:
66347         * dom/ProcessingInstruction.h:
66348         * dom/Range.cpp:
66349         (WebCore::Range::processContents):
66350         * dom/StyledElement.cpp:
66351         (WebCore::toHex):
66352         * dom/XMLTokenizerLibxml2.cpp:
66353         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
66354         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
66355         (WebCore::PendingCallbacks::):
66356         (WebCore::OffsetBuffer::readOutBytes):
66357         (WebCore::handleElementNamespaces):
66358         (WebCore::handleElementAttributes):
66359         (WebCore::attributesStartElementNsHandler):
66360         * dom/XMLTokenizerQt.cpp:
66361         (WebCore::attributesStartElementNsHandler):
66362         (WebCore::XMLTokenizer::parseStartElement):
66363         * editing/ApplyStyleCommand.cpp:
66364         (WebCore::ApplyStyleCommand::applyInlineStyle):
66365         * editing/DeleteSelectionCommand.cpp:
66366         (WebCore::DeleteSelectionCommand::removeNode):
66367         * editing/Editor.cpp:
66368         (WebCore::Editor::pasteAsPlainText):
66369         * editing/SelectionController.cpp:
66370         (WebCore::SelectionController::directionOfEnclosingBlock):
66371         * editing/SmartReplaceICU.cpp:
66372         (WebCore::addAllCodePoints):
66373         * history/HistoryItem.cpp:
66374         (WebCore::HistoryItem::icon):
66375         (WebCore::HistoryItem::adoptVisitCounts):
66376         * html/CanvasStyle.cpp:
66377         (WebCore::CanvasStyle::applyFillColor):
66378         * html/HTMLAnchorElement.cpp:
66379         (WebCore::HTMLAnchorElement::setActive):
66380         (WebCore::HTMLAnchorElement::isLiveLink):
66381         * html/HTMLAppletElement.h:
66382         * html/HTMLAudioElement.h:
66383         * html/HTMLBRElement.h:
66384         * html/HTMLBaseElement.h:
66385         * html/HTMLBaseFontElement.h:
66386         * html/HTMLDListElement.h:
66387         * html/HTMLDirectoryElement.h:
66388         * html/HTMLFieldSetElement.cpp:
66389         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
66390         * html/HTMLFormElement.cpp:
66391         (WebCore::HTMLFormElement::reset):
66392         * html/HTMLHRElement.cpp:
66393         (WebCore::HTMLHRElement::parseMappedAttribute):
66394         * html/HTMLHeadElement.h:
66395         * html/HTMLHtmlElement.h:
66396         * html/HTMLImageElement.h:
66397         (WebCore::HTMLImageElement::setLoadManually):
66398         * html/HTMLInputElement.cpp:
66399         (WebCore::HTMLInputElement::selection):
66400         * html/HTMLIsIndexElement.h:
66401         * html/HTMLMarqueeElement.cpp:
66402         * html/HTMLMediaElement.h:
66403         (WebCore::HTMLMediaElement::):
66404         * html/HTMLMenuElement.h:
66405         * html/HTMLMetaElement.h:
66406         * html/HTMLModElement.h:
66407         * html/HTMLOListElement.h:
66408         * html/HTMLOptionElement.cpp:
66409         (WebCore::HTMLOptionElement::childrenChanged):
66410         * html/HTMLParamElement.h:
66411         * html/HTMLQuoteElement.h:
66412         * html/HTMLStyleElement.h:
66413         * html/HTMLTableCaptionElement.h:
66414         * html/HTMLTableCellElement.h:
66415         * html/HTMLTableColElement.h:
66416         * html/HTMLTableSectionElement.cpp:
66417         (WebCore::HTMLTableSectionElement::deleteRow):
66418         * html/HTMLTitleElement.h:
66419         * html/HTMLTokenizer.cpp:
66420         (WebCore::HTMLTokenizer::parseNonHTMLText):
66421         (WebCore::HTMLTokenizer::parseEntity):
66422         (WebCore::HTMLTokenizer::parseTag):
66423         (WebCore::HTMLTokenizer::write):
66424         * html/HTMLUListElement.h:
66425         * html/HTMLVideoElement.h:
66426         * html/TimeRanges.h:
66427         (WebCore::TimeRanges::Range::Range):
66428         * inspector/InspectorController.cpp:
66429         (WebCore::InspectorController::enableResourceTracking):
66430         (WebCore::InspectorController::disableResourceTracking):
66431         * inspector/InspectorFrontend.cpp:
66432         (WebCore::InspectorFrontend::newInspectorJSONObject):
66433         * page/Console.cpp:
66434         (WebCore::Console::addMessage):
66435         * page/EventHandler.cpp:
66436         (WebCore::EventHandler::handleMousePressEvent):
66437         (WebCore::EventHandler::selectCursor):
66438         (WebCore::EventHandler::defaultKeyboardEventHandler):
66439         * page/Frame.cpp:
66440         (WebCore::Frame::jsDefaultStatusBarText):
66441         * page/android/DragControllerAndroid.cpp:
66442         (WebCore::DragController::dragOperation):
66443         * page/android/EventHandlerAndroid.cpp:
66444         (WebCore::EventHandler::tabsToAllControls):
66445         (WebCore::EventHandler::eventActivatedView):
66446         * page/animation/AnimationController.cpp:
66447         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
66448         * page/gtk/DragControllerGtk.cpp:
66449         (WebCore::DragController::dragOperation):
66450         * page/qt/DragControllerQt.cpp:
66451         * page/win/DragControllerWin.cpp:
66452         (WebCore::DragController::isCopyKeyDown):
66453         * page/win/FrameWin.h:
66454         * rendering/RenderSlider.cpp:
66455         (WebCore::RenderSlider::mouseEventOffsetToThumb):
66456         * rendering/style/RenderStyle.h:
66457         (WebCore::InheritedFlags::setVerticalAlignLength):
66458         (WebCore::InheritedFlags::setUnicodeBidi):
66459         (WebCore::InheritedFlags::setCursor):
66460         * rendering/style/RenderStyleConstants.h:
66461         (WebCore::):
66462         * rendering/style/SVGRenderStyleDefs.h:
66463         * rendering/style/StyleInheritedData.h:
66464         (WebCore::StyleInheritedData::operator!=):
66465         * storage/DatabaseTask.h:
66466         * svg/GradientAttributes.h:
66467         * svg/LinearGradientAttributes.h:
66468         * svg/PatternAttributes.h:
66469         * svg/RadialGradientAttributes.h:
66470         * svg/SVGAnimatedPathData.h:
66471         * svg/SVGAnimatedPoints.h:
66472         * svg/SVGAnimationElement.h:
66473         * svg/SVGClipPathElement.h:
66474         * svg/SVGElementInstance.h:
66475         * svg/SVGFEBlendElement.cpp:
66476         (WebCore::SVGFEBlendElement::build):
66477         * svg/SVGFEBlendElement.h:
66478         * svg/SVGFEColorMatrixElement.cpp:
66479         (WebCore::SVGFEColorMatrixElement::build):
66480         * svg/SVGFEComponentTransferElement.cpp:
66481         (WebCore::SVGFEComponentTransferElement::build):
66482         * svg/SVGFECompositeElement.cpp:
66483         (WebCore::SVGFECompositeElement::build):
66484         * svg/SVGFEDiffuseLightingElement.cpp:
66485         (WebCore::SVGFEDiffuseLightingElement::build):
66486         * svg/SVGFEDisplacementMapElement.cpp:
66487         (WebCore::SVGFEDisplacementMapElement::build):
66488         * svg/SVGFEDistantLightElement.h:
66489         * svg/SVGFEFloodElement.cpp:
66490         (WebCore::SVGFEFloodElement::build):
66491         * svg/SVGFEFloodElement.h:
66492         * svg/SVGFEFuncAElement.h:
66493         * svg/SVGFEFuncBElement.h:
66494         * svg/SVGFEFuncGElement.h:
66495         * svg/SVGFEFuncRElement.h:
66496         * svg/SVGFEGaussianBlurElement.cpp:
66497         (WebCore::SVGFEGaussianBlurElement::build):
66498         * svg/SVGFEImageElement.cpp:
66499         (WebCore::SVGFEImageElement::build):
66500         * svg/SVGFEMergeElement.cpp:
66501         (WebCore::SVGFEMergeElement::build):
66502         * svg/SVGFEOffsetElement.cpp:
66503         (WebCore::SVGFEOffsetElement::build):
66504         * svg/SVGFEPointLightElement.h:
66505         * svg/SVGFESpecularLightingElement.cpp:
66506         (WebCore::SVGFESpecularLightingElement::build):
66507         * svg/SVGFESpotLightElement.h:
66508         * svg/SVGFETileElement.cpp:
66509         (WebCore::SVGFETileElement::build):
66510         * svg/SVGLineElement.cpp:
66511         (WebCore::SVGLineElement::parseMappedAttribute):
66512         * svg/SVGList.h:
66513         * svg/SVGListTraits.h:
66514         (WebCore::):
66515         * svg/SVGMPathElement.h:
66516         * svg/SVGMetadataElement.h:
66517         * svg/SVGParserUtilities.cpp:
66518         (WebCore::SVGPathParser::parseSVG):
66519         (WebCore::SVGPathParser::calculateArc):
66520         * svg/SVGPathElement.h:
66521         * svg/SVGPathSegClosePath.h:
66522         * svg/SVGSVGElement.h:
66523         * svg/SVGSetElement.h:
66524         * svg/SVGSwitchElement.h:
66525         * svg/SVGTextPathElement.cpp:
66526         (WebCore::SVGTextPathElement::parseMappedAttribute):
66527         * svg/SVGTextPathElement.h:
66528         * svg/SVGTitleElement.h:
66529         * svg/SVGTransformable.cpp:
66530         (WebCore::):
66531         * svg/SVGViewSpec.cpp:
66532         (WebCore::):
66533         * svg/animation/SMILTime.cpp:
66534         (WebCore::operator+):
66535         (WebCore::operator-):
66536         (WebCore::operator*):
66537         * svg/animation/SVGSMILElement.h:
66538         * svg/graphics/SVGResource.cpp:
66539         (WebCore::clientMap):
66540         * wml/WMLPostfieldElement.cpp:
66541         (WebCore::WMLPostfieldElement::value):
66542         * wml/WMLSetvarElement.cpp:
66543         (WebCore::WMLSetvarElement::value):
66544         * workers/WorkerRunLoop.cpp:
66545         * xml/XMLHttpRequest.cpp:
66546         (WebCore::XMLHttpRequest::dropProtection):
66547         * xml/XPathPath.h:
66549 2009-07-10  Eric Carlson  <eric.carlson@apple.com>
66551         Reviewed by Simon Fraser.
66553         <rdar://problem/7049066>.
66554         Update SnowLeopard media controller layout.
66556         * css/mediaControlsQT.css:
66557             Update for new layout.
66558         * html/HTMLMediaElement.cpp:
66559         (WebCore::HTMLMediaElement::movieLoadType):
66560             Added to replace isStreaming.
66561         * html/HTMLMediaElement.h:
66562             Declare movieLoadType, remove isStreaming.
66564         * rendering/MediaControlElements.cpp:
66565         (WebCore::MediaControlStatusDisplayElement::update):
66566             Use movieLoadType instead of isStreaming.
66567         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
66568             MediaControlElement is the base class, not HTMLInputElement.
66569         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
66570             Ditto.
66571         (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
66572             Don't display rewind button for live streams.
66573         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
66574             MediaControlInputElement is the base class, not HTMLInputElement.
66575         * rendering/MediaControlElements.h:
66577         * rendering/RenderThemeMac.h:
66578         * rendering/RenderThemeMac.mm:
66579         (WebCore::getMediaUIPartStateFlags):
66580             New, return wkDrawMediaUIPart flags.
66581         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
66582         (WebCore::RenderThemeMac::paintMediaMuteButton):
66583         (WebCore::RenderThemeMac::paintMediaPlayButton):
66584         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
66585         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
66586         (WebCore::RenderThemeMac::paintMediaSliderTrack):
66587         (WebCore::RenderThemeMac::paintMediaSliderThumb):
66588         (WebCore::RenderThemeMac::paintMediaRewindButton):
66589         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
66590         (WebCore::RenderThemeMac::paintMediaControlsBackground):
66591         (WebCore::RenderThemeMac::paintMediaCurrentTime):
66592         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
66593             Use getMediaUIPartStateFlags.
66595 2009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
66597         Reviewed by Adele Peterson.
66599         https://bugs.webkit.org/show_bug.cgi?id=19562
66600         Added build stuff and stub for the ValidityState class, part of HTML5
66601         section Forms:
66602         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
66604         Test: fast/forms/ValidityState-001.html
66606         * DerivedSources.cpp: Fix aimed to include ValidityState files
66607         * DerivedSources.make: ditto
66608         * GNUmakefile.am: ditto
66609         * WebCore.gypi: ditto
66610         * WebCore.pro: ditto
66611         * WebCore.vcproj/WebCore.vcproj: ditto
66612         * WebCore.xcodeproj/project.pbxproj: ditto
66613         * WebCoreSources.bkl: ditto
66614         * html/HTMLButtonElement.idl: "validity" attribute
66615         * html/HTMLFieldSetElement.idl: ditto
66616         * html/HTMLFormControlElement.cpp: object getter
66617         (WebCore::HTMLFormControlElement::validity):
66618         * html/HTMLFormControlElement.h: ditto
66619         * html/HTMLInputElement.idl: "validity" attribute
66620         * html/HTMLSelectElement.idl: ditto
66621         * html/HTMLTextAreaElement.idl: ditto
66622         * html/ValidityState.cpp: Added.
66623         (WebCore::ValidityState::ValidityState):
66624         (WebCore::ValidityState::valid): validation flag
66625         * html/ValidityState.h: Added.
66626         (WebCore::ValidityState::create): creation routine
66627         (WebCore::ValidityState::control): ValidityState's parent getter
66628         (WebCore::ValidityState::valueMissing): validation flag
66629         (WebCore::ValidityState::typeMismatch): ditto
66630         (WebCore::ValidityState::patternMismatch): ditto
66631         (WebCore::ValidityState::tooLong): ditto
66632         (WebCore::ValidityState::rangeUnderflow): ditto
66633         (WebCore::ValidityState::rangeOverflow): ditto
66634         (WebCore::ValidityState::stepMismatch): ditto
66635         (WebCore::ValidityState::customError): ditto
66636         * html/ValidityState.idl: Added.
66638 2009-07-10  Brady Eidson  <beidson@apple.com>
66640         Style cleanup over my last patch.
66642         * xml/XMLHttpRequest.cpp:
66643         (WebCore::XMLHttpRequest::~XMLHttpRequest):
66645 2009-07-10  Kevin McCullough  <kmccullough@apple.com>
66647         Reviewed by Geoffrey Garen.
66649         * inspector/JavaScriptCallFrame.cpp:
66650         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
66651         * inspector/JavaScriptCallFrame.h: New helper method, used below.
66653         * inspector/JavaScriptDebugServer.cpp:
66654         (WebCore::JavaScriptDebugServer::detach): In the special case
66655         where we detach from a window currently executing JavaScript,
66656         manually tear down our representation of the JavaScript
66657         call stack, since we won't get any more callbacks from JavaScriptCore
66658         to automatically tear it down. It's too bad that WebCore is
66659         responsible for this kind of tracking -- in the future, it would
66660         be nice if more of the breakpoint handling was inside of JavaScriptCore.
66662 2009-07-10  Brady Eidson  <beidson@apple.com>
66664         Reviewed by Antti Koivisto.
66666         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
66667         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
66669         With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
66670         When that happened, the first request that was over the limit ended up in a bizarre state where it 
66671         wasn't fully serviced until after the long running XHR was complete.
66673         Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
66674         resources - such as XHR - could still end up causing this limit to be exceeded.
66676         This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
66677         handle this at the resource handle level.
66679         * loader/loader.cpp:
66680         (WebCore::Loader::nonCacheRequestInFlight):
66681         (WebCore::Loader::nonCacheRequestComplete):
66682         (WebCore::Loader::Host::Host):
66683         (WebCore::Loader::Host::nonCacheRequestInFlight):
66684         (WebCore::Loader::Host::nonCacheRequestComplete):
66685         (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
66686         * loader/loader.h:
66687         (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
66689         * xml/XMLHttpRequest.cpp:
66690         (WebCore::XMLHttpRequest::XMLHttpRequest):
66691         (WebCore::XMLHttpRequest::~XMLHttpRequest): 
66692         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
66693         (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
66694         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
66696 2009-07-10  Antti Koivisto  <antti@apple.com>
66698         Try to unbreak non-Mac build.
66700         * page/ChromeClient.h:
66701         (WebCore::ChromeClient::formDidFocus):
66702         (WebCore::ChromeClient::formDidBlur):
66704 2009-07-10  Beth Dakin  <bdakin@apple.com>
66706         Reviewed by Anders Carlsson.
66708         The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
66709         In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
66710         clicking To Do's close box
66712         Make the Widget* in passMouseDownEventToWidget() a RefPtr.
66714         * page/mac/EventHandlerMac.mm:
66715         (WebCore::EventHandler::passMouseDownEventToWidget):
66717 2009-07-10  Eric Seidel  <eric@webkit.org>
66719         Reviewed by Adam Barth.
66721         rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
66722         https://bugs.webkit.org/show_bug.cgi?id=27157
66724         This is the first step to fixing
66725         https://bugs.webkit.org/show_bug.cgi?id=27088
66727         * WebCore.xcodeproj/project.pbxproj:
66728         * bindings/js/JSDOMBinding.h:
66729         (WebCore::deprecatedGetDOMStructure):
66730         (WebCore::createDOMObjectWrapper):
66731         (WebCore::createDOMNodeWrapper):
66732         * bindings/js/JSNamedNodesCollection.cpp:
66733         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
66734         * bindings/js/JSRGBColor.cpp:
66735         (WebCore::JSRGBColor::JSRGBColor):
66736         * bridge/objc/objc_runtime.mm:
66737         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
66738         * bridge/runtime_array.cpp:
66739         (JSC::RuntimeArray::RuntimeArray):
66740         * bridge/runtime_method.cpp:
66741         (JSC::RuntimeMethod::RuntimeMethod):
66742         * bridge/runtime_object.cpp:
66743         (JSC::RuntimeObjectImp::RuntimeObjectImp):
66745 2009-07-10  Greg Bolsinga  <bolsinga@apple.com>
66747         Reviewed by Antti Koivisto.
66749         Add delegate methods about focus and blur and state change
66750         https://bugs.webkit.org/show_bug.cgi?id=27153
66752         Call the appropriate new ChromeClient methods for focus and blur.
66754         * html/HTMLFormControlElement.cpp:
66755         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
66756         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
66757         * html/HTMLFormControlElement.h:
66758         * loader/EmptyClients.h:
66759         (WebCore::EmptyChromeClient::formDidFocus):
66760         (WebCore::EmptyChromeClient::formDidBlur):
66761         * page/ChromeClient.h:
66763 2009-07-10  Steve Falkenburg  <sfalken@apple.com>
66765         <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
66766         
66767         Use altered search path while loading plug-ins. This modifies the DLL search order
66768         to look in the directory containing the plug-in even if a call to SetDllDirectory
66769         was previously made. Use of SetDllDirectory removes the current directory from the search path,
66770         breaking the previous strategy for locating any dependent DLLs of the plug-in.
66771         
66772         Reviewed by Jon Honeycutt.
66774         * plugins/win/PluginPackageWin.cpp:
66775         (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
66777 2009-07-10  Adam Roben  <aroben@apple.com>
66779         Sort all our Xcode projects
66781         Accomplished using sort-Xcode-project-file.
66783         Requested by Dave Kilzer.
66785         * WebCore.xcodeproj/project.pbxproj:
66787 2009-07-10  Adam Langley  <agl@google.com>
66789         Reviewed by Darin Fisher.
66791         Chromium Linux: use disabled images for disabled widgets.
66793         https://bugs.webkit.org/show_bug.cgi?id=27106
66795         Previously, checkboxes and radio controls rendered the same even if disabled.
66796         The Chromium side of this change is r20224.
66798         * rendering/RenderThemeChromiumSkia.cpp:
66799         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
66800         (WebCore::RenderThemeChromiumSkia::paintRadio):
66802 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
66804         Reviewed by John Sullivan.
66806         Fix crash when changing the zoom level in http://iphone.akamai.com/
66807         <rdar://problem/7029077>
66809         RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
66810         which could potentially destroy that compositing layer, causing a crash.
66811         Prevent this from happening by not doing a compositing update from paintIntoLayer().
66813         The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
66814         and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
66815         compositing layers, and is still called from paintIntoLayer().
66816         
66817         * rendering/RenderLayer.cpp:
66818         (WebCore::RenderLayer::paintLayer):
66819         (WebCore::RenderLayer::hitTestLayer):
66820         (WebCore::RenderLayer::updateLayerListsIfNeeded):
66821         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
66822         * rendering/RenderLayer.h:
66824 2009-07-10  Drew Wilson  <atwilson@google.com>
66826         Reviewed by Darin Adler.
66828         Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
66829         https://bugs.webkit.org/show_bug.cgi?id=27010
66831         Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
66833         This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
66835         * bindings/scripts/CodeGeneratorJS.pm:
66836         Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
66837         * css/CSSRule.idl:
66838         * css/CSSValue.idl:
66839         * css/StyleSheet.idl:
66840         * dom/Document.idl:
66841         * dom/Event.idl:
66842         * dom/Node.idl:
66843         * html/ImageData.idl:
66844         * svg/SVGElementInstance.idl:
66845         * svg/SVGPathSeg.idl:
66846         Added CustomToJS attribute to all the above IDL files.
66848 2009-07-10  Dan Bernstein  <mitz@apple.com>
66850         - fix the build by reverting the ill-advised r45711
66852         * page/FrameView.cpp:
66853         (WebCore::FrameView::scrollToAnchor):
66855 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
66857         Reviewed by Tim Hatcher.
66859         Updated WebCore.base.exp to add some needed functions.
66861         * WebCore.base.exp:
66863 2009-07-10  Dan Bernstein  <mitz@apple.com>
66865         - address a review comment from Simon Fraser which I forgot to include
66866           in the last check-in
66868         * page/FrameView.cpp:
66869         (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
66870         maximum transform friendliness!
66872 2009-07-10  Dan Bernstein  <mitz@apple.com>
66874         Reviewed by Simon Fraser.
66876         - fix https://bugs.webkit.org/show_bug.cgi?id=27137
66877           <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
66878           to infinite recursion into FrameLoader::gotoAnchor() ->
66879           FrameView::layout()
66881         Test: fast/loader/goto-anchor-infinite-layout.html
66883         * loader/FrameLoader.cpp:
66884         (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
66885         find the renderer to scroll to, and scroll from here to methods on
66886         FrameView, and replaced it with a call to
66887         FrameView::maintainScrollPositionAtAnchor().
66888         (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
66889         instead of setLockedToAnchor().
66891         * page/FrameView.cpp:
66892         (WebCore::FrameView::FrameView): Removed initialization of
66893         m_lockedToAnchor.
66894         (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
66895         of m_lockedToAnchor.
66896         (WebCore::FrameView::layout): Removed the code related to scrolling to
66897         the anchor from here, because scrolling can trigger events which
66898         invalidate the layout, and as such, belongs with the post-layout tasks.
66899         (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
66900         with a node scrolls the view to the top of that node and maintains it
66901         scrolled to the top of the node during subsequent layouts, until
66902         this function is called with 0 or other things trigger scrolling.
66903         (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
66904         m_maintainScrollPositionAnchor.
66905         (WebCore::FrameView::setScrollPosition): Ditto.
66906         (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
66907         m_maintainScrollPositionAnchor, if it is set.
66908         (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
66909         (WebCore::FrameView::setWasScrolledByUser): Reset
66910         m_maintainScrollPositionAnchor.
66912         * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
66913         and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
66914         m_maintainScrollPositionAnchor.
66916 2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
66918         Reviewed by Simon Hausmann.
66920         https://bugs.webkit.org/show_bug.cgi?id=26439
66922         QtWebKit fails in loading www.nytimes.com in Windows/Linux
66924         QNetworkReplyHandler is ignoring content associated with 401 error.
66925         This causes the XHR response handling to fail.
66927         Simon: Added also ProxyAuthenticationRequiredError, to handle the same
66928         case when going through proxies, as suggested by Prasanth.
66930         * platform/network/qt/QNetworkReplyHandler.cpp:
66931         (WebCore::QNetworkReplyHandler::finish):
66933 2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
66935         Reviewed by Holger Freyther.
66937         Enable HTML 5 Messaging to fix message channel Qt DRT failures in
66938         fast/events.
66940         * WebCore.pro:
66942 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
66944         Reviewed by Maciej Stachowiak.
66946         added InlineBox::isLeaf()
66947         firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
66948         firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
66949         Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
66950         Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
66952         Currently, these methods are called on RootInlineBox objects only, so above changes should not have
66953         any observable effect (only the removal of the square performance behavior could apply, 
66954         but the conditions for that are probably of a rather theoretical nature).
66956         * rendering/InlineBox.cpp:
66957         (WebCore::InlineBox::nextLeafChild):
66958         (WebCore::InlineBox::prevLeafChild):
66959         * rendering/InlineBox.h:
66960         (WebCore::InlineBox::isLeaf):
66961         * rendering/InlineFlowBox.cpp:
66962         (WebCore::InlineFlowBox::firstLeafChild):
66963         (WebCore::InlineFlowBox::lastLeafChild):
66964         * rendering/InlineFlowBox.h:
66965         (WebCore::InlineFlowBox::firstChild):
66966         (WebCore::InlineFlowBox::lastChild):
66967         (WebCore::InlineFlowBox::isLeaf):
66968         * rendering/RootInlineBox.cpp:
66969         (WebCore::RootInlineBox::closestLeafChildForXPos):
66971 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
66973         Reviewed by Maciej Stachowiak.
66975         Added InlineBox::baselinePosition() and lineHeight() methods
66976         (adapted remaining code accordingly to use those methods)
66978         No change in functionality.
66980         * rendering/InlineBox.h:
66981         (WebCore::InlineBox::baselinePosition):
66982         (WebCore::InlineBox::lineHeight):
66983         * rendering/InlineFlowBox.cpp:
66984         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
66985         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
66986         (WebCore::InlineFlowBox::placeBoxesVertically):
66988 2009-07-09  Oliver Hunt  <oliver@apple.com>
66990         Reviewed by Maciej Stachowiak.
66992         Bug 27142 - canPlayType() should return empty string for unsupported content
66993         <https://bugs.webkit.org/show_bug.cgi?id=27142>
66995         Return "" instead of "no" for unsupport media types. 
66997         * html/HTMLMediaElement.cpp:
66998         (WebCore::HTMLMediaElement::canPlayType):
67000 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
67002         Reviewed by Maciej Stachowiak.
67004         Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
67005         in that their end tags are optional if followed by <rp>/<rt>.
67007         Also specify a new accessibility role "annotation" for <rp> and <rt>.
67009         Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
67010         is not affected by whether ruby is rendered properly or not (in fact, it may 
67011         be more profound without ruby layouting, since the contents of <rp> are not hidden).
67013         Test: fast/ruby/parse-rp.html
67015         * accessibility/AccessibilityObject.h:
67016         (WebCore::):
67017         * accessibility/AccessibilityRenderObject.cpp:
67018         (WebCore::AccessibilityRenderObject::roleValue):
67019         * html/HTMLElement.cpp:
67020         (WebCore::HTMLElement::endTagRequirement):
67021         (WebCore::HTMLElement::tagPriority):
67022         (WebCore::inlineTagList):
67023         * html/HTMLParser.cpp:
67024         (WebCore::HTMLParser::rpCreateErrorCheck):
67025         (WebCore::HTMLParser::rtCreateErrorCheck):
67026         (WebCore::HTMLParser::getNode):
67027         * html/HTMLParser.h:
67028         * html/HTMLTagNames.in:
67030 2009-07-09  Dmitry Titov  <dimich@chromium.org>
67032         Not reviewed, fix for previous commit.
67034         The change http://trac.webkit.org/changeset/45695 did not correctly
67035         enabled GTL and QT build flags. This caused layout tests failure.
67036         This is speculative fix for those failures.
67038         * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
67039         * WebCore.pro: ditto.
67040         * page/DOMWindow.idl: touched to cause recompile.
67041         * workers/WorkerContext.idl: ditto.
67043 2009-07-09  Drew Wilson  <atwilson@google.com>
67045         Reviewed by Alexey Proskuryakov.
67047         https://bugs.webkit.org/show_bug.cgi?id=26903
67049         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
67050         is now implemented for Web Workers and is reasonably stable.
67052         Tests: fast/events/message-channel-gc-2.html
67053                fast/events/message-channel-gc-3.html
67054                fast/events/message-channel-gc-4.html
67055                fast/events/message-channel-gc.html
67056                fast/events/message-channel-listener-circular-ownership.html
67057                fast/events/message-port-clone.html
67058                fast/events/message-port-constructor-for-deleted-document.html
67059                fast/events/message-port-deleted-document.html
67060                fast/events/message-port-deleted-frame.html
67061                fast/events/message-port-inactive-document.html
67062                fast/events/message-port-no-wrapper.html
67063                fast/events/message-port.html
67064                fast/workers/worker-cloneport.html
67065                fast/workers/worker-messageport-gc.html
67066                fast/workers/worker-messageport.html
67068         * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
67069         * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
67070         * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
67071         * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
67072         * WebCore/workers/WorkerContext.idl: ditto.
67075 2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
67077         Reviewed by Simon Fraser.
67079         Full page zoom breaks remaining and elapsed time display in the <video> controller.
67080         https://bugs.webkit.org/show_bug.cgi?id=27123
67082         We are changing the size of the time remaining and time elapsed field, to
67083         automatically hide them, when the controller is too short.
67085         Because we toggle the size between 0 and the previous value of the
67086         controller, we miss any width change that may occur during full page zoom,
67087         and we fail to restore a correct width.
67089         This change fixes that problem by using a cloned style on which we
67090         set the width to 0, and restoring the previous style when going back to
67091         the normal width.
67093         We take care about properly using the cloned style or the pseudo style,
67094         by overriding styleForElement().
67096         * rendering/MediaControlElements.cpp:
67097         (WebCore::MediaControlElement::styleForElement):
67098         (WebCore::MediaControlElement::attach):
67099         (WebCore::MediaControlElement::updateStyle):
67100         (WebCore::MediaControlInputElement::styleForElement):
67101         (WebCore::MediaControlInputElement::attach):
67102         (WebCore::MediaControlInputElement::updateStyle):
67103         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
67104         (WebCore::MediaControlTimeDisplayElement::styleForElement):
67105         (WebCore::MediaControlTimeDisplayElement::setVisible):
67106         * rendering/MediaControlElements.h:
67107         * rendering/RenderMedia.cpp:
67108         (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
67109         we take in account the zoom level when deciding if we should hide the 
67110         ellapsed and remaining time.
67112 2009-07-09  Michael Nordman  <michaeln@google.com>
67114         Reviewed by Darin Adler.
67116         Fix chromium build bustage due to Widget being a RefCounted class.
67117         https://bugs.webkit.org/show_bug.cgi?id=27139
67119         * platform/chromium/PopupMenuChromium.cpp:
67120         * platform/chromium/PopupMenuChromium.h:
67122 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
67124         Reviewed by Darin Adler.
67126         Bug 27130 - Need to implement ARIA role="toolbar"
67127         https://bugs.webkit.org/show_bug.cgi?id=27130
67129         Test: platform/mac/accessibility/aria-toolbar.html
67131         * accessibility/AccessibilityRenderObject.cpp:
67132         (WebCore::RoleEntry::):
67133         * accessibility/mac/AccessibilityObjectWrapper.mm:
67134         (-[AccessibilityObjectWrapper roleDescription]):
67136 2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
67138         Reviewed by Darin Fisher.
67140         [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
67141         https://bugs.webkit.org/show_bug.cgi?id=27135
67143         * WebCore.gypi: Added.
67145 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
67147         A more robust fix for <rdar://problem/6930280> Reproducible crash at
67148         USA Today photo gallery
67150         Reviewed by Steve Falkenburg.
67152         * plugins/win/PluginMessageThrottlerWin.cpp:
67153         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
67154         Protect the PluginView from destruction before calling its window proc.
67156 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
67158         <rdar://problem/6978804> WER #16: Repro Access Violation in
67159         WebCore::PluginView::bindingInstance (1310178023)
67161         Reviewed by Darin Adler.
67163         * plugins/PluginView.cpp:
67164         (WebCore::PluginView::bindingInstance):
67165         Protect the PluginView from destruction before calling NPN_GetValue. If
67166         the renderer for the PluginView was destroyed during the call, and the
67167         PluginView's ref count is now 1, return null.
67169 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
67171         Speculative fix for <rdar://problem/6991251> WER #13: Crash in
67172         WebKit!WebCore::PluginView::performRequest+203 (1311461169)
67174         Reviewed by Darin Adler.
67176         * plugins/PluginView.cpp:
67177         (WebCore::PluginView::performRequest):
67178         Protect the PluginView from destruction before performing a load.
67179         Removed some trailing whitespace.
67181 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
67183         Build fix.
67185         * inspector/JavaScriptDebugServer.cpp:
67186         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
67188 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
67190         Reviewed by Dave Hyatt.
67192         Make Widget RefCounted to fix or make fixable:
67194         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
67195         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
67196         box
67197         <rdar://problem/6978804> WER #16: Repro Access Violation in 
67198         WebCore::PluginView::bindingInstance (1310178023)
67199         -and-
67200         <rdar://problem/6991251> WER #13: Crash in WebKit!
67201         WebCore::PluginView::performRequest+203 (1311461169) 
67203         * loader/EmptyClients.h:
67204         (WebCore::EmptyFrameLoaderClient::createPlugin):
67205         Changed to return PassRefPtr
67206         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
67207         Ditto.
67209         * loader/FrameLoader.cpp:
67210         (WebCore::FrameLoader::loadSubframe):
67211         (WebCore::FrameLoader::loadPlugin):
67212         Make the widget variable a RefPtr. Use .get() when passing it to
67213         RenderPart::setWidget().
67214         (WebCore::FrameLoader::createJavaAppletWidget):
67215         Make the widget variable a RefPtr.
67217         * loader/FrameLoader.h:
67218         Changed the return type of createJavaAppletWidget().
67220         * loader/FrameLoaderClient.h:
67221         Change the return types of createPlugin() and 
67222         createJavaAppletWidget().
67224         * page/Frame.cpp:
67225         (WebCore::Frame::createView):
67226         No need to call .get() since setWidget() takes a RefPtr.
67228         * page/FrameView.cpp:
67229         (WebCore::FrameView::layoutIfNeededRecursive):
67230         children() now returns a HashSet of RefPtrs.
67232         * page/FrameView.h:
67233         Remove inheritance from RefCounted; we pick this up from ScrollView
67234         through Widget.
67236         * platform/ScrollView.cpp:
67237         (WebCore::ScrollView::addChild):
67238         addChild() now takes a PassRefPtr and m_children now keeps a 
67239         HashSet of RefPtrs.
67241         * platform/ScrollView.h:
67242         ScrollView constructor is now protected.
67243         (WebCore::ScrollView::children):
67244         m_children is now a HashSet of RefPtrs.
67246         * platform/Scrollbar.h:
67247         Remove inheritance from RefCounted; we pick this up from ScrollView
67248         through Widget.
67250         * platform/Widget.h:
67251         Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
67252         a RefPtr.
67254         * plugins/PluginView.cpp:
67255         (WebCore::PluginView::create):
67256         Adopt the PluginView when returning it.
67258         * plugins/PluginView.h:
67259         Changed create() to return a PassRefPtr.
67261         * rendering/RenderApplet.cpp:
67262         Receive result in a RefPtr when calling createJavaAppletWidget().
67264         * rendering/RenderPart.cpp:
67265         (WebCore::RenderPart::setWidget): 
67266         setWidget() now takes a PassRefPtr. Also removed the manual ref of 
67267         FrameViews. This is handled by having m_widget be a RefPtr. Removed 
67268         deleteWidget().
67270         * rendering/RenderPart.h:
67271         Removed override of deleteWidget().
67273         * rendering/RenderWidget.cpp:
67274         (WebCore::RenderWidget::destroy):
67275         (WebCore::RenderWidget::setWidget):
67276         (WebCore::RenderWidget::paint):
67277         (WebCore::RenderWidget::setOverlapTestResult):
67278         (WebCore::RenderWidget::updateWidgetPosition):
67279         Use .get().
67280         (WebCore::RenderWidget::clearWidget):
67281         Don't call deleteWidget(). It was removed. 
67283         * rendering/RenderWidget.h:
67284         Removed deleteWidget(). Made m_widget a RefPtr.
67285         (WebCore::RenderWidget::widget):
67286         Use .get().
67288 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
67290         Reviewed by Darin Adler.
67292         Bug 27129 - AX: possible assertion for a non-native image in accessibility
67293         https://bugs.webkit.org/show_bug.cgi?id=27129 
67295         It's possible for an image that is not really an image to assert, because its renderer
67296         is turned into a RenderImage.
67298         Test: accessibility/non-native-image-crash.html
67300         * accessibility/AccessibilityRenderObject.cpp:
67301         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
67302         (WebCore::RoleEntry::):
67303         * accessibility/mac/AccessibilityObjectWrapper.mm:
67304         (-[AccessibilityObjectWrapper roleDescription]):
67306 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
67308         Build fix for SnowLeopard.
67309         
67310         Avoid using the contentsTransform methods if not on Leopard, because
67311         we don't need to call them.
67313         * platform/graphics/mac/GraphicsLayerCA.mm:
67314         (WebCore::GraphicsLayerCA::updateContentsTransform):
67315         * platform/graphics/mac/WebLayer.mm:
67316         (-[WebLayer setNeedsDisplayInRect:]):
67317         * platform/graphics/mac/WebTiledLayer.mm:
67318         (-[WebTiledLayer setNeedsDisplayInRect:]):
67320 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
67322         Reviewed by Dave Hyatt
67324         Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
67325         is not available.
67326         <rdar://problem/6120614>
67328         * platform/graphics/GraphicsLayer.h:
67329         (WebCore::GraphicsLayer::setContentsOrientation):
67330         (WebCore::GraphicsLayer::contentsOrientation):
67331         * platform/graphics/GraphicsLayer.cpp:
67332         (WebCore::GraphicsLayer::GraphicsLayer):
67333         Add a m_contentsOrientation member and getter/setter to control whether
67334         the contents of this layer have a transform applied to them before display.
67336         * platform/graphics/mac/GraphicsLayerCA.h:
67337         New method to return the default contents orientation.
67339         * platform/graphics/mac/GraphicsLayerCA.mm:
67340         (WebCore::flipTransform):
67341         Convenience method to return a transform with a Y flip.
67343         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
67344         (WebCore::GraphicsLayerCA::setSize):
67345         After the size changes we have to update the contentsTransform.
67347         (WebCore::GraphicsLayerCA::setGeometryOrientation):
67348         (WebCore::GraphicsLayerCA::geometryOrientation):
67349         If -setGeometryFlipped: is not available, use a children transform.
67350         
67351         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
67352         Tiled layers have issues with flipped contentsTransform, so just use
67353         top-down drawing for them. Call updateContentsTransform() to set the
67354         new contents transform after swapping layers.
67355         
67356         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
67357         Use bottom-up when -geometryFlipped is not available, otherwise top-down.
67358         
67359         (WebCore::GraphicsLayerCA::updateContentsTransform):
67360         Set the layer contents transform based on contentsOrientation().
67362         (WebCore::GraphicsLayerCA::setContentsLayer):
67363         We have to manually flip contents layers if we're not using -geometryFlipped.
67364         
67365         * platform/graphics/mac/WebLayer.h:
67366         * platform/graphics/mac/WebLayer.mm:
67367         Do early return if layerContents is nil. Flip the CTM if the layer has
67368         bottom-up coordinates, so that CG sees a CTM with no flip.
67369         Do the CGContextRestoreGState() after drawing the debug indicator.
67370         
67371         (-[WebLayer setNeedsDisplayInRect:]):
67372         * platform/graphics/mac/WebTiledLayer.mm:
67373         (-[WebTiledLayer setNeedsDisplayInRect:]):
67374         Need to map the dirty rect through the contentsTransform.
67376 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
67378         Reviewed by Geoff Garen.
67380         <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
67382         Can't test this functionality with layout tests.
67384         * WebCore.base.exp:
67385         * history/HistoryItem.cpp:
67386         (WebCore::HistoryItem::recordVisitAtTime):
67387         (WebCore::HistoryItem::visited):
67388         * history/HistoryItem.h:
67389         Only increase visit count if explicitly told to. Now, some visits change last access time,
67390         but do not increase visit count.
67392 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
67394         Reviewed by Simon Fraser.
67396         <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
67398         Require QuickTime 7.6.3 or higher to enable the new media controller UI.
67400         * rendering/RenderThemeMac.mm:
67401         (WebCore::mediaControllerTheme):
67403 2009-07-09  Sam Weinig  <sam@webkit.org>
67405         Reviewed by Beth Dakin.
67407         Remove incorrect comment.
67409         * page/MouseEventWithHitTestResults.h:
67411 2009-07-09  Mads Ager  <ager@chromium.org>
67413         Reviewed by Dimitri Glazkov.
67415         Update the V8 bindings codegenerator to use the RGBColor::create
67416         method to handle refcounts for RGBColor objects correctly.
67417         
67418        * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
67420 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
67422         Reviewed by Adele Peterson.
67424         Crash in RenderMedia::styleDidChange.
67425         <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
67426         media element (RenderMedia::styleDidChange 115)
67428         Speculative fix for crash in styleDidChange. Null check controller elements before tell
67429         them to update style.
67431         * rendering/RenderMedia.cpp:
67432         (WebCore::RenderMedia::styleDidChange):
67434 2009-07-09  Adam Barth  <abarth@webkit.org>
67436         Reviewed by Dimitri Glazkov.
67438         [V8] Move V8DOMWrapper to its own file
67439         https://bugs.webkit.org/show_bug.cgi?id=27121
67441         * bindings/v8/V8DOMWrapper.cpp: Added.
67442         (WebCore::GetToStringName):
67443         (WebCore::ConstructorToString):
67444         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
67445         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
67446         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
67447         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
67448         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
67449         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
67450         (WebCore::V8DOMWrapper::getTemplate):
67451         (WebCore::V8DOMWrapper::convertToV8Object):
67452         (WebCore::V8DOMWrapper::setHiddenWindowReference):
67453         (WebCore::V8DOMWrapper::domWrapperType):
67454         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
67455         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
67456         (WebCore::V8DOMWrapper::lookupDOMWrapper):
67457         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
67458         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
67459         (WebCore::V8DOMWrapper::instantiateV8Object):
67460         (WebCore::V8DOMWrapper::setDOMWrapper):
67461         (WebCore::V8DOMWrapper::maybeDOMWrapper):
67462         (WebCore::V8DOMWrapper::isDOMEventWrapper):
67463         (WebCore::V8DOMWrapper::isWrapperOfType):
67464         (WebCore::V8DOMWrapper::htmlElementType):
67465         (WebCore::V8DOMWrapper::svgElementType):
67466         (WebCore::V8DOMWrapper::convertEventToV8Object):
67467         (WebCore::):
67468         (WebCore::V8DOMWrapper::convertNodeToV8Object):
67469         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
67470         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
67471         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
67472         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
67473         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
67474         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
67475         (WebCore::V8DOMWrapper::convertWindowToV8Object):
67476         * bindings/v8/V8DOMWrapper.h: Added.
67477         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
67478         (WebCore::V8DOMWrapper::wrapCPointer):
67479         (WebCore::V8DOMWrapper::extractCPointer):
67480         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
67481         (WebCore::V8DOMWrapper::convertToV8Object):
67482         (WebCore::V8DOMWrapper::convertToNativeObject):
67483         (WebCore::V8DOMWrapper::convertToNativeEvent):
67484         (WebCore::V8DOMWrapper::extractCPointerImpl):
67485         (WebCore::V8DOMWrapper::instantiateV8Object):
67486         * bindings/v8/V8Proxy.cpp:
67487         * bindings/v8/V8Proxy.h:
67489 2009-07-09  David Hyatt  <hyatt@apple.com>
67491         Reviewed by Adele Peterson.
67493         Crash in setFocusedFrame.
67494         <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
67496         Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
67497         the events only after the local member has been updated.
67499         * page/FocusController.cpp:
67500         (WebCore::FocusController::setFocusedFrame):
67502 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
67504         Reviewed by Adele Peterson.
67506         Possible crashes when mouse clicks not dispatched because range input destroyed while 
67507         thumb is being dragged (e.g. scrub to end of movie)
67508         <rdar://problem/7037494> 
67509         https://bugs.webkit.org/show_bug.cgi?id=27101
67511         Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
67512         get mouse events even when the mouse is moved outside of the node. This is done by putting
67513         EventHandler into a mode where it sends all mouse events to the node regardless of the
67514         actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
67515         node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
67516         to try to send events to the deleted node. This sometimes results in a crash, and sometimes
67517         in a page that doesn't respond to click events.
67519         Tests: fast/forms/search-delete-while-cancel-button-clicked.html
67520                fast/forms/slider-delete-while-dragging-thumb.html
67521                media/audio-delete-while-slider-thumb-clicked.html
67522                media/audio-delete-while-step-button-clicked.html
67524         * rendering/MediaControlElements.cpp:
67525         (WebCore::MediaControlSeekButtonElement::detach):
67526             New, call setCapturingMouseEventsNode if capturing mouse events.
67527         * rendering/MediaControlElements.h:
67528             Declare detach().
67530         * rendering/RenderSlider.cpp:
67531         (WebCore::SliderThumbElement::detach):
67532             New, call setCapturingMouseEventsNode if capturing mouse events.
67534         * rendering/TextControlInnerElements.cpp:
67535         (WebCore::SearchFieldCancelButtonElement::detach):
67536             New, call setCapturingMouseEventsNode if capturing mouse events.
67537         * rendering/TextControlInnerElements.h:
67538             Declare detach().
67540 2009-07-09  Yury Semikhatsky  <yurys@chromium.org>
67542         Reviewed by Dimitri Glazkov.
67544         Enter the Frame's context before creating new objects in setContextDebugId.
67546         https://bugs.webkit.org/show_bug.cgi?id=27112
67548         * bindings/v8/V8Proxy.cpp:
67549         (WebCore::V8Proxy::setContextDebugId):
67551 2009-07-09  Simon Hausmann  <hausmann@webkit.org>
67553         Fix the Qt build.
67555         * WebCore.pro: Add new storage impl files to the build.
67557 2009-07-08  Adam Barth  <abarth@webkit.org>
67559         Rubber stamped by Eric Seidel.
67561         [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
67562         https://bugs.webkit.org/show_bug.cgi?id=27107
67564         This patch is just renaming.  Code motion will occur next.
67566         * bindings/scripts/CodeGeneratorV8.pm:
67567         * bindings/v8/ScriptController.cpp:
67568         (WebCore::ScriptController::processingUserGesture):
67569         (WebCore::createScriptObject):
67570         (WebCore::ScriptController::createScriptObjectForPluginElement):
67571         * bindings/v8/ScriptObject.cpp:
67572         (WebCore::ScriptGlobalObject::set):
67573         * bindings/v8/ScriptObjectQuarantine.cpp:
67574         (WebCore::getQuarantinedScriptObject):
67575         * bindings/v8/V8AbstractEventListener.cpp:
67576         (WebCore::V8AbstractEventListener::handleEvent):
67577         (WebCore::V8AbstractEventListener::getReceiverObject):
67578         * bindings/v8/V8Collection.cpp:
67579         (WebCore::toOptionsCollectionSetter):
67580         * bindings/v8/V8Collection.h:
67581         (WebCore::getV8Object):
67582         (WebCore::getNamedPropertyOfCollection):
67583         (WebCore::nodeCollectionNamedPropertyGetter):
67584         (WebCore::getIndexedPropertyOfCollection):
67585         (WebCore::nodeCollectionIndexedPropertyGetter):
67586         (WebCore::nodeCollectionIndexedPropertyEnumerator):
67587         (WebCore::collectionIndexedPropertyEnumerator):
67588         (WebCore::collectionStringOrNullIndexedPropertyGetter):
67589         * bindings/v8/V8DOMMap.cpp:
67590         (WebCore::DOMData::handleWeakObject):
67591         (WebCore::DOMData::removeObjectsFromWrapperMap):
67592         * bindings/v8/V8GCController.cpp:
67593         (WebCore::enumerateDOMObjectMap):
67594         (WebCore::DOMObjectVisitor::visitDOMWrapper):
67595         (WebCore::GCPrologueVisitor::visitDOMWrapper):
67596         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
67597         * bindings/v8/V8Helpers.cpp:
67598         (WebCore::wrapNPObject):
67599         * bindings/v8/V8NodeFilterCondition.cpp:
67600         (WebCore::V8NodeFilterCondition::acceptNode):
67601         * bindings/v8/V8Proxy.cpp:
67602         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
67603         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
67604         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
67605         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
67606         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
67607         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
67608         (WebCore::V8Proxy::evaluateInNewContext):
67609         (WebCore::V8Proxy::getConstructor):
67610         (WebCore::V8DOMWrapper::getTemplate):
67611         (WebCore::V8Proxy::retrieveWindow):
67612         (WebCore::V8Proxy::updateDocumentWrapperCache):
67613         (WebCore::V8Proxy::clearForNavigation):
67614         (WebCore::V8Proxy::installDOMWindow):
67615         (WebCore::setDOMExceptionHelper):
67616         (WebCore::V8DOMWrapper::convertToV8Object):
67617         (WebCore::V8DOMWrapper::setHiddenWindowReference):
67618         (WebCore::V8DOMWrapper::domWrapperType):
67619         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
67620         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
67621         (WebCore::V8DOMWrapper::lookupDOMWrapper):
67622         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
67623         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
67624         (WebCore::V8DOMWrapper::instantiateV8Object):
67625         (WebCore::V8DOMWrapper::setDOMWrapper):
67626         (WebCore::V8DOMWrapper::maybeDOMWrapper):
67627         (WebCore::V8DOMWrapper::isDOMEventWrapper):
67628         (WebCore::V8DOMWrapper::isWrapperOfType):
67629         (WebCore::V8DOMWrapper::htmlElementType):
67630         (WebCore::V8DOMWrapper::svgElementType):
67631         (WebCore::V8DOMWrapper::convertEventToV8Object):
67632         (WebCore::V8DOMWrapper::convertNodeToV8Object):
67633         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
67634         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
67635         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
67636         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
67637         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
67638         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
67639         (WebCore::V8DOMWrapper::convertWindowToV8Object):
67640         (WebCore::V8Proxy::bindJsObjectToWindow):
67641         * bindings/v8/V8Proxy.h:
67642         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
67643         (WebCore::V8DOMWrapper::wrapCPointer):
67644         (WebCore::V8DOMWrapper::extractCPointer):
67645         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
67646         (WebCore::V8DOMWrapper::convertToV8Object):
67647         (WebCore::V8DOMWrapper::convertToNativeObject):
67648         (WebCore::V8DOMWrapper::convertToNativeEvent):
67649         (WebCore::V8DOMWrapper::extractCPointerImpl):
67650         (WebCore::V8DOMWrapper::instantiateV8Object):
67651         (WebCore::V8Proxy::constructDOMObject):
67652         (WebCore::toV8):
67653         * bindings/v8/V8SVGPODTypeWrapper.h:
67654         (WebCore::V8SVGPODTypeUtil::toSVGPODType):
67655         * bindings/v8/WorkerContextExecutionProxy.cpp:
67656         (WebCore::WorkerContextExecutionProxy::retrieve):
67657         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
67658         (WebCore::WorkerContextExecutionProxy::GetConstructor):
67659         (WebCore::WorkerContextExecutionProxy::ToV8Object):
67660         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
67661         (WebCore::WorkerContextExecutionProxy::toV8):
67662         * bindings/v8/custom/V8AttrCustom.cpp:
67663         (WebCore::ACCESSOR_SETTER):
67664         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
67665         (WebCore::NAMED_PROPERTY_GETTER):
67666         (WebCore::NAMED_PROPERTY_SETTER):
67667         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
67668         (WebCore::INDEXED_PROPERTY_GETTER):
67669         (WebCore::INDEXED_PROPERTY_SETTER):
67670         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
67671         (WebCore::toV8):
67672         (WebCore::toCanvasStyle):
67673         (WebCore::ACCESSOR_GETTER):
67674         (WebCore::ACCESSOR_SETTER):
67675         (WebCore::CALLBACK_FUNC_DECL):
67676         * bindings/v8/custom/V8ClientRectListCustom.cpp:
67677         (WebCore::INDEXED_PROPERTY_GETTER):
67678         * bindings/v8/custom/V8ClipboardCustom.cpp:
67679         (WebCore::ACCESSOR_GETTER):
67680         (WebCore::CALLBACK_FUNC_DECL):
67681         * bindings/v8/custom/V8CustomBinding.cpp:
67682         (WebCore::ACCESSOR_GETTER):
67683         (WebCore::INDEXED_ACCESS_CHECK):
67684         (WebCore::NAMED_ACCESS_CHECK):
67685         (WebCore::V8Custom::GetTargetFrame):
67686         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
67687         (WebCore::V8CustomSQLStatementCallback::handleEvent):
67688         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
67689         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
67690         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
67691         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
67692         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
67693         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
67694         * bindings/v8/custom/V8DOMWindowCustom.cpp:
67695         (WebCore::V8Custom::WindowSetTimeoutImpl):
67696         (WebCore::ACCESSOR_SETTER):
67697         (WebCore::CALLBACK_FUNC_DECL):
67698         (WebCore::ACCESSOR_GETTER):
67699         (WebCore::INDEXED_PROPERTY_GETTER):
67700         (WebCore::NAMED_PROPERTY_GETTER):
67701         (WebCore::V8Custom::ClearTimeoutImpl):
67702         (WebCore::NAMED_ACCESS_CHECK):
67703         (WebCore::INDEXED_ACCESS_CHECK):
67704         * bindings/v8/custom/V8DatabaseCustom.cpp:
67705         (WebCore::CALLBACK_FUNC_DECL):
67706         * bindings/v8/custom/V8DocumentCustom.cpp:
67707         (WebCore::CALLBACK_FUNC_DECL):
67708         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
67709         (WebCore::ACCESSOR_GETTER):
67710         (WebCore::ACCESSOR_SETTER):
67711         * bindings/v8/custom/V8ElementCustom.cpp:
67712         (WebCore::CALLBACK_FUNC_DECL):
67713         (WebCore::ACCESSOR_SETTER):
67714         (WebCore::ACCESSOR_GETTER):
67715         * bindings/v8/custom/V8EventCustom.cpp:
67716         (WebCore::ACCESSOR_SETTER):
67717         (WebCore::ACCESSOR_GETTER):
67718         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
67719         (WebCore::CALLBACK_FUNC_DECL):
67720         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
67721         (WebCore::CALLBACK_FUNC_DECL):
67722         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
67723         (WebCore::getNamedItems):
67724         (WebCore::getItem):
67725         (WebCore::NAMED_PROPERTY_GETTER):
67726         (WebCore::CALLBACK_FUNC_DECL):
67727         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
67728         (WebCore::NAMED_PROPERTY_GETTER):
67729         (WebCore::CALLBACK_FUNC_DECL):
67730         (WebCore::ACCESSOR_GETTER):
67731         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
67732         (WebCore::INDEXED_PROPERTY_GETTER):
67733         (WebCore::NAMED_PROPERTY_GETTER):
67734         (WebCore::CALLBACK_FUNC_DECL):
67735         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
67736         (WebCore::ACCESSOR_SETTER):
67737         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
67738         (WebCore::NAMED_PROPERTY_GETTER):
67739         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
67740         (WebCore::ACCESSOR_SETTER):
67741         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
67742         (WebCore::CALLBACK_FUNC_DECL):
67743         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
67744         (WebCore::ACCESSOR_GETTER):
67745         (WebCore::ACCESSOR_SETTER):
67746         (WebCore::CALLBACK_FUNC_DECL):
67747         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
67748         (WebCore::CALLBACK_FUNC_DECL):
67749         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
67750         (WebCore::CALLBACK_FUNC_DECL):
67751         (WebCore::ACCESSOR_GETTER):
67752         (WebCore::ACCESSOR_SETTER):
67753         (WebCore::INDEXED_PROPERTY_GETTER):
67754         (WebCore::INDEXED_PROPERTY_SETTER):
67755         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
67756         (WebCore::NAMED_PROPERTY_GETTER):
67757         (WebCore::NAMED_PROPERTY_SETTER):
67758         (WebCore::INDEXED_PROPERTY_GETTER):
67759         (WebCore::INDEXED_PROPERTY_SETTER):
67760         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
67761         (WebCore::NAMED_PROPERTY_GETTER):
67762         (WebCore::INDEXED_PROPERTY_SETTER):
67763         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
67764         (WebCore::CALLBACK_FUNC_DECL):
67765         (WebCore::removeElement):
67766         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
67767         (WebCore::CALLBACK_FUNC_DECL):
67768         * bindings/v8/custom/V8LocationCustom.cpp:
67769         (WebCore::ACCESSOR_SETTER):
67770         (WebCore::ACCESSOR_GETTER):
67771         (WebCore::CALLBACK_FUNC_DECL):
67772         (WebCore::INDEXED_ACCESS_CHECK):
67773         (WebCore::NAMED_ACCESS_CHECK):
67774         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
67775         (WebCore::CALLBACK_FUNC_DECL):
67776         * bindings/v8/custom/V8MessagePortCustom.cpp:
67777         (WebCore::ACCESSOR_GETTER):
67778         (WebCore::ACCESSOR_SETTER):
67779         (WebCore::CALLBACK_FUNC_DECL):
67780         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
67781         (WebCore::INDEXED_PROPERTY_GETTER):
67782         (WebCore::NAMED_PROPERTY_GETTER):
67783         * bindings/v8/custom/V8NavigatorCustom.cpp:
67784         (WebCore::ACCESSOR_GETTER):
67785         * bindings/v8/custom/V8NodeCustom.cpp:
67786         (WebCore::CALLBACK_FUNC_DECL):
67787         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
67788         (WebCore::toV8):
67789         (WebCore::CALLBACK_FUNC_DECL):
67790         * bindings/v8/custom/V8NodeListCustom.cpp:
67791         (WebCore::NAMED_PROPERTY_GETTER):
67792         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
67793         (WebCore::CALLBACK_FUNC_DECL):
67794         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
67795         (WebCore::CALLBACK_FUNC_DECL):
67796         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
67797         (WebCore::CALLBACK_FUNC_DECL):
67798         * bindings/v8/custom/V8SVGLengthCustom.cpp:
67799         (WebCore::ACCESSOR_GETTER):
67800         (WebCore::CALLBACK_FUNC_DECL):
67801         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
67802         (WebCore::CALLBACK_FUNC_DECL):
67803         * bindings/v8/custom/V8StorageCustom.cpp:
67804         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
67805         (WebCore::storageGetter):
67806         (WebCore::storageSetter):
67807         (WebCore::storageDeleter):
67808         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
67809         (WebCore::NAMED_PROPERTY_GETTER):
67810         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
67811         (WebCore::toV8):
67812         (WebCore::CALLBACK_FUNC_DECL):
67813         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
67814         (WebCore::CALLBACK_FUNC_DECL):
67815         * bindings/v8/custom/V8WorkerContextCustom.cpp:
67816         (WebCore::ACCESSOR_GETTER):
67817         (WebCore::ACCESSOR_SETTER):
67818         (WebCore::SetTimeoutOrInterval):
67819         (WebCore::CALLBACK_FUNC_DECL):
67820         * bindings/v8/custom/V8WorkerCustom.cpp:
67821         (WebCore::CALLBACK_FUNC_DECL):
67822         (WebCore::ACCESSOR_GETTER):
67823         (WebCore::ACCESSOR_SETTER):
67824         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
67825         (WebCore::CALLBACK_FUNC_DECL):
67826         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
67827         (WebCore::ACCESSOR_GETTER):
67828         (WebCore::ACCESSOR_SETTER):
67829         (WebCore::CALLBACK_FUNC_DECL):
67830         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
67831         (WebCore::ACCESSOR_GETTER):
67832         (WebCore::ACCESSOR_SETTER):
67833         (WebCore::CALLBACK_FUNC_DECL):
67834         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
67835         (WebCore::CALLBACK_FUNC_DECL):
67837 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
67839         Reviewed by Simon Fraser.
67841         Make sure we can click outside the slider thumb and start dragging.
67842         https://bugs.webkit.org/show_bug.cgi?id=26229
67844         Previously we were assuming that if the thumb hasn't been clicked, we
67845         wouldn't issue any value change upon dragging.
67847         We need to handle the two different cases:
67848         - Clicked in the thumb, we need to make sure the cursor is always pointing
67849         the same slider thumb point.
67850         - Clicked outside, the cursor should always be pointing to the center of
67851         the thumb.
67853         For simplicity, we don't remember the original point of the mouse down,
67854         but a vector between that point and the thumb.
67856         * rendering/RenderSlider.cpp:
67857         (WebCore::SliderThumbElement::SliderThumbElement):
67858         (WebCore::SliderThumbElement::defaultEventHandler):
67859         (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
67860         * rendering/RenderSlider.h:
67862 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
67864         Reviewed by Simon Fraser.
67866         https://bugs.webkit.org/show_bug.cgi?id=27100
67867         <rdar://problem/7042621>
67869         Don't display "loading" in the <video> controller when
67870         there is no src specified.
67872         * rendering/MediaControlElements.cpp:
67873         (WebCore::MediaControlStatusDisplayElement::update): The only
67874         way to find out if we have an element is currentSrc(). networkState()
67875         will always report LOADING according to the spec.
67877 2009-07-08  Adam Barth  <abarth@webkit.org>
67879         Reviewed by Eric Seidel.
67881         [V8] Move V8GCController functions to their own file
67882         https://bugs.webkit.org/show_bug.cgi?id=27102
67884         * bindings/v8/V8GCController.cpp: Added.
67885         * bindings/v8/V8GCController.h: Added.
67886         * bindings/v8/V8Proxy.cpp:
67887         * bindings/v8/V8Proxy.h:
67889 2009-07-08  Jeremy Orlow  <jorlow@chromium.org>
67891         Reviewed by Darin Fisher.
67893         Split StorageArea and StorageNamespace into an interface and implementation.
67894         https://bugs.webkit.org/show_bug.cgi?id=27072
67896         I need to split StorageNamespace and StorageArea into an interface and
67897         implementation.  In a later patch, I'll implement a proxy interface
67898         that'll run inside the Chromium renderer process.
67900         Additionally, fix the alphabetical ordering of files I recently added
67901         in the project files.
67903         This is a continuation of other refactoring work:
67904         https://bugs.webkit.org/show_bug.cgi?id=25376
67906         * GNUmakefile.am:
67907         * WebCore.vcproj/WebCore.vcproj:
67908         * WebCore.xcodeproj/project.pbxproj:
67909         * WebCoreSources.bkl:
67910         * storage/StorageArea.cpp:
67911         (WebCore::StorageArea::create):
67912         * storage/StorageArea.h:
67913         (WebCore::StorageArea::~StorageArea):
67914         * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
67915         (WebCore::StorageAreaImpl::create):
67916         (WebCore::StorageAreaImpl::~StorageAreaImpl):
67917         (WebCore::StorageAreaImpl::StorageAreaImpl):
67918         (WebCore::StorageAreaImpl::copy):
67919         (WebCore::StorageAreaImpl::length):
67920         (WebCore::StorageAreaImpl::key):
67921         (WebCore::StorageAreaImpl::getItem):
67922         (WebCore::StorageAreaImpl::setItem):
67923         (WebCore::StorageAreaImpl::removeItem):
67924         (WebCore::StorageAreaImpl::clear):
67925         (WebCore::StorageAreaImpl::contains):
67926         (WebCore::StorageAreaImpl::importItem):
67927         (WebCore::StorageAreaImpl::securityOrigin):
67928         (WebCore::StorageAreaImpl::close):
67929         (WebCore::StorageAreaImpl::blockUntilImportComplete):
67930         (WebCore::StorageAreaImpl::dispatchStorageEvent):
67931         * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
67932         * storage/StorageAreaSync.h:
67933         * storage/StorageNamespace.cpp:
67934         (WebCore::StorageNamespace::localStorageNamespace):
67935         (WebCore::StorageNamespace::sessionStorageNamespace):
67936         * storage/StorageNamespace.h:
67937         (WebCore::StorageNamespace::~StorageNamespace):
67938         * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
67939         (WebCore::StorageNamespaceImpl::localStorageNamespace):
67940         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
67941         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
67942         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
67943         (WebCore::StorageNamespaceImpl::copy):
67944         (WebCore::StorageNamespaceImpl::storageArea):
67945         (WebCore::StorageNamespaceImpl::close):
67946         * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
67948 2009-07-08  Adam Barth  <abarth@webkit.org>
67950         Reviewed by Eric Seidel.
67952         [V8] Move garbage collector related functions from V8Proxy to V8GCController
67953         https://bugs.webkit.org/show_bug.cgi?id=26967
67955         This patch just moves the functions around in V8Proxy.  We'll actually
67956         move them to a separate file in another patch.
67958         * bindings/v8/NPV8Object.cpp:
67959         (freeV8NPObject):
67960         * bindings/v8/ScheduledAction.cpp:
67961         (WebCore::ScheduledAction::ScheduledAction):
67962         (WebCore::ScheduledAction::~ScheduledAction):
67963         * bindings/v8/ScriptController.cpp:
67964         (WebCore::ScriptController::gcProtectJSWrapper):
67965         (WebCore::ScriptController::gcUnprotectJSWrapper):
67966         * bindings/v8/ScriptInstance.cpp:
67967         (WebCore::V8ScriptInstance::clear):
67968         (WebCore::V8ScriptInstance::set):
67969         * bindings/v8/ScriptValue.h:
67970         (WebCore::ScriptValue::ScriptValue):
67971         (WebCore::ScriptValue::operator=):
67972         (WebCore::ScriptValue::clear):
67973         * bindings/v8/V8AbstractEventListener.cpp:
67974         (WebCore::V8AbstractEventListener::disposeListenerObject):
67975         * bindings/v8/V8LazyEventListener.cpp:
67976         (WebCore::V8LazyEventListener::~V8LazyEventListener):
67977         (WebCore::V8LazyEventListener::getListenerFunction):
67978         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
67979         * bindings/v8/V8NodeFilterCondition.cpp:
67980         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
67981         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
67982         * bindings/v8/V8Proxy.cpp:
67983         (WebCore::V8GCController::registerGlobalHandle):
67984         (WebCore::V8GCController::unregisterGlobalHandle):
67985         (WebCore::V8GCController::gcProtect):
67986         (WebCore::V8GCController::gcUnprotect):
67987         (WebCore::V8Proxy::destroyGlobal):
67988         (WebCore::V8Proxy::updateDocumentWrapper):
67989         (WebCore::V8Proxy::clearDocumentWrapper):
67990         (WebCore::V8Proxy::disposeContextHandles):
67991         (WebCore::V8Proxy::initContextIfNeeded):
67992         * bindings/v8/V8Proxy.h:
67993         (WebCore::):
67994         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
67995         * bindings/v8/custom/V8CustomEventListener.cpp:
67996         (WebCore::V8EventListener::V8EventListener):
67998 2009-07-08  Daniel Bates  <dbates@intudata.com>
68000         Reviewed by Adam Barth.
68001         
68002         https://bugs.webkit.org/show_bug.cgi?id=26918
68003         
68004         Prevents injection of HTML Base tag.
68006         Tests: http/tests/security/xssAuditor/base-href-control-char.html
68007                http/tests/security/xssAuditor/base-href-null-char.html
68008                http/tests/security/xssAuditor/base-href-safe.html
68009                http/tests/security/xssAuditor/base-href-safe2.html
68010                http/tests/security/xssAuditor/base-href-scheme-relative.html
68011                http/tests/security/xssAuditor/base-href.html
68013         * html/HTMLBaseElement.cpp:
68014         (WebCore::HTMLBaseElement::parseMappedAttribute):
68015         (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
68016         to determine if it is safe to use base element URL.
68017         * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
68018         * page/XSSAuditor.cpp:
68019         (WebCore::XSSAuditor::canSetBaseElementURL):
68020         * page/XSSAuditor.h:
68022 2009-07-08  Nate Chapin  <japhet@chromium.org>
68024         Reviewed by Dimitri Glazkov.
68026         Upstream V8 npruntime bindings.
68028         https://bugs.webkit.org/show_bug.cgi?id=27094
68030         * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
68031         (StringKey::operator==):
68032         (StringKey::StringKeyHash::hash):
68033         (StringKey::StringKeyHash::equal):
68034         (StringKeyHashTraits::constructDeletedValue):
68035         (StringKeyHashTraits::isDeletedValue):
68036         (getStringIdentifierMap):
68037         (getIntIdentifierMap):
68038         * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
68039         * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
68040         * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
68042 2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
68044         Reviewed by Darin Fisher.
68046         Extending the PlatformFileHandle definition from PLATFORM(WIN) to
68047         PLATFORM(WIN_OS)
68049         https://bugs.webkit.org/show_bug.cgi?id=27013
68051         * platform/FileSystem.h:
68053 2009-07-08  Daniel Bates  <dbates@intudata.com>
68055         Reviewed by Adam Barth.
68056         
68057         https://bugs.webkit.org/show_bug.cgi?id=27071
68058         
68059         Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
68061         Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
68062                http/tests/security/xssAuditor/embed-tag-control-char.html
68063                http/tests/security/xssAuditor/embed-tag-null-char.html
68064                http/tests/security/xssAuditor/embed-tag.html
68065                http/tests/security/xssAuditor/link-onclick-control-char.html
68066                http/tests/security/xssAuditor/link-onclick-null-char.html
68067                http/tests/security/xssAuditor/object-embed-tag-control-char.html
68068                http/tests/security/xssAuditor/object-embed-tag-null-char.html
68069                http/tests/security/xssAuditor/object-embed-tag.html
68070                http/tests/security/xssAuditor/object-tag.html
68071                http/tests/security/xssAuditor/script-tag-post-control-char.html
68072                http/tests/security/xssAuditor/script-tag-post-null-char.html
68073                http/tests/security/xssAuditor/script-tag-with-source-control-char.html
68074                http/tests/security/xssAuditor/script-tag-with-source-null-char.html
68076         * page/XSSAuditor.cpp:
68077         (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
68078         (WebCore::XSSAuditor::canEvaluate):
68079         (WebCore::XSSAuditor::canCreateInlineEventListener):
68080         (WebCore::XSSAuditor::canLoadObject):
68081         (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
68082         and matchNonNullControlCharacters.
68083         (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
68084         and matchNonNullControlCharacters.
68085         * page/XSSAuditor.h:
68087 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
68089         Reviewed by Dimitri Glazkov.
68091         Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
68092         https://bugs.webkit.org/show_bug.cgi?id=27093
68094         This is specific for v8, no change in behavior.
68096         * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
68098 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
68100         Reviewed by Simon Fraser.
68102         https://bugs.webkit.org/show_bug.cgi?id=27086
68104         Make sure the Media controller doesn't fade in for no reason.
68105         This is happening because a update() call to the controller
68106         panel may reset the opacity to 1.0, given that it reloads the
68107         style.
68109         We also add a different fade in and fade out time to soften
68110         the fade out effect.
68112         No test case because this depends on how the movie is loaded.
68114         * rendering/RenderMedia.cpp:
68115         (WebCore::RenderMedia::RenderMedia):
68116         (WebCore::RenderMedia::updateControls):
68117         (WebCore::RenderMedia::updateControlVisibility): Simplify
68118         , and make sure we stop the timer if there is no animation
68119         to do.
68120         (WebCore::RenderMedia::opacityAnimationTimerFired): 
68121         * rendering/RenderMedia.h:
68123 2009-07-08  David Kilzer  <ddkilzer@apple.com>
68125         Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
68127         <https://bugs.webkit.org/show_bug.cgi?id=27081>
68129         Reviewed by Timothy Hatcher.
68131         * platform/cf/RunLoopTimerCF.cpp: This code is only used on
68132         Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
68133         in that macro as well.
68135 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
68137         Reviewed by Darin Adler.
68139         Add -[WebView _isProcessingUserGesture]
68140         https://bugs.webkit.org/show_bug.cgi?id=27084
68142         Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
68143         for clarity.
68145         * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
68146         * html/HTMLMediaElement.cpp:
68147         (WebCore::HTMLMediaElement::processingUserGesture):
68148         * loader/FrameLoader.cpp: 
68149         (WebCore::FrameLoader::requestFrame):
68150         (WebCore::FrameLoader::isProcessingUserGesture):
68151         * loader/FrameLoader.h:
68153 2009-07-08  Alexey Proskuryakov  <ap@webkit.org>
68155         Reviewed (an earlier version) by Geoff Garen.
68157         https://bugs.webkit.org/show_bug.cgi?id=27090
68158         Remove lockBackForwardList argument from HTMLFormElement::submit()
68160         No change in behavior, so no tests.
68162         * bindings/js/JSHTMLFormElementCustom.cpp:
68163         (WebCore::JSHTMLFormElement::submit):
68164         * html/HTMLFormElement.cpp:
68165         (WebCore::HTMLFormElement::submit):
68166         * html/HTMLFormElement.h:
68167         * loader/FrameLoader.cpp:
68168         (WebCore::FrameLoader::submitForm):
68169         (WebCore::FrameLoader::scheduleFormSubmission):
68170         * loader/FrameLoader.h:
68171         Don't pass lockBackForwardList around when it's known to be false.
68173 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
68175         Reviewed by Adam Barth.
68177         Fix V8 idl codegen to use unique constant names
68178         <https://bugs.webkit.org/show_bug.cgi?id=27089>
68180         Embed the interface name in the global constant names so coagulating all
68181         the .cc files into one compile unit works with V8 bindings.
68183         Nothing added; Still compiles and pass tests.
68185         * bindings/scripts/CodeGeneratorV8.pm:
68187 2009-07-08  Brent Fulgham  <bfulgham@webkit.org>
68189         Build fix: Add missing #includes for Windows (cURL) build.
68190         The <winsock2.h> and <windows.h> headers were not being
68191         included in Windows cURL builds.
68193         * platform/network/ResourceHandleInternal.h:
68194         * platform/network/curl/ResourceHandleManager.h:
68196 2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
68198         Reviewed by David Kilzer.
68200         WebKit needs a style linting tool
68201         https://bugs.webkit.org/show_bug.cgi?id=25884
68203         Fix bunch of style issues in WebCore/rendering.
68204         This patch is created to demonstrate cpplint.py.
68206         No testcase because it's just a style fixes.
68208         * rendering/AutoTableLayout.cpp:
68209         (WebCore::AutoTableLayout::recalcColumn):
68210         (WebCore::AutoTableLayout::layout):
68211         * rendering/InlineFlowBox.cpp:
68212         (WebCore::InlineFlowBox::placeEllipsisBox):
68213         * rendering/InlineTextBox.cpp:
68214         (WebCore::InlineTextBox::paintTextMatchMarker):
68215         * rendering/MediaControlElements.cpp:
68216         (WebCore::MediaControlTimelineElement::defaultEventHandler):
68217         * rendering/MediaControlElements.h:
68218         * rendering/RenderArena.cpp:
68219         * rendering/RenderBlock.cpp:
68220         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
68221         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
68222         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
68223         (WebCore::RenderBlock::positionNewFloats):
68224         (WebCore::RenderBlock::newLine):
68225         (WebCore::RenderBlock::floatBottom):
68226         (WebCore::RenderBlock::leftBottom):
68227         (WebCore::RenderBlock::rightBottom):
68228         * rendering/RenderBox.cpp:
68229         (WebCore::RenderBox::calcReplacedWidthUsing):
68230         * rendering/RenderFieldset.cpp:
68231         (WebCore::RenderFieldset::layoutLegend):
68232         * rendering/RenderFlexibleBox.cpp:
68233         (WebCore::FlexBoxIterator::FlexBoxIterator):
68234         (WebCore::FlexBoxIterator::reset):
68235         (WebCore::FlexBoxIterator::first):
68236         (WebCore::FlexBoxIterator::next):
68237         (WebCore::RenderFlexibleBox::layoutVerticalBox):
68238         * rendering/RenderFrameSet.cpp:
68239         (WebCore::borderStartEdgeColor):
68240         * rendering/RenderFrameSet.h:
68241         * rendering/RenderImage.cpp:
68242         * rendering/RenderLayer.cpp:
68243         (WebCore::RenderLayer::updateVisibilityStatus):
68244         (WebCore::RenderLayer::calculateClipRects):
68245         (WebCore::RenderLayer::calculateRects):
68246         * rendering/RenderListBox.cpp:
68247         (WebCore::RenderListBox::panScroll):
68248         * rendering/RenderMarquee.cpp:
68249         (WebCore::RenderMarquee::updateMarqueeStyle):
68250         * rendering/RenderMedia.cpp:
68251         (WebCore::RenderMedia::updateControls):
68252         * rendering/RenderObject.cpp:
68253         (WebCore::RenderObject::drawLineForBoxSide):
68254         (WebCore::RenderObject::localCaretRect):
68255         * rendering/RenderSVGImage.cpp:
68256         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
68257         * rendering/RenderSlider.h:
68258         * rendering/RenderTable.cpp:
68259         (WebCore::RenderTable::outerBorderBottom):
68260         * rendering/RenderTableCol.h:
68261         * rendering/RenderTextControlSingleLine.cpp:
68262         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
68263         * rendering/RenderThemeChromiumSkia.cpp:
68264         (WebCore::RenderThemeChromiumSkia::supportsHover):
68265         * rendering/RenderThemeChromiumWin.cpp:
68266         (WebCore::RenderThemeChromiumWin::supportsFocusRing):
68267         * rendering/SVGCharacterLayoutInfo.cpp:
68268         (WebCore::SVGCharacterLayoutInfo::addStackContent):
68269         * rendering/SVGCharacterLayoutInfo.h:
68270         * rendering/TextControlInnerElements.h:
68271         * rendering/bidi.cpp:
68272         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
68274 2009-07-07  Oliver Hunt  <oliver@apple.com>
68276         Reviewed by Maciej Stachowiak.
68278         Reduce complexity of lifetime management in DynamicNodeList caches
68279         <https://bugs.webkit.org/show_bug.cgi?id=27068>
68281         Switch the Cache object used by DynamicNodeList into a normal
68282         refcounted object rather than having a weird flag controlled
68283         refcounting system, where positive refcount did not automatically
68284         imply the cache object would actually still be live.
68286         * dom/DynamicNodeList.cpp:
68287         (WebCore::DynamicNodeList::DynamicNodeList):
68288         (WebCore::DynamicNodeList::~DynamicNodeList):
68289         (WebCore::DynamicNodeList::Caches::Caches):
68290         (WebCore::DynamicNodeList::Caches::create):
68291         * dom/DynamicNodeList.h:
68292         * dom/Node.cpp:
68293         (WebCore::Node::childNodes):
68294         (WebCore::Node::getElementsByTagNameNS):
68295         (WebCore::Node::getElementsByName):
68296         (WebCore::Node::getElementsByClassName):
68297         (WebCore::NodeListsNodeData::invalidateCaches):
68298         (WebCore::NodeListsNodeData::isEmpty):
68299         * dom/NodeRareData.h:
68300         (WebCore::NodeListsNodeData::NodeListsNodeData):
68302 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
68304         Reviewed by Dan Bernstein.
68305         
68306         -webkit-perspective should be a Length
68307         https://bugs.webkit.org/show_bug.cgi?id=27066
68308         
68309         -webkit-perspective should not take a magic valueless number, but should
68310         be a normal Length value which responds to zooming. Treat valueless numbers
68311         as pixels for backward compatibility.
68312         
68313         Test: transforms/3d/general/perspective-units.html
68315         * css/CSSParser.cpp:
68316         (WebCore::CSSParser::parseValue):
68317         * css/CSSStyleSelector.cpp:
68318         (WebCore::CSSStyleSelector::applyProperty):
68320 2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
68322         Reviewed by Simon Fraser.
68324         https://bugs.webkit.org/show_bug.cgi?id=27047
68326         We need to make sure that when we reattach, we also reattach
68327         the children in every MediaControlElement. Else we may end up
68328         having no remaining or elapsed time.
68330         We have to handle that, because we are using a special shadow
68331         tree in the DOM, and that we are ourselves handling
68332         attaching/detaching the renderer.
68334         The strategy here is to try to implement ::attach(), and try
68335         to reuse as much code as we can from the super class, including
68336         children attachement.
68338         Test: media/controls-after-reload.html
68340         * rendering/MediaControlElements.cpp:
68341         (WebCore::MediaControlElement::styleForElement): Code factoring.
68342         (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
68343         (WebCore::MediaControlElement::attach): Implement attach
68344         and call super class so that children are also attached.
68345         (WebCore::MediaControlElement::updateStyle): Use attach()
68346         (WebCore::MediaControlInputElement::styleForElement): Code factoring.
68347         (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
68348         (WebCore::MediaControlInputElement::attach): See above.
68349         (WebCore::MediaControlInputElement::updateStyle): Use attach()
68350         * rendering/MediaControlElements.h:
68351         * rendering/RenderMedia.cpp:
68352         (WebCore::RenderMedia::updateControls): Directly run attach() on
68353         the m_panel, which is a root node for our shadow tree.
68355 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
68357         Reviewed by Dan Bernstein.
68359         Repaint issue after layer drops out of composited mode.
68360         <https://bugs.webkit.org/show_bug.cgi?id=27022>
68362         RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
68363         and expect these to stay valid from one style change to the next. These rects
68364         are relative to the repaint container, so if a layer stops being composited,
68365         we need to recompute them.
68366         
68367         Test: compositing/repaint/layer-repaint-rects.html
68369         * rendering/RenderLayer.cpp:
68370         (WebCore::RenderLayer::computeRepaintRects):
68371         * rendering/RenderLayer.h:
68372         * rendering/RenderLayerCompositor.cpp:
68373         (WebCore::RenderLayerCompositor::updateBacking):
68375 2009-07-07  Dan Bernstein  <mitz@apple.com>
68377         Reviewed by Dave Hyatt and Darin Adler.
68379         - fix https://bugs.webkit.org/show_bug.cgi?id=26963
68380           <rdar://problem/7030998> Reproducible crash at
68381           FontCache::getFontData() when a custom font is used in a pseudo-style
68383         Test: fast/css/pseudo-cache-stale.html
68385         * dom/Element.cpp:
68386         (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
68387         style and the new style, goes over cached pseudo-styles in the old
68388         style and re-resolves the same style types off the new style. If any of
68389         the new pseudo-styles is different from the currently cached
68390         corresponding style, returns true. Otherwise, returns false.
68391         (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
68392         deciding to keep the existing style.
68393         * dom/Element.h:
68394         * rendering/RenderObject.cpp:
68395         (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
68396         returns an uncached first-line style based off the given style.
68397         (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
68398         parameter.
68399         * rendering/RenderObject.h:
68400         * rendering/style/RenderStyle.cpp:
68401         (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
68402         pseudo-styles in the passed-in vector.
68403         * rendering/style/RenderStyle.h:
68405 2009-07-07  Dan Bernstein  <mitz@apple.com>
68407         Reviewed by Simon Fraser.
68409         - fix https://bugs.webkit.org/show_bug.cgi?id=27042
68410           <rdar://problem/7010981> Incomplete painting of newly created floats
68412         Tests: fast/repaint/float-in-new-block-with-layout-delta.html
68413                fast/repaint/float-new-in-block.html
68415         * rendering/RenderBlock.cpp:
68416         (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
68417         laid out before, paint its overhanging floats in addition to itself.
68418         * rendering/RenderBlock.h:
68419         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
68420         initialized a boolean everHadLayout member.
68421         * rendering/bidi.cpp:
68422         (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
68423         never been laid out before and did not move from (0, 0).
68425 2009-07-07  Brady Eidson  <beidson@apple.com>
68427         Contributions from both Darin Adler and Brady Eidson.
68428         Reviewed by Darin Adler.
68430         <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
68432         In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
68433         navigation was still in progress.
68435         This patch makes things even better than it used to be by:
68436         - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
68437         - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
68439         Test: fast/loader/subframe-navigate-during-main-frame-load.html
68441         * loader/FrameLoader.cpp:
68442         (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
68443           used from multiple sites.
68444         (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
68445         (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
68446           lockBackForwardList flag.
68447         (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
68449 2009-07-07  Nate Chapin  <japhet@chromium.org>
68451         Reviewed by Darin Fisher.
68453         Upstream DOMObjectsInclude.h from src.chromium.org.
68455         https://bugs.webkit.org/show_bug.cgi?id=27035
68457         * bindings/v8/DOMObjectsInclude.h: Added.
68459 2009-07-07  Nate Chapin  <japhet@chromium.org>
68461         Reviewed by David Levin.
68463         Relanding r45559, which was rolled back at r45574.
68465         https://bugs.webkit.org/show_bug.cgi?id=26857
68467         * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
68468         * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
68469         * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
68470         * bindings/v8/V8LazyEventListener.cpp:
68471         (WebCore::V8LazyEventListener::getListenerFunction):
68472         * bindings/v8/V8Proxy.cpp:
68473         (WebCore::handleConsoleMessage):
68474         (WebCore::V8Proxy::compileScript):
68475         (WebCore::V8Proxy::sourceName):
68476         * bindings/v8/WorkerContextExecutionProxy.cpp:
68477         (WebCore::handleConsoleMessage):
68478         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
68479         (WebCore::NAMED_PROPERTY_SETTER):
68480         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
68481         (WebCore::CALLBACK_FUNC_DECL):
68482         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
68483         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
68484         * bindings/v8/custom/V8DOMWindowCustom.cpp:
68485         (WebCore::CALLBACK_FUNC_DECL):
68486         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
68487         (WebCore::CALLBACK_FUNC_DECL):
68488         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
68489         (WebCore::ACCESSOR_SETTER):
68490         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
68491         (WebCore::CALLBACK_FUNC_DECL):
68492         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
68493         (WebCore::removeElement):
68494         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
68495         (WebCore::CALLBACK_FUNC_DECL):
68496         * bindings/v8/custom/V8WorkerContextCustom.cpp:
68497         (WebCore::SetTimeoutOrInterval):
68498         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
68499         (WebCore::CALLBACK_FUNC_DECL):
68501 2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
68503         Reviewed by Darin Adler.
68505         AX: Some webpages do not send AXLoadComplete
68506         https://bugs.webkit.org/show_bug.cgi?id=26995
68508         When sending the AXLayoutComplete notification it is possible
68509         that the AXObjectCache was cleared, resulting in no valid
68510         object to send the notification to. This fix ensures that an
68511         AX object is created and cached if one does not already exist.
68513         Not able to add a test because notifications get sent after the layout test is completed.
68515         * dom/Document.cpp:
68516         (WebCore::Document::implicitClose):
68518 2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
68520         Reviewed by Simon Fraser.
68522         https://bugs.webkit.org/show_bug.cgi?id=27015
68524         Make sure that the CSS properties letter-spacing, word-spacing,
68525         line-height, text-transform, text-indent, text-shadow,
68526         text-decoration and color do not affect the media element controls,
68527         that display text.
68529         Controls that display text are only present in when the theme
68530         MediaControllerThemeQT is being used.
68532         Test: media/controls-styling.html
68534         * css/mediaControlsQT.css:
68535         * rendering/MediaControlElements.cpp:
68536         (WebCore::MediaControlElement::updateStyle): Special case for
68537         text-decoration. text-decoration can't be overriden from CSS, because
68538         text-decoration is additive for historical reasons.
68540 2009-07-07  Albert Wong  <ajwong@chromium.org>
68542         Not reviewed, Chromium build fix.
68544         Add in missing header fix syntax issue that crept into last patch.
68545         https://bugs.webkit.org/show_bug.cgi?id=27027
68547         * rendering/RenderThemeChromiumMac.mm:
68548         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
68550 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
68552         Reviewed by Dave Hyatt.
68554         Make use of geometry information to decide which layers become composited.
68556         <rdar://problem/7011947>
68557         <https://bugs.webkit.org/show_bug.cgi?id=27021>
68558         
68559         In addition to looking at painting order, also, optionally, take layer
68560         overlap into account when deciding which RenderLayers need to be composited.
68562         No testcase because DRT doesn't dump which layers are composited.
68563         
68564         * page/FrameView.h:
68565         * page/FrameView.cpp:
68566         (WebCore::FrameView::updateCompositingLayers):
68567         Removed the unused CompositingUpdate parameter, and just do an early return
68568         when there is no view.
68569         
68570         * rendering/RenderLayer.h:
68571         * rendering/RenderLayer.cpp:
68572         (WebCore::RenderLayer::rendererContentChanged):
68573         (WebCore::RenderLayer::dirtyZOrderLists):
68574         (WebCore::RenderLayer::dirtyNormalFlowList):
68575         (WebCore::RenderLayer::styleChanged):
68576         (WebCore::RenderLayer::mustOverlapCompositedLayers):
68577         (WebCore::RenderLayer::setMustOverlapCompositedLayers):
68578         Change "overlay" to "overlap" for consistency with the use of "overlap"
68579         elsewhere.
68581         * rendering/RenderLayerBacking.cpp:
68582         (WebCore::RenderLayerBacking::updateAfterLayout):
68583         compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
68584         
68585         (WebCore::RenderLayerBacking::startAnimation):
68586         (WebCore::RenderLayerBacking::startTransition):
68587         Tell the compositor that we started an accelerated animation or transition.
68588         
68589         * rendering/RenderLayerCompositor.h:
68590         (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
68591         Renamed, since it's explicitly about changes in hierarchy now.
68592         
68593         (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
68594         (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
68595         New getter and setter for whether compositing should take overlap into account.
68597         * rendering/RenderLayerCompositor.cpp:
68598         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
68599         Add m_compositingConsultsOverlap, re-order some member variables.
68600         
68601         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
68602         Whitespace cleanup and method rename.
68603         
68604         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
68605         Method and variable renaming.
68606         
68607         (WebCore::RenderLayerCompositor::updateCompositingLayers):
68608         Now we have to run through the layer hierarchy every time if looking
68609         at overlap, because changes in layout can now alter compositing behavior.
68610         We minimize work by tracking whether we actually need to change the layer
68611         hierarchy via needLayerRebuild.
68612         
68613         (WebCore::RenderLayerCompositor::updateBacking):
68614         3D transforms turn off overlap mode.
68615         
68616         (WebCore::RenderLayerCompositor::layerWasAdded):
68617         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
68618         Method rename.
68619         
68620         (WebCore::RenderLayerCompositor::addToOverlapMap):
68621         (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
68622         Utility methods to add a layer to the overlapMap (computing the absolute
68623         bounding box only if we haven't already done so), and testing the map
68624         entries.
68625         
68626         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
68627         If a layer would composite only because it comes after other compositing
68628         layers in the painting order, then consult the overlap map to determine whether
68629         it overlaps, and thus actually needs to composite.
68630         
68631         Add layers to the map when they must be composited.
68632         
68633         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
68634         Only do re-parenting work if the updateHierarchy flag is set.
68635         
68636         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
68637         When we start an accelerated transition or animation, we stop looking at
68638         overlap because we can no longer guarantee correct front-to-back ordering while the
68639         accelerated animation is running.
68641         (WebCore::RenderLayerCompositor::needsToBeComposited):
68642         Method renames.
68643         
68644         * rendering/RenderView.cpp:
68645         (WebCore::RenderView::setMaximalOutlineSize):
68646         Add comment indicating that this could be optimized.
68648 2009-07-14  Anton Muhin  <antonm@chromium.org>
68650         Reviewed by Darin Fisher.
68652         Speed up creation of V8 wrappers for DOM nodes.
68654         https://bugs.webkit.org/show_bug.cgi?id=26882
68656         This patch doesn't require new tests as it a set of refactorings
68657         to speed up wrapper creation.  
68659         * bindings/v8/V8Proxy.cpp:
68660         * bindings/v8/V8Proxy.h:
68662 2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
68664         Reviewed by Gustavo Noronha.
68666         [GTK] textarea height property works only if other property are defined
68667         https://bugs.webkit.org/show_bug.cgi?id=18984
68669         Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
68671         Test: fast/forms/textarea-metrics.html
68673         * platform/gtk/RenderThemeGtk.cpp:
68674         * platform/gtk/RenderThemeGtk.h:
68676 2009-07-07  Ben Murdoch  <benm@google.com>
68678         Reviewed by Antti Koivisto.
68680         HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
68681         https://bugs.webkit.org/show_bug.cgi?id=25711
68683         Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
68684         storage databases could become locked until the browser is shut
68685         down if the page is refreshed whilst a transaction is in progress.
68687         Test: storage/database-lock-after-reload.html
68689         * storage/Database.cpp:
68690         (WebCore::Database::Database):
68691         (WebCore::Database::close): add code to inform the database thread we've closed the database.
68692         (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
68693         * storage/Database.h:
68694         (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
68695         * storage/DatabaseThread.cpp:
68696         (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
68697         (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
68698         (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
68699         * storage/DatabaseThread.h:
68700         (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
68702 2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
68704         Reviewed by Jan Alonzo.
68706         [Gtk] Paste of rich text from firefox results garbled markup
68707         https://bugs.webkit.org/show_bug.cgi?id=26791
68709         Fix problem with UTF-16 clipboard pasted.
68711         * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
68712         * platform/gtk/PasteboardGtk.cpp:
68713         (WebCore::Pasteboard::documentFragment):
68715 2009-07-07  Yury Semikhatsky  <yurys@chromium.org>
68717         Reviewed by Timothy Hatcher.
68719         Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
68721         https://bugs.webkit.org/show_bug.cgi?id=23849
68723         * inspector/front-end/ScriptsPanel.js:
68724         (WebInspector.ScriptsPanel):
68726 2009-07-06  Albert J. Wong  <ajwong@chromium.org>
68728         Reviewed by Maciej Stachowiak.
68730         Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
68731         change.
68733         Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
68734         https://bugs.webkit.org/show_bug.cgi?id=27018
68736         This is mainly an API change update to fix the chromium compile.  It
68737         also has a small fix of a typo in RenderThemeMac.mm.
68739         Compilation against the head of chromium trunk passed.  Since this is
68740         a compile fix, that should be sufficient.
68742         * rendering/RenderThemeChromiumMac.mm:
68743         (WebCore::):
68744         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
68745         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
68746         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
68747         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
68748         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
68749         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
68750         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
68751         * rendering/RenderThemeMac.mm:
68752         (WebCore::):
68754 2009-07-06  David Kilzer  <ddkilzer@apple.com>
68756         Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
68758         <https://bugs.webkit.org/show_bug.cgi?id=27002>
68760         Reviewed by Geoff Garen.
68762         * html/CanvasRenderingContext2D.cpp:
68763         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
68764         Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
68765         disabled.
68767 2009-07-06  David Kilzer  <ddkilzer@apple.com>
68769         Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
68771         <https://bugs.webkit.org/show_bug.cgi?id=27001>
68773         Reviewed by Geoff Garen.
68775         PassRefPtr<> should only be used for arguments to functions that
68776         take ownership of the object, or as return values from functions
68777         that relinquish ownership of the object.
68779         * editing/Editor.cpp:
68780         (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
68781         stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
68782         release() on returned object.
68783         (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
68785 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
68787         Reviewed by Simon Fraser.
68789         <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
68791         * rendering/RenderThemeMac.mm:
68792         (WebCore::mediaControllerTheme):
68793             New media controller UI is enabled by default on SnowLeopard.
68795 2009-07-06  Nate Chapin  <japhet@chromium.org>
68797         Unreviewed, build fix.
68799         Roll out r45559 to fix Chromium canary.
68801         https://bugs.webkit.org/show_bug.cgi?id=26857
68803         * bindings/scripts/CodeGeneratorV8.pm:
68804         * bindings/v8/V8Binding.cpp: Removed.
68805         * bindings/v8/V8Binding.h:
68806         (WebCore::toInt32):
68807         (WebCore::toWebCoreString):
68808         (WebCore::fromWebCoreString):
68809         (WebCore::toWebCoreStringWithNullCheck):
68810         (WebCore::isUndefinedOrNull):
68811         (WebCore::v8Boolean):
68812         * bindings/v8/V8LazyEventListener.cpp:
68813         (WebCore::V8LazyEventListener::getListenerFunction):
68814         * bindings/v8/V8Proxy.cpp:
68815         (WebCore::handleConsoleMessage):
68816         (WebCore::V8Proxy::compileScript):
68817         (WebCore::V8Proxy::sourceName):
68818         * bindings/v8/WorkerContextExecutionProxy.cpp:
68819         (WebCore::handleConsoleMessage):
68820         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
68821         (WebCore::NAMED_PROPERTY_SETTER):
68822         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
68823         (WebCore::CALLBACK_FUNC_DECL):
68824         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
68825         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
68826         * bindings/v8/custom/V8DOMWindowCustom.cpp:
68827         (WebCore::CALLBACK_FUNC_DECL):
68828         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
68829         (WebCore::CALLBACK_FUNC_DECL):
68830         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
68831         (WebCore::ACCESSOR_SETTER):
68832         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
68833         (WebCore::CALLBACK_FUNC_DECL):
68834         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
68835         (WebCore::removeElement):
68836         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
68837         (WebCore::CALLBACK_FUNC_DECL):
68838         * bindings/v8/custom/V8WorkerContextCustom.cpp:
68839         (WebCore::SetTimeoutOrInterval):
68840         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
68841         (WebCore::CALLBACK_FUNC_DECL):
68843 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
68845         Reviewed by Darin Adler.
68847         <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
68848         narrow — track is too narrow
68850         Do not show media controller time display elements when the a movie is too narrow.
68852         * platform/mac/WebCoreSystemInterface.h:
68853         * platform/mac/WebCoreSystemInterface.mm:
68854             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
68856         * rendering/MediaControlElements.cpp:
68857         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
68858             Give current time and time remaining controls a common base class.
68859         (WebCore::MediaControlTimeDisplayElement::setVisible):
68860             New method, hide and show the element.
68861         * rendering/MediaControlElements.h:
68863         * rendering/RenderMedia.cpp:
68864         (WebCore::RenderMedia::RenderMedia):
68865             Initialize m_previousVisible.
68866         (WebCore::RenderMedia::layout):
68867             Show/hide the time display elements as the movie width changes.
68868         (WebCore::RenderMedia::createCurrentTimeDisplay):
68869         (WebCore::RenderMedia::createTimeRemainingDisplay):
68870             Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
68871         (WebCore::RenderMedia::shouldShowTimeDisplayControls):
68872             New, decide if time display elements should be visible or not.
68873         * rendering/RenderMedia.h:
68875         * rendering/RenderThemeMac.mm:
68876         (WebCore::):
68877         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
68878         (WebCore::RenderThemeMac::paintMediaMuteButton):
68879         (WebCore::RenderThemeMac::paintMediaPlayButton):
68880         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
68881         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
68882         (WebCore::RenderThemeMac::paintMediaSliderTrack):
68883         (WebCore::RenderThemeMac::paintMediaSliderThumb):
68884         (WebCore::RenderThemeMac::paintMediaRewindButton):
68885         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
68886         (WebCore::RenderThemeMac::paintMediaControlsBackground):
68887         (WebCore::RenderThemeMac::paintMediaCurrentTime):
68888         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
68889             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
68891 2009-07-06  David Kilzer  <ddkilzer@apple.com>
68893         Bug 27000: Minor clean up to runtime_root.{cpp|h}
68895         <https://bugs.webkit.org/show_bug.cgi?id=27000>
68897         Reviewed by Geoff Garen.
68899         * bridge/runtime_root.cpp: Added blank line between license and
68900         the first #include statement.
68901         * bridge/runtime_root.h: Added comment to #endif.
68903 2009-07-06  Roland Steiner  <rolandsteiner@google.com>
68905         Reviewed by Maciej Stachowiak.
68907         generalize the special height treatment for SVG (to be re-used for ruby):
68908             renamed InlineBox::m_isSVG to m_hasVirtualHeight
68909             renamed InlineBox::isSVG() to hasVirtualHeight()
68910             renamed InlineBox::setIsSVG() to setHasVirtualHeight()
68912         * rendering/InlineBox.cpp:
68913         (WebCore::InlineBox::height):
68914         * rendering/InlineBox.h:
68915         (WebCore::InlineBox::InlineBox):
68916         (WebCore::InlineBox::isText):
68917         (WebCore::InlineBox::setIsText):
68918         (WebCore::InlineBox::isSVGRootInlineBox):
68919         (WebCore::InlineBox::hasVirtualHeight):
68920         (WebCore::InlineBox::setHasVirtualHeight):
68921         (WebCore::InlineBox::virtualHeight):
68922         * rendering/RenderSVGInline.cpp:
68923         (WebCore::RenderSVGInline::createFlowBox):
68924         * rendering/RenderSVGInlineText.cpp:
68925         (WebCore::RenderSVGInlineText::createTextBox):
68926         * rendering/RenderSVGText.cpp:
68927         (WebCore::RenderSVGText::createRootBox):
68928         * rendering/SVGInlineFlowBox.h:
68929         (WebCore::SVGInlineFlowBox::virtualHeight):
68930         * rendering/SVGInlineTextBox.h:
68931         (WebCore::SVGInlineTextBox::virtualHeight):
68932         * rendering/SVGRootInlineBox.h:
68933         (WebCore::SVGRootInlineBox::virtualHeight):
68935 2009-07-06  Alice Liu  <alice.liu@apple.com>
68937         Reviewed by Darin Adler.
68939         REGRESSION(r45285): focus rings are black on windows safari
68940         https://bugs.webkit.org/show_bug.cgi?id=26821
68941         <rdar://problem/7018252>
68943         Add a mechanism for setting a custom focus ring color, and relocate the 
68944         determination of focus ring color to base class RenderTheme.
68946         No new tests.  Already-existing tests run in pixel mode would have caught this regression
68948         * css/CSSStyleSelector.cpp:
68949         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
68950         of determining focus color to base class RenderTheme.
68951         * rendering/RenderTheme.cpp:
68952         (WebCore::customFocusRingColor): Added static local.
68953         (WebCore::RenderTheme::setCustomFocusRingColor): Added
68954         (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
68955         * rendering/RenderTheme.h:
68956         (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
68957         * rendering/RenderThemeSafari.cpp:
68958         (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
68959         are the same under which we want to use the focus ring color from SafariTheme.
68960         (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
68961         * rendering/RenderThemeSafari.h:
68963         Renaming focusRingColor to platformFocusRingColor in these files:
68964         * rendering/RenderThemeChromiumMac.h:
68965         * rendering/RenderThemeChromiumMac.mm:
68966         (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
68967         * rendering/RenderThemeChromiumSkia.cpp:
68968         (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
68969         * rendering/RenderThemeChromiumSkia.h:
68970         * rendering/RenderThemeMac.h:
68971         * rendering/RenderThemeMac.mm:
68972         (WebCore::RenderThemeMac::platformFocusRingColor):
68974         Cleanup leftover from removal of WebCore::Color in r45285 in these files:
68975         * WebCore.order:
68976         * platform/graphics/Color.h:
68978 2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
68980         Reviewed by David Hyatt.
68982         Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
68983         contents makes its container scroll to the top
68984         https://bugs.webkit.org/show_bug.cgi?id=15135
68986         Delay updateing scroll bar of descendants of flexbox until their
68987         positions are determined.  In this way we can prevent descendants
68988         of flexible boxes from changing positions of their scrollbars
68989         using tentative positions.
68991         Test: fast/flexbox/repaint-scrollbar.html
68993         * rendering/RenderBlock.cpp:
68994         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
68995         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
68996         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
68997         (WebCore::RenderBlock::layoutBlock):
68998         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
68999         * rendering/RenderBlock.h:
69000         * rendering/RenderFlexibleBox.cpp:
69001         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
69002         (WebCore::RenderFlexibleBox::layoutVerticalBox):
69004 2009-07-06  Hironori Bono  <hbono@chromium.org>
69006         Reviewed by Maciej Stachowiak.
69008         Make unconfirmed IME text affect textarea's value.
69009         This matches input and contentEditable elements as well
69010         IE and Firefox.
69012         This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
69014         Input elements would go down this code path because it
69015         would always get a null compositionNode from frame->editor().
69016         Special casing compositionNodes is wrong because we explicitly
69017         want unconfirmed IME input in the textarea's value (assuming we
69018         want to match IE and Firefox here).
69020         This change is originally created by Ojan Vafai <ojan@chromium.org> and
69021         I just changed its manual tests with an automated test on his behalf.
69023         Test: platform/mac/editing/input/text-control-ime-input.html
69025         * rendering/RenderTextControl.cpp:
69026         (WebCore::RenderTextControl::text):
69027         (WebCore::RenderTextControl::textWithHardLineBreaks):
69029 2009-07-06  Anders Carlsson  <andersca@apple.com>
69031         Reviewed by Adele Peterson.
69033         Add the ability for wheel events to latch to a node.
69034         
69035         * WebCore.base.exp:
69036         * page/EventHandler.cpp:
69037         (WebCore::EventHandler::EventHandler):
69038         (WebCore::EventHandler::clear):
69039         (WebCore::EventHandler::handleWheelEvent):
69040         * page/EventHandler.h:
69041         * page/mac/EventHandlerMac.mm:
69042         (WebCore::EventHandler::wheelEvent):
69043         * platform/mac/WebCoreSystemInterface.h:
69044         * platform/mac/WebCoreSystemInterface.mm:
69046 2009-07-06  Nate Chapin  <japhet@chromium.org>
69048         Reviewed by Dimitri Glazkov.
69050         Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
69052         https://bugs.webkit.org/show_bug.cgi?id=26997
69054         * bindings/v8/V8Binding.cpp:
69055         (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
69057 2009-07-06  Pavel Feldman  <pfeldman@chromium.org>
69059         Reviewed by Timothy Hatcher.
69061         WebInspector: suggest global properties based on async evaluation.
69063         https://bugs.webkit.org/show_bug.cgi?id=26976
69065         Before this change, empty string was evaluated to the global object
69066         (or scope chain object) synchronously. This is now fixed and global
69067         object is evaluated using the same control flow.
69069         * inspector/front-end/Console.js:
69070         (WebInspector.Console.prototype.completions):
69071         (WebInspector.Console.prototype._evalInInspectedWindow):
69072         * inspector/front-end/ScriptsPanel.js:
69073         (WebInspector.ScriptsPanel.prototype._variablesInScope):
69075 2009-07-06  Ojan Vafai  <ojan@chromium.org>
69077         Reviewed by Eric Seidel.
69079         Fix crash when indenting in an empty table cell.
69080         https://bugs.webkit.org/show_bug.cgi?id=26872
69082         The crash is that we would call splitTreeToNode where the node
69083         and the nodeToSplitTo were the same node.
69085         Test: editing/execCommand/indent-empty-table-cell.html
69087         * editing/CompositeEditCommand.cpp:
69088         (WebCore::CompositeEditCommand::splitTreeToNode):
69089         Added an assert in that node and nodeToSplitTo
69090         are different nodes to make this assumption explicit.
69092         * editing/IndentOutdentCommand.cpp:
69093         (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
69094         (WebCore::IndentOutdentCommand::indentRegion):
69095         * editing/IndentOutdentCommand.h:
69097 2009-07-06  Nate Chapin  <japhet@chromium.org>
69099         Reviewed by David Levin.
69101         Upstream V8Binding and update some function names.
69103         https://bugs.webkit.org/show_bug.cgi?id=26857
69105         * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
69106         * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
69107         * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
69108         * bindings/v8/V8LazyEventListener.cpp:
69109         (WebCore::V8LazyEventListener::getListenerFunction):
69110         * bindings/v8/V8Proxy.cpp:
69111         (WebCore::handleConsoleMessage):
69112         (WebCore::V8Proxy::compileScript):
69113         (WebCore::V8Proxy::sourceName):
69114         * bindings/v8/WorkerContextExecutionProxy.cpp:
69115         (WebCore::handleConsoleMessage):
69116         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
69117         (WebCore::NAMED_PROPERTY_SETTER):
69118         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
69119         (WebCore::CALLBACK_FUNC_DECL):
69120         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
69121         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
69122         * bindings/v8/custom/V8DOMWindowCustom.cpp:
69123         (WebCore::CALLBACK_FUNC_DECL):
69124         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
69125         (WebCore::CALLBACK_FUNC_DECL):
69126         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
69127         (WebCore::ACCESSOR_SETTER):
69128         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
69129         (WebCore::CALLBACK_FUNC_DECL):
69130         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
69131         (WebCore::removeElement):
69132         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
69133         (WebCore::CALLBACK_FUNC_DECL):
69134         * bindings/v8/custom/V8WorkerContextCustom.cpp:
69135         (WebCore::SetTimeoutOrInterval):
69136         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
69137         (WebCore::CALLBACK_FUNC_DECL):
69139 2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
69141         Reviewed by Jan Alonzo.
69143         Use soup's content sniffing
69144         https://bugs.webkit.org/show_bug.cgi?id=26982
69146         Drop our hackish content sniffing code, and use the new libsoup
69147         feature to do that job for us.
69149         Testing this is in a cross-platform way is not obvious or possible
69150         while we are using platform-specific code for sniffing.
69152         * platform/network/ResourceHandleInternal.h:
69153         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
69154         * platform/network/soup/ResourceHandleSoup.cpp:
69155         (WebCore::gotHeadersCallback):
69156         (WebCore::contentSniffedCallback):
69157         (WebCore::gotChunkCallback):
69158         (WebCore::ResourceHandle::startHttp):
69160 2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
69162         Reviewed by Darin Adler.
69164         REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
69165         https://bugs.webkit.org/show_bug.cgi?id=20342
69167         Re-added code removed by commit r40499.
69168         Without this, both Qt and Mac were crashing while running the test.
69170         Note that this does not entirely fix the bug. It fixes the WebCore
69171         crash, but the test no longer seems to work due to loader changes.
69172         So this patch does not reenable the test. The test probably has to
69173         be rewritten.
69175         * dom/ContainerNode.cpp:
69176         (WebCore::ContainerNode::removedFromDocument): Re-added code to
69177         set the CSS target of the document to 0.
69179 2009-07-05  Chris Marrin  <cmarrin@apple.com>
69181         Reviewed by Simon Fraser.
69183         https://bugs.webkit.org/show_bug.cgi?id=26943
69185         When one transition finishes slightly before another the longer
69186         one will fire a second time. This is because the second
69187         ImplicitAnmation object is culled too early, before its final
69188         RenderStyle is in place. This is done by cleanupFinishedAnimations()
69189         so I got rid of that method completely and now cleanup each
69190         transition or animation at the point where I am setting the final
69191         style, or when I detect that the transition or animation has been
69192         terminated early (which happens when you remove it from the style).
69194         Test: transitions/extra-transition.html
69196         * page/animation/AnimationController.cpp:
69197         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
69198         * page/animation/CompositeAnimation.cpp:
69199         (WebCore::CompositeAnimation::updateTransitions):
69200         (WebCore::CompositeAnimation::updateKeyframeAnimations):
69201         (WebCore::CompositeAnimation::animate):
69202         * page/animation/CompositeAnimation.h:
69204         * page/animation/AnimationBase.cpp:
69205         (WebCore::AnimationBase::getTimeToNextEvent):
69206         Avoid a divide by zero if m_animation->duration() is zero, which can happen
69207         if the duration is changed to zero while the animation is running.
69209 2009-07-05  Simon Fraser  <simon.fraser@apple.com>
69211         Revert the previous commit because it broke the
69212         animations/transition-and-animation-1.html
69213         testcase.
69215         * page/animation/AnimationBase.cpp:
69216         (WebCore::AnimationBase::getTimeToNextEvent):
69217         * page/animation/AnimationController.cpp:
69218         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
69219         * page/animation/CompositeAnimation.cpp:
69220         (WebCore::CompositeAnimation::updateTransitions):
69221         (WebCore::CompositeAnimation::updateKeyframeAnimations):
69222         (WebCore::CompositeAnimation::animate):
69223         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
69224         * page/animation/CompositeAnimation.h:
69226 2009-07-05  Chris Marrin  <cmarrin@apple.com>
69228         Reviewed by Simon Fraser.
69230         https://bugs.webkit.org/show_bug.cgi?id=26943
69232         When one transition finishes slightly before another the longer
69233         one will fire a second time. This is because the second 
69234         ImplicitAnmation object is culled too early, before its final
69235         RenderStyle is in place. This is done by cleanupFinishedAnimations()
69236         so I got rid of that method completely and now cleanup each 
69237         transition or animation at the point where I am setting the final
69238         style, or when I detect that the transition or animation has been
69239         terminated early (which happens when you remove it from the style).
69241         Test: transitions/extra-transition.html
69243         * page/animation/AnimationController.cpp:
69244         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
69245         * page/animation/CompositeAnimation.cpp:
69246         (WebCore::CompositeAnimation::updateTransitions):
69247         (WebCore::CompositeAnimation::updateKeyframeAnimations):
69248         (WebCore::CompositeAnimation::animate):
69249         * page/animation/CompositeAnimation.h:
69251         * page/animation/AnimationBase.cpp:
69252         (WebCore::AnimationBase::getTimeToNextEvent):
69253         Avoid a divide by zero if m_animation->duration() is zero, which can happen
69254         if the duration is changed to zero while the animation is running.
69256 2009-07-05  Lars Knoll  <lars.knoll@nokia.com>
69258         Reviewed by Maciej Stachowiak.
69260         https://bugs.webkit.org/show_bug.cgi?id=26843
69262         Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
69264         The Metrowerks compiler on the Symbian platform moves the globally
69265         defined Hashtables into read-only memory, despite one of the members
69266         being mutable. This causes crashes at run-time due to write access to
69267         read-only memory.
69269         Avoid the use of const with this compiler by introducing the
69270         JSC_CONST_HASHTABLE macro.
69272         Based on idea by Norbert Leser.
69274         * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
69275         define in the bindings.
69277 2009-07-05  Rob Buis  <rwlbuis@gmail.com>
69279         Reviewed by Maciej Stachowiak.
69281         Bug 26897 - Dynamic SVG images do not display correctly
69282         https://bugs.webkit.org/show_bug.cgi?id=26897
69284         Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
69286         Test: svg/custom/createImageElement2.xhtml
69288         * rendering/RenderSVGImage.cpp:
69289         (WebCore::RenderSVGImage::imageChanged):
69291 2009-07-05  Xan Lopez  <xlopez@igalia.com>
69293         Reviewed by Jan Alonzo.
69295         https://bugs.webkit.org/show_bug.cgi?id=26960
69296         [Gtk] caret offset not updated when selecting text
69298         Report the caret offset from the end of the selection so it works
69299         correctly for multi-char selections too (ie, anything that is not
69300         the zero width caret).
69302         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
69303         (webkit_accessible_text_get_caret_offset):
69305 2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
69307         Unreviewed link fix for Qt.
69309         Fix Qt link error by adding two new localized strings
69311         In r45474 two new strings got added to LocalizedStrings.h add
69312         the definition of them to Qt.
69314         * platform/qt/Localizations.cpp:
69315         (WebCore::mediaElementLoadingStateText):
69316         (WebCore::mediaElementLiveBroadcastStateText):
69318 2009-07-03  Darin Adler  <darin@apple.com>
69320         Reviewed by Adele Peterson.
69322         REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
69323         https://bugs.webkit.org/show_bug.cgi?id=26959
69324         rdar://problem/7029882
69326         The code to handle iteration boundaries was malfunctioning when the boundary was
69327         at the edge of a shadow tree. This happens all the time with <input> elements.
69329         It's not immediately obvious how to make a regression test for this since the
69330         symptom was a performance problem, not incorrect behavior. I'll add a test if I
69331         figure out a way to make one.
69333         * editing/TextIterator.cpp:
69334         (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
69335         (WebCore::depthCrossingShadowBoundaries): Updated for name change.
69336         (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
69337         (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
69338         (WebCore::setUpFullyClippedStack): Updated for name change.
69339         (WebCore::TextIterator::TextIterator): Updated for name change. Use
69340         nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
69341         (WebCore::TextIterator::advance): Updated for name change.
69342         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
69343         Tweaked formatting.
69344         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
69345         initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
69346         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
69347         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
69349 2009-07-03  Simon Fraser  <simon.fraser@apple.com>
69351         Reviewed by Sam Weinig.
69353         Background audio stops playing when JS GC runs
69354         https://bugs.webkit.org/show_bug.cgi?id=26956
69355         
69356         Ensure we keep the Audio object around while it is playing, so that it
69357         doesn't get collected.
69358         
69359         Not testable because there's no way to know whether the audio keeps
69360         playing without holding a reference to it.
69362         * bindings/js/JSDOMBinding.cpp:
69363         (WebCore::isObservableThroughDOM):
69365 2009-07-02  Xan Lopez  <xlopez@igalia.com>
69367         Reviewed by Jan Alonzo.
69369         https://bugs.webkit.org/show_bug.cgi?id=26814
69370         [Gtk] Caret-moved events are not issued for the correct offset
69371         when text is selected forward
69373         Report the caret offset from the end of the selection, otherwise
69374         we'll report the same offset when moving the caret while
69375         modififying the selection (eg, with Shift Right).
69377         * editing/gtk/SelectionControllerGtk.cpp:
69378         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
69380 2009-07-02  Xan Lopez  <xlopez@igalia.com>
69382         Reviewed by Jan Alonzo.
69384         https://bugs.webkit.org/show_bug.cgi?id=26815
69385         [Gtk] text-selection-changed events are not issued for the correct
69386         object when the selection spans multiple objects
69388         Get the focused node from the end of the selection, not the start,
69389         so we can detect when we cross object boundaries.
69391         * editing/gtk/SelectionControllerGtk.cpp:
69392         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
69394 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
69396         Reviewed by Simon Fraser.
69398         https://bugs.webkit.org/show_bug.cgi?id=26947
69400         Fix the media controls hit tests. They may lose click events.
69402         Test cases already covered in the video-controls-zoomed tests.
69404         Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
69406         * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
69407         * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
69409 2009-07-02  Roland Steiner  <rolandsteiner@google.com>
69411         Reviewed by Eric Seidel.
69413         RenderBlock and RenderInline have confusingly named object creation methods:
69414         RenderBlock::createRootBox/createRootInlineBox
69415         RenderInline::createFlowBox/createInlineFlowBox
69416         where the 2nd method in both cases just calls the first and then appends the created object.
69417         I therefore renamed those methods to something IMHO more informative:
69418         
69419         createRootBox()         -> createRootInlineBox()
69420         createRootInlineBox()   -> createAndAppendRootInlineBox();
69421         createFlowBox()         -> createInlineFlowBox();
69422         createInlineFlowBox()   -> createAndAppendInlineFlowBox();
69424         https://bugs.webkit.org/show_bug.cgi?id=26828
69426         * rendering/RenderBlock.cpp:
69427         (WebCore::RenderBlock::createRootInlineBox):
69428         (WebCore::RenderBlock::createAndAppendRootInlineBox):
69429         * rendering/RenderBlock.h:
69430         * rendering/RenderInline.cpp:
69431         (WebCore::RenderInline::createInlineFlowBox):
69432         (WebCore::RenderInline::createAndAppendInlineFlowBox):
69433         * rendering/RenderInline.h:
69434         * rendering/RenderSVGInline.cpp:
69435         (WebCore::RenderSVGInline::createInlineFlowBox):
69436         * rendering/RenderSVGInline.h:
69437         * rendering/RenderSVGText.cpp:
69438         (WebCore::RenderSVGText::createRootInlineBox):
69439         * rendering/RenderSVGText.h:
69440         * rendering/bidi.cpp:
69441         (WebCore::createInlineBoxForRenderer):
69443 2009-07-02  Pavel Feldman  <pfeldman@chromium.org>
69445         Reviewed by Timothy Hatcher.
69447         WebInspector: Fix typo in the resource panel enabler caption.
69449         https://bugs.webkit.org/show_bug.cgi?id=26753
69451         * English.lproj/localizedStrings.js:
69452         * inspector/front-end/ResourcesPanel.js:
69453         (WebInspector.ResourcesPanel):
69455 2009-07-02  Erik Arvidsson  <arv@chromium.org>
69457         Reviewed by Adam Roben.
69459         [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
69460         https://bugs.webkit.org/show_bug.cgi?id=26699
69462         * manual-tests/drag-escape.html: Added.
69463         * page/EventHandler.cpp:
69464         (WebCore::EventHandler::dragSourceEndedAt):
69466 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
69468         Reviewed by Simon Fraser. 
69469         
69470         https://bugs.webkit.org/show_bug.cgi?id=26944
69472         Make sure we support full page zoom in video controls.
69474         This is tracked by a the video-controls-zoom test case.
69476         * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
69477         * rendering/MediaControlElements.cpp:
69478         (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
69479         * rendering/RenderThemeMac.mm: Adjust the painting rect.
69480         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
69481         (WebCore::RenderThemeMac::paintMediaSliderTrack):
69482         (WebCore::RenderThemeMac::paintMediaCurrentTime):
69483         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
69485 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
69487         Fix the Gtk build after r45474. The localized strings should
69488         have been added there.
69490         * platform/gtk/LocalizedStringsGtk.cpp:
69491         (WebCore::mediaElementLoadingStateText):
69492         (WebCore::mediaElementLiveBroadcastStateText):
69494 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
69496         Reviewed by Simon Fraser.
69498         https://bugs.webkit.org/show_bug.cgi?id=26939
69500         Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
69502         We fix two things:
69503         - We use px instead of em, because px is used everywhere else
69504         and because 0.09em hit the font size limit.
69505         - We use -webkit-box instead of inline-block because in strict mode
69506         inline-block has a different behavior.
69508         Test: media/controls-strict.html
69510         * css/mediaControlsQT.css:
69512 2009-07-02  David Hyatt  <hyatt@apple.com>
69514         Reviewed by Dan Bernstein.
69516         TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
69517         https://bugs.webkit.org/show_bug.cgi?id=26942
69519         * editing/TextIterator.cpp:
69520         (WebCore::fullyClipsContents):
69522 2009-07-02  Sam Weinig  <sam@webkit.org>
69524         Reviewed by Dave Hyatt.
69526         Fix for <rdar://problem/5230700>
69527         Remove local .xhtml file workaround
69529         * platform/network/mac/ResourceResponseMac.mm:
69530         (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
69532 2009-07-02  Anders Carlsson  <andersca@apple.com>
69534         Reviewed by Dan Bernstein.
69536         Sort, add functions used by WebKit.
69537         
69538         * WebCore.base.exp:
69540 2009-07-02  Brady Eidson  <beidson@apple.com>
69542         Rubberstamped by Sam Weinig.
69544         More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
69546         * platform/network/mac/WebCoreURLResponse.mm:
69547         (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
69549 2009-07-02  Adam Langley  <agl@google.com>
69551         Reviewed by Eric Seidel.
69553         Chromium Linux: fix complex text rendering with line break characters.
69555         https://bugs.webkit.org/show_bug.cgi?id=26935
69557         If the CSS white-space property is inhibiting line breaking, we might
69558         find end-of-line characters rendered via the complex text path. Fonts
69559         don't provide glyphs for these code points so, if we find one, we
69560         simulate the space glyph being interposed in this case.  Because the
69561         input is variable-length per code point, we walk the input in step
69562         with the output.
69564         Covered by:
69565             LayoutTests/fast/text/international/bidi-linebreak-002.html
69566             LayoutTests/fast/text/international/bidi-linebreak-003.html
69567             LayoutTests/fast/text/international/hindi-whitespace.html
69569         * platform/graphics/chromium/HarfbuzzSkia.cpp:
69570         (WebCore::stringToGlyphs):
69572 2009-07-02  Victor Wang  <victorw@chromium.org>
69574         Reviewed by Darin Fisher.
69576         https://bugs.webkit.org/show_bug.cgi?id=26521
69577         Expose file size to chromium.
69579         Implement getFileSize() for Chromium.
69581         * platform/chromium/ChromiumBridge.h:
69582         * platform/chromium/FileSystemChromium.cpp:
69583         (WebCore::getFileSize):
69585 2009-07-02  Nate Chapin  <japhet@chromium.org>
69587         Unreviewed, build fix.
69589         * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
69591 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
69593         Build fix: add missing #include.
69595         * platform/mac/ThemeMac.mm:
69597 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
69599         Reviewed by Dave Hyatt.
69601         <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
69603         Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
69604         that can possibly throw Objective-C exceptions when drawing Mac form controls.
69606         * platform/mac/ThemeMac.mm:
69607         (WebCore::paintCheckbox):
69608         (WebCore::paintRadio):
69609         (WebCore::paintButton):
69610         (WebCore::ThemeMac::inflateControlPaintRect):
69612 2009-07-02  Nate Chapin  <japhet@chromium.org>
69614         Reviewed by David Levin.
69616         Upstream V8SVGPODTypeWrapper.
69618         https://bugs.webkit.org/show_bug.cgi?id=26907
69620         * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
69621         * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
69623 2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
69625         Reviewed by Dimitri Glazkov.
69627         Adds an abstraction layer between the DB classes and the file
69628         system, which allows us to add our own logic for storing, opening,
69629         deleting, etc. databases.
69631         The patch was tested using the tests in WebCore/storage.
69633         https://bugs.webkit.org/show_bug.cgi?id=26054
69635         * GNUmakefile.am:
69636         * WebCore.pro:
69637         * WebCore.vcproj/WebCore.vcproj:
69638         * WebCore.xcodeproj/project.pbxproj:
69639         * platform/sql/SQLiteDatabase.cpp:
69640         (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
69641         * platform/sql/SQLiteFileSystem.cpp: Added.
69642         * platform/sql/SQLiteFileSystem.h: Added.
69643         * platform/win/FileSystemWin.cpp:
69644         (WebCore::directoryName): Implemented.
69645         * storage/Database.cpp:
69646         (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
69647         * storage/DatabaseTracker.cpp:
69648         (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
69649         (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
69650         (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
69651         (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
69652         (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
69653         (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
69654         (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
69655         (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
69656         * storage/OriginUsageRecord.cpp:
69657         (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
69659 2009-07-02  David Hyatt  <hyatt@apple.com>
69661         Reviewed by Simon Fraser.
69663         Always clip replaced elements to border radii.
69664         https://bugs.webkit.org/show_bug.cgi?id=26933
69666         Make sure to always clip replaced elements to border radii, even when overflow is visible.
69667         Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
69668         necessary.
69670         Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
69672         * css/html.css:
69673         * rendering/RenderReplaced.cpp:
69674         (WebCore::RenderReplaced::paint):
69675         * rendering/RenderWidget.cpp:
69676         (WebCore::RenderWidget::paint):
69678 2009-07-02  Jeremy Orlow  <jorlow@chromium.org>
69680         Reviewed by Simon Fraser.
69682         convertFromScrollbarToContainingView and friends should be in ScrollView
69683         https://bugs.webkit.org/show_bug.cgi?id=26929
69685         This is breaking Chromium's build because PopupMenuChromium inherits
69686         from ScrollView, but these functions are pure virtual in it.  I could
69687         put it directly in PopupMenuChromium, but that seems a bit silly since
69688         the functions are fairly generic.
69690         Passes existing layout tests.
69692         * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
69693         (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
69694         (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
69695         (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
69696         (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
69697         * page/FrameView.h: ditto
69698         * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
69699         (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
69700         (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
69701         (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
69702         (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
69703         * platform/ScrollView.h: ditto
69705 2009-07-02  Dirk Pranke  <dpranke@chromium.org>
69707         Reviewed by Darin Fisher.
69709         Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
69710         doesn't handle errors well at all; revise it to fail silently 
69711         (drawing nothing), and bulletproof FontChromiumWin to handle the
69712         failure accordingly.
69714         Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
69715                fast/text/text-letter-spacing.html
69717         * platform/graphics/chromium/FontChromiumWin.cpp:
69718         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
69719         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
69720         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
69721         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
69722         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
69723         (WebCore::Font::drawGlyphs):
69724         (WebCore::Font::drawComplexText):
69725         * platform/graphics/chromium/TransparencyWin.cpp:
69726         (WebCore::TransparencyWin::TransparencyWin):
69727         (WebCore::TransparencyWin::setupLayerForNoLayer):
69728         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
69729         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
69730         (WebCore::TransparencyWin::setupTransformForKeepTransform):
69731         (WebCore::TransparencyWin::setupTransformForScaleTransform):
69732         (WebCore::TransparencyWin::initializeNewContext):
69733         (WebCore::TransparencyWin::compositeOpaqueComposite):
69734         (WebCore::TransparencyWin::compositeTextComposite):
69735         (WebCore::TransparencyWin::makeLayerOpaque):
69736         * platform/graphics/chromium/TransparencyWin.h:
69737         (WebCore::TransparencyWin::platformContext):
69739 2009-07-02  Eric Carlson  <eric.carlson@apple.com>
69741         Change #import to #include to fix non-ObjC builds.
69743         * rendering/MediaControlElements.cpp:
69745 2009-07-02  Anders Carlsson  <andersca@apple.com>
69747         Build fix.
69748         
69749         * platform/network/mac/WebCoreURLResponse.mm:
69750         (mimeTypeFromUTITree):
69752 2009-07-02  David Hyatt  <hyatt@apple.com>
69754         Reviewed by Simon Fraser.
69756         Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
69757         conversion methods for going across parent/child widget boundaries that can be implemented
69758         by the FrameView and ScrollbarClient to be transform-aware.
69760         Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
69762         * WebCore.base.exp:
69763         * page/EventHandler.cpp:
69764         (WebCore::EventHandler::handleMouseMoveEvent):
69765         * page/FrameView.cpp:
69766         (WebCore::FrameView::convertFromScrollbarToContainingView):
69767         (WebCore::FrameView::convertFromContainingViewToScrollbar):
69768         (WebCore::FrameView::convertFromRenderer):
69769         (WebCore::FrameView::convertToRenderer):
69770         (WebCore::FrameView::convertToContainingView):
69771         (WebCore::FrameView::convertFromContainingView):
69772         * page/FrameView.h:
69773         * platform/ScrollView.h:
69774         * platform/Scrollbar.cpp:
69775         (WebCore::Scrollbar::convertToContainingView):
69776         (WebCore::Scrollbar::convertFromContainingView):
69777         * platform/Scrollbar.h:
69778         * platform/ScrollbarClient.h:
69779         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
69780         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
69781         * platform/Widget.cpp:
69782         (WebCore::Widget::convertFromContainingWindow):
69783         (WebCore::Widget::convertToContainingWindow):
69784         (WebCore::Widget::convertFromRootToContainingWindow):
69785         (WebCore::Widget::convertFromContainingWindowToRoot):
69786         (WebCore::Widget::convertToContainingView):
69787         (WebCore::Widget::convertFromContainingView):
69788         * platform/Widget.h:
69789         * platform/graphics/IntPoint.h:
69790         (WebCore::IntPoint::move):
69791         * platform/mac/WidgetMac.mm:
69792         (WebCore::Widget::convertFromRootToContainingWindow):
69793         (WebCore::Widget::convertFromContainingWindowToRoot):
69794         * rendering/RenderBlock.cpp:
69795         (WebCore::RenderBlock::isPointInOverflowControl):
69796         * rendering/RenderDataGrid.cpp:
69797         (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
69798         (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
69799         * rendering/RenderDataGrid.h:
69800         * rendering/RenderLayer.cpp:
69801         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
69802         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
69803         (WebCore::RenderLayer::scrollbarOffset):
69804         (WebCore::RenderLayer::hitTestOverflowControls):
69805         * rendering/RenderLayer.h:
69806         * rendering/RenderListBox.cpp:
69807         (WebCore::RenderListBox::isPointInOverflowControl):
69808         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
69809         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
69810         * rendering/RenderListBox.h:
69812 2009-07-02  Dan Bernstein  <mitz@apple.com>
69814         Reviewed by Dave Hyatt and Simon Fraser.
69816         - fix <rdar://problem/6933052> SPOD playing video in a div with a box
69817           shadow
69819         Test: fast/box-shadow/transform-fringing.html
69821         * rendering/RenderBoxModelObject.cpp:
69822         (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
69823         box even if it has an opaque background, but in that case, inset the
69824         clip path by 1 pixel, to avoid antialiasing artifacts.
69825         Do not inset the clip rect by 1 pixel if the CTM is purely a
69826         translation.
69827         Move the shadow-casting path away in the non-rounded-rect case (it
69828         was already being done in the rounded-rect case), to avoid a black
69829         fringe when the CTM is not purely a translation.
69831 2009-07-02  Brady Eidson  <beidson@apple.com>
69833         Reviewed by Sam Weinig.
69835         <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
69837         Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
69839         For many types of text files (such as source code files) this ends up being text/plain.
69841         * platform/network/mac/ResourceHandleMac.mm:
69842         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
69844         * platform/network/mac/WebCoreURLResponse.h:
69845         * platform/network/mac/WebCoreURLResponse.mm:
69846         (mimeTypeFromUTITree): 
69847         (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
69848         (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
69850 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
69852         Reviewed by Simon Fraser.
69854         <rdar://problem/6518119>
69856         Add a rewind button and hide the timeline for live broadcasts when
69857         in MediaUI mode.
69859         * css/CSSPrimitiveValueMappings.h: 
69860         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
69862         * css/CSSSelector.cpp:
69863         (WebCore::CSSSelector::extractPseudoType): Ditto.
69864         * css/CSSSelector.h: 
69866         * css/CSSStyleSelector.cpp:
69867         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
69869         * css/CSSValueKeywords.in: Ditto.
69870         * css/mediaControls.css: Ditto.
69871         * css/mediaControlsQT.css: Ditto.
69873         * html/HTMLMediaElement.cpp:
69874         (WebCore::HTMLMediaElement::rewind): New.
69875         (WebCore::HTMLMediaElement::returnToRealTime): New.
69876         (WebCore::HTMLMediaElement::isStreaming): New.
69877         * html/HTMLMediaElement.h:
69879         * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
69881         * platform/LocalizedStrings.h: Add localized media state messages.
69883         * platform/ThemeTypes.h: Add the new pseudo element.
69885         * platform/mac/LocalizedStringsMac.mm: 
69886         (WebCore::mediaElementLoadingStateText): Add localized media state.
69887         (WebCore::mediaElementLiveBroadcastStateText): Ditto.
69889         * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
69890            multiple states.
69891         * platform/mac/WebCoreSystemInterface.mm: Ditto.
69893         * rendering/MediaControlElements.cpp: 
69894         (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
69895         (WebCore::MediaControlElement::attachToParent): Ditto.
69896         (WebCore::MediaControlElement::update): Ditto.
69897         (WebCore::MediaControlElement::updateStyle): Ditto.
69898         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
69899         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
69900         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
69901         (WebCore::MediaControlStatusDisplayElement::update): Ditto.
69902         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
69903         (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
69904         (WebCore::MediaControlInputElement::attachToParent): Ditto.
69905         (WebCore::MediaControlInputElement::updateStyle): Ditto.
69906         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
69907         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
69908         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
69909         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
69910         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
69911         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
69912         (WebCore::MediaControlTimelineElement::update): Ditto.
69913         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
69914         * rendering/MediaControlElements.h: Ditto.
69916         * rendering/RenderMedia.cpp: 
69917         (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
69918         (WebCore::RenderMedia::createPanel): Ditto.
69919         (WebCore::RenderMedia::createRewindButton): Ditto.
69920         (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
69921         (WebCore::RenderMedia::createStatusDisplay): Ditto.
69922         (WebCore::RenderMedia::createTimelineContainer): Ditto.
69923         (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
69924         (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
69925         (WebCore::RenderMedia::updateControls): Ditto.
69926         (WebCore::RenderMedia::forwardEvent): Ditto.
69927         * rendering/RenderMedia.h:
69929         * rendering/RenderTheme.cpp:
69930         (WebCore::RenderTheme::paint): Deal with the new elements.
69932         * rendering/RenderTheme.h:
69933         (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
69934         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
69935         (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
69937         * rendering/RenderThemeMac.h:
69938         * rendering/RenderThemeMac.mm:
69939         (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
69940         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
69941         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
69943         * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
69945 2009-07-01  John Abd-El-Malek  <jam@chromium.org>
69947         Reviewed by Darin Fisher.
69949         Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
69950         may be defined at the WebKit layer.
69952         https://bugs.webkit.org/show_bug.cgi?id=26905
69954         * dom/MessageChannel.cpp:
69955         (WebCore::MessageChannel::MessageChannel):
69956         * dom/MessagePortChannel.cpp:
69957         * dom/MessagePortChannel.h:
69958         * dom/default/PlatformMessagePortChannel.cpp:
69959         (WebCore::MessagePortChannel::createChannel):
69960         (WebCore::MessagePortChannel::create):
69961         (WebCore::MessagePortChannel::MessagePortChannel):
69962         (WebCore::MessagePortChannel::~MessagePortChannel):
69964 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
69966         Reviewed by Dan Bernstein.
69968         <video> fails to show on http://camendesign.com/code/video_for_everybody
69969         <rdar://problem/7026010>
69970         https://bugs.webkit.org/show_bug.cgi?id=26919
69972         Fix an issue introduced in r44961. In that revision we changed to only update
69973         compositing layer geometry when all siblings had been laid out (i.e. we pushed
69974         the updates one level down). However, that left out the root layer, so this
69975         fix ensures that the root layer geometry gets updated at the end.
69977         Test: compositing/geometry/root-layer-update.html
69979         * rendering/RenderLayerBacking.cpp:
69980         (WebCore::RenderLayerBacking::updateAfterLayout):
69982 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
69984         Reviewed by Dan Bernstein
69985         
69986         <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
69988         First part of fix: when outline width changes, don't to a synchronous
69989         layer update right away, but just set the flag to say that compositing
69990         layers need updating. The synchronous layer update left the layer geometries
69991         out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
69992         
69993         Test: compositing/geometry/outline-change.html
69995         * rendering/RenderView.cpp:
69996         (WebCore::RenderView::setMaximalOutlineSize):
69998 2009-07-01  Kwang Yul Seo  <skyul@company100.net>
70000         Reviewed by Eric Seidel.
70002         https://bugs.webkit.org/show_bug.cgi?id=26842
70003         Build fix when ENABLE_DATABASE is off
70005         Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
70006         off does not break builds.
70008         * bindings/js/ScriptObjectQuarantine.cpp:
70010 2009-07-01  Daniel Bates  <dbates@intudata.com>
70012         Reviewed by Adam Barth.
70013         
70014         https://bugs.webkit.org/show_bug.cgi?id=26899
70015         
70016         Modified XSSAuditor::decodeURL to only remove null characters so that 
70017         it is consistent with the behavior of HTMLTokenizer and prevents 
70018         injected scripts that contain control characters. 
70020         Tests: http/tests/security/xssAuditor/script-tag-control-char.html
70021                http/tests/security/xssAuditor/script-tag-null-char.html
70023         * page/XSSAuditor.cpp:
70024         (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
70025         * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
70026         from allowControlCharacters back to allowNullCharacters.
70027         * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
70028         (WebCore::isControlCharacter):
70029         * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
70031 2009-07-01  Yury Semikhatsky  <yurys@chromium.org>
70033         Reviewed by Timothy Hatcher.
70035         - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
70036         F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
70037         F10, Ctrl+' (win, lin), Command+' (mac) - step over
70038         F11, Ctrl+; (win, lin), Command+; (mac) - step into
70039         Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
70041         - added call stack navigation shortcuts:
70042         Ctrl+. - next call frame
70043         Ctrl+, - previouse call frame
70045         https://bugs.webkit.org/show_bug.cgi?id=23849
70047         * inspector/front-end/CallStackSidebarPane.js:
70048         (WebInspector.CallStackSidebarPane):
70049         (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
70050         (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
70051         (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
70052         (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
70053         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
70054         * inspector/front-end/KeyboardShortcut.js: Added.
70055         (WebInspector.KeyboardShortcut):
70056         (WebInspector.KeyboardShortcut.makeKey):
70057         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
70058         (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
70059         * inspector/front-end/ScriptsPanel.js:
70060         (WebInspector.ScriptsPanel):
70061         (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
70062         * inspector/front-end/WebKit.qrc:
70063         * inspector/front-end/inspector.html:
70065 2009-07-01  Daniel Erat  <derat@google.com>
70067         Reviewed by David Levin.
70069         Chromium Linux: Move the scrollbar thumb on middle-click.
70071         https://bugs.webkit.org/show_bug.cgi?id=26910
70072         http://code.google.com/p/chromium/issues/detail?id=11976
70074         Tested by building Chrome and checking that the scrollbar moves as expected.
70076         * platform/chromium/ScrollbarThemeChromium.cpp:
70077         * platform/chromium/ScrollbarThemeChromium.h:
70078         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
70079         * platform/chromium/ScrollbarThemeChromiumLinux.h:
70080         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
70081         * platform/chromium/ScrollbarThemeChromiumWin.h:
70083 2009-07-01  Brady Eidson  <beidson@apple.com>
70085         Reviewed by Sam Weinig.
70087         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
70089         * WebCore.base.exp:
70091         * page/Settings.cpp:
70092         (WebCore::Settings::setLocalFileContentSniffingEnabled):
70093         * page/Settings.h:
70094         (WebCore::Settings::localFileContentSniffingEnabled):
70096         * platform/network/mac/ResourceHandleMac.mm:
70097         (WebCore::ResourceHandle::start):
70098         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
70100 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
70102         Reviewed by Oliver Hunt.
70104         Bug 26909: aria-label needs to be supported
70105         https://bugs.webkit.org/show_bug.cgi?id=26909
70107         Test: accessibility/aria-label.html
70109         * accessibility/AccessibilityRenderObject.cpp:
70110         (WebCore::AccessibilityRenderObject::accessibilityDescription):
70111         * html/HTMLAttributeNames.in:
70113 2009-07-01  David Hyatt  <hyatt@apple.com>
70115         Reviewed by Oliver Hunt.
70117         More datagrid columns work.  Make sure columns cache both a style for the column header as well
70118         as a style for the column background (behind the cells).
70120         Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
70121         unimplemented).
70123         * css/CSSStyleSelector.cpp:
70124         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
70125         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
70126         * css/CSSStyleSelector.h:
70127         * html/DataGridColumn.h:
70128         (WebCore::DataGridColumn::setColumnList):
70129         (WebCore::DataGridColumn::columnStyle):
70130         (WebCore::DataGridColumn::setColumnStyle):
70131         (WebCore::DataGridColumn::headerStyle):
70132         (WebCore::DataGridColumn::setHeaderStyle):
70133         * rendering/RenderDataGrid.cpp:
70134         (WebCore::RenderDataGrid::recalcStyleForColumn):
70135         (WebCore::RenderDataGrid::columnStyle):
70136         (WebCore::RenderDataGrid::headerStyle):
70137         (WebCore::RenderDataGrid::paintColumnHeaders):
70138         * rendering/RenderDataGrid.h:
70140 2009-07-01  Eric Carlson  <eric.carlson@apple.com>
70142         Reviewed by Oliver Hunt.
70143         
70144         <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
70145         back to Play button
70147         Grab onto the current time when QTKit "ended" notification fires and use it as 
70148         duration from that point on as QuickTime sometimes refuses to play all the way to
70149         the time it reports for duration and buffered. HTMLMediaElement assumes that there
70150         more to play in this situation and tries to restart playback, endlessly.
70152         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
70153             Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
70154         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70155         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
70156             Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
70157         (WebCore::MediaPlayerPrivate::duration):
70158             Return m_cachedDuration once it has been set.
70159         (WebCore::MediaPlayerPrivate::updateStates):
70160             Rename m_duration to m_reportedDuration.
70161         (WebCore::MediaPlayerPrivate::didEnd):
70162             Set m_cachedDuration to currentTime().
70164 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
70166         Reviewed by Beth Dakin.
70168         Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
70169         https://bugs.webkit.org/show_bug.cgi?id=26900
70171         Editable web areas should have a clickpoint that uses where the selection is.
70173         Test: accessibility/editable-webarea-context-menu-point.html
70175         * accessibility/AccessibilityObject.h:
70176         * accessibility/AccessibilityRenderObject.cpp:
70177         (WebCore::AccessibilityRenderObject::clickPoint):
70178         * accessibility/AccessibilityRenderObject.h:
70179         * accessibility/mac/AccessibilityObjectWrapper.mm:
70180         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
70182 2009-07-01  David Levin  <levin@chromium.org>
70184         Reviewed by Eric Seidel.
70186         Remove unused code in SVGTransformList and SVGTransformDistance
70187         <https://bugs.webkit.org/show_bug.cgi?id=26891>
70189         * svg/SVGTransformDistance.cpp:
70190         (WebCore::SVGTransformDistance::SVGTransformDistance):
70191         * svg/SVGTransformList.cpp:
70192         * svg/SVGTransformList.h:
70194 2009-07-01  David Hyatt  <hyatt@apple.com>
70196         Reviewed by Anders Carlsson.
70198         Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
70199         is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
70201         * html/DataGridColumn.cpp:
70202         (WebCore::DataGridColumn::columnChanged):
70203         * html/DataGridColumn.h:
70204         (WebCore::DataGridColumn::setId):
70205         (WebCore::DataGridColumn::setLabel):
70206         (WebCore::DataGridColumn::setType):
70207         (WebCore::DataGridColumn::setSortable):
70208         (WebCore::DataGridColumn::setSortDirection):
70209         (WebCore::DataGridColumn::setColumnList):
70210         (WebCore::DataGridColumn::style):
70211         (WebCore::DataGridColumn::setStyle):
70212         (WebCore::DataGridColumn::rect):
70213         (WebCore::DataGridColumn::setRect):
70214         * html/DataGridColumnList.cpp:
70215         (WebCore::DataGridColumnList::DataGridColumnList):
70216         (WebCore::DataGridColumnList::setDataGridNeedsLayout):
70217         (WebCore::DataGridColumnList::add):
70218         (WebCore::DataGridColumnList::remove):
70219         (WebCore::DataGridColumnList::move):
70220         (WebCore::DataGridColumnList::clear):
70221         (WebCore::DataGridColumnList::primaryColumnChanged):
70222         * html/DataGridColumnList.h:
70223         (WebCore::DataGridColumnList::create):
70224         (WebCore::DataGridColumnList::dataGrid):
70225         (WebCore::DataGridColumnList::clearDataGrid):
70226         * html/HTMLDataGridColElement.cpp:
70227         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
70228         (WebCore::HTMLDataGridColElement::findDataGridAncestor):
70229         (WebCore::HTMLDataGridColElement::insertedIntoTree):
70230         (WebCore::HTMLDataGridColElement::removedFromTree):
70231         * html/HTMLDataGridColElement.h:
70232         (WebCore::HTMLDataGridColElement::dataGrid):
70233         * html/HTMLDataGridElement.cpp:
70234         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
70235         (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
70236         * rendering/RenderDataGrid.cpp:
70237         (WebCore::RenderDataGrid::styleDidChange):
70238         (WebCore::RenderDataGrid::recalcStyleForColumns):
70239         (WebCore::RenderDataGrid::recalcStyleForColumn):
70240         (WebCore::RenderDataGrid::styleForColumn):
70241         (WebCore::RenderDataGrid::layout):
70242         (WebCore::RenderDataGrid::layoutColumns):
70243         (WebCore::RenderDataGrid::paintColumnHeaders):
70244         (WebCore::RenderDataGrid::paintColumnHeader):
70245         * rendering/RenderDataGrid.h:
70246         (WebCore::RenderDataGrid::renderName):
70247         (WebCore::RenderDataGrid::canHaveChildren):
70249 2009-07-01  Daniel Bates  <dbates@intudata.com>
70251         Reviewed by Adam Barth.
70253         https://bugs.webkit.org/show_bug.cgi?id=26807
70254         
70255         Fixes this address by checking whether frame->document()->decoder() is null. 
70257         * page/XSSAuditor.cpp:
70258         (WebCore::XSSAuditor::findInRequest):
70260 2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
70262         Reviewed by George Staikos.
70264         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
70266         Correctly reset history length to '0', not '1'. Old relict from early WML days.
70267         Add some new WML testcases covering the use of history length (by onenterforward event handling)
70269         Tests: wml/onenterforward-event.html
70270                wml/onenterforward-inline-event.html
70271                wml/ontimer-event.html
70273         * wml/WMLPageState.cpp:
70274         (WebCore::WMLPageState::reset):
70276 2009-07-01  David Hyatt  <hyatt@apple.com>
70278         Reviewed by Simon Fraser.
70280         Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
70282         Added new test in fast/dom/HTMLDataGridElement.
70284         * html/HTMLDataGridColElement.cpp:
70285         (WebCore::HTMLDataGridColElement::parseMappedAttribute):
70286         * html/HTMLDataGridColElement.h:
70288 2009-07-01  David Hyatt  <hyatt@apple.com>
70290         Reviewed by Tim Hatcher.
70292         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
70293         even though the field is not actually focused for keyboard input
70294         
70295         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
70296         focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
70297         actually happen to have focus at that time.
70299         * WebCore.base.exp:
70300         * page/FocusController.cpp:
70301         (WebCore::FocusController::FocusController):
70302         (WebCore::FocusController::setFocusedFrame):
70303         (WebCore::FocusController::setFocused):
70304         (WebCore::FocusController::setActive):
70305         * page/FocusController.h:
70306         (WebCore::FocusController::isFocused):
70308 2009-07-01  Jakub Wieczorek  <faw217@gmail.com>
70310         Reviewed by Simon Hausmann.
70312         [Qt] Move some API headers from WebCore.pro to headers.pri so that they
70313         get installed when running make install from the build directory.
70315         * WebCore.pro:
70317 2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
70319         Rubber-stamped by Ariya Hidayat.
70321         Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
70322         qrc file with new png files from the web inspector.
70324         * inspector/front-end/WebKit.qrc:
70326 2009-06-30  Mark Rowe  <mrowe@apple.com>
70328         Land some code that has a hope of compiling.
70330         * platform/graphics/cg/ImageSourceCG.cpp:
70331         (WebCore::imageSourceOptions):
70333 2009-06-30  Stephanie Lewis  <slewis@apple.com>
70335         Reviewed by Simon Fraser.
70337         Flip back on block caching. Throwing away block data, while 
70338         a perceived memory win, is a performance hit in cases where we 
70339         are repainting large images (i.e. backgrounds) frequently 
70340         (i.e. a flash video playing on top).  
70341         <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
70342         decoded on drawing, slowing down painting of sites that frequently 
70343         repaint e.g. because of Flash (pandora.com, Starcraft 2)
70345         * platform/graphics/cg/ImageSourceCG.cpp:
70346         (WebCore::imageSourceOptions):
70348 2009-06-30  Maciej Stachowiak  <mjs@apple.com>
70350         Reviewed by Sam Weinig.
70352         - Rename html4.css to html.css, since we target HTML5 now
70353         https://bugs.webkit.org/show_bug.cgi?id=26873
70355         * DerivedSources.make:
70356         * GNUmakefile.am:
70357         * WebCore.pro:
70358         * WebCore.vcproj/WebCore.vcproj:
70359         * WebCore.xcodeproj/project.pbxproj:
70360         * css/CSSStyleSelector.cpp:
70361         (WebCore::loadFullDefaultStyle):
70362         * css/html.css: Copied from css/html4.css.
70363         * css/html4.css: Removed.
70364         * css/themeWin.css:
70365         * platform/Theme.h:
70366         * platform/qt/RenderThemeQt.cpp:
70367         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
70368         * rendering/RenderTheme.h:
70370 2009-06-30  Zan Dobersek  <zandobersek@gmail.com>
70372         Reviewed by Gustavo Noronha.
70374         [GTK] Drag and drop support
70375         https://bugs.webkit.org/show_bug.cgi?id=23642
70377         Define DragImageRef as GdkPixbuf and implement essential
70378         functions which manipulate drag images.
70380         * platform/DragImage.h:
70381         * platform/gtk/DragImageGtk.cpp:
70382         (WebCore::dragImageSize):
70383         (WebCore::deleteDragImage):
70384         (WebCore::scaleDragImage):
70385         (WebCore::createDragImageFromImage):
70387 2009-06-30  Maxime Simon  <simon.maxime@gmail.com>
70389         Reviewed by Eric Seidel.
70391         StorageNamespace.cpp build issue
70392         https://bugs.webkit.org/show_bug.cgi?id=26859
70394         Moved #endif //ENABLE(DOM_STORAGE) position
70395         so that the build doesn't fail.
70396         The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
70397         but closed after the #endif.
70399         * storage/StorageNamespace.cpp:
70401 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
70403         Reviewed by Oliver Hunt.
70405         <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
70406         buffered time ranges
70408         * html/HTMLMediaElement.cpp:
70409             Don't ASSERT if the network state goes to Idle when when the ready state is 
70410             HaveEnoughData or higher, it is perfectly legal.
70411         (WebCore::HTMLMediaElement::setReadyState): 
70412             Don't clear m_seeking after posting a 'seeking' event.
70414         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70415         (WebCore::MediaPlayerPrivate::seek):
70416             Do nothing when asked to seek to the same time we are already seeking to. Check requested
70417             seek time against maxTimeSeekable, not maxTimeLoaded.
70418         (WebCore::MediaPlayerPrivate::doSeek):
70419             Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
70420         (WebCore::MediaPlayerPrivate::seekTimerFired):
70421             Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
70422         (WebCore::MediaPlayerPrivate::updateStates):
70423             A streaming movie has as much data as it needs once it reaches "playable", so 
70424             set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
70425             to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
70426         (WebCore::MediaPlayerPrivate::timeChanged):
70427             It may not be possible to seek to a specific time in a streamed movie but when seeking 
70428             in a streaming movie QuickTime sets the time to closest time possible and posts a  
70429             timechanged notification, so update m_seekTo so we can detect when the seek completes.
70431 2009-06-30  Steve Falkenburg  <sfalken@apple.com>
70433         https://bugs.webkit.org/show_bug.cgi?id=26860
70435         Reviewed by Sam Weinig.
70437         Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
70438         Earlier versions cause corruption crashes.
70440         * plugins/win/PluginPackageWin.cpp:
70441         (WebCore::PluginPackage::isPluginBlacklisted):
70443 2009-06-30  Dean Jackson  <dino@apple.com>
70445         Reviewed by Simon Fraser.
70447         <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
70448         
70449         Fix drawImage of video in CanvasRenderingContext2D when
70450         accelerated compositing is enabled. This is done by
70451         adding a new paint method to HTMLVideoElement that
70452         is only called from canvas, which will create the software
70453         renderer if necessary, but otherwise calls the regular
70454         paint method. Meanwhile, add logic to the software video
70455         renderer so that it can be created without calling repaint
70456         every time it sees a new frame.
70457         
70458         * html/CanvasRenderingContext2D.cpp:
70459         (WebCore::CanvasRenderingContext2D::drawImage):
70460         * html/HTMLVideoElement.cpp:
70461         (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
70462         * html/HTMLVideoElement.h:
70463         * platform/graphics/MediaPlayer.cpp:
70464         (WebCore::MediaPlayer::paintCurrentFrameInContext):
70465         * platform/graphics/MediaPlayer.h:
70466         * platform/graphics/MediaPlayerPrivate.h:
70467         (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
70468         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
70469         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70470         (WebCore::MediaPlayerPrivate::createQTMovie):
70471         (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
70472         (WebCore::MediaPlayerPrivate::currentRenderingMode):
70473         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
70474         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
70475         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
70477 2009-06-30  David Hyatt  <hyatt@apple.com>
70479         Reviewed by Beth Dakin.
70481         https://bugs.webkit.org/show_bug.cgi?id=26858
70483         Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
70484         properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
70486         Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
70488         * html/DataGridColumn.h:
70489         (WebCore::DataGridColumn::create):
70490         (WebCore::DataGridColumn::setColumnList):
70491         (WebCore::DataGridColumn::DataGridColumn):
70492         * html/DataGridColumnList.cpp:
70493         (WebCore::DataGridColumnList::add):
70494         (WebCore::DataGridColumnList::remove):
70495         (WebCore::DataGridColumnList::clear):
70496         * html/DataGridColumnList.h:
70497         * html/HTMLDataGridColElement.cpp:
70498         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
70499         (WebCore::HTMLDataGridColElement::findDatagridAncestor):
70500         (WebCore::HTMLDataGridColElement::ensureColumn):
70501         (WebCore::HTMLDataGridColElement::insertedIntoTree):
70502         (WebCore::HTMLDataGridColElement::removedFromTree):
70503         (WebCore::HTMLDataGridColElement::sortable):
70504         (WebCore::HTMLDataGridColElement::setSortable):
70505         * html/HTMLDataGridColElement.h:
70506         (WebCore::HTMLDataGridColElement::column):
70507         (WebCore::HTMLDataGridColElement::setColumn):
70508         (WebCore::HTMLDataGridColElement::datagrid):
70509         * html/HTMLDataGridElement.cpp:
70510         (WebCore::HTMLDataGridElement::setDataSource):
70511         (WebCore::HTMLDataGridElement::dataSource):
70513 2009-06-30  Jeremy Orlow (jorlow@chromium.org)
70515         Reviewed by David Levin.
70517         https://bugs.webkit.org/show_bug.cgi?id=26852
70519         Fix some minor build issues in the v8 bindings.
70521         * bindings/v8/custom/V8StorageCustom.cpp:
70522         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
70523         (WebCore::storageGetter):
70524         (WebCore::storageSetter):
70525         (WebCore::storageDeleter):
70526         * storage/StorageArea.cpp:
70528 2009-06-30  Adam Langley  <agl@google.com>
70530         Reviewed by Eric Seidel.
70532         Chromium Linux: use different fonts for each script run.
70534         https://bugs.webkit.org/show_bug.cgi?id=26853
70536         Previously, when rendering complex text, we picked a single font which
70537         could render all the glyphs needed for the run. However, this meant
70538         that sometimes lines were rendered with, for example, [LATIN, THAI,
70539         LATIN] and we could end up with a different font for the Latin parts
70540         than for lines without Thai in them.
70542         With this patch, we pick a font for each script run.
70544         This change is covered by existing layout tests.
70546         * platform/graphics/chromium/FontLinux.cpp:
70547         (WebCore::Font::drawGlyphs):
70548         (WebCore::TextRunWalker::TextRunWalker):
70549         (WebCore::TextRunWalker::~TextRunWalker):
70550         (WebCore::TextRunWalker::nextScriptRun):
70551         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
70552         (WebCore::TextRunWalker::setupFontForScriptRun):
70553         (WebCore::TextRunWalker::allocHarfbuzzFont):
70554         (WebCore::setupForTextPainting):
70555         (WebCore::Font::drawComplexText):
70556         (WebCore::Font::floatWidthForComplexText):
70557         (WebCore::Font::offsetForPositionForComplexText):
70558         (WebCore::Font::selectionRectForComplexText):
70559         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
70560         (WebCore::FontPlatformData::setupPaint):
70562 2009-06-30  Simon Fraser  <simon.fraser@apple.com>
70564         Reviewed by Dave Hyatt, Dan Bernstein.
70565         
70566         <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
70568         There are two parts to this fix. First, if a compositing layer has overflow clipping
70569         or a mask, then the compositing layer does not need to be sized to encompass all
70570         non-composited children.
70571         
70572         Second, when scrolling, we have to back up to the compositing ancestor and have
70573         it reposition descendant compositing layers, because overflow doesn't follow
70574         the z-order tree.
70575         
70576         Test: compositing/overflow/overflow-scroll.html
70578         * page/FrameView.cpp:
70579         (WebCore::FrameView::layout):
70580         Pass the UpdateCompositingLayers flag when updating layers after layout, so that
70581         we can reposition compositing layers if we're not about to do a layer rebuild.
70582         
70583         * rendering/RenderLayer.cpp:
70584         (WebCore::RenderLayer::updateLayerPositions):
70585         Only update compositing layers if the flag is set.
70586         
70587         (WebCore::RenderLayer::scrollToOffset):
70588         Do compositing layer updates from the compositing ancestor in one fell swoop.
70590         * rendering/RenderLayer.h:
70591         Replace the unused FullUpdate flag with one that allows us to specify whether
70592         compositing layers should be updated.
70593         
70594         * rendering/RenderLayerBacking.cpp:
70595         (WebCore::RenderLayerBacking::updateAfterLayout):
70596         * rendering/RenderLayerBacking.h:
70597         New param that we can pass to updateCompositingDescendantGeometry to control
70598         whether the update goes deep.
70600         * rendering/RenderLayerCompositor.cpp:
70601         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
70602         We can return earlier if this is not a self-painting layer.
70603         If the layer has overflow clip or a mask, then the composited bounds are just the
70604         local bounds, excluding descendants.
70605         
70606         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
70607         * rendering/RenderLayerCompositor.h:
70608         Renamed from updateCompositingChildrenGeometry, and added a flag that allows
70609         us to do a deep update.
70611 2009-06-30  Alexey Proskuryakov  <ap@webkit.org>
70613         Reviewed by Dan Bernstein.
70615         https://bugs.webkit.org/show_bug.cgi?id=26764
70616         Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
70618         Test: fast/parser/empty-text-resource.html
70620         * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
70621         hasn't been created yet.
70623 2009-06-30  Brian Weinstein  <bweinstein@apple.com>
70625         Reviewed by Adam Roben.
70627         Renamed scrollbarUnderPoint to scrollbarAtPoint.
70629         * page/EventHandler.cpp:
70630         (WebCore::EventHandler::hitTestResultAtPoint):
70631         (WebCore::EventHandler::handleMousePressEvent):
70632         (WebCore::EventHandler::handleMouseMoveEvent):
70633         * platform/ScrollView.cpp:
70634         (WebCore::ScrollView::scrollbarAtPoint):
70635         * platform/ScrollView.h:
70636         * platform/chromium/PopupMenuChromium.cpp:
70637         (WebCore::PopupListBox::handleMouseDownEvent):
70638         (WebCore::PopupListBox::handleMouseMoveEvent):
70640 2009-06-30  Oliver Hunt  <oliver@apple.com>
70642         Reviewed by Geoff Garen.
70644         <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const 62
70646         <select> elements and other elements the produce popups can keep their popups
70647         live across a page load.  If this occurs and the <select> element has an
70648         onchange handler it is possible to get into a state where we try to execute
70649         JS on a page that no longer has an execution context. 
70651         * bindings/js/JSLazyEventListener.cpp:
70652         (WebCore::JSLazyEventListener::parseCode):
70653           Be paranoid and add a null check, but assert as well because we shouldn't
70654           actually get to this point.
70655         * rendering/RenderMenuList.cpp:
70656         (WebCore::RenderMenuList::valueChanged):
70658 2009-06-30  Drew Wilson  <atwilson@google.com>
70660         Reviewed by David Levin.
70662         <https://bugs.webkit.org/show_bug.cgi?id=25435>
70664         Added support for sending MessagePorts to/from Workers via postMessage().
70666         * bindings/js/JSWorkerContextCustom.cpp:
70667         (WebCore::JSWorkerContext::messageChannel):
70668         Exposes MessageChannel constructor WorkerContext.
70669         * bindings/js/JSWorkerCustom.cpp:
70670         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
70671         (WebCore::CALLBACK_FUNC_DECL):
70672         Now correctly handles being instantiated from within a Worker.
70673        * platform/CrossThreadCopier.h:
70674         (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
70675         Added support for passing PassOwnPtr as argument to GenericWorkerTask
70676        * workers/GenericWorkerTask.h:
70677         (WebCore::):
70678         * workers/Worker.cpp:
70679         (WebCore::Worker::postMessage):
70680         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
70681         (WebCore::Worker::dispatchMessage):
70682         * workers/Worker.h:
70683         * workers/Worker.idl:
70684         Added an optional MessagePort argument to postMessage()
70685         * workers/WorkerContext.cpp:
70686         (WebCore::WorkerContext::hasPendingActivity):
70687         Workers now report pending activity whenever there are remotely entangled ports.
70688         (WebCore::WorkerContext::postMessage):
70689         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
70690         (WebCore::WorkerContext::dispatchMessage):
70691         * workers/WorkerContext.h:
70692         * workers/WorkerContext.idl:
70693         Added an optional MessagePort argument to postMessage()
70694         * workers/WorkerContextProxy.h:
70695         * workers/WorkerMessagingProxy.cpp:
70696         Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
70697         (WebCore::MessageWorkerContextTask::create):
70698         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
70699         (WebCore::MessageWorkerContextTask::performTask):
70700         (WebCore::MessageWorkerTask::create):
70701         (WebCore::MessageWorkerTask::MessageWorkerTask):
70702         (WebCore::MessageWorkerTask::performTask):
70703         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
70704         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
70705         * workers/WorkerMessagingProxy.h:
70706         Added additional postMessage() API that accepts a MessagePort
70707         * workers/WorkerObjectProxy.h:
70708         Added additional postMessage() API that accepts a MessagePort
70710 2009-06-30  Adam Langley  <agl@google.com>
70712         Reviewed by Eric Seidel.
70714         Chromium: Add complex text support on Linux.
70716         https://bugs.webkit.org/show_bug.cgi?id=25068
70718         This patch adds complex text support on Linux using Harfbuzz. It's not
70719         the fastest code possible: some caching of font tables will certainly
70720         be required. However, it's probably the simplest code that works.
70722         This will require checking in new baselines in the Chromium tree for
70723         those layout tests which now pass.
70725         * platform/graphics/chromium/FontLinux.cpp:
70726         (WebCore::Font::drawGlyphs):
70727         (WebCore::truncateFixedPointToInteger):
70728         (WebCore::TextRunWalker::TextRunWalker):
70729         (WebCore::TextRunWalker::~TextRunWalker):
70730         (WebCore::TextRunWalker::reset):
70731         (WebCore::TextRunWalker::setXOffsetToZero):
70732         (WebCore::TextRunWalker::rtl):
70733         (WebCore::TextRunWalker::setBackwardsIteration):
70734         (WebCore::TextRunWalker::nextScriptRun):
70735         (WebCore::TextRunWalker::glyphs):
70736         (WebCore::TextRunWalker::length):
70737         (WebCore::TextRunWalker::xPositions):
70738         (WebCore::TextRunWalker::advances):
70739         (WebCore::TextRunWalker::width):
70740         (WebCore::TextRunWalker::logClusters):
70741         (WebCore::TextRunWalker::numCodePoints):
70742         (WebCore::TextRunWalker::widthOfFullRun):
70743         (WebCore::TextRunWalker::allocHarfbuzzFont):
70744         (WebCore::TextRunWalker::deleteGlyphArrays):
70745         (WebCore::TextRunWalker::createGlyphArrays):
70746         (WebCore::TextRunWalker::expandGlyphArrays):
70747         (WebCore::TextRunWalker::shapeGlyphs):
70748         (WebCore::TextRunWalker::setGlyphXPositions):
70749         (WebCore::setupForTextPainting):
70750         (WebCore::fontPlatformDataForTextRun):
70751         (WebCore::Font::drawComplexText):
70752         (WebCore::Font::floatWidthForComplexText):
70753         (WebCore::glyphIndexForXPositionInScriptRun):
70754         (WebCore::Font::offsetForPositionForComplexText):
70755         (WebCore::Font::selectionRectForComplexText):
70756         * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
70757         (WebCore::SkiaScalarToHarfbuzzFixed):
70758         (WebCore::stringToGlyphs):
70759         (WebCore::glyphsToAdvances):
70760         (WebCore::canRender):
70761         (WebCore::getOutlinePoint):
70762         (WebCore::getGlyphMetrics):
70763         (WebCore::getFontMetric):
70764         (WebCore::harfbuzzSkiaGetTable):
70766 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
70768         Reviewed by Simon Fraser.
70770         <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
70772         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70773         (WebCore::MediaPlayerPrivate::updateStates):
70774             Always fall back to a plug-in if m_hasUnsupportedTracks is set.
70775         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
70776             Set m_hasUnsupportedTracks if we disable a track.
70778 2009-06-30  Nate Chapin  <japhet@chromium.org>
70780         Reviewed by Dimitri Glazkov.
70782         Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
70784         https://bugs.webkit.org/show_bug.cgi?id=26820
70786         * bindings/v8/V8Proxy.cpp:
70787         (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
70789 2009-06-30  Dan Bernstein  <mitz@apple.com>
70791         Reviewed by Dave Hyatt.
70793         - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
70794           to Grid" window is clipping
70796         Added an app-specific quirk to revert the behavior of <link> elements
70797         to the way it was before r30673, namely that if the rel attribute
70798         is not "stylesheet" but the type attribute contains "text/css", the
70799         link behaves as a stylesheet link.
70801         * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
70802         * html/HTMLLinkElement.cpp:
70803         (WebCore::HTMLLinkElement::process): Check
70804             Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
70805             style sheet link if the type contains "text/css".
70806         * page/Settings.cpp:
70807         (WebCore::Settings::Settings):
70808             Initialize m_treatsAnyTextCSSLinkAsStylesheet.
70809         (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
70810         * page/Settings.h:
70811         (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
70813 2009-06-30  Adrien Nader  <camaradetux@gmail.com>
70815         Reviewed by Xan Lopez.
70817         Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
70819         * GNUmakefile.am:
70821 2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
70823         Reviewed by Xan Lopez.
70825         [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
70827         * GNUmakefile.am:
70829 2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
70831         Reviewed by Simon Hausmann.
70833         <https://bugs.webkit.org/show_bug.cgi?id=26752>
70835         [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 
70837         * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
70839 2009-06-30  Xan Lopez  <xlopez@igalia.com>
70841         Reviewed by Jan Alonzo.
70843         Initialize member variables in the right order. Fixes compiler
70844         warning.
70846         * platform/image-decoders/bmp/BMPImageReader.cpp:
70847         (WebCore::BMPImageReader::BMPImageReader):
70849 2009-06-29  Xan Lopez  <xlopez@igalia.com>
70851         Reviewed by David Levin.
70853         https://bugs.webkit.org/show_bug.cgi?id=26831
70854         Fix compiler warning in WorkerLoaderProxy.h
70856         Forward declaration of a class within a class is not allowed,
70857         since the compiler can't know if the declaration is legal at that
70858         point. This gives the following compiler warning:
70860         ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
70861         "class WebCore::ScriptExecutionContext::Task" does not declare
70862         anything
70864         Include the full ScriptExecutionHeader header instead.
70866         * workers/WorkerLoaderProxy.h:
70868 2009-06-29  Xan Lopez  <xlopez@igalia.com>
70870         Reviewed by Jan Alonzo.
70872         Remove unused function.
70874         * plugins/gtk/PluginPackageGtk.cpp:
70876 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
70878         Reviewed by Dan Bernstein.
70880         Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
70881         boolean arguments. FullUpdate is unused at present, but will be used soon.
70883         * page/FrameView.cpp:
70884         (WebCore::FrameView::layout):
70885         * rendering/RenderLayer.cpp:
70886         (WebCore::RenderLayer::updateLayerPositions):
70887         (WebCore::RenderLayer::scrollToOffset):
70888         * rendering/RenderLayer.h:
70889         (WebCore::RenderLayer::):
70891 2009-06-29  Nate Chapin  <japhet@chromium.org>
70893         Reviewed by Dimitri Glazkov.
70895         Fix one more bad merge in V8Proxy.
70897         https://bugs.webkit.org/show_bug.cgi?id=26819
70899         * bindings/v8/V8Proxy.cpp:
70900         (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
70902 2009-06-29  Sam Weinig  <sam@webkit.org>
70904         Reviewed by Mark Rowe.
70906         Remove more unused scons support.
70908         * SConstruct: Removed.
70910 2009-06-29  Sam Weinig  <sam@webkit.org>
70912         Reviewed by Dave Hyatt.
70914         Fix some incorrect create functions.
70916         * html/DataGridColumn.h:
70917         (WebCore::DataGridColumn::create):
70918         * html/DataGridColumnList.h:
70919         (WebCore::DataGridColumnList::create):
70921 2009-06-29  Sam Weinig  <sam@webkit.org>
70923         Reviewed by Dave Hyatt.
70925         Remove initialize method from DataGridDataSource and add
70926         DOMDataGridDataSource.
70928         * GNUmakefile.am:
70929         * WebCore.pro:
70930         * WebCore.vcproj/WebCore.vcproj:
70931         * WebCore.xcodeproj/project.pbxproj:
70932         * WebCoreSources.bkl:
70933         * bindings/js/JSDataGridDataSource.cpp:
70934         * bindings/js/JSDataGridDataSource.h:
70935         * bindings/js/JSHTMLDataGridElementCustom.cpp:
70936         (WebCore::JSHTMLDataGridElement::setDataSource):
70937         * html/DOMDataGridDataSource.cpp: Added.
70938         (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
70939         (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
70940         * html/DOMDataGridDataSource.h: Added.
70941         (WebCore::DOMDataGridDataSource::create):
70942         (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
70943         (WebCore::asDOMDataGridDataSource):
70944         * html/DataGridDataSource.h:
70945         (WebCore::DataGridDataSource::isDOMDataGridDataSource):
70946         (WebCore::DataGridDataSource::isJSDataGridDataSource):
70947         * html/HTMLDataGridElement.cpp:
70948         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
70949         (WebCore::HTMLDataGridElement::setDataSource):
70950         (WebCore::HTMLDataGridElement::dataSource):
70951         * html/HTMLDataGridElement.h:
70953 2009-06-29  Nate Chapin  <japhet@chromium.org>
70955         Reviewed by Dimitri Glazkov.
70957         Fix a couple of bad merge items from my previous V8Proxy patch.
70959         https://bugs.webkit.org/show_bug.cgi?id=26813
70961         * bindings/v8/V8Collection.h:
70962         (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
70963         * bindings/v8/V8Proxy.cpp:
70964         (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
70966 2009-06-29  Chris Marrin  <cmarrin@apple.com>
70968         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
70970         https://bugs.webkit.org/show_bug.cgi?id=26706
70972         Fixed crash due to dereference of m_toStyle
70974         * page/animation/ImplicitAnimation.cpp:
70975         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
70977 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
70979         Reviewed by Simon Fraser.
70981         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
70983         * WebCore.base.exp: 
70984             Export _wkQTMovieGetType
70986         * platform/graphics/MediaPlayer.cpp:
70987         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
70988             Move to keep with other non-callback functions.
70989         (WebCore::MediaPlayer::movieLoadType):
70990             New, returns the movie type.
70991         * platform/graphics/MediaPlayer.h:
70992             Declare MovieLoadType enum and movieLoadType method.
70994         * platform/graphics/MediaPlayerPrivate.h:
70995         (WebCore::MediaPlayerPrivateInterface::movieLoadType):
70996             Default implementation of movieLoadType
70998         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
70999         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
71000         (WebCore::MediaPlayerPrivate::createQTMovie):
71001             Don't base m_isStreaming on protocol, there are other types of streaming movies.
71002         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
71003             Don't assume all streams are unbuffered.
71004         (WebCore::MediaPlayerPrivate::updateStates):
71005             Update m_isStreaming once we have metadata.
71006         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
71007             Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
71008         (WebCore::MediaPlayerPrivate::movieLoadType):
71009             New, return movie type.
71011         * platform/mac/WebCoreSystemInterface.h:
71012         * platform/mac/WebCoreSystemInterface.mm:
71013             Add wkQTMovieGetType.
71015 2009-06-29  Alice Liu  <alice.liu@apple.com>
71017         Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
71019         Reviewed by Anders Carlsson.
71021         No test added because the crash requires a flash plugin
71023         * plugins/win/PluginMessageThrottlerWin.cpp:
71024         Rely on the hWnd of the plugin to tell us whether the PluginView has 
71025         been deleted during execution of its wndProc.
71026         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
71028 2009-06-29  Dmitry Titov  <dimich@chromium.org>
71030         Reviewed by David Levin.
71032         https://bugs.webkit.org/show_bug.cgi?id=26811
71033          [Chromium] Remove a flag and functions used to enable workers in runtime.
71035         * bindings/v8/WorkerContextExecutionProxy.cpp:
71036         * bindings/v8/WorkerContextExecutionProxy.h:
71038 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
71040         Reviewed by Dave Hyatt.
71041         
71042         <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
71043         
71044         Improve the appearance of text in compositing layers by making use of
71045         CA's layer geometry flipping, rather that doing it ourselves with a flip
71046         transform. This allows CG to use font autohinting in the layer text.
71048         * platform/graphics/GraphicsLayer.h:
71049         (WebCore::GraphicsLayer::setGeometryOrientation):
71050         (WebCore::GraphicsLayer::geometryOrientation):
71051         New methods to set whether this layer uses flipped geometry.
71052         
71053         * platform/graphics/mac/GraphicsLayerCA.h:
71054         * platform/graphics/mac/GraphicsLayerCA.mm:
71055         (WebCore::GraphicsLayerCA::setGeometryOrientation):
71056         (WebCore::GraphicsLayerCA::geometryOrientation):
71057         Subclass in order to call into CA
71058         
71059         (WebCore::GraphicsLayerCA::setContentsLayer):
71060         Now that CA is doing the geometry flipping, we no longer need to flip the content
71061         layers for image and video manually
71062         
71063         * rendering/RenderLayerCompositor.cpp:
71064         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
71065         Turn on flipping on the root layer.
71067 2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
71069         Reviewed by Adam Treat.
71071         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
71073         Implement most WML specific <select> element features.
71074         Add 'iname' / 'ivalue' support and support variable references.
71076         Add two tests covering most select/variable related functionality.
71077         Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
71079         Tests: http/tests/wml/post-data-to-server.html
71080                wml/select-element-variables.html
71082         * dom/SelectElement.cpp:
71083         (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
71084         * dom/SelectElement.h:
71085         * html/HTMLSelectElement.cpp:
71086         (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
71087         * wml/WMLCardElement.cpp:
71088         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
71089         * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
71090         (WebCore::WMLSelectElement::title):
71091         (WebCore::WMLSelectElement::formControlName):
71092         (WebCore::WMLSelectElement::defaultEventHandler):
71093         (WebCore::WMLSelectElement::selectInitialOptions):
71094         (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
71095         (WebCore::WMLSelectElement::selectDefaultOptions):
71096         (WebCore::WMLSelectElement::initializeVariables):
71097         (WebCore::WMLSelectElement::updateVariables):
71098         (WebCore::WMLSelectElement::parseIndexValueString):
71099         (WebCore::WMLSelectElement::valueStringToOptionIndices):
71100         (WebCore::WMLSelectElement::optionIndicesToValueString):
71101         (WebCore::WMLSelectElement::optionIndicesToString):
71102         (WebCore::WMLSelectElement::name):
71103         (WebCore::WMLSelectElement::value):
71104         (WebCore::WMLSelectElement::iname):
71105         (WebCore::WMLSelectElement::ivalue):
71106         * wml/WMLSelectElement.h:
71108 2009-06-29  David Hyatt  <hyatt@apple.com>
71110         Reviewed by Adam Roben.
71112         Put <datagrid> behind an ifdef.
71114         * Configurations/FeatureDefines.xcconfig:
71115         * bindings/js/JSDataGridColumnListCustom.cpp:
71116         * bindings/js/JSDataGridDataSource.cpp:
71117         * bindings/js/JSDataGridDataSource.h:
71118         * bindings/js/JSHTMLDataGridElementCustom.cpp:
71119         * html/DataGridColumn.cpp:
71120         * html/DataGridColumn.h:
71121         * html/DataGridColumn.idl:
71122         * html/DataGridColumnList.cpp:
71123         * html/DataGridColumnList.h:
71124         * html/DataGridColumnList.idl:
71125         * html/DataGridDataSource.h:
71126         * html/HTMLDataGridCellElement.cpp:
71127         * html/HTMLDataGridCellElement.h:
71128         * html/HTMLDataGridCellElement.idl:
71129         * html/HTMLDataGridColElement.cpp:
71130         * html/HTMLDataGridColElement.h:
71131         * html/HTMLDataGridColElement.idl:
71132         * html/HTMLDataGridElement.cpp:
71133         * html/HTMLDataGridElement.h:
71134         * html/HTMLDataGridElement.idl:
71135         * html/HTMLDataGridRowElement.cpp:
71136         * html/HTMLDataGridRowElement.h:
71137         * html/HTMLDataGridRowElement.idl:
71138         * html/HTMLTagNames.in:
71139         * page/DOMWindow.idl:
71140         * rendering/RenderDataGrid.cpp:
71141         * rendering/RenderDataGrid.h:
71143 2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
71145         Reviewed by Ariya Hidayat and Adam Roben.
71147         Fix compilation with MINGW. Ported MSVC inline assembly to
71148         GNU inline assembly. Also fixed casting errors where gcc
71149         refused to cast a pointer-to-function to a pointer-to-object,
71150         without an intermediate cast to a non-pointer type.
71152         * plugins/win/PluginViewWin.cpp:
71153         (WebCore::PluginView::hookedBeginPaint):
71154         (WebCore::PluginView::hookedEndPaint):
71155         (WebCore::hook):
71156         (WebCore::setUpOffscreenPaintingHooks):
71158 2009-06-26  John Sullivan  <sullivan@apple.com>
71160         Added Speech submenu to context menu on Mac when there's a non-editable selection
71161         (it was already present when there's an editable selection). 
71162         Also added support for disabling "Stop Speaking" when there is no speaking to stop.
71164         Reviewed by Tim Hatcher.
71166         * loader/EmptyClients.h:
71167         (WebCore::EmptyContextMenuClient::isSpeaking):
71168         implemented this new virtual function to return false
71169         
71170         * page/ContextMenuClient.h:
71171         declared this new pure virtual function
71172         
71173         * platform/ContextMenu.cpp:
71174         (WebCore::ContextMenu::populate):
71175         insert Speech item (after a separator) on Mac when there's selected non-editable text
71176         (WebCore::ContextMenu::checkOrEnableIfNeeded):
71177         enable Stop Speaking item only if the context menu client returns true for isSpeaking()
71179 2009-06-28  Dan Bernstein  <mitz@apple.com>
71181         Reviewed by Simon Fraser.
71183         - fix https://bugs.webkit.org/show_bug.cgi?id=26783
71184           <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
71185           in MobileMe iDisk Web App
71187         Test: added a case to fast/dom/Element/scrollWidth.html
71189         Ensure that scroll{Width, Height} is greater or equal to
71190         client{Width, Height}.
71192         * rendering/RenderBox.cpp:
71193         (WebCore::RenderBox::scrollWidth):
71194         (WebCore::RenderBox::scrollHeight):
71196 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
71198         Reviewed by Eric Seidel.
71200         https://bugs.webkit.org/show_bug.cgi?id=26780
71201         
71202         Do not make compositing layers for non-self-painting RenderLayers,
71203         since these exist only to push a clip onto the clipping stack. If such
71204         a layer gets compositied for some other reason, it should not paint.
71205         
71206         Also ensure that we update composited layer positions correctly
71207         inside overflow:scroll layers. We can't assume that the contents
71208         are child layers, so we have to go up to the compositing ancestor,
71209         and tell it to update all its child layer positions as we do 
71210         after layout.
71212         Tests: compositing/layers-inside-overflow-scroll.html
71213                compositing/self-painting-layers.html
71215         * rendering/RenderLayer.cpp:
71216         (WebCore::RenderLayer::scrollToOffset):
71217         * rendering/RenderLayerBacking.cpp:
71218         (WebCore::RenderLayerBacking::paintIntoLayer):
71219         * rendering/RenderLayerCompositor.cpp:
71220         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
71221         (WebCore::RenderLayerCompositor::needsToBeComposited):
71223 2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
71225         Reviewed by Eric Seidel.
71227         PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
71228         https://bugs.webkit.org/show_bug.cgi?id=23057
71230         Define these functions for Gtk as well.
71232         * platform/PurgeableBuffer.h:
71234 2009-06-28  Nate Chapin  <japhet@chromium.org>
71236         Reviewed by Dimitri Glazkov.
71238         Update CodeGeneratorV8.pm to match the new api for V8Proxy.
71240         https://bugs.webkit.org/show_bug.cgi?id=26765
71242         * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
71244 2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
71246         Reviewed by Dimitri Glazkov.
71248         If loading a font fails because of the sandbox, we ask the browser process to 
71249         try to load it by calling ensureFontLoaded. If it still fails after 
71250         ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
71252         This case happens once in a while during browser shutdown. The browser will 
71253         queue a message to the renderer to shutdown, and will then stop answering sync 
71254         messages from the renderer. If the renderer is still loading a page during this 
71255         time, it might try to call the browser process to ask to load a font. The 
71256         browser process will ignore the request, and the font will fail to load, even 
71257         after the second try. 
71259         This is unfortunate, but there is no real risk here, since the renderer will be 
71260         going away as soon as it processes another message. 
71262         This can't be layout tested as it depends on the sandbox. 
71264         https://bugs.webkit.org/show_bug.cgi?id=26743 
71266         * platform/graphics/chromium/FontChromiumWin.cpp:
71267         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
71268         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
71269         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
71271 2009-06-28  John Abd-El-Malek  <jam@chromium.org>
71273         Reviewed by Eric Seidel.
71275         https://bugs.webkit.org/show_bug.cgi?id=15457
71277         Test: plugins/netscape-plugin-map-data-to-src.html
71279         Fix problems with Real or WMP plugins not displaying because "data" was set
71280         on the OBJECT tag instead of "src".  This is based on what Firefox does, see
71281         http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
71283         * rendering/RenderPartObject.cpp:
71284         (WebCore::mapDataParamToSrc):
71285         (WebCore::RenderPartObject::updateWidget):
71287 2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
71289         Reviewed by Jan Alonzo.
71291         [Qt] Build fix after r45290
71292         https://bugs.webkit.org/show_bug.cgi?id=26769
71294         * WebCore.pro:
71296 2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
71298         Reviewed by Jan Alonzo.
71300         [GTK] Don't use deprecated GTKsymbols.
71301         https://bugs.webkit.org/show_bug.cgi?id=26583
71303         * plugins/gtk/gtk2xtbin.c:
71304         (gtk_xtbin_class_init):
71305         (gtk_xtbin_new):
71306         (gtk_xtbin_destroy):
71308 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
71310         Reviewed by Dan Bernstein.
71312         https://bugs.webkit.org/show_bug.cgi?id=26780
71313         
71314         Fix up previous change. When computeCompositingRequirements() determines
71315         that the current layer is composited, it needs to inform its parent
71316         by setting compositingState.m_subtreeIsCompositing() to true. That didn't
71317         always happen after the previous patch. Clarified the logic here.
71318         
71319         * rendering/RenderLayerCompositor.cpp:
71320         (WebCore::CompositingState::CompositingState):
71321         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
71323 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
71325         Reviewed by Dan Bernstein.
71327         https://bugs.webkit.org/show_bug.cgi?id=26780
71328         
71329         First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
71330         correctly.
71332         * rendering/RenderLayerCompositor.cpp:
71333         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
71334         Do not unconditionally set compositingState.m_subtreeIsCompositing, because
71335         that can clobber the value from an earlier sibling. Add some more comments.
71336         
71337         Remove a final use of Vector iterators.
71338         
71339         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
71340         Move the normalFlowList() processing outside the test for isStackingContext().
71342 2009-06-27  Dan Bernstein  <mitz@apple.com>
71344         Reviewed by Simon Fraser and Antti Koivisto.
71346         - make paintFillLayerExtended() non-virtual and remove its clipY and
71347           clipH parameters
71349         These parameters were computed and passed along to
71350         paintFillLayerExtended in order to vertically constrain the rect fill to
71351         the damage rect, because Qt cannot paint tall rectangles (see
71352         <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
71353         is passed along in the PaintInfo, the extra parameters are redundant,
71354         and the intersection can just take place in paintFillLayerExtended().
71356         * rendering/InlineFlowBox.cpp:
71357         (WebCore::InlineFlowBox::paintFillLayers):
71358         (WebCore::InlineFlowBox::paintFillLayer):
71359         (WebCore::InlineFlowBox::paintBoxDecorations):
71360         (WebCore::InlineFlowBox::paintMask):
71361         * rendering/InlineFlowBox.h:
71362         * rendering/RenderBox.cpp:
71363         (WebCore::RenderBox::paintRootBoxDecorations):
71364         (WebCore::RenderBox::paintBoxDecorations):
71365         (WebCore::RenderBox::paintMask):
71366         (WebCore::RenderBox::paintMaskImages):
71367         (WebCore::RenderBox::paintFillLayers):
71368         (WebCore::RenderBox::paintFillLayer):
71369         * rendering/RenderBox.h:
71370         * rendering/RenderBoxModelObject.cpp:
71371         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
71372         * rendering/RenderBoxModelObject.h:
71373         * rendering/RenderFieldset.cpp:
71374         (WebCore::RenderFieldset::paintBoxDecorations):
71375         (WebCore::RenderFieldset::paintMask):
71376         * rendering/RenderTable.cpp:
71377         (WebCore::RenderTable::paintBoxDecorations):
71378         (WebCore::RenderTable::paintMask):
71379         * rendering/RenderTableCell.cpp:
71380         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
71381         (WebCore::RenderTableCell::paintMask):
71383 2009-06-27  Ryosuke Niwa  <rniwa@google.com>
71385         Reviewed by Eric Seidel.
71387         https://bugs.webkit.org/show_bug.cgi?id=26762
71389         Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
71390         https://bugs.webkit.org/show_bug.cgi?id=21712
71392         Added few utility functions to htmlediting.h/cpp
71394         isVisibilyAdjacent checks whether the first position is visibly next to the second position.
71395         i.e. there is no visible node between the first and second positions
71397         canMergeLists checks whether two lists can be merged.
71398         It checks the type of list, the editing boundary, and adjacency of the lists.
71400         Tests: editing/execCommand/indent-nested-lists-1.html
71401                editing/execCommand/indent-nested-lists-2.html
71402                editing/execCommand/indent-nested-lists-3.html
71403                editing/execCommand/indent-nested-lists-4.html
71404                editing/execCommand/indent-nested-lists-5.html
71405                editing/execCommand/indent-nested-lists-6.html
71406                editing/execCommand/indent-nested-lists-7.html
71407                editing/execCommand/outdent-nested-lists-1.html
71408                editing/execCommand/outdent-nested-lists-2.html
71409                editing/execCommand/outdent-nested-lists-3.html
71410                editing/execCommand/outdent-nested-lists-4.html
71412         * editing/IndentOutdentCommand.cpp:
71413         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
71414         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
71415         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
71416         (WebCore::IndentOutdentCommand::indentRegion):
71417         * editing/IndentOutdentCommand.h:
71418         * editing/htmlediting.cpp:
71419         (WebCore::enclosingListChild):
71420         (WebCore::canMergeLists):
71421         (WebCore::isVisibilyAdjacent):
71422         * editing/htmlediting.h:
71424 2009-06-27  Pavel Feldman  <pfeldman@chromium.org>
71426         Reviewed by Timothy Hatcher.
71428         WebInspector: Fix completion when iterating options using Tab.
71430         https://bugs.webkit.org/show_bug.cgi?id=26722
71432         * inspector/front-end/TextPrompt.js:
71433         (WebInspector.TextPrompt.prototype._completionsReady):
71435 2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
71437         Reviewed by Holger Freyther.
71439         https://bugs.webkit.org/show_bug.cgi?id=25889
71440         [GTK] scrollbar policy for main frame is not implementable
71442         Override visibleContentRect to handle GTK+'s case, in which
71443         scrollbars or equivalent decoration are painted by the parent
71444         widget.
71446         * platform/ScrollView.cpp:
71447         * platform/gtk/ScrollViewGtk.cpp:
71448         (WebCore::ScrollView::visibleContentRect):
71450 2009-06-27  Daniel Bates  <dbates@intudata.com>
71452         Reviewed by Adam Barth.
71454         https://bugs.webkit.org/show_bug.cgi?id=26708
71455         
71456         Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
71457         and UTF-7 encoded payloads.   
71459         Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
71460                http/tests/security/xssAuditor/iframe-javascript-url.html
71461                http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
71462                http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
71464         * html/HTMLTokenizer.cpp:
71465         (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
71466         (WebCore::HTMLTokenizer::parseTag):
71467         * loader/FrameLoader.cpp:
71468         (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
71469         as to compare against iFrame javascript URL.
71470         * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
71471         isControlCharacter in ResourceResponseBase.cpp.
71472         (WebCore::XSSAuditor::XSSAuditor):
71473         (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
71474         (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
71475         of iFrame javascript URL.
71476         * page/XSSAuditor.h: Added field m_parentFrame.
71477         * platform/network/ResourceResponseBase.cpp:
71478         (WebCore::isControlCharacter):
71479         * platform/network/ResourceResponseBase.h:
71481 2009-06-27  Oliver Hunt  <oliver@apple.com>
71483         Reviewed by Maciej Stachowiak.
71485         Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
71487         The drawImage(<video>) logic naively assumes that it just needs
71488         to check the src attribute of the video element when in fact it
71489         needs to look at the url that is being played instead.  Failure
71490         to do this means that video provided through source elements 
71491         taints the canvas.
71493         Test: media/video-canvas-source.html
71495         * html/CanvasRenderingContext2D.cpp:
71496         (WebCore::CanvasRenderingContext2D::checkOrigin):
71497         (WebCore::CanvasRenderingContext2D::drawImage):
71498         * html/CanvasRenderingContext2D.h:
71500 2009-06-26  Brian Weinstein  <bweinstein@apple.com>
71502         Reviewed by Simon Fraser.
71504         https://bugs.webkit.org/show_bug.cgi?id=26695
71505         
71506         Added the ability to do scrollbar hit testing in EventHandler, changed the
71507         signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
71508         to scrollbarUnderPoint, and updated all calls to that function.        
71510         * page/EventHandler.cpp:
71511         (WebCore::EventHandler::hitTestResultAtPoint):
71512         (WebCore::EventHandler::handleMousePressEvent):
71513         (WebCore::EventHandler::handleMouseMoveEvent):
71514         * page/EventHandler.h:
71515         (WebCore::):
71516         * platform/PlatformWheelEvent.h:
71517         * platform/ScrollView.cpp:
71518         (WebCore::ScrollView::scrollbarUnderPoint):
71519         * platform/ScrollView.h:
71520         * platform/chromium/PopupMenuChromium.cpp:
71521         (WebCore::PopupListBox::handleMouseDownEvent):
71522         (WebCore::PopupListBox::handleMouseMoveEvent):
71523         * platform/win/WheelEventWin.cpp:
71524         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
71527 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
71529         Reviewed by Dan Bernstein.
71531         <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
71532         
71533         Don't go into compositing mode just for opacity transitions, but they will be
71534         hardware acclerated if we're already compositing.
71536         * rendering/RenderLayerCompositor.cpp:
71537         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
71538         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
71539         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
71540         * rendering/RenderLayerCompositor.h:
71542 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
71544         Rubber-stamped by Dave Levin
71546         Rename ioCompState to compositingState to better match WebCore coding style.
71547         
71548         * rendering/RenderLayerCompositor.cpp:
71549         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
71550         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
71552 2009-06-26  Dan Bernstein  <mitz@apple.com>
71554         Reviewed by Mark Rowe.
71556         - revert unintentional project changes from r45277
71558         * WebCore.xcodeproj/project.pbxproj:
71560 2009-06-26  Mark Rowe  <mrowe@apple.com>
71562         Fix the Windows build.
71564         * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
71565         the file was deleted from SVN.
71567 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
71569         Reviewed by Dan Bernstein.
71571         https://bugs.webkit.org/show_bug.cgi?id=26766
71573         Change to use array indexing rather than Vector enumerators; the former
71574         are preferred style.
71576         * rendering/RenderLayerBacking.cpp:
71577         (WebCore::RenderLayerBacking::hasNonCompositingContent):
71578         * rendering/RenderLayerCompositor.cpp:
71579         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
71580         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
71581         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
71582         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
71583         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
71584         (WebCore::RenderLayerCompositor::layerHas3DContent):
71586 2009-06-26  Dan Bernstein  <mitz@apple.com>
71588         Reviewed by Oliver Hunt.
71590         - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
71591           as 1 px
71593         Test: fast/dom/Element/scrollWidth.html
71595         Changed scrollWidth and scrollHeight to use the same logic for
71596         visible overflow boxes that is used for clipped overflow boxes. In
71597         particular, borders are not included and
71598         {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
71600         * rendering/RenderBox.cpp:
71601         (WebCore::RenderBox::scrollWidth):
71602         (WebCore::RenderBox::scrollHeight):
71604 2009-06-26  Chris Fleizach  <cfleizach@apple.com>
71606         Reviewed by Oliver Hunt.
71608         Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
71609         https://bugs.webkit.org/show_bug.cgi?id=26725
71611         Tests: accessibility/aria-disabled.html
71612                accessibility/aria-hidden.html
71613                accessibility/aria-readonly.html
71615         * accessibility/AccessibilityRenderObject.cpp:
71616         (WebCore::AccessibilityRenderObject::ariaIsHidden):
71617         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
71618         (WebCore::AccessibilityRenderObject::isEnabled):
71619         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
71620         * accessibility/AccessibilityRenderObject.h:
71621         * html/HTMLAttributeNames.in:
71623 2009-06-26  Brett Wilson  <brettw@chromium.org>
71625         Reviewed by David Levin.
71627         https://bugs.webkit.org/show_bug.cgi?id=26759
71629         GIFImageDecoder is broken.
71631         Make the GIFImageDecoder.repetitionCount function const to match the
71632         base class. The mismatched definitions were causing the function to not
71633         get called.
71635         * platform/image-decoders/gif/GIFImageDecoder.cpp:
71636         (WebCore::GIFImageDecoder::repetitionCount):
71637         * platform/image-decoders/gif/GIFImageDecoder.h:
71639 2009-06-26  Chris Marrin  <cmarrin@apple.com>
71641         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
71643         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
71645         The flag should always default to true to avoid it getting set
71646         to false in a build with accelerated compositing turned off
71647         and then disabling accelerated compositing when subsequently
71648         running a build with it turned on.
71650         * page/Settings.cpp:
71651         (WebCore::Settings::Settings):
71653 2009-06-26  Brady Eidson  <beidson@apple.com>
71655         Reviewed by Sam Weinig.
71657         Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
71659         Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
71661         * platform/network/mac/ResourceHandleMac.mm:
71662         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
71663         * platform/network/mac/WebCoreURLResponse.h:
71665 2009-06-26  Jeremy Orlow  <jorlow@chromium.org>
71667         Reviewed by Darin Fisher.
71669         https://bugs.webkit.org/show_bug.cgi?id=26732
71671         For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
71672         combine LocalStorage and SessionStorage into StorageNamespace. The
71673         synching code (for LocalStorage) has already been removed, so these
71674         classes are now very similar.  All they do is essentially contain a
71675         logical grouping of origins that are attached to specific contexts
71676         (be it PageGroups for LocalStorage and Page for SessionStorage).
71678         * GNUmakefile.am:
71679         * WebCore.vcproj/WebCore.vcproj:
71680         * WebCore.xcodeproj/project.pbxproj:
71681         * WebCoreSources.bkl:
71682         * page/Chrome.cpp:
71683         (WebCore::Chrome::createWindow):
71684         * page/DOMWindow.cpp:
71685         (WebCore::DOMWindow::localStorage):
71686         * page/DOMWindow.h:
71687         * page/Page.cpp:
71688         (WebCore::Page::sessionStorage):
71689         (WebCore::Page::setSessionStorage):
71690         * page/Page.h:
71691         * page/PageGroup.cpp:
71692         (WebCore::PageGroup::localStorage):
71693         * page/PageGroup.h:
71694         * storage/LocalStorage.cpp: Removed.
71695         * storage/LocalStorage.h: Removed.
71696         * storage/LocalStorageTask.cpp:
71697         * storage/LocalStorageThread.cpp:
71698         * storage/SessionStorage.cpp: Removed.
71699         * storage/SessionStorage.h: Removed.
71700         * storage/StorageArea.cpp:
71701         (WebCore::StorageArea::create):
71702         (WebCore::StorageArea::StorageArea):
71703         (WebCore::StorageArea::copy):
71704         (WebCore::StorageArea::length):
71705         (WebCore::StorageArea::key):
71706         (WebCore::StorageArea::getItem):
71707         (WebCore::StorageArea::setItem):
71708         (WebCore::StorageArea::removeItem):
71709         (WebCore::StorageArea::clear):
71710         (WebCore::StorageArea::contains):
71711         (WebCore::StorageArea::importItem):
71712         (WebCore::StorageArea::close):
71713         (WebCore::StorageArea::dispatchStorageEvent):
71714         * storage/StorageArea.h:
71715         (WebCore::):
71716         * storage/StorageAreaSync.cpp:
71717         (WebCore::StorageAreaSync::scheduleFinalSync):
71718         * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
71719         (WebCore::localStorageNamespaceMap):
71720         (WebCore::StorageNamespace::localStorageNamespace):
71721         (WebCore::StorageNamespace::sessionStorageNamespace):
71722         (WebCore::StorageNamespace::StorageNamespace):
71723         (WebCore::StorageNamespace::~StorageNamespace):
71724         (WebCore::StorageNamespace::copy):
71725         (WebCore::StorageNamespace::storageArea):
71726         (WebCore::StorageNamespace::close):
71727         * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
71729 2009-06-26  Nate Chapin  <japhet@chromium.org>
71731         Reviewed by David Levin.
71733         Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
71735         https://bugs.webkit.org/show_bug.cgi?id=26623
71737         * bindings/v8/ScheduledAction.cpp:
71738         (WebCore::ScheduledAction::ScheduledAction):
71739         (WebCore::ScheduledAction::~ScheduledAction):
71740         (WebCore::ScheduledAction::execute):
71741         * bindings/v8/ScriptCallStack.cpp:
71742         (WebCore::ScriptCallStack::ScriptCallStack):
71743         * bindings/v8/ScriptController.cpp:
71744         (WebCore::ScriptController::isSafeScript):
71745         (WebCore::ScriptController::gcProtectJSWrapper):
71746         (WebCore::ScriptController::gcUnprotectJSWrapper):
71747         (WebCore::ScriptController::processingUserGesture):
71748         (WebCore::ScriptController::evaluate):
71749         (WebCore::ScriptController::setEventHandlerLineNumber):
71750         (WebCore::ScriptController::bindToWindowObject):
71751         (WebCore::ScriptController::collectGarbage):
71752         (WebCore::ScriptController::haveInterpreter):
71753         (WebCore::createScriptObject):
71754         (WebCore::ScriptController::createScriptObjectForPluginElement):
71755         * bindings/v8/ScriptInstance.cpp:
71756         (WebCore::V8ScriptInstance::clear):
71757         (WebCore::V8ScriptInstance::set):
71758         * bindings/v8/ScriptObject.cpp:
71759         (WebCore::ScriptGlobalObject::set):
71760         * bindings/v8/ScriptObjectQuarantine.cpp:
71761         (WebCore::getQuarantinedScriptObject):
71762         * bindings/v8/ScriptScope.cpp:
71763         (WebCore::ScriptScope::ScriptScope):
71764         * bindings/v8/ScriptValue.h:
71765         (WebCore::ScriptValue::ScriptValue):
71766         (WebCore::ScriptValue::operator=):
71767         (WebCore::ScriptValue::clear):
71768         * bindings/v8/V8AbstractEventListener.cpp:
71769         (WebCore::V8AbstractEventListener::invokeEventHandler):
71770         (WebCore::V8AbstractEventListener::handleEvent):
71771         (WebCore::V8AbstractEventListener::disposeListenerObject):
71772         (WebCore::V8AbstractEventListener::getReceiverObject):
71773         * bindings/v8/V8Collection.cpp:
71774         (WebCore::toOptionsCollectionSetter):
71775         * bindings/v8/V8Collection.h:
71776         (WebCore::getV8Object):
71777         (WebCore::getNamedPropertyOfCollection):
71778         (WebCore::nodeCollectionNamedPropertyGetter):
71779         (WebCore::getIndexedPropertyOfCollection):
71780         (WebCore::nodeCollectionIndexedPropertyGetter):
71781         (WebCore::nodeCollectionIndexedPropertyEnumerator):
71782         (WebCore::collectionIndexedPropertyEnumerator):
71783         (WebCore::collectionStringOrNullIndexedPropertyGetter):
71784         * bindings/v8/V8DOMMap.cpp:
71785         (WebCore::weakDOMObjectCallback):
71786         (WebCore::DOMData::removeObjectsFromWrapperMap):
71787         * bindings/v8/V8Helpers.cpp:
71788         (WebCore::wrapNPObject):
71789         (WebCore::toV8Context):
71790         * bindings/v8/V8LazyEventListener.cpp:
71791         (WebCore::V8LazyEventListener::~V8LazyEventListener):
71792         (WebCore::V8LazyEventListener::getListenerFunction):
71793         (WebCore::V8LazyEventListener::callListenerFunction):
71794         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
71795         * bindings/v8/V8NodeFilterCondition.cpp:
71796         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
71797         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
71798         (WebCore::V8NodeFilterCondition::acceptNode):
71799         * bindings/v8/V8ObjectEventListener.cpp:
71800         (WebCore::weakObjectEventListenerCallback):
71801         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
71802         * bindings/v8/V8Proxy.cpp: Added.
71803         * bindings/v8/V8Proxy.h:
71804         (WebCore::):
71805         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
71806         (WebCore::V8Proxy::):
71807         (WebCore::V8Proxy::V8Proxy):
71808         (WebCore::V8Proxy::frame):
71809         (WebCore::V8Proxy::inlineCode):
71810         (WebCore::V8Proxy::setInlineCode):
71811         (WebCore::V8Proxy::timerCallback):
71812         (WebCore::V8Proxy::setTimerCallback):
71813         (WebCore::V8Proxy::setEventHandlerLineNumber):
71814         (WebCore::V8Proxy::finishedWithEvent):
71815         (WebCore::V8Proxy::wrapCPointer):
71816         (WebCore::V8Proxy::extractCPointer):
71817         (WebCore::V8Proxy::convertDOMWrapperToNative):
71818         (WebCore::V8Proxy::convertDOMWrapperToNode):
71819         (WebCore::V8Proxy::convertToV8Object):
71820         (WebCore::V8Proxy::convertToNativeObject):
71821         (WebCore::V8Proxy::convertToNativeEvent):
71822         (WebCore::V8Proxy::context):
71823         (WebCore::V8Proxy::extractCPointerImpl):
71824         (WebCore::V8Proxy::utilityContext):
71825         (WebCore::V8Proxy::constructDOMObject):
71826         (WebCore::throwError):
71827         (WebCore::toV8):
71828         * bindings/v8/V8Utilities.h:
71829         * bindings/v8/WorkerContextExecutionProxy.cpp:
71830         (WebCore::WorkerContextExecutionProxy::retrieve):
71831         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
71832         (WebCore::WorkerContextExecutionProxy::GetConstructor):
71833         (WebCore::WorkerContextExecutionProxy::ToV8Object):
71834         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
71835         (WebCore::WorkerContextExecutionProxy::toV8):
71836         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
71837         (WebCore::WorkerContextExecutionProxy::evaluate):
71838         (WebCore::WorkerContextExecutionProxy::runScript):
71839         * bindings/v8/custom/V8AttrCustom.cpp:
71840         (WebCore::ACCESSOR_SETTER):
71841         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
71842         (WebCore::NAMED_PROPERTY_GETTER):
71843         (WebCore::NAMED_PROPERTY_SETTER):
71844         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
71845         (WebCore::INDEXED_PROPERTY_GETTER):
71846         (WebCore::INDEXED_PROPERTY_SETTER):
71847         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
71848         (WebCore::toV8):
71849         (WebCore::toCanvasStyle):
71850         (WebCore::ACCESSOR_GETTER):
71851         (WebCore::ACCESSOR_SETTER):
71852         (WebCore::CALLBACK_FUNC_DECL):
71853         * bindings/v8/custom/V8ClientRectListCustom.cpp:
71854         (WebCore::INDEXED_PROPERTY_GETTER):
71855         * bindings/v8/custom/V8ClipboardCustom.cpp:
71856         (WebCore::ACCESSOR_GETTER):
71857         (WebCore::CALLBACK_FUNC_DECL):
71858         * bindings/v8/custom/V8CustomBinding.cpp:
71859         (WebCore::allowSettingFrameSrcToJavascriptUrl):
71860         (WebCore::ACCESSOR_GETTER):
71861         (WebCore::INDEXED_ACCESS_CHECK):
71862         (WebCore::NAMED_ACCESS_CHECK):
71863         (WebCore::V8Custom::GetTargetFrame):
71864         * bindings/v8/custom/V8CustomEventListener.cpp:
71865         (WebCore::V8EventListener::V8EventListener):
71866         (WebCore::V8EventListener::~V8EventListener):
71867         (WebCore::V8EventListener::callListenerFunction):
71868         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
71869         (WebCore::V8CustomSQLStatementCallback::handleEvent):
71870         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
71871         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
71872         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
71873         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
71874         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
71875         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
71876         * bindings/v8/custom/V8CustomVoidCallback.cpp:
71877         (WebCore::V8CustomVoidCallback::handleEvent):
71878         (WebCore::invokeCallback):
71879         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
71880         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
71881         * bindings/v8/custom/V8DOMParserConstructor.cpp:
71882         (WebCore::CALLBACK_FUNC_DECL):
71883         * bindings/v8/custom/V8DOMWindowCustom.cpp:
71884         (WebCore::V8Custom::WindowSetTimeoutImpl):
71885         (WebCore::convertBase64):
71886         (WebCore::ACCESSOR_SETTER):
71887         (WebCore::CALLBACK_FUNC_DECL):
71888         (WebCore::ACCESSOR_GETTER):
71889         (WebCore::createWindow):
71890         (WebCore::INDEXED_PROPERTY_GETTER):
71891         (WebCore::NAMED_PROPERTY_GETTER):
71892         (WebCore::V8Custom::ClearTimeoutImpl):
71893         (WebCore::NAMED_ACCESS_CHECK):
71894         (WebCore::INDEXED_ACCESS_CHECK):
71895         * bindings/v8/custom/V8DatabaseCustom.cpp:
71896         (WebCore::CALLBACK_FUNC_DECL):
71897         * bindings/v8/custom/V8DocumentCustom.cpp:
71898         (WebCore::CALLBACK_FUNC_DECL):
71899         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
71900         (WebCore::ACCESSOR_GETTER):
71901         (WebCore::ACCESSOR_SETTER):
71902         * bindings/v8/custom/V8ElementCustom.cpp:
71903         (WebCore::CALLBACK_FUNC_DECL):
71904         (WebCore::ACCESSOR_SETTER):
71905         (WebCore::ACCESSOR_GETTER):
71906         * bindings/v8/custom/V8EventCustom.cpp:
71907         (WebCore::ACCESSOR_SETTER):
71908         (WebCore::ACCESSOR_GETTER):
71909         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
71910         (WebCore::CALLBACK_FUNC_DECL):
71911         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
71912         (WebCore::getNamedItems):
71913         (WebCore::getItem):
71914         (WebCore::NAMED_PROPERTY_GETTER):
71915         (WebCore::CALLBACK_FUNC_DECL):
71916         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
71917         (WebCore::NAMED_PROPERTY_GETTER):
71918         (WebCore::CALLBACK_FUNC_DECL):
71919         (WebCore::ACCESSOR_GETTER):
71920         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
71921         (WebCore::INDEXED_PROPERTY_GETTER):
71922         (WebCore::NAMED_PROPERTY_GETTER):
71923         (WebCore::CALLBACK_FUNC_DECL):
71924         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
71925         (WebCore::ACCESSOR_SETTER):
71926         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
71927         (WebCore::NAMED_PROPERTY_GETTER):
71928         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
71929         (WebCore::ACCESSOR_SETTER):
71930         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
71931         (WebCore::CALLBACK_FUNC_DECL):
71932         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
71933         (WebCore::ACCESSOR_GETTER):
71934         (WebCore::ACCESSOR_SETTER):
71935         (WebCore::CALLBACK_FUNC_DECL):
71936         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
71937         (WebCore::CALLBACK_FUNC_DECL):
71938         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
71939         (WebCore::CALLBACK_FUNC_DECL):
71940         (WebCore::ACCESSOR_GETTER):
71941         (WebCore::ACCESSOR_SETTER):
71942         (WebCore::INDEXED_PROPERTY_GETTER):
71943         (WebCore::INDEXED_PROPERTY_SETTER):
71944         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
71945         (WebCore::NAMED_PROPERTY_GETTER):
71946         (WebCore::NAMED_PROPERTY_SETTER):
71947         (WebCore::INDEXED_PROPERTY_GETTER):
71948         (WebCore::INDEXED_PROPERTY_SETTER):
71949         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
71950         (WebCore::NAMED_PROPERTY_GETTER):
71951         (WebCore::INDEXED_PROPERTY_SETTER):
71952         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
71953         (WebCore::CALLBACK_FUNC_DECL):
71954         (WebCore::removeElement):
71955         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
71956         (WebCore::CALLBACK_FUNC_DECL):
71957         * bindings/v8/custom/V8LocationCustom.cpp:
71958         (WebCore::ACCESSOR_SETTER):
71959         (WebCore::ACCESSOR_GETTER):
71960         (WebCore::CALLBACK_FUNC_DECL):
71961         (WebCore::INDEXED_ACCESS_CHECK):
71962         (WebCore::NAMED_ACCESS_CHECK):
71963         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
71964         (WebCore::CALLBACK_FUNC_DECL):
71965         * bindings/v8/custom/V8MessagePortCustom.cpp:
71966         (WebCore::ACCESSOR_GETTER):
71967         (WebCore::ACCESSOR_SETTER):
71968         (WebCore::CALLBACK_FUNC_DECL):
71969         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
71970         (WebCore::INDEXED_PROPERTY_GETTER):
71971         (WebCore::NAMED_PROPERTY_GETTER):
71972         * bindings/v8/custom/V8NavigatorCustom.cpp:
71973         (WebCore::ACCESSOR_GETTER):
71974         * bindings/v8/custom/V8NodeCustom.cpp:
71975         (WebCore::CALLBACK_FUNC_DECL):
71976         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
71977         (WebCore::toV8):
71978         (WebCore::CALLBACK_FUNC_DECL):
71979         * bindings/v8/custom/V8NodeListCustom.cpp:
71980         (WebCore::NAMED_PROPERTY_GETTER):
71981         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
71982         (WebCore::CALLBACK_FUNC_DECL):
71983         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
71984         (WebCore::CALLBACK_FUNC_DECL):
71985         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
71986         (WebCore::CALLBACK_FUNC_DECL):
71987         * bindings/v8/custom/V8SVGLengthCustom.cpp:
71988         (WebCore::ACCESSOR_GETTER):
71989         (WebCore::CALLBACK_FUNC_DECL):
71990         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
71991         (WebCore::CALLBACK_FUNC_DECL):
71992         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
71993         (WebCore::NAMED_PROPERTY_GETTER):
71994         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
71995         (WebCore::toV8):
71996         (WebCore::CALLBACK_FUNC_DECL):
71997         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
71998         (WebCore::CALLBACK_FUNC_DECL):
71999         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
72000         (WebCore::CALLBACK_FUNC_DECL):
72001         * bindings/v8/custom/V8WorkerContextCustom.cpp:
72002         (WebCore::ACCESSOR_GETTER):
72003         (WebCore::ACCESSOR_SETTER):
72004         (WebCore::SetTimeoutOrInterval):
72005         (WebCore::CALLBACK_FUNC_DECL):
72006         * bindings/v8/custom/V8WorkerCustom.cpp:
72007         (WebCore::CALLBACK_FUNC_DECL):
72008         (WebCore::getEventListener):
72009         (WebCore::ACCESSOR_GETTER):
72010         (WebCore::ACCESSOR_SETTER):
72011         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
72012         (WebCore::CALLBACK_FUNC_DECL):
72013         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
72014         (WebCore::getEventListener):
72015         (WebCore::ACCESSOR_GETTER):
72016         (WebCore::ACCESSOR_SETTER):
72017         (WebCore::CALLBACK_FUNC_DECL):
72018         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
72019         (WebCore::ACCESSOR_GETTER):
72020         (WebCore::ACCESSOR_SETTER):
72021         (WebCore::CALLBACK_FUNC_DECL):
72022         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
72023         (WebCore::CALLBACK_FUNC_DECL):
72024         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
72025         (WebCore::CALLBACK_FUNC_DECL):
72026         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
72027         (WebCore::CALLBACK_FUNC_DECL):
72029 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
72031         Reviewed by Tim Hatcher.
72033         <rdar://problem/7011047> Profiler shows the record button 'on' even
72034         though it's finished
72036         I consolidated the creation of the user initiated profile name into
72037         its own function and then called it from console::profile instead of
72038         calling startUserInitiatedProfiling().  This way we don't call
72039         toggleRecordButton() which turns on the record button.
72041         * inspector/InspectorController.cpp:
72042         (WebCore::InspectorController::didCommitLoad):
72043         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
72044         (WebCore::InspectorController::startUserInitiatedProfiling):
72045         (WebCore::InspectorController::stopUserInitiatedProfiling):
72046         * inspector/InspectorController.h:
72047         * page/Console.cpp:
72048         (WebCore::Console::profile):
72049         (WebCore::Console::profileEnd):
72051 2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
72053         Reviewed by Eric Seidel.
72055         https://bugs.webkit.org/show_bug.cgi?id=26691
72057         Cleanup: Move focusRingColor to RenderTheme.
72059         Most of this CL involves deleting files and removing dead code.
72061         focusRingColor() is now defined in RenderTheme rather than in
72062         misc. places on each port.  The default color is specified as
72063         black in renderTheme and ports can override it in their own
72064         custom renderThemes.
72066         Behavior should be identical except for the following cases,
72067         this lists platform and what the focus ring color used to be
72068         before this cl and the file where it used to be defined:
72070         Android - red
72071         WebCore/platform/android/TemporaryLinkStubs.cpp
72073         Cairo - aqua focus ring color - 0xFF7DADD9
72074         WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
72076         wx - red
72077         WebCore/platform/wx/TemporaryLinkStubs.cpp
72079         QT - black
72080         WebCore/platform/graphics/qt/GraphicsContextQt.cpp
72082         Manual test: manual-tests/focusringcolor-change-on-theme-change.html
72084         * css/CSSStyleSelector.cpp:
72085         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
72086         * manual-tests/focusringcolor-change-on-theme-change.html: Added.
72087         * platform/android/TemporaryLinkStubs.cpp:
72088         * platform/graphics/cairo/GraphicsContextCairo.cpp:
72089         * platform/graphics/chromium/ColorChromium.cpp: Removed.
72090         * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
72091         * platform/graphics/mac/ColorMac.h:
72092         * platform/graphics/mac/ColorMac.mm:
72093         (WebCore::oldAquaFocusRingColor):
72094         (WebCore::setUsesTestModeFocusRingColor):
72095         (WebCore::usesTestModeFocusRingColor):
72096         * platform/graphics/qt/GraphicsContextQt.cpp:
72097         * platform/graphics/skia/GraphicsContextSkia.cpp:
72098         (WebCore::GraphicsContext::drawFocusRing):
72099         * platform/graphics/win/ColorSafari.cpp: Removed.
72100         * platform/wx/TemporaryLinkStubs.cpp:
72101         * rendering/RenderTheme.cpp:
72102         (WebCore::RenderTheme::focusRingColor):
72103         * rendering/RenderTheme.h:
72104         * rendering/RenderThemeChromiumMac.h:
72105         * rendering/RenderThemeChromiumMac.mm:
72106         (WebCore::RenderThemeChromiumMac::focusRingColor):
72107         (WebCore::RenderThemeChromiumMac::systemColor):
72108         * rendering/RenderThemeChromiumSkia.cpp:
72109         (WebCore::RenderThemeChromiumSkia::focusRingColor):
72110         * rendering/RenderThemeChromiumSkia.h:
72111         * rendering/RenderThemeMac.h:
72112         * rendering/RenderThemeMac.mm:
72113         (WebCore::RenderThemeMac::focusRingColor):
72114         (WebCore::RenderThemeMac::systemColor):
72115         * rendering/RenderThemeSafari.cpp:
72116         (WebCore::makeRGBAFromCGColor):
72117         (WebCore::RenderThemeSafari::focusRingColor):
72118         * rendering/RenderThemeSafari.h:
72120 2009-06-26  Dmitry Titov  <dimich@chromium.org>
72122         Reviewed by David Levin.
72124         https://bugs.webkit.org/show_bug.cgi?id=26761
72125         [Chromium] Enable Dedicated Workers in Chromium.
72127         * bindings/v8/custom/V8WorkerCustom.cpp:
72128         (WebCore::CALLBACK_FUNC_DECL):
72129         Remove the check that prevented workers from being created w/o a command-line switch.
72130         The flag itself and methods will be removed in a subsequent patch, after
72131         corresponding change in Chromium.
72133 2009-06-26  Jessie Berlin  <jberlin@apple.com>
72135         Reviewed by Mark Rowe.
72136         
72137         Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
72138         Where the m_mouseDown event was never being set on windows, so the
72139         client X and Y coordinates were always being reported as zero in a
72140         dragstart handler.
72142         Test: editing/selection/drag-start-event-client-x-y.html
72144         * page/EventHandler.cpp:
72145         (WebCore::EventHandler::handleMousePressEvent):
72146         Set the m_mouseDown event when the mouse press is handled.
72147         * page/mac/EventHandlerMac.mm:
72148         (WebCore::EventHandler::mouseDown):
72149         Removed now redundant setting of m_mouseDown.
72151 2009-06-26  Brady Eidson  <beidson@apple.com>
72153         Tiger build fix
72155         * WebCore.xcodeproj/project.pbxproj:
72156         * platform/network/mac/WebCoreURLResponse.mm:
72157         (swizzleMIMETypeMethodIfNecessary):
72159 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
72161         Reviewed by Sam Weinig.
72163         https://bugs.webkit.org/show_bug.cgi?id=26681
72164         Problem updating applicationCache when server returns 304
72165         
72166         Improve the fix, make the test pass on Tiger.
72168         * loader/appcache/ApplicationCacheGroup.cpp:
72169         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
72170         current item from list.
72172         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
72173         conditional requests that cannot be cached by network layer cause errors with default cache
72174         policy.
72176 2009-06-26  Brady Eidson  <beidson@apple.com>
72178         Reviewed by Sam Weinig
72180         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
72182         When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
72183         didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
72184         knew about.
72186         By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
72187         type mappings that are missing in CoreType's database.
72189         Test: platform/mac/fast/loader/file-url-mimetypes.html
72191         * platform/network/mac/ResourceHandleMac.mm:
72192         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
72193           WebCoreURLResponse.
72195         * platform/network/mac/ResourceResponseMac.mm:
72196         (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
72197           where we do all MIMEType correction.
72199         * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
72200           implementation of MIMEType.
72201         * platform/network/mac/WebCoreURLResponse.mm:
72202         (createBinaryExtensionsSet):
72203         (createExtensionToMIMETypeMap):
72204         (swizzleMIMETypeMethodIfNecessary):
72205         (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
72206           extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
72207           implemented in _webcore_MIMEType.
72209         * svg/graphics/SVGImage.cpp:
72210         (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
72212 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
72214         Reviewed by Simon Fraser.
72216         Show the fullscreen button only if the backend has support for it.
72218         https://bugs.webkit.org/show_bug.cgi?id=26661
72220         No test since this is not reachable via the DOM.
72222         * html/HTMLMediaElement.h:
72223         (WebCore::HTMLMediaElement::supportsFullscreen): new
72224         * html/HTMLVideoElement.h:
72225         (WebCore::HTMLVideoElement::supportsFullscreen): new
72226         * platform/graphics/MediaPlayer.cpp:
72227         (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
72228         (WebCore::MediaPlayer::supportsFullscreen): new
72229         * platform/graphics/MediaPlayer.h: new
72230         * platform/graphics/MediaPlayerPrivate.h: new
72231         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
72232         * rendering/MediaControlElements.cpp:
72233         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
72234         * rendering/MediaControlElements.h:
72236 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
72238         Reviewed by Simon Fraser.
72240         <rdar://problem/7007776> Controller doesn't automatically update counters when file
72241         is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
72243         Update the time display when the movie time changes.
72245         * rendering/RenderMedia.cpp:
72246         (WebCore::RenderMedia::updateControls):
72248 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
72250         Reviewed by Simon Fraser.
72252         https://bugs.webkit.org/show_bug.cgi?id=26659
72254         Support hidding a control bar element from the Media element controller.
72256         Update layout tests since the fullscreen button no longer has a renderer.
72258         * rendering/MediaControlElements.cpp:
72259         (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
72260         is updated properly.
72261         (WebCore::MediaControlInputElement::MediaControlInputElement):
72262         (WebCore::MediaControlInputElement::update): call updateStyle()
72263         (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
72264         or not depending on what rendererIsNeeded() return.
72265         * rendering/MediaControlElements.h:
72267 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
72269         Reviewed by Oliver Hunt.
72271         <rdar://problem/6968137> Profiler title numbers increment even after a
72272         reload.
72274         - Now the numbers are reset when the profiles are.
72276         * inspector/InspectorController.cpp:
72277         (WebCore::InspectorController::didCommitLoad):
72279 2009-06-26  Adele Peterson  <adele@apple.com>
72281         Reviewed by Darin Adler.
72283         Fix for <rdar://problem/7000796>
72284         REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
72286         Test: editing/inserting/break-blockquote-after-delete.html
72288         Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
72289         typing command, keep that flag up to date.
72291         In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
72292         was following an open Delete command, which does preserve the typing style.  So we were applying the original
72293         typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
72295         * editing/TypingCommand.cpp:
72296         (WebCore::TypingCommand::TypingCommand):
72297         (WebCore::TypingCommand::typingAddedToOpenCommand):
72298         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
72299         (WebCore::TypingCommand::insertLineBreak):
72300         (WebCore::TypingCommand::insertParagraphSeparator):
72301         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
72302         (WebCore::TypingCommand::deleteKeyPressed):
72303         (WebCore::TypingCommand::forwardDeleteKeyPressed):
72304         (WebCore::TypingCommand::deleteSelection):
72305         (WebCore::TypingCommand::updatePreservesTypingStyle):
72306         * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
72308 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
72310         Reviewed by Simon Hausmann.
72312         Add support for saving and loading of QWebHistory to and from a QByteArray.
72314         This includes streaming operators for QWebHistory. for convenience.
72316         New autotests that test QWebHistory and QWebHistoryItem serialization.
72318         * WebCore.pro:
72319         * history/HistoryItem.h:
72320         (WebCore::HistoryItem::dailyVisitCounts):
72321         (WebCore::HistoryItem::weeklyVisitCounts):
72322         * history/qt/HistoryItemQt.cpp: Added.
72323         (WebCore::HistoryItem::restoreState):
72324         (WebCore::HistoryItem::saveState):
72326 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
72328         Reviewed by Simon Hausmann.
72330         Add support for QDataStream operators to String and IntPoint.
72332         * platform/graphics/IntPoint.h:
72333         (WebCore::operator<<):
72334         (WebCore::operator>>):
72335         * platform/text/PlatformString.h:
72336         * platform/text/qt/StringQt.cpp:
72337         (WebCore::operator<<):
72338         (WebCore::operator>>):
72340 2009-06-26  Ben Murdoch  <benm@google.com>
72342         Reviewed by Darin Fisher.
72344         Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
72345         https://bugs.webkit.org/show_bug.cgi?id=26757
72347         * bindings/v8/custom/V8StorageCustom.cpp
72349 2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
72351         Reviewed by Eric Seidel.
72353         Test: platform/qt/fast/events/event-sender-keydown-frame.html
72355         Bug 20303: [Qt] Key events are not working in frames.
72357         Merge scrolling handling code in qt and win port, move it to
72358         EventHandler.
72360         * page/EventHandler.cpp:
72361         (WebCore::EventHandler::scrollRecursively):
72362         * page/EventHandler.h:
72364 2009-06-26  Rob Buis  <rwlbuis@gmail.com>
72366         Reviewed by Eric Seidel.
72368         https://bugs.webkit.org/show_bug.cgi?id=26682
72369         Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
72371         Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
72373         Test: svg/custom/createImageElement.svg
72375         * svg/SVGAnimatedProperty.h:
72376         (WebCore::synchronizeProperty):
72378 2009-06-26  Takeshi Yoshino  <tyoshino@google.com>
72380         Reviewed by Timothy Hatcher.
72382         Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
72383         https://bugs.webkit.org/show_bug.cgi?id=26156
72385         When in view-source mode, render the contents using HTMLViewSourceDocument
72386         regardless it's applicable for any plugin or not.
72388         Chromium tells WebCore to render the contents of specified URL when
72389         view-source: prefix is added to the URL. But currently, DOMImplementation
72390         ignores inViewSourceMode() when the MIME type is indicating that the contents
72391         are neither texts nor HTML family documents.
72393         For example, we can check the contents of asf file without launching media
72394         player. Rendering contents for view-source:-specified input is not what user
72395         expects.
72397         http://code.google.com/p/chromium/issues/detail?id=10545
72399         I want to fix this issue by this patch. IMHO, regardless of this Chromium
72400         specific issue, I think we should force use of HTMLViewSourceDocument when
72401         inViewSourceMode() is specified.
72403         Test: fast/frames/viewsource-on-image-file.html
72405         * dom/DOMImplementation.cpp:
72406         (WebCore::DOMImplementation::createDocument):
72407         * html/HTMLViewSourceDocument.cpp:
72408         (WebCore::HTMLViewSourceDocument::createTokenizer):
72409         * html/HTMLViewSourceDocument.h:
72411 2009-06-26  Xan Lopez  <xlopez@igalia.com>
72413         Reviewed by Jan Alonzo.
72415         https://bugs.webkit.org/show_bug.cgi?id=25529
72416         [Gtk] Expected states not exposed to assistive technologies
72418         Add support for VISIBLE, EDITABLE and SENSITIVE states.
72420         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
72421         (setAtkStateSetFromCoreObject):
72423 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
72425         Reviewed by Darin Adler.
72427         "Pointer to incomplete class type is not allowed" error with RVCT
72428         https://bugs.webkit.org/show_bug.cgi?id=26721
72430         Based on Norbert Leser's work.
72432         * dom/Document.cpp:
72433         (WebCore::Document::setFocusedNode):
72434         * dom/Node.cpp:
72435         (WebCore::Node::dispatchMouseEvent):
72436         * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
72437         to eliminate dependency on the Event class definition
72439 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
72441         Reviewed by Maciej Stachowiak.
72443         [Qt] Build fix after r45183
72444         https://bugs.webkit.org/show_bug.cgi?id=26748
72446         * WebCore.pro:
72448 2009-06-25  Alexey Proskuryakov  <ap@webkit.org>
72450         Reviewed by Darin Adler.
72452         https://bugs.webkit.org/show_bug.cgi?id=26681
72453         <rdar://problem/7003461> Problem updating applicationCache when server returns 304
72455         Test: http/tests/appcache/update-cache.html
72457         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
72458         We're already done with the resource, don't try to load it again.
72460 2009-06-25  Simon Fraser  <simon.fraser@apple.com>
72462         Reviewed by Oliver Hunt.
72463         
72464         <rdar://problem/6990481>
72465         
72466         Handle perspective computation on non-layer objects.
72468         Test: transforms/3d/general/perspective-non-layer.html
72470         * rendering/RenderObject.cpp:
72471         (WebCore::RenderObject::getTransformFromContainer):
72473 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
72475         Reviewed by Eric Seidel.
72477         https://bugs.webkit.org/show_bug.cgi?id=26653
72479         Use flex box in the mediaControls.css style, to nicely scale if a button gets
72480         dynamically added or removed.
72482         Media tests results are affected by this changes.
72484         * css/mediaControls.css:
72485         * css/mediaControlsQT.css:
72487 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
72489         Reviewed by Darin Fisher.
72491         https://bugs.webkit.org/show_bug.cgi?id=26724
72493         Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
72494         up into RenderThemeChromiumSkia.
72496         * rendering/RenderThemeChromiumSkia.cpp:
72497         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
72498         * rendering/RenderThemeChromiumSkia.h:
72499         * rendering/RenderThemeChromiumWin.cpp:
72500         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
72501         * rendering/RenderThemeChromiumWin.h:
72503 2009-06-25  Matt Perry  <mpcomplete@chromium.org>
72505         Reviewed by Darin Fisher.
72507         https://bugs.webkit.org/show_bug.cgi?id=26733
72509         Add V8-only methods to FrameLoaderClient that V8 can use to send
72510         out notifications when it creates/destroys a script context.
72512         * loader/EmptyClients.h:
72513         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
72514         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
72515         * loader/FrameLoaderClient.h:
72516         (WebCore::FrameLoaderClient::didCreateScriptContext):
72517         (WebCore::FrameLoaderClient::didDestroyScriptContext):
72519 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
72521         Reviewed by David Levin.
72523         Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
72524         to match WebKit style.
72526         * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
72528 2009-06-25  Adam Langley  <agl@google.com>
72530         TBRed: fix for Chromium tree.
72532         Add missing include for r45199.
72534         https://bugs.webkit.org/show_bug.cgi?id=26736
72536         r45199 added a reference to throwError without including V8Proxy.h
72538         * bindings/v8/WorkerScriptController.cpp:
72540 2009-06-25  Adam Langley  <agl@google.com>
72542         TBRed: fix for Chromium tree.
72544         https://bugs.webkit.org/show_bug.cgi?id=26735
72546         Fix V8IsolatedWorld to point to the correct include file.
72548         The deprecated v8_index.h was removed from the Chromium tree in r19291
72549         and upstreamed into WebKit with r45193. However V8IsolatedWorld
72550         slipped in between the cracks and broke the build.
72552         * bindings/v8/V8IsolatedWorld.h: update with new header location.
72554 2009-06-25  Chris Marrin  <cmarrin@apple.com>
72556         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
72558         https://bugs.webkit.org/show_bug.cgi?id=26651
72559         
72560         Preference is named "WebKitAcceleratedCompositingEnabled"
72561         and is a boolean value. When false, prevents compositing layers from
72562         being created, which prevents hardware animation from running.
72563         Also forces video to do software rendering. Added a cache for
72564         the flag in RenderLayerCompositing and made it all work
72565         on-the-fly when the flag is changed while a page is loaded.
72567         * WebCore.base.exp:
72568         * page/FrameView.cpp:
72569         (WebCore::FrameView::updateCompositingLayers):
72570         * page/Settings.cpp:
72571         (WebCore::setNeedsReapplyStylesInAllFrames):
72572         (WebCore::Settings::Settings):
72573         (WebCore::Settings::setAcceleratedCompositingEnabled):
72574         * page/Settings.h:
72575         (WebCore::Settings::acceleratedCompositingEnabled):
72576         * rendering/RenderLayer.cpp:
72577         (WebCore::RenderLayer::hasAcceleratedCompositing):
72578         (WebCore::RenderLayer::updateTransform):
72579         (WebCore::RenderLayer::currentTransform):
72580         * rendering/RenderLayer.h:
72581         * rendering/RenderLayerBacking.cpp:
72582         (WebCore::RenderLayerBacking::updateLayerTransform):
72583         * rendering/RenderLayerCompositor.cpp:
72584         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
72585         (WebCore::RenderLayerCompositor::enableCompositingMode):
72586         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
72587         (WebCore::RenderLayerCompositor::updateCompositingLayers):
72588         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
72589         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
72590         (WebCore::RenderLayerCompositor::needsToBeComposited):
72591         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
72592         * rendering/RenderLayerCompositor.h:
72593         (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
72594         * rendering/RenderObject.h:
72595         (WebCore::makeMatrixRenderable):
72597 2009-06-25  Jian Li  <jianli@chromium.org>
72599         Reviewed by Dimitri Glazkov.
72601         Bug 26701: Implement the missing code for "FIXME: Need to return an
72602         exception" in WorkerScriptController::evaluate for v8 bindings.
72603         https://bugs.webkit.org/show_bug.cgi?id=26701
72605         * bindings/v8/WorkerScriptController.cpp:
72606         (WebCore::WorkerScriptController::evaluate):
72608 2009-06-25  Nate Chapin  <japhet@chromium.org>
72610         Reviewed by Dimitri Glazkov.
72612         Upstream V8Index.
72614         https://bugs.webkit.org/show_bug.cgi?id=26495
72616         * bindings/v8/V8Index.cpp: Added.
72617         (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
72618         (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
72619         * bindings/v8/V8Index.h:
72620         (WebCore::V8ClassIndex::): Moved from src.chromium.org.
72621         (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
72622         (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
72624 2009-06-25  Adam Langley  <agl@google.com>
72626         Reviewed by Darin Fisher.
72628         https://bugs.webkit.org/show_bug.cgi?id=26529
72630         This is hopefully the last step before our renderers can run
72631         cleanly in a chroot.
72633         WebKit needs to be able to ask for the correct font to use in
72634         the case that the current font doesn't include glyphs for
72635         certain code points. Currently we make a fontconfig call in our
72636         WebKit port to handle this.
72638         This patch changes this so that the call is sent our via
72639         ChromiumBridge.
72641         http://codereview.chromium.org/132007
72643         This should not affect any layout tests.
72645         * platform/chromium/ChromiumBridge.h:
72646         * platform/graphics/chromium/FontCacheLinux.cpp:
72647         (WebCore::FontCache::getFontDataForCharacters):
72649 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
72651         Reviewed by David Levin.
72653         https://bugs.webkit.org/show_bug.cgi?id=26566
72654         Upstream these files from the chromium v8 code.  No tests were
72655         affected because this is essentially a code move.
72657         * bindings/v8/NPV8Object.cpp: Added.
72658         (allocV8NPObject):
72659         (freeV8NPObject):
72660         (listFromVariantArgs):
72661         (npIdentifierToV8Identifier):
72662         (npCreateV8ScriptObject):
72663         (NPN_Invoke):
72664         (NPN_InvokeDefault):
72665         (NPN_Evaluate):
72666         (NPN_EvaluateHelper):
72667         (NPN_GetProperty):
72668         (NPN_SetProperty):
72669         (NPN_RemoveProperty):
72670         (NPN_HasProperty):
72671         (NPN_HasMethod):
72672         (NPN_SetException):
72673         (NPN_Enumerate):
72674         (NPN_Construct):
72675         * bindings/v8/NPV8Object.h: Added.
72676         (PrivateIdentifier::):
72677         * bindings/v8/V8NPUtils.cpp: Added.
72678         (convertV8ObjectToNPVariant):
72679         (convertNPVariantToV8Object):
72680         (getStringIdentifier):
72681         * bindings/v8/V8NPUtils.h: Added.
72683 2009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>
72685         Reviewed by Dimitri Glazkov.
72687         https://bugs.webkit.org/show_bug.cgi?id=26436
72689         Windows Chromium bug fix: save context of destination canvas in
72690         TransparencyWin::compositeTextComposite() before the function
72691         modifies the context.
72693         Test: fast/canvas/translate-text.html
72695         * platform/graphics/chromium/TransparencyWin.cpp:
72696         (WebCore::TransparencyWin::compositeTextComposite):
72698 2009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
72700         Reviewed by Timothy Hatcher.
72702         Show the filename and first line for "(program)" in the Profiler/Debugger
72703         https://bugs.webkit.org/show_bug.cgi?id=25475
72705         Add support to associate a sourceURL with an eval()'d string
72706         via a @sourceURL comment.  Currently the sourceURL is only available
72707         in the script debugger, not in the console or profiler, but it's
72708         most needed in the script debugger.
72710         * English.lproj/localizedStrings.js: added new "(program): %s" string
72711         * inspector/front-end/Script.js:
72712         (WebInspector.Script): if no sourceURL is available for the Script,
72713         search for a comment of the form //@ sourceURL=(url) to use
72714         as the sourceURL instead.
72715         * manual-tests/inspector/named-evals.html: Added.
72717 2009-06-25  John Gregg  <johnnyg@google.com>
72719         Reviewed by Sam Weinig.
72721         Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
72722         https://bugs.webkit.org/show_bug.cgi?id=23721
72724         onchange events fire when a SELECT element has
72725         focus and the selectedIndex is updated by script in some way--either
72726         during another onchange, onkeypress, onfocus, or timer--and then
72727         focus is lost. 
72729         Fixed by making a separate method for user-driven selectedIndex 
72730         changes, leaving scripts to use one which doesn't cause onchange to
72731         be queued.
72732         
72733         Test: fast/forms/select-script-onchange.html
72735         * dom/SelectElement.cpp: check if the pending change is user driven
72736         before calling onchange
72737         (WebCore::SelectElement::menuListOnChange):
72738         (WebCore::SelectElement::setSelectedIndex):
72739         * dom/SelectElement.h: store whether the pending change is user driven
72740         (WebCore::SelectElementData::userDrivenChange):
72741         (WebCore::SelectElementData::setUserDrivenChange):
72742         * html/HTMLSelectElement.cpp: split into two methods -- script version
72743         [non-user-driven] corresponds to IDL defined property name
72744         (WebCore::HTMLSelectElement::setSelectedIndex):
72745         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
72746         * html/HTMLSelectElement.h: 
72747         * rendering/RenderMenuList.cpp: use ByUser method when coming through
72748         the renderer
72749         (WebCore::RenderMenuList::valueChanged):
72751 2009-06-25  Jeremy Orlow  <jorlow@chromium.org>
72753         Reviewed by Darin Fisher.
72755         https://bugs.webkit.org/show_bug.cgi?id=26698
72757         Combined LocalStorageArea and SessionStorageArea into StorageArea since
72758         (after my other refactorings) there are no longer substantial
72759         differences between the two.
72761         * GNUmakefile.am:
72762         * WebCore.vcproj/WebCore.vcproj:
72763         * WebCore.xcodeproj/project.pbxproj:
72764         * WebCoreSources.bkl:
72765         * storage/LocalStorage.cpp:
72766         (WebCore::LocalStorage::storageArea):
72767         * storage/LocalStorage.h:
72768         * storage/LocalStorageArea.cpp: Removed.
72769         * storage/LocalStorageArea.h: Removed.
72770         * storage/SessionStorage.cpp:
72771         (WebCore::SessionStorage::copy):
72772         (WebCore::SessionStorage::storageArea):
72773         * storage/SessionStorage.h:
72774         * storage/SessionStorageArea.cpp: Removed.
72775         * storage/SessionStorageArea.h: Removed.
72776         * storage/StorageArea.cpp:
72777         (WebCore::StorageArea::createLocalStorage):
72778         (WebCore::StorageArea::StorageArea):
72779         (WebCore::StorageArea::createSessionStorage):
72780         (WebCore::StorageArea::copy):
72781         (WebCore::StorageArea::setItem):
72782         (WebCore::StorageArea::removeItem):
72783         (WebCore::StorageArea::clear):
72784         (WebCore::StorageArea::scheduleFinalSync):
72785         (WebCore::StorageArea::blockUntilImportComplete):
72786         (WebCore::StorageArea::dispatchStorageEvent):
72787         * storage/StorageArea.h:
72788         * storage/StorageAreaSync.cpp:
72789         (WebCore::StorageAreaSync::StorageAreaSync):
72790         (WebCore::StorageAreaSync::scheduleFinalSync):
72791         (WebCore::StorageAreaSync::syncTimerFired):
72792         (WebCore::StorageAreaSync::performImport):
72793         * storage/StorageAreaSync.h:
72794         * storage/StorageSyncManager.h:
72796 2009-06-25  Dan Bernstein  <mitz@apple.com>
72798         Reviewed by Darin Adler.
72800         - fix https://bugs.webkit.org/show_bug.cgi?id=26671
72801           <rdar://problem/7001880> Safari 4.0 crashes in
72802           WebCore::DOMTimer::fired()
72804         Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
72806         When a "style sheet candidate" element is removed from a document,
72807         call Document::removeStyleSheetCandidateNode() regardless of whether
72808         the document is rendered. Otherwise, the document's style sheet
72809         candidate set can end up containing stale references.
72811         * dom/ProcessingInstruction.cpp:
72812         (WebCore::ProcessingInstruction::removedFromDocument):
72813         * html/HTMLLinkElement.cpp:
72814         (WebCore::HTMLLinkElement::removedFromDocument):
72815         * html/HTMLStyleElement.cpp:
72816         (WebCore::HTMLStyleElement::removedFromDocument):
72818 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
72820         Reviewed by Darin Fisher.
72822         Update CodeGeneratorV8.pm to sync up with the changes downstream.
72824         * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
72825           FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
72827 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
72829         Unreviewed, build fix.
72831         Add FileList.h include to fix Chromium build.
72833         * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
72835 2009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>
72837         Reviewed by Jan Alonzo.
72839         Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
72840         https://bugs.webkit.org/show_bug.cgi?id=26489
72842         Fixed a Typo in a Web Inspector error message.
72844         * English.lproj/localizedStrings.js:
72845         * inspector/front-end/DatabaseQueryView.js:
72846         (WebInspector.DatabaseQueryView.prototype._queryError):
72848 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
72850         Fix the Qt build, add missing StorageAreaSync files to the build.
72852         * WebCore.pro:
72854 2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
72856         Reviewed by and done with Tor Arne Vestbø.
72858         Fix shortcut keyboard handling with plugins on the Qt/Mac build.
72860         When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
72861         empty. If we're asked to disambiguate the event into a Char keyboard event,
72862         we try to detect this situation and still set the text, to ensure that the
72863         general event handling sends a key press event after this disambiguation.
72865         * platform/qt/PlatformKeyboardEventQt.cpp:
72866         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
72868 2009-06-25  Eric Seidel  <eric@webkit.org>
72870         Build fix only, no review.
72872         Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
72874         * platform/gtk/ClipboardGtk.cpp:
72875         * platform/qt/ClipboardQt.cpp:
72876         * platform/win/ClipboardWin.cpp:
72877         * platform/wx/ClipboardWx.cpp:
72879 2009-05-21  Eric Seidel  <eric@webkit.org>
72881         Reviewed by Maciej Stachowiak.
72883         Expose files in the clipboard in ondrop events
72884         https://bugs.webkit.org/show_bug.cgi?id=25916
72886         Make it possible for applications like gmail to implement
72887         drag and drop of attachments onto email messages.
72889         This patch exposes an event.dataTransfer.files accessor
72890         on the drop event.  No information is exposed during dragover.
72891         This follows the HTML 5 drag and drop security model:
72892         http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
72893         The test http/tests/security/clipboard/clipboard-file-access.html
72894         verifies this behavior.
72896         Internet Explorer shows historical documentation of supporting
72897         getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
72898         http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
72899         has removed this reference (as far as I can tell IE never implemented it)
72900         I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
72901         IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
72903         I choose not to use IE's getData('File') and instead added .files
72904         so that the accessor could have a type, matching WebKit's existing
72905         .files accessor on HTMLInputElement.
72907         Mozilla has equivalent file access:
72908         event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
72909         which also does not return a typed value.
72910         https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
72912         This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
72913         have incomplete Clipboard implementations and will require experts from those platforms
72914         to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();
72916         Test: http/tests/security/clipboard/clipboard-file-access.html
72918         * dom/Clipboard.h:
72919         * dom/Clipboard.idl:
72920         * platform/chromium/ClipboardChromium.cpp:
72921         (WebCore::ClipboardChromium::files):
72922         * platform/chromium/ClipboardChromium.h:
72923         * platform/gtk/ClipboardGtk.cpp:
72924         (WebCore::ClipboardGtk::files):
72925         * platform/gtk/ClipboardGtk.h:
72926         * platform/mac/ClipboardMac.h:
72927         * platform/mac/ClipboardMac.mm:
72928         (WebCore::absoluteURLsFromPasteboardFilenames):
72929         (WebCore::absoluteURLsFromPasteboard):
72930         (WebCore::ClipboardMac::files):
72931         * platform/qt/ClipboardQt.cpp:
72932         (WebCore::ClipboardQt::files):
72933         * platform/qt/ClipboardQt.h:
72934         * platform/win/ClipboardWin.cpp:
72935         (WebCore::ClipboardWin::files):
72936         * platform/win/ClipboardWin.h:
72937         * platform/wx/ClipboardWx.cpp:
72938         (WebCore::ClipboardWx::files):
72939         * platform/wx/ClipboardWx.h:
72941 2009-06-25  Eric Seidel  <eric@webkit.org>
72943         No review, only completing revert of r45144.
72945         Add back files deleted by r45144.
72947         * storage/LocalStorageArea.cpp: Added.
72948         (WebCore::LocalStorageArea::create):
72949         (WebCore::LocalStorageArea::LocalStorageArea):
72950         (WebCore::LocalStorageArea::scheduleFinalSync):
72951         (WebCore::LocalStorageArea::itemChanged):
72952         (WebCore::LocalStorageArea::itemRemoved):
72953         (WebCore::LocalStorageArea::areaCleared):
72954         (WebCore::LocalStorageArea::blockUntilImportComplete):
72955         (WebCore::LocalStorageArea::dispatchStorageEvent):
72956         * storage/LocalStorageArea.h: Added.
72957         * storage/SessionStorageArea.cpp: Added.
72958         (WebCore::SessionStorageArea::copy):
72959         (WebCore::SessionStorageArea::SessionStorageArea):
72960         (WebCore::SessionStorageArea::itemChanged):
72961         (WebCore::SessionStorageArea::itemRemoved):
72962         (WebCore::SessionStorageArea::areaCleared):
72963         (WebCore::SessionStorageArea::blockUntilImportComplete):
72964         (WebCore::SessionStorageArea::dispatchStorageEvent):
72965         * storage/SessionStorageArea.h: Added.
72966         (WebCore::SessionStorageArea::create):
72968 2009-06-25  Eric Seidel  <eric@webkit.org>
72970         No review, reverting r45144 only.
72972         Roll out r45144 after 18 test failures appeared on the bots.
72973         https://bugs.webkit.org/show_bug.cgi?id=26698
72975         * GNUmakefile.am:
72976         * WebCore.vcproj/WebCore.vcproj:
72977         * WebCore.xcodeproj/project.pbxproj:
72978         * WebCoreSources.bkl:
72979         * storage/LocalStorage.cpp:
72980         (WebCore::LocalStorage::storageArea):
72981         * storage/LocalStorage.h:
72982         * storage/SessionStorage.cpp:
72983         (WebCore::SessionStorage::copy):
72984         (WebCore::SessionStorage::storageArea):
72985         * storage/SessionStorage.h:
72986         * storage/StorageArea.cpp:
72987         (WebCore::StorageArea::StorageArea):
72988         (WebCore::StorageArea::~StorageArea):
72989         (WebCore::StorageArea::setItem):
72990         (WebCore::StorageArea::removeItem):
72991         (WebCore::StorageArea::clear):
72992         * storage/StorageArea.h:
72993         * storage/StorageAreaSync.cpp:
72994         (WebCore::StorageAreaSync::StorageAreaSync):
72995         (WebCore::StorageAreaSync::scheduleFinalSync):
72996         (WebCore::StorageAreaSync::syncTimerFired):
72997         (WebCore::StorageAreaSync::performImport):
72998         * storage/StorageAreaSync.h:
72999         * storage/StorageSyncManager.h:
73001 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
73003         Reviewed by Darin Fisher.
73005         https://bugs.webkit.org/show_bug.cgi?id=26698
73007         Combined LocalStorageArea and SessionStorageArea into StorageArea since
73008         (after my other refactorings) there are no longer substantial
73009         differences between the two.
73011         * GNUmakefile.am:
73012         * WebCore.vcproj/WebCore.vcproj:
73013         * WebCore.xcodeproj/project.pbxproj:
73014         * WebCoreSources.bkl:
73015         * storage/LocalStorage.cpp:
73016         (WebCore::LocalStorage::storageArea):
73017         * storage/LocalStorage.h:
73018         * storage/LocalStorageArea.cpp: Removed.
73019         * storage/LocalStorageArea.h: Removed.
73020         * storage/SessionStorage.cpp:
73021         (WebCore::SessionStorage::copy):
73022         (WebCore::SessionStorage::storageArea):
73023         * storage/SessionStorage.h:
73024         * storage/SessionStorageArea.cpp: Removed.
73025         * storage/SessionStorageArea.h: Removed.
73026         * storage/StorageArea.cpp:
73027         (WebCore::StorageArea::createLocalStorage):
73028         (WebCore::StorageArea::StorageArea):
73029         (WebCore::StorageArea::createSessionStorage):
73030         (WebCore::StorageArea::copy):
73031         (WebCore::StorageArea::setItem):
73032         (WebCore::StorageArea::removeItem):
73033         (WebCore::StorageArea::clear):
73034         (WebCore::StorageArea::scheduleFinalSync):
73035         (WebCore::StorageArea::blockUntilImportComplete):
73036         (WebCore::StorageArea::dispatchStorageEvent):
73037         * storage/StorageArea.h:
73038         * storage/StorageAreaSync.cpp:
73039         (WebCore::StorageAreaSync::StorageAreaSync):
73040         (WebCore::StorageAreaSync::scheduleFinalSync):
73041         (WebCore::StorageAreaSync::syncTimerFired):
73042         (WebCore::StorageAreaSync::performImport):
73043         * storage/StorageAreaSync.h:
73044         * storage/StorageSyncManager.h:
73046 2009-06-24  Dan Bernstein  <mitz@apple.com>
73048         Reviewed by Simon Fraser.
73050         - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
73051           at UCSC Genome Browser doesn't work because image map prevents img
73052           from hit-testing
73054         Test: fast/replaced/image-map-2.html
73056         * rendering/RenderImage.cpp:
73057         (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
73058         the image map failed the hit test.
73060 2009-06-22  Adam Barth  <abarth@webkit.org>
73062         Reviewed by Dimitri Glazkov.
73064         https://bugs.webkit.org/show_bug.cgi?id=26366
73066         Refactor V8DOMMap to support isolated worlds.
73068         * bindings/v8/ScriptController.cpp:
73069         (WebCore::ScriptController::evaluateInNewWorld):
73070         * bindings/v8/ScriptController.h:
73071         * bindings/v8/V8DOMMap.cpp:
73072         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
73073         (WebCore::DOMDataStore::allStores):
73074         (WebCore::DOMDataStore::allStoresMutex):
73075         (WebCore::DOMDataStore::domData):
73076         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
73077         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
73078         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
73079         (WebCore::):
73080         (WebCore::MainThreadDOMData::MainThreadDOMData):
73081         (WebCore::MainThreadDOMData::getStore):
73082         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
73083         (WebCore::ChildThreadDOMData::getStore):
73084         (WebCore::DOMDataStore::DOMDataStore):
73085         (WebCore::DOMDataStore::~DOMDataStore):
73086         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
73087         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
73088         (WebCore::forget):
73089         (WebCore::getDOMNodeMap):
73090         (WebCore::getDOMObjectMap):
73091         (WebCore::getActiveDOMObjectMap):
73092         (WebCore::getDOMSVGElementInstanceMap):
73093         (WebCore::getDOMSVGObjectWithContextMap):
73094         (WebCore::DOMData::getCurrent):
73095         (WebCore::DOMData::handleWeakObject):
73096         (WebCore::DOMData::ensureDeref):
73097         (WebCore::weakDOMObjectCallback):
73098         (WebCore::weakActiveDOMObjectCallback):
73099         (WebCore::weakNodeCallback):
73100         (WebCore::weakSVGElementInstanceCallback):
73101         (WebCore::weakSVGObjectWithContextCallback):
73102         (WebCore::DOMData::derefObject):
73103         (WebCore::DOMData::derefDelayedObjects):
73104         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
73105         (WebCore::DOMData::removeObjectsFromWrapperMap):
73106         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
73107         (WebCore::visitDOMNodesInCurrentThread):
73108         (WebCore::visitDOMObjectsInCurrentThread):
73109         (WebCore::visitActiveDOMObjectsInCurrentThread):
73110         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
73111         (WebCore::visitSVGObjectsInCurrentThread):
73112         * bindings/v8/V8DOMMap.h:
73113         (WebCore::DOMDataStoreHandle::getStore):
73114         * bindings/v8/V8IsolatedWorld.cpp: Added.
73115         (WebCore::getIsolatedWorldKey):
73116         (WebCore::contextWeakReferenceCallback):
73117         (WebCore::V8IsolatedWorld::evaluate):
73118         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
73119         (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
73120         (WebCore::V8IsolatedWorld::getEntered):
73121         * bindings/v8/V8IsolatedWorld.h: Added.
73122         (WebCore::V8IsolatedWorld::getDOMDataStore):
73124 2009-06-24  Mikhail Naganov  <mnaganov@chromium.org>
73126         Reviewed by Timothy Hatcher.
73128         Bug 26604: Search doesn't work in Web Inspector Profiler
73129         https://bugs.webkit.org/show_bug.cgi?id=26604
73131         Seems like search was damaged in revision 42808.
73133         * inspector/front-end/ProfileView.js:
73134         (WebInspector.ProfileView.prototype.refresh):
73135         Here and in other functions: nodes we're searching in are profile data grid
73136         nodes, so there is no more need for '_dataGridNode' references.
73137         (WebInspector.ProfileView.prototype.searchCanceled):
73138         (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
73139         Fixed accidental semicolon that caused 'matchesQuery' always return true.
73140         (WebInspector.ProfileView.prototype.performSearch):
73141         To perform search correctly in the case of bottom up tree, we need to populate
73142         the tree, because there's no 1-to-1 correspondence between profile nodes and
73143         data grid nodes in this case.
73144         (WebInspector.ProfileView.prototype._jumpToSearchResult):
73146 2009-06-24  Simon Fraser  <simon.fraser@apple.com>
73148         Reviewed by Darin Adler.
73149         
73150         <rdar://problem/6450239&6574516>
73151     
73152         Fix flashing issues caused by compositing layers rendering content before
73153         a deferred layout has happened. Because the -viewWillDraw machinery doesn't
73154         work for composited layers, we need to use scheduleViewUpdate() to queue
73155         up a layout via the run loop observer in WebKit, whenever we know we
73156         are going to be painting soon.
73158         * rendering/RenderLayerBacking.cpp:
73159         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
73160         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
73162 2009-06-24  David Levin  <levin@chromium.org>
73164         Fix all builds.
73166         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
73168 2009-06-24  Jeremy Orlow  <jorlow@chromium.org>
73170         Reviewed by Darin Fisher.
73172         https://bugs.webkit.org/show_bug.cgi?id=26658
73174         Split the syncing portions of LocalStorageArea into StorageAreaSync.
73175         This name will make more sense in the next patch (in this set) when
73176         LocalStorageArea and SessionStorageArea are merged to become simply
73177         StorageArea.  (Thus the synching portion of StorageArea is in
73178         StorageAreaSync.)
73180         This looks like a big patch, but really all it's doing is splitting
73181         code and patching split-related things up.
73183         * GNUmakefile.am:
73184         * WebCore.vcproj/WebCore.vcproj:
73185         * WebCore.xcodeproj/project.pbxproj:
73186         * WebCoreSources.bkl:
73187         * storage/LocalStorageArea.cpp:
73188         (WebCore::LocalStorageArea::create):
73189         (WebCore::LocalStorageArea::LocalStorageArea):
73190         (WebCore::LocalStorageArea::scheduleFinalSync):
73191         (WebCore::LocalStorageArea::itemChanged):
73192         (WebCore::LocalStorageArea::itemRemoved):
73193         (WebCore::LocalStorageArea::areaCleared):
73194         (WebCore::LocalStorageArea::blockUntilImportComplete):
73195         * storage/LocalStorageArea.h:
73196         * storage/LocalStorageTask.cpp:
73197         (WebCore::LocalStorageTask::LocalStorageTask):
73198         * storage/LocalStorageTask.h:
73199         (WebCore::LocalStorageTask::createImport):
73200         (WebCore::LocalStorageTask::createSync):
73201         * storage/LocalStorageThread.cpp:
73202         (WebCore::LocalStorageThread::scheduleImport):
73203         (WebCore::LocalStorageThread::scheduleSync):
73204         * storage/LocalStorageThread.h:
73205         * storage/SessionStorageArea.cpp:
73206         (WebCore::SessionStorageArea::blockUntilImportComplete):
73207         * storage/SessionStorageArea.h:
73208         * storage/StorageArea.h:
73209         * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
73210         * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
73211         * storage/StorageSyncManager.cpp:
73212         (WebCore::StorageSyncManager::scheduleImport):
73213         (WebCore::StorageSyncManager::scheduleSync):
73214         * storage/StorageSyncManager.h:
73216 2009-06-24  Adam Treat  <adam.treat@torchmobile.com>
73218         Fix Qt build.
73220         * WebCore.pro:
73222 2009-06-24  David Levin  <levin@chromium.org>
73224         Reviewed by David Hyatt.
73226         Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
73227         https://bugs.webkit.org/show_bug.cgi?id=26696
73229         * html/DataGridColumnList.cpp:
73230         (WebCore::DataGridColumnList::itemWithName):
73231         (WebCore::DataGridColumnList::add):
73232         * html/DataGridColumnList.h:
73233         (WebCore::DataGridColumnList::item):
73234         (WebCore::DataGridColumnList::primaryColumn):
73235         (WebCore::DataGridColumnList::sortColumn):
73237 2009-06-24  Sam Weinig  <sam@webkit.org>
73239         Reviewed by Dave "Messy" Hyatt.
73241         Little bit of style cleanup.
73243         * html/DataGridColumn.cpp:
73244         * html/DataGridColumn.h:
73245         * html/DataGridColumn.idl:
73246         * html/DataGridColumnList.cpp:
73247         * html/DataGridColumnList.h:
73248         * html/DataGridColumnList.idl:
73249         * html/HTMLDataGridCellElement.cpp:
73250         * html/HTMLDataGridCellElement.h:
73251         * html/HTMLDataGridCellElement.idl:
73252         * html/HTMLDataGridColElement.cpp:
73253         * html/HTMLDataGridColElement.h:
73254         * html/HTMLDataGridColElement.idl:
73255         * html/HTMLDataGridElement.h:
73256         * html/HTMLDataGridElement.idl:
73257         * html/HTMLDataGridRowElement.cpp:
73258         * html/HTMLDataGridRowElement.h:
73259         * html/HTMLDataGridRowElement.idl:
73261 2009-06-24  Chris Fleizach  <cfleizach@apple.com>
73263         Reviewed by Oliver Hunt.
73265         Bug 26668: AX: need a way to retrieve the language for an element
73266         
73267         Provides a way to retrieve the language associated with a specific accessibility element.
73269         Test: accessibility/language-attribute.html
73271         * accessibility/AccessibilityObject.cpp:
73272         (WebCore::AccessibilityObject::language):
73273         * accessibility/AccessibilityObject.h:
73274         * accessibility/AccessibilityRenderObject.cpp:
73275         (WebCore::AccessibilityRenderObject::language):
73276         * accessibility/AccessibilityRenderObject.h:
73277         * accessibility/mac/AccessibilityObjectWrapper.mm:
73278         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
73280 2009-06-24  Brady Eidson  <beidson@apple.com>
73282         Reviewed by Dan Bernstein.
73283         
73284         <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
73286         * platform/network/mac/WebCoreURLResponse.mm:
73287         (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
73289 2009-06-24  Nicolas Weber  <thakis@chromium.org>
73291         Reviewed by Eric Seidel.
73293         https://bugs.webkit.org/show_bug.cgi?id=26685
73294         Accomodate for backwards-incompatible skia api changes.
73296         * platform/graphics/skia/GraphicsContextSkia.cpp:
73297         (WebCore::GraphicsContext::clearRect):
73298         (WebCore::GraphicsContext::setCompositeOperation):
73299         * platform/graphics/skia/ImageBufferSkia.cpp:
73300         (WebCore::ImageBuffer::ImageBuffer):
73301         * platform/graphics/skia/ImageSkia.cpp:
73302         (WebCore::paintSkBitmap):
73303         (WebCore::Image::drawPattern):
73304         * platform/graphics/skia/PlatformContextSkia.cpp:
73305         (PlatformContextSkia::State::State):
73306         (PlatformContextSkia::setupPaintCommon):
73307         (PlatformContextSkia::setXfermodeMode):
73308         (PlatformContextSkia::applyClipFromImage):
73309         * platform/graphics/skia/PlatformContextSkia.h:
73310         * platform/graphics/skia/SkiaUtils.cpp:
73311         (WebCore::):
73312         (WebCore::WebCoreCompositeToSkiaComposite):
73313         * platform/graphics/skia/SkiaUtils.h:
73315 2009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
73317         Gtk build fix. Add files that were added in r45093 and r45096
73319         * GNUmakefile.am:
73321 2009-06-24  Brady Eidson  <beidson@apple.com>
73323         Fix 64-bit SnowLeopard build.
73325         * html/DataGridColumnList.cpp:
73326         (WebCore::DataGridColumnList::remove):
73327         (WebCore::DataGridColumnList::move):
73329 2009-06-24  Rob Buis  <rwlbuis@gmail.com>
73331         Reviewed by Eric Seidel.
73333         https://bugs.webkit.org/show_bug.cgi?id=26392
73334         Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
73335         https://bugs.webkit.org/show_bug.cgi?id=26328
73336         Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
73338         React to href updates even when there is no renderer, i.e. display=none.
73340         Tests: svg/custom/js-update-image-and-display.svg
73341                svg/custom/js-update-image-and-display2.svg
73342                svg/custom/js-update-image-and-display3.svg
73344         * svg/SVGImageElement.cpp:
73345         (WebCore::SVGImageElement::svgAttributeChanged):
73347 2009-06-24  David Hyatt  <hyatt@apple.com>
73349         Reviewed by Sam Weinig.
73351         https://bugs.webkit.org/show_bug.cgi?id=26687
73353         Add basic back-end column support to datagrid.
73355         Added fast/dom/HTMLDataGridElement/ column tests.
73357         * DerivedSources.cpp:
73358         * DerivedSources.make:
73359         * WebCore.pro:
73360         * WebCore.vcproj/WebCore.vcproj:
73361         * WebCore.xcodeproj/project.pbxproj:
73362         * WebCoreSources.bkl:
73363         * html/DataGridColumn.cpp: Added.
73364         (WebCore::DataGridColumn::setPrimary):
73365         * html/DataGridColumn.h: Added.
73366         (WebCore::DataGridColumn::create):
73367         (WebCore::DataGridColumn::id):
73368         (WebCore::DataGridColumn::setId):
73369         (WebCore::DataGridColumn::label):
73370         (WebCore::DataGridColumn::setLabel):
73371         (WebCore::DataGridColumn::type):
73372         (WebCore::DataGridColumn::setType):
73373         (WebCore::DataGridColumn::sortable):
73374         (WebCore::DataGridColumn::setSortable):
73375         (WebCore::DataGridColumn::sortDirection):
73376         (WebCore::DataGridColumn::setSortDirection):
73377         (WebCore::DataGridColumn::primary):
73378         (WebCore::DataGridColumn::detachFromColumnList):
73379         (WebCore::DataGridColumn::DataGridColumn):
73380         * html/DataGridColumn.idl: Added.
73381         * html/DataGridColumnList.cpp: Added.
73382         (WebCore::DataGridColumnList::~DataGridColumnList):
73383         (WebCore::DataGridColumnList::itemWithName):
73384         (WebCore::DataGridColumnList::add):
73385         (WebCore::DataGridColumnList::remove):
73386         (WebCore::DataGridColumnList::move):
73387         (WebCore::DataGridColumnList::clear):
73388         (WebCore::DataGridColumnList::primaryColumnChanged):
73389         * html/DataGridColumnList.h: Added.
73390         (WebCore::DataGridColumnList::create):
73391         (WebCore::DataGridColumnList::length):
73392         (WebCore::DataGridColumnList::item):
73393         (WebCore::DataGridColumnList::primaryColumn):
73394         (WebCore::DataGridColumnList::sortColumn):
73395         * html/DataGridColumnList.idl: Added.
73396         * html/HTMLDataGridColElement.cpp:
73397         (WebCore::HTMLDataGridColElement::sortable):
73398         (WebCore::HTMLDataGridColElement::setSortable):
73399         (WebCore::HTMLDataGridColElement::sortDirection):
73400         (WebCore::HTMLDataGridColElement::setSortDirection):
73401         * html/HTMLDataGridColElement.h:
73402         * html/HTMLDataGridColElement.idl:
73403         * html/HTMLDataGridElement.cpp:
73404         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
73405         * html/HTMLDataGridElement.h:
73406         (WebCore::HTMLDataGridElement::columns):
73407         * html/HTMLDataGridElement.idl:
73408         * rendering/RenderDataGrid.cpp:
73409         (WebCore::RenderDataGrid::paintObject):
73410         (WebCore::RenderDataGrid::paintColumnHeaders):
73411         (WebCore::RenderDataGrid::rebuildColumns):
73412         * rendering/RenderDataGrid.h:
73413         (WebCore::RenderDataGrid::gridElement):
73415 2009-06-24  Jessie Berlin  <jberlin@apple.com>
73417         Reviewed by Adam Roben.
73419         Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
73420         (<rdar://problem/5015942>)
73421         Where on windows it was not possible to set an element as the drag
73422         image using setDragImage on the dataTransfer object.
73423         
73424         Does not "fix" the case of dragging a link where the default link image
73425         is still used, even when the -webkit-user-drag is set to "element". This
73426         is the same behavior as is found on OS X.
73427         
73428         Added a manual test because it is not possible to check that what is
73429         contained in the image snapshot is indeed the requested element.
73431         * dom/Clipboard.h:
73432         (WebCore::Clipboard::dragImageElement):
73433         Made getting the raw pointer from the RefPtr a const operation.
73434         * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
73435         * platform/win/ClipboardWin.cpp:
73436         (WebCore::ClipboardWin::createDragImage):
73437         Get an image of the rendered element and its subtree.
73439 2009-06-24  Darin Fisher  <darin@chromium.org>
73441         Reviewed by David Levin.
73443         https://bugs.webkit.org/show_bug.cgi?id=26683
73444         Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
73446         This change just adds a stub implementation for now to help fix the build.
73448         * bindings/v8/custom/V8CustomBinding.h:
73449         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
73451 2009-06-24  David Kilzer  <ddkilzer@apple.com>
73453         Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
73455         Reviewed by Adam Roben.
73457         * html/HTMLMediaElement.cpp:
73458         (WebCore::HTMLMediaElement::deliverNotification): Removed
73459         ExceptionCode parameter from togglePlayState().
73460         (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
73461         object to a String when assigning to a KURL variable.
73463 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
73465         Reviewed by Adam Treat.
73467         Save memory by not storing attribute values in member variables, if not absolutely needed.
73468         Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
73470         * wml/WMLDoElement.cpp:
73471         (WebCore::WMLDoElement::parseMappedAttribute):
73472         (WebCore::WMLDoElement::label):
73473         * wml/WMLDoElement.h:
73474         * wml/WMLFieldSetElement.cpp:
73475         (WebCore::WMLFieldSetElement::insertedIntoDocument):
73476         * wml/WMLFieldSetElement.h:
73477         * wml/WMLOptGroupElement.cpp:
73478         (WebCore::WMLOptGroupElement::title):
73479         (WebCore::WMLOptGroupElement::parseMappedAttribute):
73480         (WebCore::WMLOptGroupElement::groupLabelText):
73481         * wml/WMLOptGroupElement.h:
73482         * wml/WMLPostfieldElement.cpp:
73483         (WebCore::WMLPostfieldElement::name):
73484         (WebCore::WMLPostfieldElement::value):
73485         (WebCore::WMLPostfieldElement::encodeData):
73486         * wml/WMLPostfieldElement.h:
73487         * wml/WMLSetvarElement.cpp:
73488         (WebCore::WMLSetvarElement::parseMappedAttribute):
73489         (WebCore::WMLSetvarElement::name):
73490         (WebCore::WMLSetvarElement::value):
73491         * wml/WMLSetvarElement.h:
73492         * wml/WMLTimerElement.cpp:
73493         (WebCore::WMLTimerElement::parseMappedAttribute):
73494         (WebCore::WMLTimerElement::insertedIntoDocument):
73495         (WebCore::WMLTimerElement::timerFired):
73496         (WebCore::WMLTimerElement::start):
73497         (WebCore::WMLTimerElement::value):
73498         * wml/WMLTimerElement.h:
73500 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
73502         Reviewed by Adam Roben.
73504         Forgot to initialize m_task member variable. Results in crashes sometimes.
73506         * wml/WMLAnchorElement.cpp:
73507         (WebCore::WMLAnchorElement::WMLAnchorElement):
73509 2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
73511         Not reviewed. Forgot to include within last patch.
73513         * manual-tests/wml/card-title-attr.wml: Added.
73515 2009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
73517         Reviewed by Nikolas Zimmermann.
73519         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
73520         Adding WML <card> title attribute handling.
73522         * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
73523         * wml/WMLElement.cpp:
73524         * wml/WMLCardElement.h: 
73525         (WebCore::WMLCardElement::title):
73526         * wml/WMLCardElement.cpp:
73527         * wml/manual-test/card-title-attr.wml: Manual test  
73529 2009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
73531         Reviewed by Tor Arne Vestbø.
73533         Fix the build without ENABLE_VIDEO.
73535         * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
73536         * html/CanvasRenderingContext2D.h: Ditto.
73538 2009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>
73540         Reviewed by Eric Seidel.
73542         Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
73543         the smartReplace set TRUE initially, which was wrong since the purpose of this call is
73544         to just replace the selection, and place the caret at the end of the selection it replaced.
73546         * editing/Editor.cpp:
73547         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
73548         * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
73550 2009-06-24  Kevin Watters  <kevinwatters@gmail.com>
73552         Reviewed by Kevin Ollivier.
73554         Don't use an unsigned int for intervalInMS because we sometimes initialize
73555         it with a negative value.
73557         * platform/wx/SharedTimerWx.cpp:
73558         (WebCore::setSharedTimerFireTime):
73560 2009-06-24  Eric Seidel  <eric@webkit.org>
73562         No review, build fix only.
73564         The previous checkin had an improper merge.  This fixes the build.
73566         * page/DragController.cpp:
73567         (WebCore::DragController::tryDocumentDrag):
73569 2009-06-05  Eric Seidel  <eric@webkit.org>
73571         Reviewed by Oliver Hunt.
73573         https://bugs.webkit.org/show_bug.cgi?id=25922
73574         JS setting dropEffect = "none" causes tryDHTMLDrag
73575         to return DragOperationNone.  Which is also the value
73576         tryDHTMLDrag previously used to indicate JS did not
73577         want to handle the drag.
73579         Make it possible for the DragController::try* methods
73580         to return a bool to indicate if javascript accepted
73581         or rejected the drag event, separate from the DragOperation.
73583         Tests:
73584         - fast/events/drag-to-navigate.html
73585         - fast/events/prevent-drag-to-navigate.html
73587         * page/DragController.cpp:
73588         (WebCore::DragController::dragEnteredOrUpdated):
73589         (WebCore::DragController::tryDocumentDrag):
73590         (WebCore::defaultOperationForDrag):
73591         (WebCore::DragController::tryDHTMLDrag):
73592         * page/DragController.h:
73594 2009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>
73596         Reviewed by Sam Weinig and Dave Hyatt.
73598         <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
73599         <https://bugs.webkit.org/show_bug.cgi?id=25920>
73601         Add support for drawing the contents of the video element to the canvas
73602         in accordance with the current HTML5 draft.
73604         Test: media/video-canvas.html
73606         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
73607         (WebCore::JSCanvasRenderingContext2D::drawImage):
73608           Standard custom bindings stuff we need to do for all canvas methods.
73609         * html/CanvasRenderingContext2D.cpp:
73610         (WebCore::size): Helper function for finding the size of a video element
73611         (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
73612         (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
73613         * html/CanvasRenderingContext2D.h:
73614         * html/HTMLMediaElement.h:
73615         (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
73616           hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
73617           as we force QT to maintain a single origin.
73618         * html/HTMLVideoElement.cpp:
73619         (WebCore::HTMLVideoElement::paint): 
73620             Paint routine on video so we don't have to look at MediaPlayer directly
73621         * html/HTMLVideoElement.h:
73622         * platform/graphics/MediaPlayer.cpp:
73623         (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
73624         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
73625             Default implementations of hasSingleSecurityOrigin
73626         * platform/graphics/MediaPlayer.h:
73627         * platform/graphics/MediaPlayerPrivate.h:
73628         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
73629         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
73630         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
73631             A video may need a player now even if it is not visible.
73632         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
73633             Always return true due to restrictions we've placed on QT.
73634         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
73635         (WebCore::MediaPlayerPrivate::paint):
73636             Jump through some hoops to allow windows QT to draw to an intermediate buffer.
73637             In the long term we'd like to cache the HDC, but this will do for now.
73638         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
73639         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
73640             As for Mac we force QT to only allow same origin loads.
73642 2009-06-23  Adam Langley  <agl@google.com>
73644         Reviewed by Eric Seidel.
73646         Chromium: Fix crash with inherited font-size in <option>
73648         https://bugs.webkit.org/show_bug.cgi?id=26656
73649         http://code.google.com/p/chromium/issues/detail?id=14853
73651         In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
73652         the <select> handing for Chromium to fix a rendering bug. However,
73653         although the font-size is correctly ignored, getRowHeight wasn't
73654         updated and so was calculating the height of the rows in an
73655         inconsistent manner. This can lead to a crash.
73657         * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
73658         * platform/chromium/PopupMenuChromium.cpp:
73659         (WebCore::PopupListBox::getRowHeight):
73661 2009-06-23  Brady Eidson  <beidson@apple.com>
73663         Patch by Antti Koivisto.
73664         Reviewed by Brady Eidson.
73666         <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
73668         A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
73669         it should always be revalidated upon reload.
73671         * loader/CachedResource.cpp:
73672         (WebCore::CachedResource::canUseCacheValidator):
73673         (WebCore::CachedResource::mustRevalidate):
73675 2009-06-23  Dan Bernstein  <mitz@apple.com>
73677         Reviewed by Darin Adler.
73679         - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
73680           EventHandler::passMouseDownEventToWidget()
73682         * page/mac/EventHandlerMac.mm:
73683         (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
73684         -mouseDown: call with calls to Widget::beforeMouseDown() and
73685         Widget::afterMouseDown(), which prevent the widget's view hierarchy from
73686         being removed from its parent view while the scroller is tracking the
73687         mouse.
73689 2009-06-23  Sam Weinig  <sam@webkit.org>
73691         Reviewed by Dave Hyatt.
73693         Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
73694         Add initial implementation of DataGridDataSource
73696         - Initial implementation only supports the initialize callback function.
73698         Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
73700         * WebCore.xcodeproj/project.pbxproj:
73701         * GNUmakefile.am:
73702         * WebCore.pro:
73703         * WebCore.vcproj/WebCore.vcproj:
73704         * WebCore.xcodeproj/project.pbxproj:
73705         * WebCoreSources.bkl:
73706         * bindings/js/JSDataGridDataSource.cpp: Added.
73707         (WebCore::JSDataGridDataSource::JSDataGridDataSource):
73708         (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
73709         (WebCore::JSDataGridDataSource::initialize):
73710         * bindings/js/JSDataGridDataSource.h: Added.
73711         (WebCore::JSDataGridDataSource::create):
73712         (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
73713         (WebCore::JSDataGridDataSource::jsDataSource):
73714         (WebCore::asJSDataGridDataSource):
73715         * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
73716         (WebCore::JSHTMLDataGridElement::listener):
73717         (WebCore::JSHTMLDataGridElement::setListener):
73718         * html/DataGridDataSource.h: Added.
73719         (WebCore::DataGridDataSource::~DataGridDataSource):
73720         (WebCore::DataGridDataSource::isJSDataGridDataSource):
73721         * html/HTMLDataGridElement.cpp:
73722         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
73723         (WebCore::HTMLDataGridElement::setDataSource):
73724         (WebCore::HTMLDataGridElement::initializationTimerFired):
73725         * html/HTMLDataGridElement.h:
73726         (WebCore::HTMLDataGridElement::dataSource):
73727         * html/HTMLDataGridElement.idl:
73729 2009-06-23  Ryosuke Niwa  <rniwa@google.com>
73731         Reviewed by Justin Garcia.
73733         Undo the changeset 21212 to fix the regression bug 14062.
73734         The changeset 21212 attempted to fix rdar://problem/5002441.
73735         The changeset 21212 modified InsertTextCommand::input so as to convert
73736         all spaces in text to non-breaking spaces for rdar://problem/5002441.
73737         However, the bug was originally caused by rebalanceWhitespaceAt
73738         and this workaround introduced a regression bug 14062.
73739         Because rebalanceWhitespaceAt appears to behave correctly now,
73740         the workaround introduced in 21212 is no longer needed.
73742         Test: editing/inserting/space-after-removeformat.html
73744         * editing/InsertTextCommand.cpp:
73745         (WebCore::InsertTextCommand::input):
73747 2009-06-23  Beth Dakin  <bdakin@apple.com>
73749         Reviewed by Dave Hyatt.
73751         Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
73752         elements width can't be changed with javascript
73754         This patch both fixes setting the width attribute directly in 
73755         JavaScript, and setting the width on the style attribute. 
73757         * html/HTMLTableColElement.cpp:
73758         (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
73759         new width, call setNeedsLayoutAndPrefWidthsRecalc()
73761         Call calcPrefWidths() on the table cols.
73762         * rendering/AutoTableLayout.cpp:
73763         (WebCore::AutoTableLayout::recalcColumn):
73764         * rendering/FixedTableLayout.cpp:
73765         (WebCore::FixedTableLayout::calcWidthArray):
73766         
73767         Call layoutIfNeeded on the table cols.
73768         * rendering/RenderTable.cpp:
73769         (WebCore::RenderTable::layout):
73771         * rendering/RenderTableCol.cpp:
73772         (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
73773         table() convenience function.
73774         (WebCore::RenderTableCol::calcPrefWidths): Just call 
73775         setPrefWidthsDirty(false) on ourself and our children.
73776         (WebCore::RenderTableCol::table):
73777         * rendering/RenderTableCol.h:
73779 2009-06-23  Ojan Vafai  <ojan@chromium.org>
73781         Reviewed by Dan Bernstein.
73783         Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
73784         keyword values. When diff is called on a CSSStyleDeclaration, we check
73785         the keywordSize to see if font-size matches a keyword value.
73786         
73787         This ensures that when we diff a CSSMutableStyleDeclaration returned from
73788         copyInheritableProperties on a CSSComputedStyleDeclaration that we 
73789         correctly identify matching font-sizes.
73790         
73791         https://bugs.webkit.org/show_bug.cgi?id=26279
73793         Test: editing/inserting/font-size-clears-from-typing-style.html
73795         * css/CSSComputedStyleDeclaration.cpp:
73796         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
73797         * css/CSSComputedStyleDeclaration.h:
73798         * css/CSSStyleDeclaration.cpp:
73799         (WebCore::CSSStyleDeclaration::cssPropertyMatches):
73800         (WebCore::CSSStyleDeclaration::diff):
73801         * css/CSSStyleDeclaration.h:
73803 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
73805         Reviewed by Darin Adler.
73807         <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
73808         add a blank line to pasted Facebook content (under
73809         CompositeEditCommand::positionAvoidingSpecialElementBoundary)
73811         - Just added null checks and I will create a new bug to prevent the
73812         bad behavior.
73814         * editing/CompositeEditCommand.cpp:
73815         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
73817 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
73819         Build fix.
73821         Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
73822         ACCELERATED_COMPOSITING is not defined.
73824         * rendering/RenderLayer.cpp:
73826 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
73828         Reviewed by Dave Hyatt.
73829         
73830         https://bugs.webkit.org/show_bug.cgi?id=24863
73831         
73832         Fix reflection painting on elements with compositing layers.
73834         Test: compositing/reflections/reflection-on-composited.html
73836         * rendering/RenderLayer.h:
73837         Add a new PaintLayerPaintingReflection flag which is set while painting inside
73838         reflections.
73839         (WebCore::RenderLayer::setPaintingInsideReflection):
73840         Add a setter so that RenderLayerBacking can call it.
73842         * rendering/RenderLayer.cpp:
73843         (WebCore::shouldDoSoftwarePaint):
73844         Utility to clarify the logic of when a composited layer should do a software paint.
73845         
73846         (WebCore::RenderLayer::paintLayer):
73847         Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
73848         Remove transform-related tests from the reflection-painting if test because they appear
73849         to be unnecessary.
73851         * rendering/RenderLayerBacking.cpp:
73852         (WebCore::RenderLayerBacking::paintIntoLayer):
73853         Add the code to paint reflections to the composited layer painting method.
73854         
73855         * rendering/RenderReplica.cpp:
73856         (WebCore::RenderReplica::paint):
73857         Set the PaintLayerPaintingReflection flag.
73859 2009-06-23  Antti Koivisto  <antti@apple.com>
73861         Reviewed by Darin Adler.
73862         
73863         https://bugs.webkit.org/show_bug.cgi?id=26643
73864         Memory cache should respect Cache-Control: no-store
73865         
73866         Make resources with Cache-Control: no-store uncacheable in the memory cache.
73867         They get evicted immediately when all clients are gone and are always
73868         reloaded from the server.
73870         Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
73872         * loader/CachedResource.cpp:
73873         (WebCore::CachedResource::removeClient):
73874         (WebCore::CachedResource::canUseCacheValidator):
73875         (WebCore::CachedResource::mustRevalidate):
73876         * platform/network/ResourceResponseBase.cpp:
73877         (WebCore::ResourceResponseBase::ResourceResponseBase):
73878         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
73879         (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
73880         * platform/network/ResourceResponseBase.h:
73882 2009-06-23  Brady Eidson  <beidson@apple.com>
73884         Windows build fix.
73886         * platform/graphics/win/QTMovieWin.cpp:
73887         (QTMovieWin::play):
73888         (QTMovieWin::pause):
73889         (QTMovieWin::setRate):
73890         (QTMovieWin::setCurrentTime):
73892 2009-06-23  Kevin McCullough  <kmccullough@apple.com>
73894         Reviewed by Adele Peterson.
73896         <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
73897         after manually quoting blank line then hitting return
73899         If the insertion point is both the begining and ending visible position
73900         then we need to insert at the end instead of the begining, which is what
73901         would normally happen if the insertion point was as the begining.
73903         * editing/BreakBlockquoteCommand.cpp:
73904         (WebCore::BreakBlockquoteCommand::doApply):
73906 2009-06-23  Brady Eidson  <beidson@apple.com>
73908         Reviewed by Sam Weinig, and looked over by Eric Carlson.
73910         <rdar://problem/6980466> Media elements should provide option for changing pitch correction
73912         Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
73914         * html/HTMLMediaElement.cpp:
73915         (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
73916           property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
73917         (WebCore::HTMLMediaElement::loadResource):
73918         (WebCore::HTMLMediaElement::webkitPreservesPitch):
73919         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
73920         * html/HTMLMediaElement.h:
73921         * html/HTMLMediaElement.idl:
73923         * platform/graphics/MediaPlayer.cpp:
73924         (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
73925         (WebCore::MediaPlayer::MediaPlayer):
73926         (WebCore::MediaPlayer::preservesPitch):
73927         (WebCore::MediaPlayer::setPreservesPitch):
73928         * platform/graphics/MediaPlayer.h:
73929         * platform/graphics/MediaPlayerPrivate.h:
73930         (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
73932         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
73933         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
73934         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
73935         (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
73936           exact same attributes as before, with pitch preservation being the difference.
73937         (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
73938         (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
73939         (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
73940           has been effectively overwritten.
73942         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
73943         (WebCore::MediaPlayerPrivate::load):
73944         (WebCore::MediaPlayerPrivate::setPreservesPitch):
73945         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
73946         * platform/graphics/win/QTMovieWin.cpp:
73947         (QTMovieWinPrivate::QTMovieWinPrivate):
73948         (QTMovieWinPrivate::~QTMovieWinPrivate):
73949         (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
73950         (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
73951         (QTMovieWin::pause): Ditto.
73952         (QTMovieWin::setRate): Ditto.
73953         (QTMovieWin::setCurrentTime): Ditto.
73954         (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
73955         (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
73956           but changing the pitch preservation flag.
73957         * platform/graphics/win/QTMovieWin.h:
73959 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
73961         Reviewed by Simon Fraser.
73963         <rdar://problem/6998286> Crash after leaving page with <video>
73964         
73965         Don't try to post events after going into the page cache.
73967         * html/HTMLMediaElement.cpp:
73968         (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
73969         event timers so we won't try to post events after going into the cache.
73971 2009-06-23  Jeremy Orlow  <jorlow@chromium.org>
73973         Reviewed by Brady Eidson.
73975         Simplify the interaction between LocalStorageArea/SessionStorageArea
73976         and StorageArea by creating a "blockUntilImportComplete()" function
73977         rather than bouncing back and forth between the child and parent
73978         classes in a somewhat unintuitive manner.
73980         This patch also paves the way for LocalStorageArea and
73981         SessionStorageArea being merged into one.  It's part of several in a
73982         set which are separating syncing (to disk) code from the rest of the
73983         implementation so that local storage and session storage's code can be
73984         unified.
73986         https://bugs.webkit.org/show_bug.cgi?id=25376
73988         * storage/LocalStorageArea.cpp:
73989         (WebCore::LocalStorageArea::blockUntilImportComplete):
73990         * storage/LocalStorageArea.h:
73991         * storage/StorageArea.cpp:
73992         (WebCore::StorageArea::length):
73993         (WebCore::StorageArea::key):
73994         (WebCore::StorageArea::getItem):
73995         (WebCore::StorageArea::setItem):
73996         (WebCore::StorageArea::removeItem):
73997         (WebCore::StorageArea::clear):
73998         (WebCore::StorageArea::contains):
73999         * storage/StorageArea.h:
74000         (WebCore::StorageArea::blockUntilImportComplete):
74002 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
74004         Reviewed by Dave Hyatt
74006         First part of https://bugs.webkit.org/show_bug.cgi?id=26652
74007         
74008         * rendering/RenderLayer.cpp:
74009         (WebCore::RenderLayer::paint):
74010         (WebCore::RenderLayer::paintLayer):
74011         * rendering/RenderLayer.h:
74012         (WebCore::RenderLayer::):
74013         * rendering/RenderReplica.cpp:
74014         (WebCore::RenderReplica::paint):
74015         Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
74016         
74017         * rendering/RenderLayerBacking.cpp:
74018         (WebCore::RenderLayerBacking::paintIntoLayer):
74019         (WebCore::RenderLayerBacking::paintContents):
74020         * rendering/RenderLayerBacking.h:
74021         Remove the unused 'haveTransparency' param to paintIntoLayer().
74023 2009-06-23  Simon Fraser  <simon.fraser@apple.com>
74025         Reviewed by Darin Adler.
74027         <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
74029         The updatingControlTints() painting pass goes through compositing layer boundaries,
74030         so we need to ensure we don't cache clip rects computed with the wrong root by
74031         setting temporaryClipRects to true.
74032         
74033         * rendering/RenderLayer.cpp:
74034         (WebCore::RenderLayer::paintLayer):
74035         
74036         * rendering/RenderLayerBacking.cpp:
74037         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
74038         Remove a printf that I left in by mistake.
74040 2009-06-23  Anders Carlsson  <andersca@apple.com>
74042         Reviewed by Darin Adler.
74044         WebCore side of <rdar://problem/6946094>.
74045         
74046         * platform/win/ClipboardWin.cpp:
74047         (WebCore::ClipboardWin::setExternalDataObject):
74048         * platform/win/ClipboardWin.h:
74050 2009-06-23  Darin Fisher  <darin@chromium.org>
74052         Reviewed by Darin Adler.
74054         https://bugs.webkit.org/show_bug.cgi?id=26650
74056         Add setFormContentType and setFormData since it is awkward for Chromium
74057         to use setFormInfoFromRequest to set the underlying members.  Also, add
74058         a clearChildren method that Chromium needs.  These methods are used as
74059         part of the Chromium code that serializes a HistoryItem for storing in
74060         the browser's session history.
74062         * history/HistoryItem.cpp:
74063         * history/HistoryItem.h:
74065 2009-06-23  Eric Carlson  <eric.carlson@apple.com>
74067         Reviewed by Darin Adler.
74069         <rdar://problem/6978938> Need HTML 5 event attributes for media elements
74071         Test: media/event-attributes.html
74073         * html/HTMLAttributeNames.in: Add media event attribute names.
74074         * html/HTMLMediaElement.cpp:
74075         (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
74077 2009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>
74079         Reviewed by Simon Hausmann.
74081         Fix Qt build with Phonon.
74083         The #include <phonon> header no longer exists. And the <Phonon> or
74084         <Phonon/Phonon> headers have never existed (neither for us nor for the
74085         Phonon sources). You have to select each and every header that you do
74086         want now.
74088         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
74090 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
74092         Reviewed by Simon Hausmann.
74094         Remove duplicated code in Qt & GTK logging initialization
74096         We now share the getChannelFromName() function in Logging.cpp
74098         * platform/gtk/LoggingGtk.cpp:
74099         * platform/qt/LoggingQt.cpp:
74101 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
74103         Reviewed by Simon Hausmann.
74105         Rename the plugin logging channel to plural form 'Plugins'
74107         This matches both the other logging channel names, as well as the
74108         WebKit logging channel used by Safari/Mac for plugins.
74110         * platform/Logging.cpp:
74111         * platform/Logging.h:
74112         * platform/gtk/LoggingGtk.cpp:
74113         * platform/mac/LoggingMac.mm:
74114         * platform/qt/LoggingQt.cpp:
74115         * platform/win/LoggingWin.cpp:
74116         * plugins/PluginDebug.h:
74117         * plugins/gtk/PluginPackageGtk.cpp:
74118         * plugins/mac/PluginPackageMac.cpp:
74119         * plugins/mac/PluginViewMac.cpp:
74120         * plugins/qt/PluginPackageQt.cpp:
74122 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
74124         Reviewed by Simon Hausmann.
74126         Fix NPAPI mouse translation issues on Mac
74128         The WindowRef we pass to the plugin refers to the the top level window,
74129         so the x and y positions have to be relative to this position, but we
74130         have to manually compensate for title bar decorations and other parents
74131         of the QWebView since contentsToWindow() only traverses to the QWebView.
74133         Previously we did this compensation when passing on mouse coordinates to
74134         the plugin, which caused various issues with translations such as not
74135         being able to close the Flash settings dialog, or the hand cursor not
74136         appearing over links.
74138         We now do the compensation as part of the call to NPP_SetWindow, and
74139         then pass mouse coordinates in global context without any compensation,
74140         similar to how both Safari and Mozilla does it.
74142         * plugins/mac/PluginViewMac.cpp:
74143         (WebCore::PluginView::updatePluginWidget):
74144         (WebCore::PluginView::globalMousePosForPlugin):
74146 2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
74148         Rubber-stamped by Simon Hausmann.
74150         [Qt] Resolve absolute path to library install_name manually
74152         Since our target.path is set to the Qt directory (to be able
74153         to do 'make install') the 'absolute_library_soname' option
74154         to QMake did not do the right thing.
74156         We now compute the absolute path manually using DESTDIR.
74158         * WebCore.pro:
74160 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
74162         Reviewed by Oliver Hunt.
74164         <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
74165         inactive look in background windows
74167         * rendering/RenderLayer.cpp:
74168         (WebCore::RenderLayer::paintLayer):
74169         Don't short-circuit the "painting" pass that is used to udpate control tints.
74171 2009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
74173         Reviewed by Sam Weinig.
74175         https://bugs.webkit.org/show_bug.cgi?id=26567
74176         Upstream V8 bindings code generator. With this change, also added interface ancestor
74177         traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
74178         to determine whether an interface is a Node to facilitate proper casting and storage
74179         in V8DOMMap.
74181         * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
74182             by V8 bindings.
74183         * bindings/scripts/CodeGeneratorV8.pm: Added.
74184         * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
74185             parent traversal cases.
74187 2009-06-22  Sam Weinig  <sam@webkit.org>
74189         Reviewed by Gavin Barraclough.
74191         Add event handler attribute getter/setters to HTMLFrameSetElement
74192         as specified in HTML 5.  These match the ones on HTMLBodyElement.
74194         * dom/Node.h:
74195         * html/HTMLFrameSetElement.cpp:
74196         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
74197         (WebCore::HTMLFrameSetElement::onblur):
74198         (WebCore::HTMLFrameSetElement::setOnblur):
74199         (WebCore::HTMLFrameSetElement::onerror):
74200         (WebCore::HTMLFrameSetElement::setOnerror):
74201         (WebCore::HTMLFrameSetElement::onfocus):
74202         (WebCore::HTMLFrameSetElement::setOnfocus):
74203         (WebCore::HTMLFrameSetElement::onload):
74204         (WebCore::HTMLFrameSetElement::setOnload):
74205         (WebCore::HTMLFrameSetElement::onbeforeunload):
74206         (WebCore::HTMLFrameSetElement::setOnbeforeunload):
74207         (WebCore::HTMLFrameSetElement::onmessage):
74208         (WebCore::HTMLFrameSetElement::setOnmessage):
74209         (WebCore::HTMLFrameSetElement::onoffline):
74210         (WebCore::HTMLFrameSetElement::setOnoffline):
74211         (WebCore::HTMLFrameSetElement::ononline):
74212         (WebCore::HTMLFrameSetElement::setOnonline):
74213         (WebCore::HTMLFrameSetElement::onresize):
74214         (WebCore::HTMLFrameSetElement::setOnresize):
74215         (WebCore::HTMLFrameSetElement::onstorage):
74216         (WebCore::HTMLFrameSetElement::setOnstorage):
74217         (WebCore::HTMLFrameSetElement::onunload):
74218         (WebCore::HTMLFrameSetElement::setOnunload):
74219         * html/HTMLFrameSetElement.h:
74220         * html/HTMLFrameSetElement.idl:
74222 2009-06-22  Darin Adler  <darin@apple.com>
74224         Reviewed by Sam Weinig.
74226         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
74227         https://bugs.webkit.org/show_bug.cgi?id=25425
74229         * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
74230         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
74232         * dom/Element.cpp:
74233         (WebCore::Element::getURLAttribute): Added. For use implementing getters
74234         for ReflectURL.
74235         * dom/Element.h: Added getURLAttribute.
74237         * html/HTMLImageElement.idl: Use Reflect and ReflectURL.
74239 2009-06-22  Jian Li  <jianli@chromium.org>
74241         Reviewed by Dimitri Glazkov.
74243         Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
74244         objects.
74245         https://bugs.webkit.org/show_bug.cgi?id=26626
74247         * bindings/v8/WorkerContextExecutionProxy.cpp:
74248         (WebCore::WorkerContextExecutionProxy::ToV8Object):
74250 2009-06-22  David Hyatt  <hyatt@apple.com>
74252         Reviewed by Sam Weinig.
74254         Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
74255         of 300x150.
74257         * GNUmakefile.am:
74258         * WebCore.pro:
74259         * WebCore.vcproj/WebCore.vcproj:
74260         * WebCore.xcodeproj/project.pbxproj:
74261         * WebCoreSources.bkl:
74262         * css/html4.css:
74263         * html/HTMLDataGridElement.cpp:
74264         (WebCore::HTMLDataGridElement::createRenderer):
74265         * html/HTMLDataGridElement.h:
74266         * html/HTMLDataGridElement.idl:
74267         * rendering/RenderDataGrid.cpp: Added.
74268         (WebCore::RenderDataGrid::RenderDataGrid):
74269         (WebCore::RenderDataGrid::~RenderDataGrid):
74270         (WebCore::RenderDataGrid::calcPrefWidths):
74271         (WebCore::RenderDataGrid::paintObject):
74272         (WebCore::RenderDataGrid::valueChanged):
74273         (WebCore::RenderDataGrid::invalidateScrollbarRect):
74274         (WebCore::RenderDataGrid::isActive):
74275         * rendering/RenderDataGrid.h: Added.
74276         (WebCore::RenderDataGrid::renderName):
74277         (WebCore::RenderDataGrid::canHaveChildren):
74278         (WebCore::RenderDataGrid::scrollbarCornerPresent):
74280 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
74282         Reviewed by Dave Hyatt.
74284         https://bugs.webkit.org/show_bug.cgi?id=26430
74285         <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
74286         <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
74287             during window resize when using hardware layers
74288         
74289         Fix an ordering dependency which caused the compositing position of a layer
74290         to be affected by some later sibling, which affected the compositing ancestor's
74291         composited bounds.
74292         
74293         The fix is to only update the compositing positions of layers in some subtree
74294         when updateAfterLayout() has been called on all the layers in that subtree,
74295         from the ancestor down.
74296         
74297         Also cache the composited bounds of a RenderLayerBacking, now that we can
74298         guarantee that those bounds are accurate.
74299         
74300         Test: compositing/sibling-positioning.html
74302         * rendering/RenderLayer.cpp:
74303         (WebCore::RenderLayer::updateLayerPositions):
74304         (WebCore::RenderLayer::hitTestLayer):
74305         * rendering/RenderLayerBacking.cpp:
74306         (WebCore::RenderLayerBacking::RenderLayerBacking):
74307         (WebCore::RenderLayerBacking::updateAfterLayout):
74308         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
74309         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
74310         (WebCore::RenderLayerBacking::paintContents):
74311         (WebCore::RenderLayerBacking::compositedBounds):
74312         (WebCore::RenderLayerBacking::setCompositedBounds):
74313         * rendering/RenderLayerBacking.h:
74314         * rendering/RenderLayerCompositor.cpp:
74315         (WebCore::RenderLayerCompositor::updateBacking):
74316         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
74317         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
74318         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
74319         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
74320         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
74321         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
74322         * rendering/RenderLayerCompositor.h:
74324 2009-06-22  Jeremy Orlow  <jorlow@chromium.org>
74326         Reviewed by Darin Fisher.
74328         First step in https://bugs.webkit.org/show_bug.cgi?id=25376
74330         Add StorageSyncManager.cpp/h
74332         * GNUmakefile.am:
74333         * WebCore.pro:
74334         * WebCore.vcproj/WebCore.vcproj:
74335         * WebCore.xcodeproj/project.pbxproj:
74336         * WebCoreSources.bkl:
74338         In preparation for combining SessionStorage and LocalStorage into a
74339         single StorageManager, move the syncing bits out of LocalStorage and
74340         into its own class.
74342         The next step is to combine LocalStorageArea and SessionStorageArea
74343         into one.  Then SessionStorage and LocalStorage can be combined.
74345         Note that combining them will cut down on code paths that must be
74346         proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
74347         write historical sessionStorage to disk when memory is getting tight.
74349         Also remove a couple bits of cruft including code for quotas which is
74350         unnecessary (since a meta-data db is unnecessary since you can just
74351         count bytes as you read the local storage databases into memory).
74353         * storage/LocalStorage.cpp:
74354         (WebCore::LocalStorage::LocalStorage):
74355         (WebCore::LocalStorage::storageArea):
74356         (WebCore::LocalStorage::close):
74357         * storage/LocalStorage.h:
74358         * storage/LocalStorageArea.cpp:
74359         (WebCore::LocalStorageArea::LocalStorageArea):
74360         (WebCore::LocalStorageArea::scheduleFinalSync):
74361         (WebCore::LocalStorageArea::syncTimerFired):
74362         (WebCore::LocalStorageArea::performImport):
74363         * storage/LocalStorageArea.h:
74364         (WebCore::LocalStorageArea::create):
74365         * storage/LocalStorageTask.cpp:
74366         (WebCore::LocalStorageTask::performTask):
74367         * storage/LocalStorageTask.h:
74368         (WebCore::LocalStorageTask::):
74369         (WebCore::LocalStorageTask::createImport):
74370         * storage/LocalStorageThread.cpp:
74371         * storage/LocalStorageThread.h:
74372         * storage/SessionStorage.h:
74373         * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
74374         (WebCore::StorageSyncManager::create):
74375         (WebCore::StorageSyncManager::StorageSyncManager):
74376         (WebCore::StorageSyncManager::fullDatabaseFilename):
74377         (WebCore::StorageSyncManager::close):
74378         (WebCore::StorageSyncManager::scheduleImport):
74379         (WebCore::StorageSyncManager::scheduleSync):
74380         * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
74381         (WebCore::):
74383 2009-06-22  Darin Fisher  <darin@chromium.org>
74385         Reviewed by Dimitri Glazkov.
74387         https://bugs.webkit.org/show_bug.cgi?id=26622
74388         Add ChromiumDataObject::copy()
74390         * platform/chromium/ChromiumDataObject.cpp:
74391         * platform/chromium/ChromiumDataObject.h:
74393 2009-06-22  Timothy Hatcher  <timothy@apple.com>
74395         Add a silhouette image for the enable view of the Resource panel.
74397         Reviewed by Kevin McCullough.
74399         * inspector/front-end/Images/resourcesSilhouette.png: Added.
74400         * inspector/front-end/inspector.css:
74402 2009-06-22  Kyle Prete  <kylep@chromium.org>
74404         Reviewed by Dimitri Glazkov.
74406         https://bugs.webkit.org/show_bug.cgi?id=26552
74407         Add V8 JS bindings for Audio Constructor.
74409         * bindings/v8/custom/V8CustomBinding.h:
74410         Added a callback declaration for audio ctor to macro.
74411         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
74412         Added the whole file.
74414 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
74416         Reviewed by David Levin.
74418         https://bugs.webkit.org/show_bug.cgi?id=26600
74419         StringImpl::copy() no longer copies empty string correctly
74421         * platform/text/StringImpl.cpp:
74422         (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
74423         static method.
74424         (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
74426 2009-06-22  Xiaomei Ji  <xji@chromium.org>
74428         Reviewed by Eric Seidel
74430         Not auto-testable since it involves sending a keyboard event to
74431         the popup, which is not possible (eventSender sends the key
74432         events through webview, we want to go through the webwidget).
74434         This patch is one part of the fix for issue "keyboard selection in
74435         Hebrew select element does not work in Windows". The other part of the
74436         fix is in chromium's webkit/glue layer.
74437         https://bugs.webkit.org/show_bug.cgi?id=25899
74439         * manual-tests/keyboard_select_non_english.html: Added.
74440         * platform/chromium/PopupMenuChromium.cpp:
74441         (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
74442         character type event. "Char" in Windows or "KeyDown" in Mac is character
74443         type event.
74444         (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
74445         indicate whether user types multiple characters continuely as a search
74446         prefix or not, it should be only assigned when the event is character 
74447         type event. 
74449 2009-06-22  Kevin McCullough  <kmccullough@apple.com>
74451         Reviewed by Darin Adler.
74453         <rdar://problem/6115819> Notify of profile start in console
74455         Put a message in the console that announces that a profile has started,
74456         similar to how a console message announces that a profile has finished.
74458         * inspector/InspectorController.cpp:
74459         (WebCore::InspectorController::addProfile): Use renamed function.
74460         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
74461         Renamed.
74462         (WebCore::InspectorController::addStartProfilingMessageToConsole):
74463         New function that logs the message about the profile starting.
74464         (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
74465         * inspector/InspectorController.h:
74466         * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
74467         title if there are multiple profiles, and take into account the fact
74468         that titles are displayed twice as much now.
74469         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
74470         * page/Console.cpp:
74471         (WebCore::Console::profile): Call new function.
74473 2009-06-22  David Hyatt  <hyatt@apple.com>
74475         Reviewed by Sam Weinig.
74477         https://bugs.webkit.org/show_bug.cgi?id=26615
74479         Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
74480         correspond to ones you find on <select> elements.
74482         Add an expanded property to row elements.
74484         * DerivedSources.cpp:
74485         * DerivedSources.make:
74486         * GNUmakefile.am:
74487         * WebCore.pro:
74488         * WebCore.vcproj/WebCore.vcproj:
74489         * WebCore.xcodeproj/project.pbxproj:
74490         * WebCoreSources.bkl:
74491         * html/HTMLAttributeNames.in:
74492         * html/HTMLDataGridCellElement.cpp: Added.
74493         (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
74494         (WebCore::HTMLDataGridCellElement::label):
74495         (WebCore::HTMLDataGridCellElement::setLabel):
74496         (WebCore::HTMLDataGridCellElement::focused):
74497         (WebCore::HTMLDataGridCellElement::setFocused):
74498         (WebCore::HTMLDataGridCellElement::checked):
74499         (WebCore::HTMLDataGridCellElement::setChecked):
74500         (WebCore::HTMLDataGridCellElement::indeterminate):
74501         (WebCore::HTMLDataGridCellElement::setIndeterminate):
74502         (WebCore::HTMLDataGridCellElement::progress):
74503         (WebCore::HTMLDataGridCellElement::setProgress):
74504         * html/HTMLDataGridCellElement.h: Added.
74505         (WebCore::HTMLDataGridCellElement::endTagRequirement):
74506         (WebCore::HTMLDataGridCellElement::tagPriority):
74507         * html/HTMLDataGridCellElement.idl: Added.
74508         * html/HTMLDataGridElement.cpp:
74509         (WebCore::HTMLDataGridElement::autofocus):
74510         (WebCore::HTMLDataGridElement::setAutofocus):
74511         (WebCore::HTMLDataGridElement::disabled):
74512         (WebCore::HTMLDataGridElement::setDisabled):
74513         (WebCore::HTMLDataGridElement::size):
74514         (WebCore::HTMLDataGridElement::setSize):
74515         * html/HTMLDataGridElement.h:
74516         * html/HTMLDataGridElement.idl:
74517         * html/HTMLDataGridRowElement.cpp:
74518         (WebCore::HTMLDataGridRowElement::checkDTD):
74519         (WebCore::HTMLDataGridRowElement::expanded):
74520         (WebCore::HTMLDataGridRowElement::setExpanded):
74521         * html/HTMLDataGridRowElement.h:
74522         * html/HTMLDataGridRowElement.idl:
74523         * html/HTMLElementsAllInOne.cpp:
74524         * html/HTMLTagNames.in:
74526 2009-06-22  Sam Weinig  <sam@webkit.org>
74528         Reviewed by Mark Rowe.
74530         Add event handler attribute getter/setters to HTMLBodyElement
74531         as specified in HTML 5.
74533         - Removes erroneous inclusion of the onresize and onunload event
74534         handler attributes in Element and Document.
74536         * dom/Document.cpp:
74537         (WebCore::Document::getWindowAttributeEventListener):
74538         * dom/Document.h:
74539         * dom/Document.idl:
74540         * dom/Element.idl:
74541         * dom/Node.cpp:
74542         * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
74543         virtual, since their behavior for HTMLBodyElement differs from the base
74544         implementation.
74545         * html/HTMLBodyElement.cpp:
74546         (WebCore::HTMLBodyElement::onblur):
74547         (WebCore::HTMLBodyElement::setOnblur):
74548         (WebCore::HTMLBodyElement::onerror):
74549         (WebCore::HTMLBodyElement::setOnerror):
74550         (WebCore::HTMLBodyElement::onfocus):
74551         (WebCore::HTMLBodyElement::setOnfocus):
74552         (WebCore::HTMLBodyElement::onload):
74553         (WebCore::HTMLBodyElement::setOnload):
74554         (WebCore::HTMLBodyElement::onbeforeunload):
74555         (WebCore::HTMLBodyElement::setOnbeforeunload):
74556         (WebCore::HTMLBodyElement::onmessage):
74557         (WebCore::HTMLBodyElement::setOnmessage):
74558         (WebCore::HTMLBodyElement::onoffline):
74559         (WebCore::HTMLBodyElement::setOnoffline):
74560         (WebCore::HTMLBodyElement::ononline):
74561         (WebCore::HTMLBodyElement::setOnonline):
74562         (WebCore::HTMLBodyElement::onresize):
74563         (WebCore::HTMLBodyElement::setOnresize):
74564         (WebCore::HTMLBodyElement::onstorage):
74565         (WebCore::HTMLBodyElement::setOnstorage):
74566         (WebCore::HTMLBodyElement::onunload):
74567         (WebCore::HTMLBodyElement::setOnunload):
74568         * html/HTMLBodyElement.h:
74569         * html/HTMLBodyElement.idl:
74571 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
74573         Reviewed by Darin Adler.
74575         https://bugs.webkit.org/show_bug.cgi?id=26601
74576         Remove disabled code for appcache dynamic entries
74578         This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
74580         * DerivedSources.cpp:
74581         * DerivedSources.make:
74582         * GNUmakefile.am:
74583         * WebCore.pro:
74584         * WebCore.vcproj/WebCore.vcproj:
74585         * WebCore.xcodeproj/project.pbxproj:
74586         * WebCoreSources.bkl:
74587         * bindings/js/JSDOMStringListCustom.cpp: Removed.
74588         * bindings/v8/custom/V8CustomBinding.h:
74589         * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
74590         * dom/DOMStringList.cpp: Removed.
74591         * dom/DOMStringList.h: Removed.
74592         * dom/DOMStringList.idl: Removed.
74593         * dom/StaticStringList.cpp: Removed.
74594         * dom/StaticStringList.h: Removed.
74595         * loader/DocumentLoader.cpp:
74596         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
74597         * loader/appcache/ApplicationCache.cpp:
74598         (WebCore::ApplicationCache::addResource):
74599         * loader/appcache/ApplicationCache.h:
74600         * loader/appcache/ApplicationCacheGroup.cpp:
74601         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
74602         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
74603         * loader/appcache/ApplicationCacheResource.cpp:
74604         (WebCore::ApplicationCacheResource::dumpType):
74605         * loader/appcache/ApplicationCacheResource.h:
74606         (WebCore::ApplicationCacheResource::):
74607         * loader/appcache/ApplicationCacheStorage.cpp:
74608         (WebCore::ApplicationCacheStorage::storeUpdatedType):
74609         * loader/appcache/DOMApplicationCache.cpp:
74610         * loader/appcache/DOMApplicationCache.h:
74611         * loader/appcache/DOMApplicationCache.idl:
74612         * page/DOMWindow.idl:
74614 2009-06-22  Steve Falkenburg  <sfalken@apple.com>
74616         Windows build fix.
74618         * DerivedSources.cpp:
74619         * html/HTMLElementsAllInOne.cpp:
74621 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
74623         Reviewed by John Sullivan.
74625         <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
74626         Japanese can't be input.
74628         WebKit uses a per-frame input context for most editable fields, and application's global
74629         context for password fields, manually controlling secure input state and the list of available
74630         input sources.
74632         We were setting TSMDocument property to disable non-Roman input methods after focus changed
74633         to a password field, but before selection was updated. This resulted in the property being
74634         applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
74635         context cached by +[NSApplication updateWindows], we change context based on selection,
74636         not on focus.
74638         * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
74639         context that we use for password fields - the global one - there is no need to get the active
74640         one.
74642 2009-06-22  David Levin  <levin@chromium.org>
74644         Reviewed by David Hyatt and Eric Seidel.
74646         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
74647         https://bugs.webkit.org/show_bug.cgi?id=26326
74649         Test: scrollbars/scrollbar-crash-on-refresh.html
74651         * dom/Document.cpp:
74652         (WebCore::Document::detach):
74653         Gives the FrameView a change to do any necessary cleanup on
74654         Document::detach() which is where the renderArena gets detroyed.
74655         * page/FrameView.cpp:
74656         (WebCore::FrameView::detachCustomScrollbars):
74657         Gets rid of any custom scrollbars (if the docment supplied them).
74658         * page/FrameView.h:
74659         * platform/Scrollbar.h:
74660         (WebCore::Scrollbar::isCustomScrollbar):
74661         * rendering/RenderObject.cpp:
74662         (WebCore::RenderObject::destroy):
74663         Removed the check for document()->frame().  If frame() is 0 in this code,
74664         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
74665         * rendering/RenderScrollbar.h:
74666         (WebCore::RenderScrollbar::isCustomScrollbar):
74668 2009-06-22  Dan Bernstein  <mitz@apple.com>
74670         Reviewed by Simon Fraser.
74672         - fix https://bugs.webkit.org/show_bug.cgi?id=23606
74673           <rdar://problem/6537777> CSS gradient not repainted when image load
74674           completes
74676         Test: fast/repaint/background-generated.html
74678         * rendering/RenderObject.cpp:
74679         (WebCore::mustRepaintFillLayers): Return true if the layer does not
74680         specify a size and the image uses the container size.
74682 2009-06-22  David Hyatt  <hyatt@apple.com>
74684         Reviewed by Sam Weinig.
74686         https://bugs.webkit.org/show_bug.cgi?id=26607
74688         Add IDL for HTMLDataGridRowElement.
74690         * DerivedSources.make:
74691         * GNUmakefile.am:
74692         * WebCore.pro:
74693         * WebCore.vcproj/WebCore.vcproj:
74694         * WebCore.xcodeproj/project.pbxproj:
74695         * WebCoreSources.bkl:
74696         * html/HTMLAttributeNames.in:
74697         * html/HTMLDataGridColElement.cpp:
74698         (WebCore::HTMLDataGridColElement::primary):
74699         (WebCore::HTMLDataGridColElement::setPrimary):
74700         * html/HTMLDataGridColElement.h:
74701         * html/HTMLDataGridColElement.idl:
74702         * html/HTMLDataGridElement.cpp:
74703         (WebCore::HTMLDataGridElement::checkDTD):
74704         (WebCore::HTMLDataGridElement::multiple):
74705         (WebCore::HTMLDataGridElement::setMultiple):
74706         * html/HTMLDataGridElement.h:
74707         * html/HTMLDataGridElement.idl:
74708         * html/HTMLDataGridRowElement.cpp: Added.
74709         (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
74710         (WebCore::HTMLDataGridRowElement::selected):
74711         (WebCore::HTMLDataGridRowElement::setSelected):
74712         (WebCore::HTMLDataGridRowElement::focused):
74713         (WebCore::HTMLDataGridRowElement::setFocused):
74714         * html/HTMLDataGridRowElement.h: Added.
74715         (WebCore::HTMLDataGridRowElement::tagPriority):
74716         * html/HTMLDataGridRowElement.idl: Added.
74717         * html/HTMLTagNames.in:
74719 2009-06-19  Yael Aharon <yael.aharon@nokia.com>
74721         Reviewed by Holger Freyther.
74723         https://bugs.webkit.org/show_bug.cgi?id=26556
74725         Fix a crash in case that the QNetworkReply::readReady signal is
74726         "stuck" in deferred mode due to JavaScript alert, and in the meantime,
74727         QNetworkreply::finished signal is received and processed before
74728         QNetworkReply::readReady is processed.
74730         * manual-tests/qt/unload-alert.html: Added.
74731         * platform/network/qt/QNetworkReplyHandler.cpp:
74732         (WebCore::QNetworkReplyHandler::setLoadMode):
74733         (WebCore::QNetworkReplyHandler::finish):
74734         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
74735         (WebCore::QNetworkReplyHandler::forwardData):
74736         (WebCore::QNetworkReplyHandler::start):
74737         (WebCore::QNetworkReplyHandler::sendQueuedItems):
74738         * platform/network/qt/QNetworkReplyHandler.h:
74739         (WebCore::QNetworkReplyHandler::):
74741 2009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
74743         Fix the Qt build.
74745         * WebCore.pro:
74747 2009-06-21  Darin Adler  <darin@apple.com>
74749         Reviewed by Sam Weinig.
74751         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
74752         https://bugs.webkit.org/show_bug.cgi?id=25425
74754         * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
74755         more consistent and to make SVGElement.h be included in the header rather than in
74756         every implementation file that includes the header. Added code to use getAttribute
74757         and setAttribute directly when the [Reflect] extended attribute is used.
74759         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
74761         * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
74762         reflect content attributes. Restricting this to one class for now to keep the
74763         patch small and start out slowly.
74765 2009-06-21  Sam Weinig  <sam@webkit.org>
74767         Reviewed by Oliver Hunt.
74769         Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
74770         Only expose event handler attributes to elements and documents.
74772         Test: fast/dom/event-attribute-availability.html
74774         * dom/Document.idl:
74775         * dom/Element.idl:
74776         * dom/Node.cpp:
74777         * dom/Node.h:
74778         * dom/Node.idl:
74780 2009-06-21  Daniel Bates  <dbates@intudata.com>
74782         Reviewed by Adam Barth.
74784         https://bugs.webkit.org/show_bug.cgi?id=26580
74785         
74786         Fix to enable XSSAuditor on child windows.
74787         
74788         Test: http/tests/security/xssAuditor/link-opens-new-window.html
74789         
74790         * page/XSSAuditor.cpp:
74791         (WebCore::XSSAuditor::XSSAuditor):
74792         (WebCore::XSSAuditor::isEnabled):
74793         (WebCore::XSSAuditor::canEvaluate):
74794         (WebCore::XSSAuditor::canCreateInlineEventListener):
74795         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
74796         (WebCore::XSSAuditor::canLoadObject):
74797         * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
74798         Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
74799         to query Settings.
74801 2009-06-21  David Levin  <levin@chromium.org>
74803         Reviewed by NOBODY.
74805         Speculative windows build fix (idea by Mark Rowe).
74807         * WebCore.vcproj/WebCore.vcproj:
74809 2009-06-21  David Levin  <levin@chromium.org>
74811         Reviewed by NOBODY (Speculative gtk build fix).
74813         * GNUmakefile.am:
74815 2009-06-21  David Levin  <levin@chromium.org>
74817         Reviewed by NOBODY.
74819         Speculative tiger build fix and a windows build fix.
74820         More fixes may still be in order.
74822         * WebCore.vcproj/WebCoreCommon.vsprops:
74823         * dom/default/PlatformMessagePortChannel.h:
74824         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
74826 2009-06-21  David Levin  <levin@chromium.org>
74828         Reviewed by NOBODY (Speculative tiger build fix).
74830         * dom/default/PlatformMessagePortChannel.h:
74831         (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
74833 2009-06-21  Drew Wilson  <atwilson@google.com>
74835         Reviewed by David Levin.
74837         <https://bugs.webkit.org/show_bug.cgi?id=26448>
74838         
74839         Added optimized GC for MessagePorts when the entangled port is run by the same thread.
74840         Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
74842         * bindings/js/JSDOMBinding.cpp:
74843         (WebCore::markActiveObjectsForContext):
74844         Now marks remotely entangled ports as in-use, in addition to those with pending activity.
74845         * bindings/js/JSMessagePortCustom.cpp:
74846         (WebCore::JSMessagePort::mark):
74847         Now checks if the entangled port is local (run by same thread) and if so mark()s it.
74848         * dom/MessagePort.cpp:
74849         (WebCore::MessagePort::postMessage):
74850         (WebCore::MessagePort::disentangle):
74851         Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
74852         (WebCore::MessagePort::start):
74853         (WebCore::MessagePort::locallyEntangledPort):
74854         Added API for fetching the entangled port if it is run by the same thread
74855         * dom/MessagePort.h:
74856         * dom/MessagePortProxyWrapper.h:
74857         * dom/default/MessagePortProxy.cpp:
74858         (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
74859         Added API for fetching the entangled port if it is run by the same thread        
74860         (WebCore::MessagePortProxy::hasPendingActivity):
74861         Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
74862         (WebCore::MessagePortProxy::locallyEntangledPort):
74863         * dom/default/MessagePortProxy.h:
74865 2009-06-21  Drew Wilson  <atwilson@google.com>
74867         Reviewed by David Levin.
74869         <https://bugs.webkit.org/show_bug.cgi?id=25043>
74870         Removed obsolete MessagePort.startConversation(), active and onclose APIs.
74872         Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
74873         implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
74874         entirely into the platform-dependent proxy.
74876         Created a thread-safe default PlatformMessagePortChannel implementation.
74878         Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
74879         cross-thread MessagePorts work.
74880         
74881         * GNUMakefile.am:
74882         * WebCore.vcproj/WebCore.vcproj:
74883         * WebCore.xcodeproj/project.pbxproj:
74884             Added MessagePortChannel/PlatformMessagePortChannel files.
74885         * bindings/js/JSMessagePortCustom.cpp:
74886         (WebCore::JSMessagePort::mark):
74887             Changed ports to not mark their entangled pair as reachable, per the spec.
74888         * bindings/v8/custom/V8MessagePortCustom.cpp:
74889         * dom/MessageChannel.cpp:
74890         (WebCore::MessageChannel::MessageChannel):
74891             Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
74892         * dom/MessagePort.cpp:
74893         (WebCore::MessagePort::MessagePort):
74894         (WebCore::MessagePort::~MessagePort):
74895         (WebCore::MessagePort::postMessage):
74896         (WebCore::MessagePort::disentangle):
74897         (WebCore::MessagePort::messageAvailable):
74898         (WebCore::MessagePort::start):
74899         (WebCore::MessagePort::close):
74900         (WebCore::MessagePort::entangle):
74901         (WebCore::MessagePort::contextDestroyed):
74902         (WebCore::MessagePort::dispatchMessages):
74903         (WebCore::MessagePort::setOnmessage):
74904         (WebCore::MessagePort::hasPendingActivity):
74905             Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
74906         * dom/MessagePort.h:
74907             Renamed isQueueOpen() to started().
74908         * dom/MessagePort.idl:
74909             Removed startConversation and onclose.
74910         * dom/MessagePortProxy.h: Removed.
74911         * dom/MessagePortChannel.cpp: Added.
74912         (WebCore::MessagePortChannel::EventData::create):
74913         (WebCore::MessagePortChannel::EventData::EventData):
74914         (WebCore::MessagePortChannel::~MessagePortChannel):
74915         * dom/MessagePortChannel.h: Added.
74916         (WebCore::MessagePortChannel::EventData::message):
74917         (WebCore::MessagePortChannel::EventData::channel):
74918             Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
74919         (WebCore::MessagePortChannel::MessagePortChannel):
74920         (WebCore::MessagePortChannel::create):        
74921         * dom/ScriptExecutionContext.cpp:
74922         (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
74923             Renamed isQueueOpen() to started().
74924         * dom/default/PlatformMessagePortChannel.cpp: Added.
74925         (WebCore::MessagePortChannel::entangleIfOpen):
74926         (WebCore::MessagePortChannel::disentangle):
74927         (WebCore::MessagePortChannel::postMessageToRemote):
74928         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
74929         (WebCore::MessagePortChannel::close):
74930         (WebCore::MessagePortChannel::isConnectedTo):
74931         (WebCore::MessagePortChannel::hasPendingActivity):
74932         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
74933         (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
74934         (WebCore::PlatformMessagePortChannel::createChannel):
74935         (WebCore::PlatformMessagePortChannel::entangleIfOpen):
74936         (WebCore::PlatformMessagePortChannel::disentangle):
74937         (WebCore::PlatformMessagePortChannel::setRemotePort):
74938         (WebCore::PlatformMessagePortChannel::remotePort):
74939         (WebCore::PlatformMessagePortChannel::entangledChannel):
74940         (WebCore::PlatformMessagePortChannel::setEntangledChannel):
74941         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
74942         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
74943         (WebCore::PlatformMessagePortChannel::isConnectedTo):
74944         (WebCore::PlatformMessagePortChannel::close):
74945         (WebCore::PlatformMessagePortChannel::closeInternal):
74946         (WebCore::PlatformMessagePortChannel::hasPendingActivity):
74947         * dom/default/PlatformMessagePortChannel.h: Added.
74948         (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
74949         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
74950         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
74951         (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
74952         (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
74953         * page/DOMWindow.cpp:
74954         (WebCore::PostMessageTimer::PostMessageTimer):
74955             Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
74956         (WebCore::PostMessageTimer::event):
74957         (WebCore::DOMWindow::postMessage):
74958         (WebCore::DOMWindow::postMessageTimerFired):
74960 2009-06-21  Dan Bernstein  <mitz@apple.com>
74962         Reviewed by Sam Weinig.
74964         - fix https://bugs.webkit.org/show_bug.cgi?id=15383
74965           <rdar://problem/5682745> resize: vertical does not restrict to vertical
74966           resize
74968         Test: fast/css/resize-single-axis.html
74970         * rendering/RenderLayer.cpp:
74971         (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
74972         axis.
74974 2009-06-21  Sam Weinig  <sam@webkit.org>
74976         Reviewed by Eric Seidel
74978         Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
74979         event.currentTarget for listener registered on window should point to the window object like in Firefox
74981         Test: fast/events/event-trace.html
74983         * dom/Node.cpp:
74984         (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
74985         to it. We previously used the document because DOMWindow was not yet an EventTarget.
74987 2009-06-21  Dan Bernstein  <mitz@apple.com>
74989         Reviewed by Sam Weinig.
74991         - fix https://bugs.webkit.org/show_bug.cgi?id=9694
74992           resize value not compared
74994         Test: fast/css/resize-value-compared.html
74996         * rendering/style/StyleRareInheritedData.cpp:
74997         (WebCore::StyleRareInheritedData::operator==): Compare the resize
74998         member.
75000 2009-06-19  Alice Liu  <alice.liu@apple.com>
75002         Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
75003         Repro crash animating GIF if previously used in a closed window's back/forward list
75004         Also filed as <rdar://problem/6978362>
75006         Reviewed by Maciej Stachowiak.
75008         Can't test this bug with an automated layout test since it requires b/f caching 
75009         * manual-tests/animated-gif-bfcache-crash.html: Added.
75010         * manual-tests/resources/containsAnimatedGif.html: Added.
75012         Adding checks for hostWindow() since there is no guarantee that the Page is alive
75013         * platform/ScrollView.cpp:
75014         (WebCore::ScrollView::scrollRectIntoViewRecursively):
75015         (WebCore::ScrollView::contentsToScreen):
75016         (WebCore::ScrollView::screenToContents):
75017         (WebCore::ScrollView::wheelEvent):
75019 2009-06-20  Sam Weinig  <sam@webkit.org>
75021         Reviewed by Adam Barth.
75023         Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
75024         Shadowing of top and parent
75026         * page/DOMWindow.idl:
75028 2009-06-20  Mark Rowe  <mrowe@apple.com>
75030         Reviewed by Dan Bernstein.
75032         Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
75033         Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
75035         We allow selections to begin within an element that has -webkit-user-select: none set,
75036         unless the element is draggable as dragging should take priority over starting a selection.
75038         Test: editing/selection/user-drag-element-and-user-select-none.html
75040         * dom/Node.cpp:
75041         (WebCore::Node::canStartSelection):
75043 2009-06-20  Darin Adler  <darin@apple.com>
75045         Reviewed by Dan Bernstein.
75047         Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
75048         https://bugs.webkit.org/show_bug.cgi?id=26528
75049         rdar://problem/6985329
75051         * editing/TextIterator.cpp:
75052         (WebCore::TextIterator::handleReplacedElement): When entering a text control,
75053         start at the top of the shadow tree (by calling shadowTreeRootNode). Also
75054         remove assumption that innerTextElement will never be 0 since RenderTextControl
75055         doesn't really guarantee this.
75057 2009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
75059         Reviewed by NOBODY.
75061         Speculative Qt build fix - add HTMLDataGridColElement to the build script.
75063         * WebCore.pro:
75065 2009-06-19  Adam Barth  <abarth@webkit.org>
75067         Reviewed by Darin Adler.
75069         https://bugs.webkit.org/show_bug.cgi?id=26561
75071         Remove a memcpy by retrieving the already existing copy of a string
75072         instead of making a new one.
75074         * bindings/js/ScriptSourceCode.h:
75075         (WebCore::ScriptSourceCode::ScriptSourceCode):
75076         (WebCore::ScriptSourceCode::source):
75077         * bindings/js/StringSourceProvider.h:
75078         (WebCore::StringSourceProvider::source):
75080 2009-06-19  Brian Weinstein  <bweinstein@apple.com>
75082         Reviewed by Steve Falkenburg.
75083         
75084         https://bugs.webkit.org/show_bug.cgi?id=26488
75085         No Support for Single Finger or Two Finger Panning in Windows 7
75086         
75087         The code in WebCore allows us to interpret a Pan gesture as
75088         a mousewheel event, and we are able to reuse the scrolling code.
75089         Another constructor was created in WheelEventWin which takes data
75090         better suited to the pan guesture than what was currently there. 
75091         
75092         Unable to add tests to simulate touch behavior/gestures.
75094         * platform/PlatformWheelEvent.h:
75095         * platform/win/WheelEventWin.cpp:
75097 2009-06-19  Chris Marrin  <cmarrin@apple.com>
75099         Fixed a build error, which only shows up in the i386 compile
75101         * platform/graphics/mac/GraphicsLayerCA.mm:
75102         (WebCore::GraphicsLayerCA::animateTransform):
75104 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
75106         Reviewed by Oliver Hunt.
75108         <rdar://problem/6988385> REGRESSION: In full page video player, movie's
75109         video track becomes detached from its controller.
75110         
75111         When in the media document, the MediaPlayer should not report that it
75112         is capable of hardware acceleration, because it renders via a QTMovieView
75113         which is already accelerated.
75115         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
75116         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
75118 2009-06-19  Kevin Ollivier  <kevino@theolliviers.com>
75120         Adding XSSAuditor.cpp to the wx build.
75122         * WebCoreSources.bkl:
75124 2009-06-19  Chris Marrin  <cmarrin@apple.com>
75126         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
75128         https://bugs.webkit.org/show_bug.cgi?id=26544
75130         If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
75131         This is not really testable, since we can't see what the hardware animation is doing.
75133         * platform/graphics/mac/GraphicsLayerCA.mm:
75134         (WebCore::GraphicsLayerCA::animateTransform):
75136 2009-06-19  Geoffrey Garen  <ggaren@apple.com>
75138         Reviewed by Maciej Stachowiak.
75139         
75140         An additional fix for Bug 26532: Native functions do not correctly unlink
75141         from optimised callsites when they're collected
75142         <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
75144         Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
75145         accessors, so the type of object you get to wrap a function is the same,
75146         regardless of whether the access to the function is cross-frame.
75147         
75148         This is faster and more idiomatic than what we had before. It also would
75149         have avoided Bug 26532 because it would have prevented a conflicting
75150         PrototypeFunction from being allocated to wrap postMessage, where a
75151         NativeFunctionWrapper had been allocated previously.
75152         
75153         * bindings/js/JSDOMBinding.cpp:
75154         (WebCore::objectToStringFunctionGetter):
75155         * bindings/js/JSDOMWindowCustom.cpp:
75156         (WebCore::nonCachingStaticFunctionGetter):
75157         * bindings/js/JSHistoryCustom.cpp:
75158         (WebCore::nonCachingStaticBackFunctionGetter):
75159         (WebCore::nonCachingStaticForwardFunctionGetter):
75160         (WebCore::nonCachingStaticGoFunctionGetter):
75161         * bindings/js/JSLocationCustom.cpp:
75162         (WebCore::nonCachingStaticReplaceFunctionGetter):
75163         (WebCore::nonCachingStaticReloadFunctionGetter):
75164         (WebCore::nonCachingStaticAssignFunctionGetter):
75166 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
75168         Reviewed by John Sullivan
75170         <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
75171         
75172         Fix a crash that could occur in complex content due to timing issues
75173         when doing a partial layer tree rebuild which is required when painting;
75174         setCompositingParent() could be called with a parent which has not been made
75175         compositing yet.
75177 2009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
75179         Build fix. Adding missing HTMLDataGrid* files to the build.
75181         * GNUmakefile.am:
75183 2009-06-19  Peter Kasting  <pkasting@google.com>
75185         Reviewed by Eric Seidel.
75187         https://bugs.webkit.org/show_bug.cgi?id=26460 part three
75188         Make BMPImageReader a standalone class that is used by ICOImageDecoder
75189         and BMPImageDecoder to decode individual BMPs within a file.  These
75190         decoders now inherit directly from ImageDecoder.
75191         
75192         This also makes these decoders decode on-demand in isSizeAvailable() and
75193         frameBufferAtIndex(), like the other decoders, instead of when setData()
75194         is called, like before.  This should provide a speedup on pages
75195         containing BMPs that aren't immediately onscreen.
75197         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
75198         (WebCore::BMPImageDecoder::BMPImageDecoder):
75199         (WebCore::BMPImageDecoder::setData):
75200         (WebCore::BMPImageDecoder::isSizeAvailable):
75201         (WebCore::BMPImageDecoder::frameBufferAtIndex):
75202         (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
75203         (WebCore::BMPImageDecoder::decode):
75204         (WebCore::BMPImageDecoder::processFileHeader):
75205         * platform/image-decoders/bmp/BMPImageDecoder.h:
75206         (WebCore::BMPImageDecoder::readUint32):
75207         * platform/image-decoders/bmp/BMPImageReader.cpp:
75208         (WebCore::BMPImageReader::BMPImageReader):
75209         (WebCore::BMPImageReader::decodeBMP):
75210         (WebCore::BMPImageReader::readInfoHeaderSize):
75211         (WebCore::BMPImageReader::processInfoHeader):
75212         (WebCore::BMPImageReader::readInfoHeader):
75213         (WebCore::BMPImageReader::processBitmasks):
75214         (WebCore::BMPImageReader::processColorTable):
75215         (WebCore::BMPImageReader::processRLEData):
75216         (WebCore::BMPImageReader::processNonRLEData):
75217         (WebCore::BMPImageReader::setFailed):
75218         * platform/image-decoders/bmp/BMPImageReader.h:
75219         (WebCore::BMPImageReader::readUint16):
75220         (WebCore::BMPImageReader::readUint32):
75221         (WebCore::BMPImageReader::setBuffer):
75222         (WebCore::BMPImageReader::setData):
75223         (WebCore::BMPImageReader::):
75224         (WebCore::BMPImageReader::pastEndOfImage):
75225         (WebCore::BMPImageReader::readCurrentPixel):
75226         (WebCore::BMPImageReader::setRGBA):
75227         * platform/image-decoders/ico/ICOImageDecoder.cpp:
75228         (WebCore::ICOImageDecoder::ICOImageDecoder):
75229         (WebCore::ICOImageDecoder::setData):
75230         (WebCore::ICOImageDecoder::isSizeAvailable):
75231         (WebCore::ICOImageDecoder::size):
75232         (WebCore::ICOImageDecoder::frameBufferAtIndex):
75233         (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
75234         (WebCore::ICOImageDecoder::decode):
75235         (WebCore::ICOImageDecoder::processDirectory):
75236         (WebCore::ICOImageDecoder::processDirectoryEntries):
75237         (WebCore::ICOImageDecoder::readDirectoryEntry):
75238         (WebCore::ICOImageDecoder::processImageType):
75239         * platform/image-decoders/ico/ICOImageDecoder.h:
75240         (WebCore::ICOImageDecoder::readUint16):
75241         (WebCore::ICOImageDecoder::readUint32):
75243 2009-06-19  Adam Barth  <abarth@webkit.org>
75245         Reviewed by Dimitri Glazkov.
75247         https://bugs.webkit.org/show_bug.cgi?id=26555
75249         Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
75250         the same API in V8 and JSC.
75252         * WebCore/bindings/js/ScriptController.cpp:
75253         * WebCore/bindings/js/ScriptSourceCode.h:
75254         * WebCore/bindings/v8/ScriptController.cpp:
75255         * WebCore/page/XSSAuditor.cpp:
75256         * WebCore/page/XSSAuditor.h:
75258 2009-06-19  David Hyatt  <hyatt@apple.com>
75260         Reviewed by Anders Carlsson.
75262         https://bugs.webkit.org/show_bug.cgi?id=26547
75263         
75264         Implement the IDL interface for HTMLDataGridColElement.
75266         * DerivedSources.cpp:
75267         * DerivedSources.make:
75268         * GNUmakefile.am:
75269         * WebCore.pro:
75270         * WebCore.vcproj/WebCore.vcproj:
75271         * WebCore.xcodeproj/project.pbxproj:
75272         * WebCoreSources.bkl:
75273         * html/HTMLAttributeNames.in:
75274         * html/HTMLDataGridColElement.cpp: Added.
75275         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
75276         (WebCore::HTMLDataGridColElement::label):
75277         (WebCore::HTMLDataGridColElement::setLabel):
75278         (WebCore::HTMLDataGridColElement::type):
75279         (WebCore::HTMLDataGridColElement::setType):
75280         (WebCore::HTMLDataGridColElement::sortable):
75281         (WebCore::HTMLDataGridColElement::setSortable):
75282         (WebCore::HTMLDataGridColElement::sortDirection):
75283         (WebCore::HTMLDataGridColElement::setSortDirection):
75284         (WebCore::HTMLDataGridColElement::selected):
75285         (WebCore::HTMLDataGridColElement::setSelected):
75286         * html/HTMLDataGridColElement.h: Added.
75287         (WebCore::HTMLDataGridColElement::endTagRequirement):
75288         (WebCore::HTMLDataGridColElement::tagPriority):
75289         * html/HTMLDataGridColElement.idl: Added.
75290         * html/HTMLDataGridElement.h:
75291         * html/HTMLElementsAllInOne.cpp:
75292         * html/HTMLTagNames.in:
75293         * page/DOMWindow.idl:
75295 2009-06-19  Chris Evans  <scarybeasts@gmail.com>
75297         Reviewed by Eric Seidel.
75299         There is no new test because this cannot be tested deterministically.
75300         I've not been able to cause a crash at all in the test framework, but
75301         I have verified that this is happening in the wild and that the patch
75302         fixes the likely cause in the debugger.
75304         * loader/TextResourceDecoder.cpp: careful not to iterate off the end
75305           of our input buffer looking for the end of the comment.
75307 2009-06-19  Adam Barth  <abarth@webkit.org>
75309         Reviewed by Dimitri Glazkov.
75311         https://bugs.webkit.org/show_bug.cgi?id=26536
75313         Fix external-script-URL-location.html and
75314         write-external-script-open.html LayoutTests.
75316         implicitOpen is called from several places.  We need to setXSSAuditor
75317         each time, so I moved the call inside implicitOpen.
75319         * dom/Document.cpp:
75320         (WebCore::Document::open):
75321         (WebCore::Document::implicitOpen):
75322         * loader/FrameLoader.cpp:
75323         (WebCore::FrameLoader::begin):
75325 2009-06-19  Kent Tamura  <tkent@chromium.org>
75327         Reviewed by David Levin.
75329         Use WebCore::multipleFileUploadText() in Chromium to fix a problem
75330         that Chromium shows only the first filename even if a user selects
75331         multiple files for <input type=file multiple>.
75332         <https://bugs.webkit.org/show_bug.cgi?id=26502>
75334         * platform/chromium/FileChooserChromium.cpp:
75335         (WebCore::FileChooser::basenameForWidth):
75337 2009-06-19  Dan Bernstein  <mitz@apple.com>
75339         Reviewed by Dave Hyatt.
75341         - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
75342           to look up a word in Dictionary using command-control-d
75344         Test: editing/selection/move-by-line-005.html
75346         The root cause of this bug was searchAheadForBetterMatch() continuing
75347         past the first rendered text object after the given object. While we
75348         want to skip non-rendered text and empty containers, when we encounter
75349         rendered text object, we must return a text box for that object.
75351         * dom/Position.cpp:
75352         (WebCore::searchAheadForBetterMatch):
75354 2009-06-19  Jungshik Shin  <jshin@chromium.org>
75356         Reviewed by David Levin
75358         https://bugs.webkit.org/show_bug.cgi?id=25657
75360         Chromium Linux port does not handle non-BMP characters properly.
75361         It's fixed with a 'UTF-16 iterator macro' to extract Unicode
75362         codepoints out of a UTF-16 input string.
75364         A manual test is added for non-BMP character rendering,
75365         which we can use until a small freely-distributable font
75366         covering non-BMP is added to the Webkit source tree.
75369         * platform/graphics/chromium/FontCacheLinux.cpp:
75370         (WebCore::FontCache::getFontDataForCharacters):
75371         * manual-tests/non-bmp.html: Added.
75373 2009-06-19  Pavel Feldman  <pfeldman@chromium.org>
75375         Reviewed by Dimitri Glazkov.
75377         V8 Bindings: return proper state from the script stack.
75379         https://bugs.webkit.org/show_bug.cgi?id=26512
75381         * bindings/v8/ScriptCallStack.cpp:
75382         (WebCore::ScriptCallStack::ScriptCallStack):
75383         * bindings/v8/ScriptCallStack.h:
75384         (WebCore::ScriptCallStack::state):
75386 2009-06-19  Jessie Berlin  <jberlin@apple.com>
75388         Reviewed by Simon Fraser.
75390         Windows build fix.
75391         
75392         * platform/graphics/cg/PatternCG.cpp:
75393         (WebCore::Pattern::createPlatformPattern):
75395 2009-06-19  Yael Aharon  <yael.aharon@nokia.com>
75397         Reviewed by Simon Hausmann.
75398         Build fix after 44825.
75400         * platform/graphics/qt/ImageDecoderQt.cpp:
75401         (WebCore::ImageDecoderQt::isSizeAvailable):
75402         * platform/graphics/qt/ImageDecoderQt.h:
75404 2009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>
75406         Reviewed by Oliver Hunt.
75408         Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
75409         <https://bugs.webkit.org/show_bug.cgi?id=26426>
75411         Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
75412         The original number cannot be represented by mantissa of float
75413         (23bit) so that it caused some error.
75415         Test: fast/canvas/image-object-in-canvas.html:
75417         * platform/graphics/cg/PatternCG.cpp:
75418         (WebCore::Pattern::createPlatformPattern):
75420 2009-06-19  Adam Barth  <abarth@webkit.org>
75422         Unreviewed attempt to fix the Chromium build.
75424         * bindings/v8/ScriptController.cpp:
75425         (WebCore::ScriptController::ScriptController):
75426         (WebCore::ScriptController::evaluate):
75427         * bindings/v8/ScriptController.h:
75428         (WebCore::ScriptController::xssAuditor):
75429         * bindings/v8/ScriptEventListener.cpp:
75430         (WebCore::createAttributeEventListener):
75432 2009-06-18  Adam Barth  <abarth@webkit.org>
75434         Reviewed by Sam Weinig.
75436         https://bugs.webkit.org/show_bug.cgi?id=26199
75438         Added an experimental reflective XSS filter.  The filter is disabled by
75439         default.
75441         Test: http/tests/security/xssAuditor/script-tag.html
75443         * GNUmakefile.am:
75444         * WebCore.base.exp:
75445         * WebCore.pro:
75446         * WebCore.vcproj/WebCore.vcproj:
75447         * WebCore.xcodeproj/project.pbxproj:
75448         * bindings/js/ScriptController.cpp:
75449         (WebCore::ScriptController::ScriptController):
75450         (WebCore::ScriptController::evaluate):
75451         * bindings/js/ScriptController.h:
75452         (WebCore::ScriptController::xssAuditor):
75453         * bindings/js/ScriptEventListener.cpp:
75454         (WebCore::createAttributeEventListener):
75455         * dom/Tokenizer.h:
75456         (WebCore::Tokenizer::xssAuditor):
75457         (WebCore::Tokenizer::setXSSAuditor):
75458         (WebCore::Tokenizer::Tokenizer):
75459         * html/HTMLTokenizer.cpp:
75460         (WebCore::HTMLTokenizer::scriptHandler):
75461         * loader/FrameLoader.cpp:
75462         (WebCore::FrameLoader::begin):
75463         (WebCore::FrameLoader::requestObject):
75464         * page/Settings.cpp:
75465         (WebCore::Settings::Settings):
75466         (WebCore::Settings::setXSSAuditorEnabled):
75467         * page/Settings.h:
75468         (WebCore::Settings::xssAuditorEnabled):
75469         * page/XSSAuditor.cpp: Added.
75470         (WebCore::isControlCharacter):
75471         (WebCore::XSSAuditor::XSSAuditor):
75472         (WebCore::XSSAuditor::~XSSAuditor):
75473         (WebCore::XSSAuditor::canEvaluate):
75474         (WebCore::XSSAuditor::canCreateInlineEventListener):
75475         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
75476         (WebCore::XSSAuditor::canLoadObject):
75477         (WebCore::XSSAuditor::decodeURL):
75478         (WebCore::XSSAuditor::findInRequest):
75479         * page/XSSAuditor.h: Added.
75480         (WebCore::XSSAuditor::isEnabled):
75481         (WebCore::XSSAuditor::setXSSAuditorEnabled):
75483 2009-06-18  Dirk Schulze  <krit@webkit.org>
75485         Reviewed by Oliver Hunt.
75487         feOffset and objectBoundingBox
75488         [https://bugs.webkit.org/show_bug.cgi?id=26441]
75490         If we use objectBoundingBox for primitiveUnits, the fractions given
75491         to dx or dy of feOffset must be multiplied with the referenced objects
75492         objectBoundingBox size.
75494         Test: svg/filters/feOffset.svg
75496         * svg/graphics/filters/SVGFEOffset.cpp:
75497         (WebCore::FEOffset::apply):
75499 2009-06-18  Dirk Schulze  <krit@webkit.org>
75501         Reviewed by Oliver Hunt.
75503         feTile implementation missing
75504         [https://bugs.webkit.org/show_bug.cgi?id=26419]
75506         Implementation of feTile, a pattern effect for SVG filters. It was
75507         necessary to modify FilterEffect since source inputs need a secial
75508         logic and we have to identify if an effect is a source input.
75510         Tests: svg/batik/filters/feTile.svg
75511                svg/filters/feTile.svg
75513         * platform/graphics/filters/FilterEffect.h:
75514         (WebCore::FilterEffect::isSourceInput):
75515         * platform/graphics/filters/SourceAlpha.h:
75516         (WebCore::SourceAlpha::isSourceInput):
75517         * platform/graphics/filters/SourceGraphic.h:
75518         (WebCore::SourceGraphic::isSourceInput):
75519         * svg/graphics/filters/SVGFETile.cpp:
75520         (WebCore::FETile::apply):
75522 2009-06-18  Dirk Schulze  <krit@webkit.org>
75524         Reviewed by Oliver Hunt.
75526         feMerge implementation
75527         [https://bugs.webkit.org/show_bug.cgi?id=26480]
75529         Added feMerge to the SVG Filter system.
75531         Test: svg/filters/feMerge.svg
75533         * svg/graphics/filters/SVGFEMerge.cpp:
75534         (WebCore::FEMerge::uniteChildEffectSubregions):
75535         (WebCore::FEMerge::apply):
75536         * svg/graphics/filters/SVGFEMerge.h:
75538 2009-06-18  Mark Rowe  <mrowe@apple.com>
75540         Speculative Windows build fix.
75542         * page/win/FrameCGWin.cpp: Add missing #include.
75544 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
75546         Reviewed by Dave Levin.
75548         https://bugs.webkit.org/show_bug.cgi?id=26425
75549         Final refactorings, picking up a few places where BitmapInfo
75550         could be used.
75552         * page/win/FrameCGWin.cpp:
75553         (WebCore::imageFromRect):
75554         * platform/win/CursorWin.cpp:
75555         (WebCore::Cursor::Cursor):
75556         * platform/win/PopupMenuWin.cpp:
75557         (WebCore::PopupMenu::paint):
75559 2009-06-18  Chris Fleizach  <cfleizach@apple.com>
75561         Reviewed by Darin Adler.
75563         Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
75564         https://bugs.webkit.org/show_bug.cgi?id=26522
75566         Test: accessibility/non-data-table-cell-title-ui-element.html
75568         * accessibility/AccessibilityTableCell.cpp:
75569         (WebCore::AccessibilityTableCell::titleUIElement):
75571 2009-06-18  Kevin Ollivier  <kevino@theolliviers.com>
75573         wx build fix after recent RenderTheme changes.
75575         * platform/wx/RenderThemeWx.cpp:
75576         (WebCore::RenderThemeWx::~RenderThemeWx):
75577         (WebCore::RenderTheme::themeForPage):
75579 2009-06-18  Peter Kasting  <pkasting@google.com>
75581         Reviewed by Eric Seidel.
75583         https://bugs.webkit.org/show_bug.cgi?id=26460 part two
75584         Attempt to minimize diff of following functional change by first landing
75585         non-functional change to:
75586         * Make readUintX() public and static (since they will need to be once
75587           BMPImageReader is included in *ImageDecoder via composition rather
75588           than inheritance).  Add wrappers in each class so callers can be
75589           simpler.  In the next patch, these wrappers will be beefed up slightly
75590           and the callers will get even simpler.
75591         * Change direct setting of m_failed to use setFailed(), since in the
75592           next patch much of this code won't even have direct access to m_failed
75593         * Add a helper function in ICOImageDecoder to determine the image type
75594           instead of simply doing it inline
75595         * Rewrap lines that used to be <=80 cols and slipped over it during the
75596           original landing of these decoders
75597         * Other misc. changes, e.g. adding constructor definitions, reordering
75598           functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
75599           functional effect but minimize the subsequent diff for readability
75602         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
75603         (WebCore::BMPImageDecoder::BMPImageDecoder):
75604         (WebCore::BMPImageDecoder::processFileHeader):
75605         * platform/image-decoders/bmp/BMPImageDecoder.h:
75606         (WebCore::BMPImageDecoder::readUint32):
75607         * platform/image-decoders/bmp/BMPImageReader.cpp:
75608         (WebCore::BMPImageReader::decodeBMP):
75609         (WebCore::BMPImageReader::getInfoHeaderSize):
75610         (WebCore::BMPImageReader::processInfoHeader):
75611         (WebCore::BMPImageReader::readInfoHeader):
75612         (WebCore::BMPImageReader::processBitmasks):
75613         (WebCore::BMPImageReader::processColorTable):
75614         (WebCore::BMPImageReader::processRLEData):
75615         (WebCore::BMPImageReader::processNonRLEData):
75616         * platform/image-decoders/bmp/BMPImageReader.h:
75617         (WebCore::BMPImageReader::readUint16Helper):
75618         (WebCore::BMPImageReader::readUint32Helper):
75619         (WebCore::BMPImageReader::):
75620         (WebCore::BMPImageReader::readUint16):
75621         (WebCore::BMPImageReader::readUint32):
75622         (WebCore::BMPImageReader::readCurrentPixel):
75623         (WebCore::BMPImageReader::getComponent):
75624         (WebCore::BMPImageReader::setI):
75625         (WebCore::BMPImageReader::setRGBA):
75626         (WebCore::BMPImageReader::fillRGBA):
75627         * platform/image-decoders/ico/ICOImageDecoder.cpp:
75628         (WebCore::ICOImageDecoder::ICOImageDecoder):
75629         (WebCore::ICOImageDecoder::isSizeAvailable):
75630         (WebCore::ICOImageDecoder::size):
75631         (WebCore::ICOImageDecoder::decodeImage):
75632         (WebCore::ICOImageDecoder::processDirectory):
75633         (WebCore::ICOImageDecoder::processDirectoryEntries):
75634         (WebCore::ICOImageDecoder::isBetterEntry):
75635         (WebCore::ICOImageDecoder::processImageType):
75636         * platform/image-decoders/ico/ICOImageDecoder.h:
75637         (WebCore::ICOImageDecoder::readUint16):
75638         (WebCore::ICOImageDecoder::readUint32):
75640 2009-06-18  Peter Kasting  <pkasting@google.com>
75642         Fix build bustage.
75644         * platform/image-decoders/gif/GIFImageDecoder.h:
75646 2009-06-18  Kevin McCullough  <kmccullough@apple.com>
75648         Reviewed by Oliver Hunt.
75650         <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
75652         Convert intptr_t to Strings so that we don't loose bits in the
75653         conversion to JS.  Previously they were being put into 32bit ints.
75655         * inspector/InspectorController.cpp: Convert the String back to an
75656         intptr_t.
75657         (WebCore::InspectorController::addBreakpoint):
75658         (WebCore::InspectorController::removeBreakpoint):
75659         * inspector/InspectorController.h:
75660         * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
75661         truncation.
75662         * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
75663         (WebCore::InspectorFrontend::parsedScriptSource):
75664         * platform/text/PlatformString.h: Implemented the necessary conversion
75665         functions to be able to convert to and from an intptr_t.
75666         * platform/text/String.cpp: Ditto.
75667         (WebCore::String::toIntPtrStrict):
75668         (WebCore::String::toIntPtr):
75669         (WebCore::charactersToIntPtrStrict):
75670         (WebCore::charactersToIntPtr):
75671         * platform/text/StringImpl.cpp: Ditto.
75672         (WebCore::StringImpl::toIntPtrStrict):
75673         (WebCore::StringImpl::toIntPtr):
75674         * platform/text/StringImpl.h: Ditto.
75676 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
75678         Reviewed by Eric Seidel.
75680         Final cleanups in this refactoring:
75681         (1) Move WindowsBitmap implementation from CG-specific file to
75682             the platform-common GraphicsContextWin.cpp, since it is
75683             equally useful on both platforms.
75684         (2) Revise the TransformationMatrix logic as suggested by
75685             Adam Roben in his review comments to Part #2 of this
75686             refactoring.
75688         * platform/graphics/win/GraphicsContextCGWin.cpp:
75689         * platform/graphics/win/GraphicsContextWin.cpp:
75690         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
75691         (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
75692         (WebCore::GraphicsContext::createWindowsBitmap):
75693         (WebCore::GraphicsContext::getWindowsContext):
75694         (WebCore::GraphicsContextPlatformPrivate::scale):
75695         (WebCore::GraphicsContextPlatformPrivate::rotate):
75696         (WebCore::GraphicsContextPlatformPrivate::translate):
75697         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
75699 2009-06-18  Peter Kasting  <pkasting@google.com>
75701         Reviewed by Eric Seidel.
75703         https://bugs.webkit.org/show_bug.cgi?id=26460 part one
75704         Make isSizeAvailable non-const, since it's not logically const (it
75705         triggers lazy decoding), and simplify all the implementations (without
75706         changing behavior; just make less verbose).  Remove some other
75707         inappropriate consts, which enables the removal of all the mutable
75708         declarations in the decoders.
75710         * platform/image-decoders/ImageDecoder.h:
75711         (WebCore::ImageDecoder::isSizeAvailable):
75712         (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
75713         * platform/image-decoders/gif/GIFImageDecoder.cpp:
75714         (WebCore::GIFImageDecoder::isSizeAvailable):
75715         (WebCore::GIFImageDecoder::repetitionCount):
75716         (WebCore::GIFImageDecoder::decode):
75717         * platform/image-decoders/gif/GIFImageDecoder.h:
75718         * platform/image-decoders/ico/ICOImageDecoder.cpp:
75719         (WebCore::ICOImageDecoder::isSizeAvailable):
75720         * platform/image-decoders/ico/ICOImageDecoder.h:
75721         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
75722         (WebCore::JPEGImageDecoder::isSizeAvailable):
75723         (WebCore::JPEGImageDecoder::decode):
75724         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
75725         * platform/image-decoders/png/PNGImageDecoder.cpp:
75726         (WebCore::PNGImageDecoder::isSizeAvailable):
75727         (WebCore::PNGImageDecoder::decode):
75728         * platform/image-decoders/png/PNGImageDecoder.h:
75729         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
75730         (WebCore::XBMImageDecoder::isSizeAvailable):
75731         (WebCore::XBMImageDecoder::frameBufferAtIndex):
75732         (WebCore::XBMImageDecoder::decode):
75733         * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
75735 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
75737         Reviewed by Eric Seidel.
75739         Move some common functions out of platform files and into
75740         the common implementation.
75742         https://bugs.webkit.org/show_bug.cgi?id=26425.
75743         Add a new platform context method (flush) so that the
75744         getWindowsContext method can be consolidated into the common
75745         GraphicsContextWin.cpp file.
75746          
75747         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
75748         (WebCore::GraphicsContextPlatformPrivate::flush):
75749         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
75750         (WebCore::GraphicsContextPlatformPrivate::flush):
75751         * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
75752           getWindowContext method.
75753         * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
75754           getWindowContext method and fillWithClearColor methods.
75755         * platform/graphics/win/GraphicsContextWin.cpp:
75756         (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
75757         (WebCore::GraphicsContext::getWindowsContext): Moved
75758           from *CairoWin.cpp
75760 2009-06-18  Ojan Vafai  <ojan@chromium.org>
75762         Reviewed by Oliver Hunt.
75764         Remove code that I accidentally committed in r44811.
75766         * editing/markup.cpp:
75767         (WebCore::createMarkup):
75769 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
75771         Reviewed by Dan Bernstein.
75773         <rdar://problem/6983207> Non-layer content is not re-rendered when transition
75774         starts sometimes (with hardware acceleration).
75775         
75776         When deciding which RenderLayers should be composited, when a layer goes into
75777         compositing mode we repaint the old location. However, we did that before
75778         we'd looked at all the factors that may force a layer to composite, so missed
75779         some cases. Fix by doing the repaint once we really know whether it's going
75780         to composite.
75782         Test: compositing/repaint/become-overlay-composited-layer.html
75784         * rendering/RenderLayerCompositor.cpp:
75785         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
75787 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
75789         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
75790         the Tiger build where QTMovieLayer does not exist.
75792         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
75793         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
75794         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
75795         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
75796         (WebCore::MediaPlayerPrivate::currentRenderingMode):
75797         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
75798         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
75799         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
75801 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
75803         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
75805         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
75806         (WebCore::MediaPlayerPrivate::currentRenderingMode):
75807         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
75808         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
75810 2009-06-17  Erik Arvidsson  <arv@chromium.org>
75812         Reviewed by Adele Peterson.
75814         https://bugs.webkit.org/show_bug.cgi?id=15189
75815         Adds the HTML5 input event support for textarea.
75816         
75817         Also, moves the oninput attribute parse handling to HTMLElement so that
75818         it can be set on any HTML element so that bubbling events can be handled
75819         using HTML attribute handlers.
75821         Test: fast/forms/textarea-input-event.html
75823         * html/HTMLElement.cpp:
75824         (WebCore::HTMLElement::parseMappedAttribute):
75825         * html/HTMLInputElement.cpp:
75826         (WebCore::HTMLInputElement::parseMappedAttribute):
75827         * rendering/RenderTextControlMultiLine.cpp:
75828         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
75830 2009-06-18  Dirk Schulze  <krit@webkit.org>
75832         Reviewed by Oliver Hunt.
75834         Share code between filterEffects
75835         [https://bugs.webkit.org/show_bug.cgi?id=26479]
75837         Share more code of filter effects. The imageBuffer creation can move to
75838         FilterEffect ant every effect asks for the GraphicsContext. Move the
75839         drawingRect calculation to FilterEffect.
75841         * platform/graphics/filters/FilterEffect.cpp:
75842         (WebCore::FilterEffect::calculateDrawingRect):
75843         (WebCore::FilterEffect::getEffectContext):
75844         * platform/graphics/filters/FilterEffect.h:
75845         * platform/graphics/filters/SourceGraphic.cpp:
75846         (WebCore::SourceGraphic::apply):
75847         * svg/graphics/filters/SVGFEFlood.cpp:
75848         (WebCore::FEFlood::apply):
75849         * svg/graphics/filters/SVGFEOffset.cpp:
75850         (WebCore::FEOffset::apply):
75852 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
75854         Reviewed by Dave Hyatt.
75855         
75856         https://bugs.webkit.org/show_bug.cgi?id=26499
75857         
75858         Support hardware-accelerationed rendering of video elements.
75860         * html/HTMLMediaElement.cpp:
75861         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
75862         (WebCore::HTMLMediaElement::mediaPlayerRepaint):
75863         Just move these methods to group the render-related methods together.
75864         
75865         (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
75866         Call out method to ask the RenderLayerCompositor if presentation of this video
75867         can be acclerated. It might say no, if, for example, the video has a reflection.
75868         
75869         (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
75870         Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
75871         
75872         * html/HTMLMediaElement.h:
75873         Reordered the rendering-related methods, and added two methods related to video
75874         acceleration.
75875         
75876         * platform/graphics/MediaPlayer.cpp:
75877         (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
75878         Called by the rendering system when it determines that the video must go into, or
75879         fall off of the hardware-accelerated path.
75880         
75881         (WebCore::MediaPlayer::supportsAcceleratedRendering):
75882         Method to say whether the media engine supports accelerated rendering.
75883         
75884         * platform/graphics/MediaPlayer.h:
75885         (WebCore::MediaPlayerClient::mediaPlayerRepaint):
75886         (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
75887         Moved.
75888         
75889         (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
75890         (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
75891         New methods to ask the client if the rendering system can support accelerated
75892         rendering, and to get a GraphicsLayer to plug the movie layer into.
75893         
75894         * platform/graphics/MediaPlayerPrivate.h:
75895         (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
75896         (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
75897         Forwarding methods from MediaPlayer.
75898         
75899         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
75900         Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
75902         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
75903         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
75904         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
75905         Methods to create and destroy the QTMovieLayer.
75906         
75907         (WebCore::MediaPlayerPrivate::currentRenderingMode):
75908         (WebCore::MediaPlayerPrivate::preferredRenderingMode):
75909         Methods to clarify the code that decides which of the 3 rendering modes to use.
75910         
75911         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
75912         Changed to use the new rendering mode methods.
75913         
75914         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
75915         Destroy the layer if we have one.
75916         
75917         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
75918         Small utility method.
75919         
75920         (WebCore::MediaPlayerPrivate::updateStates):
75921         Move the call to setUpVideoRendering() to before we send out the state notifications,
75922         so that we will have created the rendering objects already.
75923         
75924         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
75925         Return true if we have QTMovieLayer.
75926         
75927         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
75928         We've been told that we went into or out of accelerated mode; maybe reset
75929         the renderer, and set the layer if we have to.
75930         
75931         * rendering/RenderLayer.cpp:
75932         (WebCore::RenderLayer::rendererContentChanged):
75933         We may need to udpate compositing layers if the video went into accelerated mode.
75934         
75935         * rendering/RenderLayerBacking.cpp:
75936         (WebCore::RenderLayerBacking::canUseDirectCompositing):
75937         Add smarts to deal with video, which allows us to avoid extra backing store.
75938         
75939         (WebCore::RenderLayerBacking::contentsBox):
75940         Use the videoBox to use the content layer for video layers.
75941         
75942         * rendering/RenderLayerCompositor.cpp:
75943         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
75944         Poke the RenderVideo if the state changed.
75945         
75946         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
75947         Handle an edge case when the video element itself is a stacking context
75948         because of opacity or transform.
75949         
75950         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
75951         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
75952         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
75953         Allow video to throw us into compositing mode if the media engine supports it.
75954         
75955         * rendering/RenderLayerCompositor.h:
75956         New methods related to video.
75957         
75958         * rendering/RenderVideo.h:
75959         * rendering/RenderVideo.cpp:
75960         (WebCore::RenderVideo::updatePlayer):
75961         Call rendererContentChanged() to give the compositor a change to throw the video into
75962         compositing mode.
75963         
75964         (WebCore::RenderVideo::supportsAcceleratedRendering):
75965         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
75966         (WebCore::RenderVideo::videoGraphicsLayer):
75967         Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
75969 2009-06-18  Rob Buis  <rwlbuis@gmail.com>
75971         Reviewed by Niko.
75973         https://bugs.webkit.org/show_bug.cgi?id=26385
75974         Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
75976         Also do the isValid check for outer <svg>.
75978         Test: svg/custom/outer-svg-unknown-feature.svg
75980         * svg/SVGDocument.cpp:
75981         (WebCore::SVGDocument::childShouldCreateRenderer):
75982         * svg/SVGDocument.h:
75984 2009-06-18  Dan Bernstein  <mitz@apple.com>
75986         Reviewed by Darin Adler.
75988         - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
75989           apple.com cuts entered text
75991         Test: fast/forms/search-vertical-alignment.html
75993         * rendering/RenderTextControlSingleLine.cpp:
75994         (WebCore::RenderTextControlSingleLine::layout): Vertically center the
75995             the search field's inner block.
75997 2009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>
75999         Reviewed by Simon Hausmann.
76001         Fix compilation with Symbian WINSCW compiler, which produced
76002         multiple definitions of the CSSPrimitiveValue conversion operators.
76004         It turns out that they are defined inline but not declared inline.
76006         Adding the inline keyword to the declaration fixes the build.
76008         * css/CSSPrimitiveValue.h:
76010 2009-06-18  Markus Goetz <Markus.Goetz@nokia.com>
76012         Reviewed by Simon Hausman.
76014         Clarify in docs how to compile with debug information.
76016         * WebCore.pro:
76018 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
76020         Reviewed by Simon Hausmann.
76022         [Qt] When writing an URL to the clipboard, save the corresponding title
76023         in the mime data as well.
76025         * platform/qt/ClipboardQt.cpp:
76026         (WebCore::ClipboardQt::writeURL):
76028 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
76030         [Qt] Fix build. Add HTMLDataGridElement.
76032         * WebCore.pro:
76034 2009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
76036         Gtk build fix.
76038         Add HTMLDataGridElement header and IDL to the build script.
76040         * GNUmakefile.am:
76042 2009-06-18  Chris Evans  <scarybeasts@gmail.com>
76044         Reviewed by Adam Barth.
76046         Fix 8-digit long hex entities. Fixes bug 26454
76047         https://bugs.webkit.org/show_bug.cgi?id=26454
76049         Test: fast/parser/eightdigithexentity.html
76051         * html/HTMLTokenizer.cpp: fix off-by-ones.
76053 2009-06-18  David Levin  <levin@chromium.org>
76055         Fix chromium linux build.
76057         Fixes a mistake that happened during the complicated merge for
76058         landing r44775, r44776, r44777.
76060         * rendering/RenderThemeChromiumLinux.cpp:
76061         (WebCore::RenderThemeChromiumLinux::create):
76063 2009-06-17  Simon Fraser  <simon.fraser@apple.com>
76065         Reviewed by Darin Adler.
76066         
76067         https://bugs.webkit.org/show_bug.cgi?id=26499
76068         
76069         First step to making video rendering be hardware-accelerated:
76070         make <video> elements get self-painting RenderLayers, and add
76071         an isVideo() virtual method to RenderObject.
76073         * html/HTMLMediaElement.cpp:
76074         (WebCore::HTMLMediaElement::setReadyState):
76075         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
76076         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
76077         * rendering/RenderLayer.cpp:
76078         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
76079         (WebCore::RenderLayer::isSelfPaintingLayer):
76080         * rendering/RenderObject.h:
76081         (WebCore::RenderObject::isVideo):
76082         * rendering/RenderVideo.h:
76083         (WebCore::RenderVideo::requiresLayer):
76084         (WebCore::RenderVideo::isVideo):
76086 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
76088         Reviewed by Adam Roben.
76090         Refactor a few common routines in the various Windows ports
76091         and reduce some duplicated code.
76093         (1) Create TransformationMatrix XFORM casting operator, and
76094             switch various XFORM structure uses to utilize it.
76095         (2) Push concatCTM call to GraphicsContextWin now that the
76096             TransformationMatrix can directly create XFORM (rather
76097             than converting to CGAffineTransform/cairo_matrix_t first.)
76099         * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
76100         * platform/graphics/transforms/TransformationMatrix.h:
76101         * platform/graphics/win/GraphicsContextCGWin.cpp:
76102         * platform/graphics/win/GraphicsContextCairoWin.cpp:
76103         * platform/graphics/win/GraphicsContextWin.cpp:
76104         (WebCore::GraphicsContextPlatformPrivate::scale):
76105         (WebCore::GraphicsContextPlatformPrivate::rotate):
76106         (WebCore::GraphicsContextPlatformPrivate::translate):
76107         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
76108         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
76109         (WebCore::TransformationMatrix::operator XFORM): New operator
76111 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
76113         Non-CG Windows build fix after @r44758.
76115         * rendering/RenderThemeWin.cpp:
76116         (WebCore::RenderTheme::themeForPage):
76118 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
76120         Reviewed by Adam Roben.
76122         Refactor a few common routines in the various Windows ports
76123         and reduce some duplicated code.
76124         https://bugs.webkit.org/show_bug.cgi?id=26425.
76126         Refactor use of BITMAPINFO for the new BitmapInfo structure.
76128         * WebCore.vcproj/WebCore.vcproj:
76129         * platform/win/BitmapInfo.cpp: Added.
76130         (WebCore::bitmapInfoForSize):
76131         (WebCore::BitmapInfo::create):
76132         (WebCore::BitmapInfo::createBottomUp):
76133         * platform/win/BitmapInfo.h: Added.
76134         * platform/graphics/win/GraphicsContextCairoWin.cpp:
76135         * platform/graphics/win/GraphicsContextCGWin.cpp:
76136         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
76137         (WebCore::TransformationMatrix::operator XFORM): New operator
76138         * platform/win/DragImageCGWin.cpp:
76139         (WebCore::allocImage):
76140         * platform/win/DragImageCairoWin.cpp:
76141         (WebCore::allocImage):
76142         * platform/win/PasteboardWin.cpp:
76143         (WebCore::Pasteboard::writeImage):
76144         * platform/win/PopupMenuWin.cpp:
76145         (WebCore::PopupMenu::paint):
76147 2009-06-17  Adam Roben  <aroben@apple.com>
76149         Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
76151         Reviewed by Mark Rowe.
76153         * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
76154         an unnecessary parameter name.
76155         * platform/win/SoftLinking.h: Removed the unused 6th parameter.
76157 2009-06-17  Adam Roben  <aroben@apple.com>
76159         Make Settings::shouldPaintNativeControls default to true
76161         This matches the default up in WebKit (that was changed in r43318).
76163         Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
76164         form controls
76165         <https://bugs.webkit.org/show_bug.cgi?id=26493>
76167         Reviewed by Darin Adler and Dave Hyatt.
76169         No test possible since DRT always uses Mac-style form controls.
76171         * page/Settings.cpp: Changed the initial value of
76172         gShouldPaintNativeControls to true.
76174         * rendering/RenderThemeSafari.cpp:
76175         (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
76176         flaw here involving querying Settings before it's been initialized.
76178 2009-06-17  David Levin  <levin@chromium.org>
76180         Fix chromium windows build.
76182         A mistake that happened during the complicated merge for
76183         landing r44775, r44776, r44777.
76185         * rendering/RenderThemeChromiumWin.h:
76186         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
76187         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
76189 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
76191         Reviewed by Simon Fraser.
76193         <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
76195         * rendering/MediaControlElements.cpp:
76196         (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
76197         (WebCore::MediaControlInputElement::attachToParent): Ditto.
76199 2009-06-17  David Hyatt  <hyatt@apple.com>
76201         Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.
76203         * html/HTMLElementsAllInOne.cpp:
76205 2009-06-17  David Hyatt  <hyatt@apple.com>
76207         Reviewed by Adam Roben and Anders Carlsson.
76209         Stub out the HTMLDataGridElement.
76211         * DerivedSources.make:
76212         * WebCore.vcproj/WebCore.vcproj:
76213         * WebCore.xcodeproj/project.pbxproj:
76214         * WebCoreSources.bkl:
76215         * css/CSSStyleSelector.cpp:
76216         (WebCore::CSSStyleSelector::adjustRenderStyle):
76217         * editing/htmlediting.cpp:
76218         (WebCore::canHaveChildrenForEditing):
76219         * html/HTMLDataGridElement.h: Added.
76220         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
76221         (WebCore::HTMLDataGridElement::tagPriority):
76222         * html/HTMLDataGridElement.idl: Added.
76223         * html/HTMLElement.cpp:
76224         (WebCore::inlineTagList):
76225         * html/HTMLParser.cpp:
76226         (WebCore::HTMLParser::isAffectedByResidualStyle):
76227         * html/HTMLTagNames.in:
76229 2009-06-17  David Levin  <levin@chromium.org>
76231         Reviewed by NOBODY (chromium build fix).
76233         Fix typo in previous changes.
76235         * rendering/RenderThemeChromiumSkia.cpp:
76236         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
76238 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
76240         Reviewed by Eric Seidel.
76242         https://bugs.webkit.org/show_bug.cgi?id=26148
76243         Remove common code from RenderThemeChromiumWin that is shared with
76244         RenderThemeChromiumSkia.
76246         Also move supportsControlTints to RenderThemeChromiumLinux since it
76247         is linux specific.
76249         There are no tests changed because this just removes functions with
76250         duplicate implementations between the base and derived classes.
76252         * rendering/RenderThemeChromiumLinux.cpp:
76253         (WebCore::RenderThemeChromiumLinux::supportsControlTints):
76254         * rendering/RenderThemeChromiumLinux.h:
76255         * rendering/RenderThemeChromiumSkia.cpp:
76256         * rendering/RenderThemeChromiumSkia.h:
76257         * rendering/RenderThemeChromiumWin.cpp:
76258         (WebCore::):
76259         (WebCore::getNonClientMetrics):
76260         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
76261         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
76262         (WebCore::RenderThemeChromiumWin::systemFont):
76263         (WebCore::RenderThemeChromiumWin::paintCheckbox):
76264         (WebCore::RenderThemeChromiumWin::paintRadio):
76265         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
76266         (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
76267         * rendering/RenderThemeChromiumWin.h:
76269 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
76271         Reviewed by Eric Seidel.
76273         https://bugs.webkit.org/show_bug.cgi?id=26148
76274         Move RenderThemeChromiumSkia into its own file.  This is purely a code move.
76276         * rendering/RenderThemeChromiumLinux.cpp:
76277         * rendering/RenderThemeChromiumLinux.h:
76278         * rendering/RenderThemeChromiumSkia.cpp:
76279         (WebCore::):
76280         (WebCore::setSizeIfAuto):
76281         (WebCore::mediaElementParent):
76282         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
76283         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
76284         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
76285         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
76286         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
76287         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
76288         (WebCore::RenderThemeChromiumSkia::supportsHover):
76289         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
76290         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
76291         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
76292         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
76293         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
76294         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
76295         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
76296         (WebCore::RenderThemeChromiumSkia::systemFont):
76297         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
76298         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
76299         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
76300         (WebCore::RenderThemeChromiumSkia::paintRadio):
76301         (WebCore::RenderThemeChromiumSkia::setRadioSize):
76302         (WebCore::brightenColor):
76303         (WebCore::paintButtonLike):
76304         (WebCore::RenderThemeChromiumSkia::paintButton):
76305         (WebCore::RenderThemeChromiumSkia::paintTextField):
76306         (WebCore::RenderThemeChromiumSkia::paintTextArea):
76307         (WebCore::RenderThemeChromiumSkia::paintSearchField):
76308         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
76309         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
76310         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
76311         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
76312         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
76313         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
76314         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
76315         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
76316         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
76317         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
76318         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
76319         (WebCore::RenderThemeChromiumSkia::paintMenuList):
76320         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
76321         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
76322         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
76323         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
76324         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
76325         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
76326         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
76327         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
76328         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
76329         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
76330         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
76331         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
76332         * rendering/RenderThemeChromiumSkia.h:
76333         (WebCore::RenderThemeChromiumSkia::supportsControlTints):
76335 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
76337         Reviewed by Eric Seidel.
76339         https://bugs.webkit.org/show_bug.cgi?id=26148
76340         Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
76341         is mostly a code shuffle.  The non-suffle changes are:
76342            1) Creation of a caretBlinkIntervalInternal.
76343            2) Moving of some inline functions into the implementation files.
76344            3) Changing of defaultGUIFont into a static class constant from a
76345               static function.  Also the type is changed to String.
76346            4) Changing of defaultFontSize into a static class constant from a
76347               static variable in the file scope.
76348            5) The static supportsFocus function was collapsed into
76349               supportsFocusRing.
76350            6) Split the extraDefaultStyleSheet into Skia and Linux versions.
76352         * rendering/RenderThemeChromiumLinux.cpp:
76353         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
76354         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
76355         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
76356         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
76357         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
76358         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
76359         (WebCore::RenderThemeChromiumSkia::supportsHover):
76360         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
76361         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
76362         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
76363         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
76364         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
76365         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
76366         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
76367         (WebCore::RenderThemeChromiumSkia::systemFont):
76368         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
76369         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
76370         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
76371         (WebCore::RenderThemeChromiumSkia::paintRadio):
76372         (WebCore::RenderThemeChromiumSkia::setRadioSize):
76373         (WebCore::RenderThemeChromiumSkia::paintButton):
76374         (WebCore::RenderThemeChromiumSkia::paintTextField):
76375         (WebCore::RenderThemeChromiumSkia::paintTextArea):
76376         (WebCore::RenderThemeChromiumSkia::paintSearchField):
76377         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
76378         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
76379         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
76380         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
76381         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
76382         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
76383         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
76384         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
76385         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
76386         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
76387         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
76388         (WebCore::RenderThemeChromiumSkia::paintMenuList):
76389         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
76390         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
76391         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
76392         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
76393         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
76394         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
76395         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
76396         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
76397         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
76398         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
76399         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
76400         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
76401         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
76402         (WebCore::RenderThemeChromiumLinux::systemColor):
76403         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
76404         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
76405         * rendering/RenderThemeChromiumLinux.h:
76407 2009-06-17  Adam Roben  <aroben@apple.com>
76409         Add a SOFT_LINK_OPTIONAL macro
76411         This macro is useful when soft-linking functions that are present in
76412         only some versions of a particular library (e.g., APIs added in
76413         Windows Vista that aren't available on Windows XP).
76415         Reviewed by Ada Chan.
76417         * platform/graphics/win/ColorSafari.cpp:
76418         (WebCore::focusRingColor):
76419         Use the SoftLinking.h macros instead of doing the soft-link ourselves.
76420         Also removed an unused call to focusRingColor.isValid().
76422         * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
76424 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
76426         Reviewed by Gustavo Noronha.
76428         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
76429         The use of zero-width or zero-height rectangles in generating
76430         gradients caused Windows Cairo to crash, and webkitgtk to
76431         produce invalid images.
76433         We now test for NaN in the phase argument, which is calculated
76434         using fmodf and can blow up when the width/height values passed
76435         are zero.
76437         Test: fast/gradients/border-image-gradient-sides-and-corners.html
76439         * platform/graphics/cairo/ImageCairo.cpp:
76440         (WebCore::Image::drawPattern):
76442 2009-06-17  Ojan Vafai  <ojan@chromium.org>
76444         Reviewed by Dimitri Glazkov.
76446         If loading a font fails because of the sandbox, we ask the browser process to
76447         try to load it by calling ensureFontLoaded. If it still fails after
76448         ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
76450         This case happens once in a while during browser shutdown. The browser will
76451         queue a message to the renderer to shutdown, and will then stop answering sync
76452         messages from the renderer. If the renderer is still loading a page during this
76453         time, it might try to call the browser process to ask to load a font. The
76454         browser process will ignore the request, and the font will fail to load, even
76455         after the second try.
76457         This is unfortunate, but there is no real risk here, since the renderer will be
76458         going away as soon as it processes another message.
76459         
76460         This can't be layout tested as it depends on the sandbox.
76461         
76462         https://bugs.webkit.org/show_bug.cgi?id=26484
76464         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
76465         (WebCore::fontContainsCharacter):
76467 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
76469         Reviewed by Dan Bernstein.
76471         https://bugs.webkit.org/show_bug.cgi?id=26482
76472         <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
76473         playing (doesn't resume later)
76475         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
76476         (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
76478         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
76479         (WebCore::MediaPlayerPrivate::setRate): Ditto.
76481 2009-06-17  Adam Roben  <aroben@apple.com>
76483         Add all the generated JS*.cpp files back to WebCore.vcproj
76485         They are not compiled by the vcproj directly. Instead they are
76486         compiled as part of DerivedSources.cpp. Having them listed in the
76487         vcproj makes them be included in Project Find, etc.
76489         Rubber-stamped in advance by Steve Falkenburg.
76491         * WebCore.vcproj/WebCore.vcproj:
76493 2009-06-17  Kent Tamura  <tkent@chromium.org>
76495         Reviewed by Darin Fisher.
76497         Don't fire redundant 'change' events for a file upload form.
76498         https://bugs.webkit.org/show_bug.cgi?id=26471
76500         * platform/FileChooser.cpp:
76501         (WebCore::FileChooser::chooseFiles): Suppress change event if the
76502         existing selected files and the incoming selected files are equal.
76503         (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
76504         files.
76506 2009-06-17  Adam Treat  <adam.treat@torchmobile.com>
76508         Reviewed by George Staikos.
76510         https://bugs.webkit.org/show_bug.cgi?id=23155
76511         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
76513         * platform/KeyboardCodes.h:
76515 2009-06-17  George Staikos  <george.staikos@torchmobile.com>
76517         Reviewed by Adam Treat.
76519         https://bugs.webkit.org/show_bug.cgi?id=23155
76520         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
76522         * platform/graphics/qt/GraphicsContextQt.cpp:
76523         (WebCore::GraphicsContext::getWindowsContext):
76524         * platform/win/SystemTimeWin.cpp:
76525         (WebCore::userIdleTime):
76527 2009-06-17  Adam Roben  <aroben@apple.com>
76529         Speculative Mac build fix
76531         * page/Page.h: Forward-declare RenderTheme instead of including
76532         RenderTheme.h so that we don't need to make RenderTheme.h a private
76533         header for WebKit's benefit.
76535         * editing/SelectionController.cpp:
76536         * rendering/InlineTextBox.cpp:
76537         * rendering/RenderObject.cpp:
76538         Added #includes of RenderTheme.h.
76540 2009-06-17  Adam Roben  <aroben@apple.com>
76542         Speculative Mac build fix
76544         * rendering/RenderThemeMac.mm:
76545         (WebCore::RenderTheme::create): Added.
76547 2009-06-17  Adam Roben  <aroben@apple.com>
76549         Speculative Mac build fix
76551         * rendering/RenderThemeMac.mm:
76552         (WebCore::RenderTheme::themeForPage): Remove the name of an unused
76553         parameter.
76555 2009-06-17  Adam Roben  <aroben@apple.com>
76557         Speculative Mac build fix
76559         * page/Page.cpp:
76560         (WebCore::Page::Page): Change the initializer order to match the
76561         declaration order.
76563 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
76565         Reviewed by Simon Hausmann.
76567         Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
76568         Patch that make WebCore have a RenderTheme per page
76570         Make the Qt implementation of RenderTheme create a theme per page,
76571         and use the QStyle associated with the view of each page, in order
76572         to make the QWidget setStyle() method work as advertised.
76574         * platform/qt/RenderThemeQt.cpp:
76575         (WebCore::RenderThemeQt::RenderThemeQt):
76576         (WebCore::RenderThemeQt::qStyle):
76577         (WebCore::findFrameLineWidth):
76578         (WebCore::inflateButtonRect):
76579         (WebCore::RenderThemeQt::adjustRepaintRect):
76580         (WebCore::RenderThemeQt::isControlStyled):
76581         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
76582         (WebCore::RenderThemeQt::setButtonPadding):
76583         (WebCore::RenderThemeQt::paintButton):
76584         (WebCore::RenderThemeQt::paintTextField):
76585         (WebCore::RenderThemeQt::setPopupPadding):
76586         * platform/qt/RenderThemeQt.h:
76588 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
76590         Reviewed by Dave Hyatt and Adam Roben.
76592         https://bugs.webkit.org/show_bug.cgi?id=26278
76593         Patch that make WebCore have a RenderTheme per page
76596         Create a different RenderTheme per page, so that RenderTheme has
76597         access to page specific theming. This is needed for the Qt port, as Qt
76598         supports setting the theme (style) per widget.
76600         This change was suggested and discussed with Dave Hyatt.
76602         More detailed:
76604         1) Create a theme per page or one global one, depending on the needs
76605            of the platform.
76606         2) Add an accesser to the theme from RenderObject.
76607         3) Change all uses of the theming to access the theme through
76608            RenderObject, using the global default theme as fallback, when the
76609            document of RenderObject has no page.
76610            When we don't have access to a RenderObject, use the default theme.
76611         4) Modify all RenderTheme platform implementations to work with the
76612            above changes, still creating only one global theme.
76615         * accessibility/AccessibilityRenderObject.cpp:
76616         (WebCore::AccessibilityRenderObject::boundingBoxRect):
76617         * css/CSSStyleSelector.cpp:
76618         (WebCore::loadFullDefaultStyle):
76619         (WebCore::CSSStyleSelector::styleForElement):
76620         (WebCore::CSSStyleSelector::adjustRenderStyle):
76621         (WebCore::CSSStyleSelector::applyProperty):
76622         * dom/ContainerNode.cpp:
76623         (WebCore::ContainerNode::setActive):
76624         (WebCore::ContainerNode::setHovered):
76625         * editing/SelectionController.cpp:
76626         (WebCore::SelectionController::focusedOrActiveStateChanged):
76627         * html/HTMLFormControlElement.cpp:
76628         (WebCore::HTMLFormControlElement::parseMappedAttribute):
76629         * html/HTMLInputElement.cpp:
76630         (WebCore::HTMLInputElement::setChecked):
76631         (WebCore::HTMLInputElement::setIndeterminate):
76632         * page/Frame.cpp:
76633         (WebCore::Frame::selectionLayoutChanged):
76634         * page/FrameView.cpp:
76635         (WebCore::FrameView::updateControlTints):
76636         * page/Page.cpp:
76637         (WebCore::Page::Page):
76638         * page/Page.h:
76639         (WebCore::Page::theme):
76640         * platform/chromium/PopupMenuChromium.cpp:
76641         (WebCore::PopupListBox::paintRow):
76642         * platform/gtk/RenderThemeGtk.cpp:
76643         (WebCore::RenderThemeGtk::create):
76644         (WebCore::RenderTheme::themeForPage):
76645         (WebCore::RenderThemeGtk::RenderThemeGtk):
76646         (WebCore::RenderThemeGtk::~RenderThemeGtk):
76647         (WebCore::RenderThemeGtk::gtkEntry):
76648         (WebCore::RenderThemeGtk::gtkTreeView):
76649         * platform/gtk/RenderThemeGtk.h:
76650         * platform/qt/RenderThemeQt.cpp:
76651         (WebCore::RenderThemeQt::create):
76652         (WebCore::RenderTheme::themeForPage):
76653         * platform/qt/RenderThemeQt.h:
76654         * platform/win/PopupMenuWin.cpp:
76655         (WebCore::PopupMenu::paint):
76656         * rendering/RenderMediaControls.cpp:
76657         (WebCore::determineState):
76658         * platform/wx/RenderThemeWx.cpp:
76659         (WebCore::RenderThemeWx::create):
76660         (WebCore::RenderTheme::themeForPage):
76661         * rendering/InlineTextBox.cpp:
76662         (WebCore::InlineTextBox::paintTextMatchMarker):
76663         * rendering/MediaControlElements.cpp:
76664         (WebCore::MediaControlInputElement::hitTest):
76665         * rendering/RenderObject.cpp:
76666         (WebCore::RenderObject::theme):
76667         * rendering/RenderObject.h:
76668         * rendering/RenderTheme.cpp:
76669         (WebCore::RenderTheme::adjustStyle):
76670         * rendering/RenderTheme.h:
76671         (WebCore::RenderTheme::defaultTheme):
76672         * rendering/RenderThemeChromiumLinux.cpp:
76673         (WebCore::RenderThemeChromiumLinux::create):
76674         (WebCore::RenderTheme::themeForPage):
76675         * rendering/RenderThemeChromiumLinux.h:
76676         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
76677         * rendering/RenderThemeChromiumMac.h:
76678         * rendering/RenderThemeChromiumMac.mm:
76679         (WebCore::RenderThemeChromiumMac::create):
76680         (WebCore::RenderTheme::themeForPage):
76681         * rendering/RenderThemeChromiumWin.cpp:
76682         (WebCore::RenderThemeChromiumWin::create):
76683         (WebCore::RenderTheme::themeForPage):
76684         * rendering/RenderThemeChromiumWin.h:
76685         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
76686         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
76687         * rendering/RenderThemeMac.h:
76688         * rendering/RenderThemeMac.mm:
76689         (WebCore::RenderTheme::themeForPage):
76690         * rendering/RenderThemeSafari.cpp:
76691         (WebCore::RenderThemeSafari::create):
76692         (WebCore::RenderTheme::themeForPage):
76693         * rendering/RenderThemeSafari.h:
76694         * rendering/RenderThemeWin.cpp:
76695         (WebCore::RenderThemeWin::create):
76696         (WebCore::RenderTheme::themeForPage):
76697         * rendering/RenderThemeWin.h:
76699 2009-06-17  Gavin Barraclough  <barraclough@apple.com>
76701         Reviewed by Oliver Hunt.
76703         <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
76705         JSDOMWindowCustom was using PropertySlot::putValue, however this interface
76706         appears to be fundaementally incorrect - PropertySlots are only used to get
76707         values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
76708         used in the fashion desired here - it only reports the caching type of a
76709         write that has been performed.
76711         (This caused a bug where the put should have triggered a transition, and
76712         failed to do so.)
76714         Removing the faulty case from the optimization leads to a ~0.5% progression
76715         on in-browser SunSpider (presumably the very first case was not being hit
76716         often, and the simplification here is beneficial).
76718         * bindings/js/JSDOMWindowCustom.cpp:
76719         (WebCore::JSDOMWindow::put):
76721 2009-06-17  David Levin  <levin@chromium.org>
76723         Reviewed by NOBODY, layout tests fix.
76725         https://bugs.webkit.org/show_bug.cgi?id=26326
76726         This reverts commit r44751.
76728         Once that change was checked scrollbars/scrollbar-orientation.html started
76729         crashing on Windows.
76731         * dom/Document.cpp:
76732         (WebCore::Document::detach):
76733         * page/FrameView.cpp:
76734         * page/FrameView.h:
76735         * platform/Scrollbar.h:
76736         * rendering/RenderObject.cpp:
76737         (WebCore::RenderObject::destroy):
76738         * rendering/RenderScrollbar.h:
76740 2009-06-16  Kevin Watters  <kevinwatters@gmail.com>
76742         Reviewed by Kevin Ollivier.
76744         In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
76745         
76746         https://bugs.webkit.org/show_bug.cgi?id=26458
76748         * platform/graphics/wx/ImageSourceWx.cpp:
76749         (WebCore::ImageSource::setData):
76751 2009-06-16  David Levin  <levin@chromium.org>
76753         Reviewed by David Hyatt.
76755         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
76756         https://bugs.webkit.org/show_bug.cgi?id=26326
76758         Test: scrollbars/scrollbar-crash-on-refresh.html
76760         * dom/Document.cpp:
76761         (WebCore::Document::detach):
76762         Gives the FrameView a change to do any necessary cleanup on
76763         Document::detach() which is where the renderArena gets detroyed.
76764         * page/FrameView.cpp:
76765         (WebCore::FrameView::detachCustomScrollbars):
76766         Gets rid of any custom scrollbars (if the docment supplied them).
76767         * page/FrameView.h:
76768         * platform/Scrollbar.h:
76769         (WebCore::Scrollbar::isCustomScrollbar):
76770         * rendering/RenderObject.cpp:
76771         (WebCore::RenderObject::destroy):
76772         Removed the check for document()->frame().  If frame() is 0 in this code,
76773         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
76774         * rendering/RenderScrollbar.h:
76775         (WebCore::RenderScrollbar::isCustomScrollbar):
76777 2009-06-16  Brian Weinstein  <bweinstein@apple.com>
76779         Reviewed by Adele Peterson.
76781         Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
76782         This patch kept the way events were firing as they were before, and Windows events are
76783         consistent with Mac.       
76785         * editing/Editor.cpp:
76786         (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
76787         (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
76789 2009-06-16  Antti Koivisto  <antti@apple.com>
76791         Reviewed by Brady Eidson.
76793         <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient 53
76794         
76795         When revalidating a resource, calling addClient() on one client might cause another to get removed.
76796         
76797         - made CachedResource::addClient() non-virtual and added virtual didAddClient()
76798         - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
76799         - check if the client is still in the set before invoking didAddClient() for it
76800         
76801         No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
76802         reference each other via @imports and reloading.
76804         * WebCore.base.exp:
76805         * loader/CachedCSSStyleSheet.cpp:
76806         (WebCore::CachedCSSStyleSheet::didAddClient):
76807         * loader/CachedCSSStyleSheet.h:
76808         * loader/CachedFont.cpp:
76809         (WebCore::CachedFont::didAddClient):
76810         * loader/CachedFont.h:
76811         * loader/CachedImage.cpp:
76812         (WebCore::CachedImage::didAddClient):
76813         * loader/CachedImage.h:
76814         * loader/CachedResource.cpp:
76815         (WebCore::CachedResource::addClient):
76816         (WebCore::CachedResource::addClientToSet):
76817         (WebCore::CachedResource::switchClientsToRevalidatedResource):
76818         * loader/CachedResource.h:
76819         * loader/CachedScript.cpp:
76820         (WebCore::CachedScript::didAddClient):
76821         * loader/CachedScript.h:
76822         * loader/CachedXSLStyleSheet.cpp:
76823         (WebCore::CachedXSLStyleSheet::didAddClient):
76824         * loader/CachedXSLStyleSheet.h:
76826 2009-06-16  Simon Fraser  <simon.fraser@apple.com>
76828         No Review
76830         Fix code inside an #ifdef that draws the video framerate.
76832         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
76833         (WebCore::MediaPlayerPrivate::paint):
76835 2009-06-16  Jian Li  <jianli@chromium.org>
76837         Reviewed by Dimitri Glazkov.
76839         Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
76840         https://bugs.webkit.org/show_bug.cgi?id=26456
76842         * bindings/v8/custom/V8WorkerContextCustom.cpp:
76843         (WebCore::CALLBACK_FUNC_DECL):
76844         * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
76845           handling in Worker constructor for V8 bindings.
76846         (WebCore::CALLBACK_FUNC_DECL):
76848 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
76850         Reviewed by Maciej Stachowiak.
76852         Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
76853         Provide an assignment operator to avoid improper reference
76854         counts on the Cairo font objects.  This brings the Windows
76855         Cairo port in line with the GTKport.
76857         * platform/graphics/win/FontPlatformData.h:
76858         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
76859         (WebCore::FontPlatformData::FontPlatformData):
76860         (WebCore::FontPlatformData::operator=):
76862 2009-06-16  Eric Carlson  <eric.carlson@apple.com>
76864         Reviewed by Simon Fraser.
76866         Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
76867         the MediaControlInputElement, rather than computing it again
76869         * html/HTMLMediaElement.cpp:
76870         (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
76871         * html/HTMLMediaElement.h:
76873         * rendering/MediaControlElements.h:
76874         (WebCore::MediaControlInputElement::displayType): New, return m_displayType.
76876         * rendering/RenderMediaControls.cpp:
76877         (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
76878         state from the button itself and get movie state from HTMLMediaElement.
76880         * rendering/RenderThemeMac.mm:
76881         (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
76882         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
76884 2009-06-16  Jian Li  <jianli@chromium.org>
76886         Reviewed by David Levin.
76888         Bug 26450: Rename values of enum RedirectOriginCheck to make them
76889         clearer.
76890         https://bugs.webkit.org/show_bug.cgi?id=26450
76892         * loader/DocumentThreadableLoader.cpp:
76893         (WebCore::DocumentThreadableLoader::create):
76894         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
76895         (WebCore::DocumentThreadableLoader::willSendRequest):
76896         * loader/DocumentThreadableLoader.h:
76897         * loader/ThreadableLoader.cpp:
76898         (WebCore::ThreadableLoader::create):
76899         (WebCore::ThreadableLoader::loadResourceSynchronously):
76900         * loader/ThreadableLoader.h:
76901         * workers/Worker.cpp:
76902         (WebCore::Worker::Worker):
76903         * workers/WorkerContext.cpp:
76904         (WebCore::WorkerContext::importScripts):
76905         * loader/WorkerThreadableLoader.cpp:
76906         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
76907         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
76908         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
76909         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
76910         * loader/WorkerThreadableLoader.h:
76911         (WebCore::WorkerThreadableLoader::create):
76912         * workers/WorkerScriptLoader.cpp:
76913         (WebCore::WorkerScriptLoader::loadSynchronously):
76914         (WebCore::WorkerScriptLoader::loadAsynchronously):
76915         * workers/WorkerScriptLoader.h:
76916         (WebCore::WorkerContext::importScripts):
76917         * xml/XMLHttpRequest.cpp:
76918         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
76920 2009-06-16  Tony Chang  <tony@chromium.org>
76922         Reviewed by Darin Fisher.
76924         Fix a UMR in WebCore::BitStack by initializing new memory to 0.
76925         https://bugs.webkit.org/show_bug.cgi?id=26449
76926         No new tests, covered by purify.
76928         * editing/TextIterator.cpp:
76929         (WebCore::BitStack::push):
76931 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
76933         Reviewed by Xan Lopez.
76935         Test: fast/multicol/columns-shorthand-parsing.html 
76937         Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
76938         Null Cairo contextwill crash Windows Cairo build.
76940         * platform/graphics/win/GraphicsContextCairoWin.cpp:
76941         (WebCore::GraphicsContextPlatformPrivate::syncContext):
76942           Add a check for null context before attempting to
76943           retrieve the Cairo surface.
76945 2009-06-16  Peter Kasting  <pkasting@google.com>
76947         Reviewed by Xan Lopez.
76949         https://bugs.webkit.org/show_bug.cgi?id=26447
76950         Fix animated GIF breakage in Cairo/wx ports.
76952         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
76953         (WebCore::RGBA32Buffer::copyBitmapData):
76954         (WebCore::RGBA32Buffer::operator=):
76955         * platform/image-decoders/wx/ImageDecoderWx.cpp:
76956         (WebCore::RGBA32Buffer::copyBitmapData):
76957         (WebCore::RGBA32Buffer::operator=):
76959 2009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>
76961         Reviewed by John Sullivan
76962         
76963         <rdar://problem/6937882>
76964         
76965         Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
76967         * css/mediaControlsQT.css:
76969 2009-06-16  Jian Li  <jianli@chromium.org>
76971         Reviewed by Adam Barth and David Levin.
76973         Bug 26146: Change to use ThreadableLoader to load the worker script
76974         in order to check URL origin for redirection.
76975         https://bugs.webkit.org/show_bug.cgi?id=26146
76977         Test: http/tests/workers/worker-redirect.html
76979         * GNUmakefile.am:
76980         * WebCore.pro:
76981         * WebCore.vcproj/WebCore.vcproj:
76982         * WebCore.xcodeproj/project.pbxproj:
76983         * workers/Worker.cpp:
76984         (WebCore::Worker::Worker):
76985         (WebCore::Worker::notifyFinished):
76986         * workers/Worker.h:
76987         * workers/WorkerContext.cpp:
76988         (WebCore::WorkerContext::importScripts):
76989         * workers/WorkerImportScriptsClient.cpp: Removed.
76990         * workers/WorkerImportScriptsClient.h: Removed.
76991         * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
76992           This to make it more generic so worker script loading could use it.
76993         (WebCore::WorkerScriptLoader::loadSynchronously):
76994         (WebCore::WorkerScriptLoader::loadAsynchronously):
76995         (WebCore::WorkerScriptLoader::didFinishLoading):
76996         (WebCore::WorkerScriptLoader::didFail):
76997         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
76998         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
76999         (WebCore::WorkerScriptLoader::notifyFinished):
77000         * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
77001           This to make it more generic so worker script loading could use it.
77002         * workers/WorkerScriptLoaderClient.h: Added.
77004 2009-06-16  Brent Fulgham  <bfulgham@gmail.com>
77006         Reviewed by Darin Adler.
77008         Use consistent GUID comparison functions.
77009         https://bugs.webkit.org/show_bug.cgi?id=26427
77011         * platform/win/WCDataObject.cpp:
77012         (WebCore::WCDataObject::QueryInterface):
77014 2009-06-16  Xan Lopez  <xlopez@igalia.com>
77016         Reviewed by Gustavo Noronha.
77018         Fix compiler warning.
77020         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
77021         (webkit_accessible_class_init):
77023 2009-08-07  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
77025         Reviewed by Eric Seidel.
77027         https://bugs.webkit.org/show_bug.cgi?id=27424
77029         * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
77030         (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 
77032 2009-06-16  Xan Lopez  <xlopez@igalia.com>
77034         Reviewed by Gustavo Noronha.
77036         Remove dummy AtkStreamableContent implementation.
77038         It's completely empty, we'll add it back (and conditionally
77039         instead of unconditionally) when it does something.
77041         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
77042         (GetAtkInterfaceTypeFromWAIType):
77043         (getInterfaceMaskFromObject):
77045 == Rolled over to ChangeLog-2009-06-16 ==