2009-09-07 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-07  Adam Barth  <abarth@webkit.org>
2
3         Unreviewed speculative build fix for Snow Leopard.
4
5         * platform/GeolocationService.cpp:
6         (WebCore::createGeolocationServiceNull):
7
8 2009-09-07  Steve Block  <steveblock@google.com>
9
10         Reviewed by Adam Barth.
11
12         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
13         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
14         Geolocation service with DumpRenderTree.
15         https://bugs.webkit.org/show_bug.cgi?id=28264
16
17         The mock Geolocation service returns a fixed position or error. This position or error can be
18         set through static methods on the GeolocationService class. The position or error is shared
19         between all instances of the mock Geolocation service.
20
21         Implementation details.
22         The GeolocationService object maintains a pointer to a factory function which it uses to create
23         Geolocation service instances. Each platform implementing Geolocation sets this pointer
24         to the factory function for their platform's implementation. When the mock Geolocation service
25         is activated, the factory function pointer is reset to the factory function for the mock service.
26
27         Test: fast/dom/Geolocation/error.html
28
29         * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
30         * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
31         * WebCore.gypi: Modified. Added GeolocationServiceMock files.
32         * WebCore.pro: Modified. Added GeolocationServiceMock files.
33         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
34         * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
35         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
36         * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
37         * page/ChromeClient.h: Modified. Fixed comment.
38         * page/Geolocation.cpp: Modified.
39         (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
40         * platform/GeolocationService.cpp: Modified.
41         (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
42         (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
43         (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
44         * platform/GeolocationService.h: Modified.
45         * platform/mock: Added.
46         * platform/mock/GeolocationServiceMock.cpp: Added.
47         (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
48         (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
49         (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
50         (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
51         (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
52         (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
53         (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
54         (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
55         (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
56         (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
57         (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
58         (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
59         * platform/mock/GeolocationServiceMock.h: Added.
60         (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
61         (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
62         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
63         (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
64         * platform/gtk/GeolocationServiceGtk.h: Modified.
65         * platform/mac/GeolocationServiceMac.h: Modified.
66         * platform/mac/GeolocationServiceMac.mm: Modified.
67         (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
68
69 2009-09-07  Adam Barth  <abarth@webkit.org>
70
71         Reviewed by Dimitri Glazkov.
72
73         https://bugs.webkit.org/show_bug.cgi?id=28985
74
75         We need to be slightly more careful about how we pick up a script
76         execution context.  In particular, we were getting the wrong document
77         for frames that had been navigated somewhere else.
78
79         In the long term, we should think about a better algorithm for
80         computing the script context.
81
82         Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
83
84         * bindings/v8/V8Proxy.cpp:
85         (WebCore::V8Proxy::retrieveFrame):
86
87 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
88
89         wx build fix for 2.8 compilation.
90
91         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
92         (wxRenderer_DrawScrollbar):
93
94 2009-09-07  Drew Wilson  <atwilson@google.com>
95
96         Unreviewed build fix.
97
98         Reverting r48121 to fix Windows build errors.
99
100         * DerivedSources.cpp:
101         * GNUmakefile.am:
102         * WebCore.xcodeproj/project.pbxproj:
103         * bindings/js/JSDOMWindowCustom.cpp:
104         * bindings/js/JSEventTarget.cpp:
105         (WebCore::toJS):
106         (WebCore::toEventTarget):
107         * dom/EventTarget.cpp:
108         * dom/EventTarget.h:
109         * page/DOMWindow.idl:
110         * websockets/WebSocket.cpp:
111         (WebCore::WebSocket::connect):
112         (WebCore::WebSocket::send):
113         (WebCore::WebSocket::close):
114         (WebCore::WebSocket::bufferedAmount):
115         (WebCore::WebSocket::addEventListener):
116         (WebCore::WebSocket::removeEventListener):
117         (WebCore::WebSocket::dispatchEvent):
118         (WebCore::WebSocket::didConnect):
119         (WebCore::WebSocket::didReceiveMessage):
120         (WebCore::WebSocket::didClose):
121         (WebCore::WebSocket::dispatchOpenEvent):
122         (WebCore::WebSocket::dispatchMessageEvent):
123         (WebCore::WebSocket::dispatchCloseEvent):
124         * websockets/WebSocket.h:
125         (WebCore::WebSocket::create):
126         (WebCore::WebSocket::):
127         (WebCore::WebSocket::setOnopen):
128         (WebCore::WebSocket::onopen):
129         (WebCore::WebSocket::setOnmessage):
130         (WebCore::WebSocket::onmessage):
131         (WebCore::WebSocket::setOnclose):
132         (WebCore::WebSocket::onclose):
133         (WebCore::WebSocket::toWebSocket):
134         (WebCore::WebSocket::refEventTarget):
135         (WebCore::WebSocket::derefEventTarget):
136         * websockets/WebSocketChannel.cpp: Removed.
137         * websockets/WebSocketChannel.h: Removed.
138         * websockets/WebSocketChannelClient.h: Removed.
139         * websockets/WebSocketHandshake.cpp: Removed.
140         * websockets/WebSocketHandshake.h: Removed.
141
142 2009-09-07  Drew Wilson  <atwilson@google.com>
143
144         Unreviewed speculative build fix.
145
146         Reverted previous build fix as it didn't fix the problem.
147
148         * bindings/js/JSEventTarget.cpp:
149         (WebCore::toEventTarget):
150
151 2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
152
153         Unreviewed, build fix.
154
155         [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
156
157         * WebCore.pro:
158
159 2009-09-07  Drew Wilson  <atwilson@google.com>
160
161         Unreviewed build fix.
162
163         Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
164
165         * bindings/js/JSEventTarget.cpp:
166         (WebCore::toEventTarget):
167
168 2009-09-07  Drew Wilson  <atwilson@google.com>
169
170         Reviewed by David Levin.
171
172         Enable SHARED_WORKERS by default.
173         https://bugs.webkit.org/show_bug.cgi?id=28959
174
175         Tests (enabled in a separate patch):
176                fast/workers/shared-worker-constructor.html
177                fast/workers/shared-worker-context-gc.html
178                fast/workers/shared-worker-event-listener.html
179                fast/workers/shared-worker-exception.html
180                fast/workers/shared-worker-frame-lifecycle.html
181                fast/workers/shared-worker-gc.html
182                fast/workers/shared-worker-lifecycle.html
183                fast/workers/shared-worker-load-error.html
184                fast/workers/shared-worker-location.html
185                fast/workers/shared-worker-navigator.html
186                fast/workers/shared-worker-replace-global-constructor.html
187                fast/workers/shared-worker-replace-self.html
188                fast/workers/shared-worker-shared.html
189                fast/workers/shared-worker-simple.html
190                http/tests/workers/shared-worker-importScripts.html
191                http/tests/workers/shared-worker-redirect.html
192                http/tests/xmlhttprequest/workers/shared-worker-close.html
193                http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
194                http/tests/xmlhttprequest/workers/shared-worker-methods.html
195                http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
196
197         * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
198         * Configurations/FeatureDefines.xcconfig:
199         * WebCore.pro:
200         * WebCore.vcproj/WebCoreCommon.vsprops:
201         * WebCore.vcproj/build-generated-files.sh:
202         * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
203         * workers/DefaultSharedWorkerRepository.cpp:
204         (WebCore::SharedWorkerScriptLoader::load):
205         Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
206         * workers/SharedWorkerContext.cpp:
207         (WebCore::SharedWorkerContext::dispatchConnect):
208         Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
209
210 2009-09-07  Xan Lopez  <xlopez@igalia.com>
211
212         Unreviewed build fix.
213
214         Add new file to sources list.
215
216         * GNUmakefile.am:
217
218 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
219
220         wx build fixes for wx SVN trunk. 
221
222         * config.h:
223         * platform/wx/RenderThemeWx.cpp:
224         (WebCore::RenderThemeWx::paintButton):
225         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
226         (WebCore::drawTextWithSpacing):
227         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
228         (wxRenderer_DrawScrollbar):
229
230 2009-09-07  Chris Hills <chaz@chaz6.com>
231
232         Reviewed by Tor Arne Vestbø.
233
234         [Qt] Use direct includes for Phonon, not the pretty ones
235
236         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
237
238 2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
239
240         Reviewed by Alexey Proskuryakov.
241
242         WebSocket API implementation.
243         https://bugs.webkit.org/show_bug.cgi?id=28038
244         
245         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
246         Other build systems will be updated once the code is functional.
247         Tests will be landed once the code is completed and functional.
248
249         * DerivedSources.cpp:
250         * GNUmakefile.am:
251         * WebCore.xcodeproj/project.pbxproj:
252         * bindings/js/JSDOMWindowCustom.cpp:
253         (WebCore::JSDOMWindow::webSocket):
254         * bindings/js/JSEventTarget.cpp:
255         (WebCore::toJS):
256         (WebCore::toEventTarget):
257         * dom/EventTarget.cpp:
258         (WebCore::EventTarget::toWebSocket):
259         * dom/EventTarget.h:
260         * page/DOMWindow.idl:
261         * websockets/WebSocket.cpp:
262         (WebCore::ProcessWebSocketEventTask::create):
263         (WebCore::ProcessWebSocketEventTask::performTask):
264         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
265         (WebCore::isValidProtocolString):
266         (WebCore::WebSocket::connect):
267         (WebCore::WebSocket::send):
268         (WebCore::WebSocket::close):
269         (WebCore::WebSocket::bufferedAmount):
270         (WebCore::WebSocket::addEventListener):
271         (WebCore::WebSocket::removeEventListener):
272         (WebCore::WebSocket::dispatchEvent):
273         (WebCore::WebSocket::didConnect):
274         (WebCore::WebSocket::didReceiveMessage):
275         (WebCore::WebSocket::didClose):
276         (WebCore::WebSocket::dispatchOpenEvent):
277         (WebCore::WebSocket::dispatchMessageEvent):
278         (WebCore::WebSocket::dispatchCloseEvent):
279         * websockets/WebSocket.h:
280         (WebCore::WebSocket::create):
281         (WebCore::WebSocket::):
282         (WebCore::WebSocket::setOnopen):
283         (WebCore::WebSocket::onopen):
284         (WebCore::WebSocket::setOnmessage):
285         (WebCore::WebSocket::onmessage):
286         (WebCore::WebSocket::setOnclose):
287         (WebCore::WebSocket::onclose):
288         (WebCore::WebSocket::toWebSocket):
289         (WebCore::WebSocket::eventListeners):
290         (WebCore::WebSocket::refEventTarget):
291         (WebCore::WebSocket::derefEventTarget):
292         * websockets/WebSocketChannel.cpp: Added.
293         * websockets/WebSocketChannel.h: Added.
294         * websockets/WebSocketChannelClient.h: Added.
295         * websockets/WebSocketHandshake.cpp: Added.
296         * websockets/WebSocketHandshake.h: Added.
297
298 2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
299
300         Reviewed by Xan Lopez.
301
302         https://bugs.webkit.org/show_bug.cgi?id=26854
303         [GTK] Needs API to allow more control over outgoing requests
304
305         Add infrastructure required to provide the new
306         WebKitNetworkResponse object in our API.
307
308         * GNUmakefile.am: Add new files to the build.
309         * platform/network/soup/ResourceRequestSoup.cpp:
310         (WebCore::ResourceRequest::updateFromSoupMessage):
311         * platform/network/soup/ResourceResponse.h:
312         * platform/network/soup/ResourceResponseSoup.cpp: Added.
313         (WebCore::ResourceResponse::toSoupMessage):
314
315 2009-09-07  Mads Ager  <ager@chromium.org>
316
317         Reviewed by Adam Barth.
318
319         [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
320         https://bugs.webkit.org/show_bug.cgi?id=29009
321
322         Be consistent in document and frame null checks.
323
324         * bindings/v8/custom/V8DOMWindowCustom.cpp:
325         (WebCore::V8Custom::WindowSetTimeoutImpl):
326         (WebCore::ACCESSOR_GETTER):
327         (WebCore::ACCESSOR_SETTER):
328         (WebCore::CALLBACK_FUNC_DECL):
329         (WebCore::NAMED_PROPERTY_GETTER):
330         (WebCore::V8Custom::ClearTimeoutImpl):
331
332 2009-09-07  Xan Lopez  <xlopez@igalia.com>
333
334         Reviewed by Gustavo Noronha.
335
336         [Soup] Limit the number of connections
337         https://bugs.webkit.org/show_bug.cgi?id=18431
338
339         Increase the maximum number of per host and total connections to
340         similar values than those used by the other modern browsers. Seems
341         to significantly improve page loading time in many cases.
342
343         * platform/network/soup/ResourceHandleSoup.cpp:
344         (WebCore::ensureSessionIsInitialized):
345
346 2009-09-07  Michael Nordman  <michaeln@google.com>
347
348         Reviewed by Darin Fisher.
349
350         Various minor chromium appcache modifications.
351         https://bugs.webkit.org/show_bug.cgi?id=28960
352
353         No new tests.
354
355         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
356           Fix a null pointer exception.
357         (WebCore::ACCESSOR_GETTER):
358         * platform/network/chromium/ResourceRequest.h:
359           Switch from appCache 'context' to 'host' terminology.
360           Note: leaving the old deprecated accessors in place until the matching
361           change in chrome is landed to use the new accessors.
362         (WebCore::ResourceRequest::ResourceRequest):
363         (WebCore::ResourceRequest::appCacheHostID):
364         (WebCore::ResourceRequest::setAppCacheHostID):
365         (WebCore::ResourceRequest::appCacheContextID):
366         (WebCore::ResourceRequest::setAppCacheContextID):
367         * platform/network/chromium/ResourceResponse.h:
368           Add an appCacheManifestURL getter/setter.
369           Drop the 'get' prefix from the appCacheID getter.
370           Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
371           change in chrome is landed to use the new accessor.
372         (WebCore::ResourceResponse::appCacheID):
373         (WebCore::ResourceResponse::appCacheManifestURL):
374         (WebCore::ResourceResponse::setAppCacheManifestURL):
375         (WebCore::ResourceResponse::getAppCacheID):
376
377 2009-09-07  Michael Nordman  <michaeln@google.com>
378
379         Reviewed by Alexey Proskuryakov.
380
381         https://bugs.webkit.org/show_bug.cgi?id=28359
382         Cleanup: Undo some accidental changes around DOMApplicationCache.
383         - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
384         - Return a non-null object for window.applicationCache when the feature is disabled.
385         - Simplify the swapCache method.
386
387         Test: http/tests/appcache/disabled.html
388
389         * loader/appcache/DOMApplicationCache.cpp:
390         (WebCore::DOMApplicationCache::DOMApplicationCache):
391         (WebCore::DOMApplicationCache::swapCache):
392         (WebCore::DOMApplicationCache::scriptExecutionContext):
393         * loader/appcache/DOMApplicationCache.h:
394         * page/DOMWindow.cpp:
395         (WebCore::DOMWindow::applicationCache):
396
397 2009-09-06  Yael Aharon  <yael.aharon@nokia.com>
398
399         Reviewed by Darin Adler.
400
401         hostname and host are mixed up when manipulating anchor elements.
402         https://bugs.webkit.org/show_bug.cgi?id=28954
403
404         handle the case of port 0.
405
406         * html/HTMLAnchorElement.cpp:
407         (WebCore::HTMLAnchorElement::host):
408
409 2009-09-06  Erik Arvidsson  <arv@chromium.org>
410
411         Reviewed by Eric Seidel.
412
413         Make hidden elements not focusable.
414
415         Clean up supportsFocus and isFocusable.
416         supportsFocus now strictly means that the node can be focused by default.
417         This is true for links, form controls and content editable elements for example.
418         isFocusable means that the user can actually focus it.
419         All (2) calls to supportsFocus have been updated to take this into account.
420         
421         Make a elements without href work correctly as well.
422
423         https://bugs.webkit.org/show_bug.cgi?id=27099
424
425         Tests: fast/events/click-focus-anchor.html
426                fast/events/tab-focus-anchor.html
427                fast/events/tab-focus-hidden.html
428
429         * dom/Element.cpp:
430         (WebCore::Element::focus):
431         * dom/Node.cpp:
432         (WebCore::Node::supportsFocus):
433         (WebCore::Node::isFocusable):
434         * dom/Node.h:
435         * html/HTMLAnchorElement.cpp:
436         (WebCore::HTMLAnchorElement::supportsFocus):
437         (WebCore::HTMLAnchorElement::isMouseFocusable):
438         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
439         * html/HTMLAnchorElement.h:
440         * html/HTMLAreaElement.cpp:
441         (WebCore::HTMLAreaElement::supportsFocus):
442         * html/HTMLAreaElement.h:
443         * html/HTMLElement.cpp:
444         (WebCore::HTMLElement::supportsFocus):
445         * html/HTMLElement.h:
446         * html/HTMLFieldSetElement.cpp:
447         (WebCore::HTMLFieldSetElement::supportsFocus):
448         * html/HTMLFieldSetElement.h:
449         * html/HTMLFormControlElement.cpp:
450         (WebCore::HTMLFormControlElement::supportsFocus):
451         (WebCore::HTMLFormControlElement::isFocusable):
452         * html/HTMLFrameElementBase.cpp:
453         (WebCore::HTMLFrameElementBase::supportsFocus):
454         * html/HTMLFrameElementBase.h:
455         * html/HTMLLegendElement.cpp:
456         (WebCore::HTMLLegendElement::supportsFocus):
457         * html/HTMLLegendElement.h:
458         * html/HTMLOptGroupElement.cpp:
459         (WebCore::HTMLOptGroupElement::supportsFocus):
460         (WebCore::HTMLOptGroupElement::isFocusable):
461         * html/HTMLOptGroupElement.h:
462         * html/HTMLOptionElement.cpp:
463         (WebCore::HTMLOptionElement::supportsFocus):
464         (WebCore::HTMLOptionElement::isFocusable):
465         * html/HTMLOptionElement.h:
466         * page/EventHandler.cpp:
467         (WebCore::EventHandler::dispatchMouseEvent):
468         * page/FocusController.cpp:
469         (WebCore::FocusController::advanceFocus):
470         * svg/SVGAElement.cpp:
471         (WebCore::SVGAElement::supportsFocus):
472         (WebCore::SVGAElement::isFocusable):
473         * wml/WMLAElement.cpp:
474         (WebCore::WMLAElement::supportsFocus):
475         * wml/WMLAElement.h:
476         * wml/WMLFormControlElement.cpp:
477         (WebCore::WMLFormControlElement::supportsFocus):
478         (WebCore::WMLFormControlElement::isFocusable):
479         * wml/WMLFormControlElement.h:
480
481 2009-09-06  Joel Stanley  <joel@jms.id.au>
482
483         Reviewed by Dimitri Glazkov.
484
485         Expose functions to set the caret blink interval for Linux Chromium.
486         Default value is set to that of RenderTheme::caretBlankInterval().
487         Uses caretBlinkIntervalInternal to avoid overriding
488         RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
489         of blinking caret required for layout tests.
490         https://bugs.webkit.org/show_bug.cgi?id=28931
491
492         * rendering/RenderThemeChromiumLinux.cpp:
493         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
494         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
495         (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
496         * rendering/RenderThemeChromiumLinux.h:
497
498 2009-09-06  Ada Chan  <adachan@apple.com>
499
500         Remove an extra </File> in WebCore.vcproj.
501
502         * WebCore.vcproj/WebCore.vcproj:
503
504 2009-09-06  Timothy Hatcher  <timothy@apple.com>
505
506         Adds a persistent setting for color format in the Web Inspector.
507
508         https://bugs.webkit.org/show_bug.cgi?id=28889
509
510         Reviewed by Dan Bernstein.
511
512         * English.lproj/localizedStrings.js: New strings.
513         * inspector/front-end/Color.js: Minor style fixes.
514         (WebInspector.Color.prototype.toString): Added. Replaces the individual
515         "toFoo" functions. Takes a optional arguments for the color format to return.
516         * inspector/front-end/Images/paneSettingsButtons.png: Added.
517         * inspector/front-end/StylesSidebarPane.js:
518         (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
519         the new color format.
520         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
521         Use the new toString function on Color.
522         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
523         to format colors by default. Add a tooltip for the color swatch.
524         * inspector/front-end/inspector.css: New styles for the settings menu.
525         * inspector/front-end/inspector.js:
526         (WebInspector.loaded): Initilize the colorFormat preference.
527
528 2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
529
530         Reviewed by Eric Seidel.
531
532         [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
533         https://bugs.webkit.org/show_bug.cgi?id=28993
534
535         * platform/network/qt/DnsPrefetchHelper.cpp:
536         * platform/network/qt/DnsPrefetchHelper.h:
537
538 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
539
540         Reviewed by Eric Seidel.
541
542         Drop <definition-src> support
543         https://bugs.webkit.org/show_bug.cgi?id=28991
544
545         http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
546
547         * DerivedSources.cpp: Remove references to definition-src.
548         * DerivedSources.make: Ditto.
549         * GNUmakefile.am: Ditto.
550         * WebCore.gypi: Ditto.
551         * WebCore.pro: Ditto.
552         * WebCore.vcproj/WebCore.vcproj: Ditto.
553         * WebCore.xcodeproj/project.pbxproj: Ditto.
554         * bindings/objc/DOM.mm:
555         (WebCore::createElementClassMap): Ditto.
556         * bindings/objc/DOMSVG.h: Ditto.
557         * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
558         * bindings/v8/V8DOMWrapper.cpp: Ditto.
559         * bindings/v8/V8Index.cpp: Ditto.
560         * bindings/v8/V8Index.h: Ditto.
561         * svg/SVGAllInOne.cpp: Ditto.
562         * svg/SVGDefinitionSrcElement.cpp: Removed.
563         * svg/SVGDefinitionSrcElement.h: Removed.
564         * svg/SVGDefinitionSrcElement.idl: Removed.
565         * svg/SVGFontFaceElement.cpp:
566         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
567         definition-src child.
568         * svg/svgtags.in: Remove definition-src.
569
570 2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
571
572         Unreviewed, build fix.
573
574         [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
575         logic of retrieving default caret blink interval was incorrect (non-existent)
576         and caused layout test flakiness.
577
578         * rendering/RenderThemeChromiumLinux.cpp:
579         * rendering/RenderThemeChromiumLinux.h:
580
581 2009-09-05  Jian Li  <jianli@chromium.org>
582
583         Reviewed by NOBODY (Chromium reliability build break).
584
585         Back up partial change in r48072 in order to fix chromium reliability build break.
586
587         * bindings/v8/V8AbstractEventListener.cpp:
588         (WebCore::V8AbstractEventListener::invokeEventHandler):
589
590 2009-09-05  Nicolas Weber  <thakis@chromium.org>
591
592         Reviewed by Darin Fisher.
593
594         https://bugs.webkit.org/show_bug.cgi?id=28975
595         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
596         such as screenshots by default, can now be uploaded to sites such as
597         imgur.com.
598
599         * platform/FileSystem.h:
600         Add pathGetDisplayFileName().
601         * platform/chromium/FileChooserChromium.cpp:
602         (WebCore::FileChooser::basenameForWidth):
603         Call pathGetDisplayFileName() instead of pathGetFileName().
604         * platform/chromium/FileSystemChromiumLinux.cpp:
605         (WebCore::pathGetDisplayFileName):
606         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
607         * platform/chromium/FileSystemChromiumMac.mm:
608         (WebCore::pathGetFileName):
609         Now returns a real filename instead of a presentational one, which
610         fixes the problem addressed by this change.
611         (WebCore::pathGetDisplayFileName):
612         New function that returns a presentational filename; does what
613         pathGetDisplayFileName() did prior to this patch.
614         * platform/chromium/FileSystemChromiumWin.cpp:
615         (WebCore::pathGetDisplayFileName):
616         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
617
618 2009-09-05  Joel Stanley  <joel@jms.id.au>
619
620         Reviewed by David Levin.
621
622         Expose functions to set the caret blink interval for Linux Chromium.
623         https://bugs.webkit.org/show_bug.cgi?id=28931
624
625         * rendering/RenderThemeChromiumLinux.cpp:
626         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
627         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
628         * rendering/RenderThemeChromiumLinux.h:
629
630 2009-09-04  Dmitry Titov  <dimich@chromium.org>
631
632         Reviewed by David Levin.
633
634         Prevent UI freeze in case when too many timers are in the timer queue.
635         https://bugs.webkit.org/show_bug.cgi?id=23865
636
637         The fix measures the elapsed time while executing timers. If we have too many
638         timers and it takes significant time to fire, quit the loop and reschedule.
639         This lets the run loop process user input (close the window for example).
640
641         * platform/ThreadTimers.h:
642         * platform/ThreadTimers.cpp:
643         (WebCore::ThreadTimers::sharedTimerFiredInternal):
644         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
645         Removed functions and members used before to grab a list of all expired timers.
646         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
647         * platform/Timer.cpp:
648         (WebCore::TimerBase::isActive):
649         (WebCore::TimerBase::setNextFireTime):
650         Since timers are now fired one by one, there is no need to keep track of updated timers.
651         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
652         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
653         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
654         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
655         eventSender, which does not reproduce the UI freeze that happens with real input.
656
657 2009-09-04  Anders Carlsson  <andersca@apple.com>
658
659         Reviewed by Adele Peterson.
660
661         <rdar://problem/7201063>
662         
663         Detach any custom scrollbars before detaching the document.
664         
665         * page/Frame.cpp:
666         (WebCore::Frame::setView):
667
668 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
669
670                 Unreviewed, build fix.
671
672                 Remove remaining references to UserStyleSheetLoader after r48075.
673
674                 * WebCore.gypi:
675                 * WebCore.xcodeproj/project.pbxproj:
676                 * page/qt/FrameQt.cpp:
677                 * page/wince/FrameWince.cpp:
678
679 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
680
681                 Reviewed by David Levin.
682
683                 https://bugs.webkit.org/show_bug.cgi?id=28988
684                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
685                 HTML5 specs:
686                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
687
688                 * html/HTMLFormElement.cpp:
689                 (WebCore::HTMLFormElement::noValidate):
690                 (WebCore::HTMLFormElement::setNoValidate):
691                 * html/HTMLFormElement.h:
692                 * html/HTMLFormElement.idl:
693
694 2009-09-04  Dmitry Titov  <dimich@chromium.org>
695
696         Reviewed by David Levin.
697
698         Remove unused line of code from WorkerContext
699         https://bugs.webkit.org/show_bug.cgi?id=28990
700
701         * workers/WorkerContext.cpp:
702         (WebCore::WorkerContext::importScripts):
703
704 2009-09-04  Darin Adler  <darin@apple.com>
705
706         Reviewed by Oliver Hunt.
707
708         Fix assertion seen when running buildbot.
709
710         * bindings/js/JSDOMBinding.h:
711         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
712         the HasDefaultMark bit since this has a custom mark function.
713
714 2009-09-04  Dave Hyatt  <hyatt@apple.com>
715
716         Reviewed by Adam Roben.
717
718         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
719         Make sure the other code path (now used by everybody) can handle data URLs.
720
721         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
722         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
723         that anybody is relying on this support.
724         
725         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
726         code.
727
728         * WebCore.pro:
729         * WebCore.xcodeproj/project.pbxproj:
730         * dom/Document.cpp:
731         (WebCore::Document::userStyleSheet):
732         * dom/Document.h:
733         * loader/FrameLoader.cpp:
734         (WebCore::FrameLoader::begin):
735         * loader/UserStyleSheetLoader.cpp: Removed.
736         * loader/UserStyleSheetLoader.h: Removed.
737         * page/Frame.cpp:
738         (WebCore::Frame::reapplyStyles):
739         * page/Frame.h:
740         * page/Page.cpp:
741         (WebCore::Page::userStyleSheetLocationChanged):
742         (WebCore::Page::userStyleSheet):
743         * page/mac/FrameMac.mm:
744         * page/qt/FrameQt.cpp:
745
746 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
747
748         Reviewed by Timothy Hatcher.
749
750         Add "sampling profiler" preference, simplify data display when it's set.
751
752         https://bugs.webkit.org/show_bug.cgi?id=28969
753
754         * inspector/front-end/ProfileDataGridTree.js:
755         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
756         (WebInspector.ProfileDataGridNode.prototype.get data):
757         * inspector/front-end/ProfileView.js:
758         (WebInspector.ProfileView):
759         * inspector/front-end/inspector.js:
760
761 2009-09-04  Jian Li  <jianli@chromium.org>
762
763         Reviewed by Adam Barth.
764
765         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
766         https://bugs.webkit.org/show_bug.cgi?id=28980
767
768         Tested by worker-close.html.
769
770         * bindings/v8/ScriptFunctionCall.cpp:
771         * bindings/v8/V8AbstractEventListener.cpp:
772         (WebCore::V8AbstractEventListener::invokeEventHandler):
773         * bindings/v8/V8Utilities.cpp:
774         (WebCore::getScriptExecutionContext):
775         (WebCore::reportException):
776         * bindings/v8/V8Utilities.h:
777         (WebCore::getScriptExecutionContext):
778         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
779         (WebCore::CALLBACK_FUNC_DECL):
780         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
781         (WebCore::CALLBACK_FUNC_DECL):
782         * bindings/v8/custom/V8WorkerCustom.cpp:
783         (WebCore::CALLBACK_FUNC_DECL):
784         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
785         (WebCore::CALLBACK_FUNC_DECL):
786         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
787         (WebCore::CALLBACK_FUNC_DECL):
788
789 2009-09-04  Dave Hyatt  <hyatt@apple.com>
790
791         Reviewed by Anders Carlsson.
792
793         Remove unused m_sheet variable and setCSSStyleSheet methods.
794
795         * dom/Document.cpp:
796         * dom/Document.h:
797
798 2009-09-04  Anders Carlsson  <andersca@apple.com>
799
800         Reviewed by David Hyatt and Adele Peterson.
801
802         (Based on a patch from Adele).
803         
804         Fix <rdar://problem/7185875>.
805         
806         * page/Frame.cpp:
807         (WebCore::Frame::setView):
808         Detach any custom scroll bars from the old view.
809         
810         * page/FrameView.cpp:
811         (WebCore::FrameView::detachCustomScrollbars):
812         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
813         not a RenderPart object.
814
815         * rendering/RenderObject.cpp:
816         (WebCore::RenderObject::destroy):
817         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
818
819 2009-09-04  Dave Hyatt  <hyatt@apple.com>
820
821         Reviewed by Adam Roben.
822
823         Make m_userStyleSheetLoader in Frame an OwnPtr.
824
825         * page/Frame.cpp:
826         (WebCore::Frame::Frame):
827         (WebCore::Frame::~Frame):
828         * page/Frame.h:
829         * page/mac/FrameMac.mm:
830         (WebCore::Frame::setUserStyleSheetLocation):
831         (WebCore::Frame::setUserStyleSheet):
832
833 2009-09-04  Timothy Hatcher  <timothy@apple.com>
834
835         Show color swatches in the Web Inspector before the color text so clicking them will not
836         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
837
838         https://bugs.webkit.org/show_bug.cgi?id=28978
839
840         Reviewed by Darin Adler.
841
842         * inspector/front-end/StylesSidebarPane.js:
843         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
844         the processing we do on the property value. This eliminated the old nickname code, since the new
845         WebInspector.Color class handles this. We could also simplify the color regex since more
846         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
847         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
848         process a value given a regex and processor functions. 
849         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
850         URL with "url()" syntax surrounding it.
851         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
852         there was an exception just return a text node.
853         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
854         Moved from later in the file.
855         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
856         * inspector/front-end/inspector.css:
857
858 2009-09-04  Mark Mentovai  <mark@chromium.org>
859
860         Reviewed by Dave Hyatt.
861
862         https://bugs.webkit.org/show_bug.cgi?id=28614
863
864         Account for scrollbar state changes that occur during layout.
865
866         * platform/ScrollView.cpp:
867         (WebCore::ScrollView::updateScrollbars):
868
869         Perform a layout prior to checking whether the scrollbar modes are
870         off, on, or automatic.  The modes may change during layout.
871
872         * WebCore.base.exp:
873         * WebCore.order:
874         * page/Frame.cpp:
875         (WebCore::Frame::createView):
876         * page/FrameView.cpp:
877         (WebCore::FrameView::FrameView):
878         (WebCore::FrameView::resetScrollbars):
879         (WebCore::FrameView::layout):
880         * page/FrameView.h:
881         * platform/ScrollView.h:
882
883         Eliminate duplicated (and incorrect) scrollbar mode tracking between
884         FrameView and ScrollView.
885
886 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
887
888         Reviewed by Darin Adler.
889
890         hostname and host are mixed up when manipulating anchor elements.
891         https://bugs.webkit.org/show_bug.cgi?id=28954
892
893         Swapped the implementation of host and hostname, and made sure not to return
894         the port number if it is default for the given protocol. 
895         FireFox also avoids returning the protocol number if it is default.
896
897         Test: fast/dom/Element/hostname-host.html
898
899         * html/HTMLAnchorElement.cpp:
900         (WebCore::HTMLAnchorElement::host):
901         (WebCore::HTMLAnchorElement::hostname):
902         * page/SecurityOrigin.cpp:
903         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
904         * page/SecurityOrigin.h:
905
906 2009-09-04  Anders Carlsson  <andersca@apple.com>
907
908         Reviewed by Darin Adler and Steve Falkenburg.
909
910         Fix <rdar://problem/7192902>.
911
912         Add the necessary plumbing for having QTMovieWin use WebCore timers.
913         
914         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
915         (WebCore::TaskTimer::initialize):
916         Create the timer and call QTMovieWin::setTaskTimerFuncs.
917         
918         (WebCore::TaskTimer::setTaskTimerDelay):
919         Start the timer.
920         
921         (WebCore::TaskTimer::stopTaskTimer):
922         Stop the timer.
923         
924         (WebCore::TaskTimer::fired):
925         Call QTMovieWin::taskTimerFired().
926         
927         (WebCore::MediaPlayerPrivate::load):
928         Initialize the Task timer.
929         
930         * platform/graphics/win/QTMovieWin.cpp:
931         (updateTaskTimer):
932         Call the global stopTaskTimer function and setTaskTimerDelay.
933         
934         (QTMovieWin::taskTimerFired):
935         Make this a member function.
936         
937         (QTMovieWin::setTaskTimerFuncs):
938         Set the global function pointers.
939         
940         (QTMovieWin::initializeQuickTime):
941         (DllMain):
942         No need to use the QT shared timer.
943         * platform/graphics/win/QTMovieWin.h:
944
945 2009-09-04  Tony Chang  <tony@chromium.org>
946
947         Reviewed by David Levin.
948
949         Fix Chromium Win compile.  Missing return statement in
950         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
951         https://bugs.webkit.org/show_bug.cgi?id=28974
952
953         No new tests, build fix.
954
955         * rendering/RenderThemeChromiumSkia.cpp:
956         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
957
958 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
959
960         Unreviewed, build fix.
961
962         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
963         the build.
964         https://bugs.webkit.org/show_bug.cgi?id=28696
965
966 2009-09-04  Anders Carlsson  <andersca@apple.com>
967
968         Fix vcproj file.
969
970         * WebCore.vcproj/WebCore.vcproj:
971
972 2009-09-03  Dave Hyatt  <hyatt@apple.com>
973
974         Reviewed by Adam Roben.
975
976         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
977         
978         This patch adds new API for adding and removing user scripts from page groups.  User scripts
979         are bundled together in isolated worlds (you can have multiple scripts together in the same
980         world).
981
982         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
983
984         * WebCore.base.exp:
985         * WebCore.vcproj/WebCore.vcproj:
986         * WebCore.xcodeproj/project.pbxproj:
987         * bindings/js/ScriptController.cpp:
988         (WebCore::ScriptController::evaluateInIsolatedWorld):
989         * bindings/js/ScriptController.h:
990         * bindings/v8/ScriptController.cpp:
991         (WebCore::ScriptController::evaluateInIsolatedWorld):
992         * bindings/v8/ScriptController.h:
993         * loader/FrameLoader.cpp:
994         (WebCore::FrameLoader::finishedParsing):
995         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
996         * page/Frame.cpp:
997         (WebCore::Frame::injectUserScripts):
998         (WebCore::Frame::injectUserScriptsForWorld):
999         * page/Frame.h:
1000         * page/PageGroup.cpp:
1001         (WebCore::PageGroup::~PageGroup):
1002         (WebCore::PageGroup::addUserScript):
1003         (WebCore::PageGroup::removeUserContentForWorld):
1004         (WebCore::PageGroup::removeAllUserContent):
1005         * page/PageGroup.h:
1006         (WebCore::PageGroup::userScripts):
1007         * page/UserScript.h: Added.
1008         (WebCore::UserScript::UserScript):
1009         (WebCore::UserScript::source):
1010         (WebCore::UserScript::url):
1011         (WebCore::UserScript::patterns):
1012         (WebCore::UserScript::worldID):
1013         (WebCore::UserScript::injectionTime):
1014         * page/UserScriptTypes.h: Added.
1015         (WebCore::):
1016
1017 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
1018
1019         Reviewed by Eric Seidel.
1020
1021         https://bugs.webkit.org/show_bug.cgi?id=26402
1022         Crashes when using a detached DocumentType node
1023
1024         Test: fast/dom/DOMImplementation/detached-doctype.html
1025
1026         DocumentType nodes are the only one that can have null document(), and they can never have
1027         children, so they are a degenerate case for NodeLists.
1028
1029         * dom/Node.cpp:
1030         (WebCore::Node::childNodes): Don't try register node list with document if there's no
1031         document. Since there are no changes possible for a DocumentType's node list, this is not
1032         necessary.
1033         (WebCore::Node::registerDynamicNodeList): Ditto.
1034         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
1035         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
1036         de-registration code path that I saw taken was via Node destructor, and that already has
1037         a null check for document).
1038
1039         * bindings/js/JSNodeCustom.cpp:
1040         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
1041         if there is no window).
1042         (WebCore::JSNode::removeEventListener): Ditto.
1043
1044 2009-09-04  Xan Lopez  <xlopez@igalia.com>
1045
1046         Reviewed by Gustavo Noronha.
1047
1048         [GTK] loadFinished never emitted
1049         https://bugs.webkit.org/show_bug.cgi?id=28935
1050
1051         Do not report errors right away from
1052         ResourceHandle::start. Instead return true and schedule an error
1053         to be reported in the handle later. Otherwise WebCore gets
1054         confused and thinks the resource never finished loading, making it
1055         not emit the finished status.
1056
1057         * platform/network/soup/ResourceHandleSoup.cpp:
1058         (WebCore::startHttp):
1059         (WebCore::):
1060
1061 2009-09-04  Ben Murdoch  <benm@google.com>
1062
1063         Reviewed by Eric Seidel.
1064
1065         [V8] DOM Storage bindings: Event Handler should create StorageEvents
1066         https://bugs.webkit.org/show_bug.cgi?id=28942
1067         
1068         Tests:
1069         Causes the following tests that were failing with V8 to pass:
1070         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
1071         * storage/domstorage/localstorage/complex-keys.html
1072         * storage/domstorage/localstorage/onstorage-attribute-markup.html
1073         * storage/domstorage/localstorage/simple-events.html
1074         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
1075         * storage/domstorage/localstorage/index-get-and-set.html
1076         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
1077         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
1078         * storage/domstorage/sessionstorage/simple-events.html
1079         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
1080         * storage/domstorage/sessionstorage/index-get-and-set.html
1081
1082         Code changes:
1083         * bindings/v8/V8DOMWrapper.cpp:
1084         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
1085         * bindings/v8/custom/V8StorageCustom.cpp:
1086         (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.
1087
1088 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1089
1090         Reviewed by Timothy Hatcher.
1091
1092         https://bugs.webkit.org/show_bug.cgi?id=28911
1093
1094         * WebCore.gypi:
1095         * WebCore.vcproj/WebCore.vcproj:
1096         * inspector/InspectorBackend.cpp:
1097         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1098         * inspector/InspectorBackend.h:
1099         * inspector/InspectorBackend.idl:
1100         * inspector/front-end/ConsoleView.js:
1101         (WebInspector.ConsoleView.prototype.doEvalInWindow):
1102         (WebInspector.ConsoleView.prototype._formatarray):
1103         (WebInspector.ConsoleView.prototype._formatnode):
1104         * inspector/front-end/DOMAgent.js:
1105         * inspector/front-end/ElementsPanel.js:
1106         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1107         (WebInspector.ElementsPanel.prototype.searchCanceled):
1108         (WebInspector.ElementsPanel.prototype.performSearch):
1109         * inspector/front-end/InjectedScript.js:
1110         (InjectedScript.dispatch):
1111         * inspector/front-end/InjectedScriptAccess.js: Added.
1112         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1113         (InjectedScriptAccess._installHandler):
1114         * inspector/front-end/MetricsSidebarPane.js:
1115         (WebInspector.MetricsSidebarPane.prototype.update):
1116         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1117         * inspector/front-end/ObjectPropertiesSection.js:
1118         (WebInspector.ObjectPropertiesSection.prototype.update):
1119         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1120         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1121         * inspector/front-end/PropertiesSidebarPane.js:
1122         (WebInspector.PropertiesSidebarPane.prototype.update):
1123         * inspector/front-end/ResourcesPanel.js:
1124         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1125         * inspector/front-end/ScriptsPanel.js:
1126         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1127         * inspector/front-end/StylesSidebarPane.js:
1128         (WebInspector.StylesSidebarPane.prototype.update):
1129         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1130         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
1131         (WebInspector.StylePropertyTreeElement.prototype):
1132         * inspector/front-end/inspector.html:
1133
1134 2009-09-04  Tony Chang  <tony@chromium.org>
1135
1136         Reviewed by Eric Seidel.
1137
1138         Implement <input type="range"> for Chromium Linux by painting
1139         the slider and the thumb using skia.
1140         https://bugs.webkit.org/show_bug.cgi?id=28928
1141
1142         Covered by existing tests (we're currently hitting an assert for them).
1143
1144         * rendering/RenderThemeChromiumLinux.cpp:
1145         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1146         * rendering/RenderThemeChromiumLinux.h:
1147         * rendering/RenderThemeChromiumSkia.cpp:
1148         (WebCore::drawVertLine):
1149         (WebCore::drawHorizLine):
1150         (WebCore::drawBox):
1151         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
1152         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1153         * rendering/RenderThemeChromiumSkia.h:
1154
1155 2009-09-04  Kent Tamura  <tkent@chromium.org>
1156
1157         Reviewed by Eric Seidel.
1158
1159         - Implement <input type=color> as a text field.
1160         - ValidityState::typeMismatch supports for type=color.
1161         https://bugs.webkit.org/show_bug.cgi?id=28966
1162
1163         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
1164                fast/forms/ValidityState-typeMismatch-color.html
1165
1166         * html/HTMLInputElement.cpp:
1167         (WebCore::HTMLInputElement::valueMissing):
1168         (WebCore::HTMLInputElement::patternMismatch):
1169         (WebCore::HTMLInputElement::setInputType):
1170         (WebCore::HTMLInputElement::formControlType):
1171         (WebCore::HTMLInputElement::saveFormControlState):
1172         (WebCore::HTMLInputElement::restoreFormControlState):
1173         (WebCore::HTMLInputElement::accessKeyAction):
1174         (WebCore::HTMLInputElement::rendererIsNeeded):
1175         (WebCore::HTMLInputElement::createRenderer):
1176         (WebCore::HTMLInputElement::appendFormData):
1177         (WebCore::HTMLInputElement::valueWithDefault):
1178         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
1179         (WebCore::HTMLInputElement::defaultEventHandler):
1180         (WebCore::HTMLInputElement::isRequiredFormControl):
1181         (WebCore::HTMLInputElement::dataList):
1182         * html/HTMLInputElement.h:
1183         (WebCore::HTMLInputElement::):
1184         (WebCore::HTMLInputElement::isTextField):
1185         * html/ValidityState.cpp:
1186         (WebCore::ValidityState::typeMismatch):
1187         (WebCore::ValidityState::isValidColorString):
1188         * html/ValidityState.h:
1189
1190 2009-09-04  Mads Ager  <ager@chromium.org>
1191
1192         Reviewed by David Levin.
1193
1194         [V8] Crash when updating document cache
1195         https://bugs.webkit.org/show_bug.cgi?id=28965
1196
1197         Initialization of a V8 JavaScript context can fail.  When that
1198         happens, do not attempt to update the document wrapper cache.
1199
1200         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
1201
1202         * bindings/v8/V8Proxy.cpp:
1203         (WebCore::V8Proxy::updateDocument):
1204
1205 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
1206
1207         Reviewed by Eric Seidel.
1208
1209         Two bugs:
1210
1211         https://bugs.webkit.org/show_bug.cgi?id=25489
1212         CSS property background-position is now serialized in shorthand string as
1213         background-position-x background-position-y, as the specification requires
1214         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
1215         
1216
1217         https://bugs.webkit.org/show_bug.cgi?id=26541
1218         CSS background-color is now be serialized before other background properties, 
1219         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
1220
1221         An existing layout test that accepted wrong order and skipped position test 
1222         had to be modified.
1223
1224         * css/CSSMutableStyleDeclaration.cpp:
1225         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1226
1227 2009-09-03  Kent Tamura  <tkent@chromium.org>
1228
1229         Reviewed by David Levin.
1230
1231         Add support for HTMLTextAreaElement.textLength
1232         https://bugs.webkit.org/show_bug.cgi?id=28929
1233
1234         Test: fast/forms/textarea-textlength.html
1235
1236         * html/HTMLTextAreaElement.h:
1237         (WebCore::HTMLTextAreaElement::textLength):
1238         * html/HTMLTextAreaElement.idl:
1239
1240 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
1241
1242         Reviewed by Darin Adler.
1243
1244         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
1245         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
1246
1247         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
1248
1249         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
1250         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
1251         DocumentType node in two documents.
1252
1253 2009-09-03  Brady Eidson  <beidson@apple.com>
1254
1255         Reviewed by Sam Weinig.
1256
1257         Page Cache should support pages with Frames.
1258         https://bugs.webkit.org/show_bug.cgi?id=13631
1259
1260         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
1261                fast/loader/frames-with-unload-handlers-in-page-cache.html
1262
1263         * loader/FrameLoader.cpp:
1264         (WebCore::FrameLoader::canCachePageContainingThisFrame):
1265         (WebCore::FrameLoader::logCanCacheFrameDecision):
1266
1267 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
1268
1269         Reviewed by Eric Seidel.
1270
1271         Handle middle click in Chromium like QT
1272         https://bugs.webkit.org/show_bug.cgi?id=28696
1273
1274         Tested by middle-click-onpaste.html.
1275
1276         * platform/Pasteboard.h:
1277         * platform/chromium/ChromiumBridge.h:
1278         * platform/chromium/ClipboardChromium.cpp:
1279         (WebCore::ClipboardChromium::getData):
1280         * platform/chromium/PasteboardChromium.cpp:
1281         (WebCore::Pasteboard::Pasteboard):
1282         (WebCore::Pasteboard::isSelectionMode):
1283         (WebCore::Pasteboard::setSelectionMode):
1284         (WebCore::Pasteboard::canSmartReplace):
1285         (WebCore::Pasteboard::plainText):
1286         (WebCore::Pasteboard::documentFragment):
1287         * platform/chromium/PasteboardPrivate.h:
1288         (WebCore::PasteboardPrivate::):
1289
1290 2009-09-03  Brady Eidson  <beidson@apple.com>
1291
1292         Reviewed by Sam Weinig.
1293
1294         More partial work towards "Page Cache should support pages with Frames"
1295         https://bugs.webkit.org/show_bug.cgi?id=13631
1296
1297         Fix a bug where subframes weren't asked if they were cacheable.
1298
1299         No new tests, especially since page caching for frames isn't turned on yet.
1300         A layout test will come in my next patch, which enables frames in the page cache.
1301
1302         * loader/FrameLoader.cpp:
1303         (WebCore::FrameLoader::canCachePageContainingThisFrame):
1304
1305 2009-09-03  Adam Barth  <abarth@webkit.org>
1306
1307         Reviewed by eric@webkit.org.
1308
1309         https://bugs.webkit.org/show_bug.cgi?id=24696
1310
1311         Added mixed content methods to FrameLoaderClient.
1312
1313         * loader/EmptyClients.h:
1314         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
1315         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
1316         * loader/FrameLoaderClient.h:
1317
1318 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
1319
1320         Reviewed by Kevin Ollivier.
1321
1322         [wx] Frames support
1323         https://bugs.webkit.org/show_bug.cgi?id=19041
1324
1325         * page/wx/EventHandlerWx.cpp:
1326         (WebCore::EventHandler::passMousePressEventToSubframe):
1327         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1328         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1329         (WebCore::EventHandler::passWheelEventToWidget):
1330         (WebCore::EventHandler::tabsToAllControls):
1331         (WebCore::EventHandler::passSubframeEventToSubframe):
1332         (WebCore::EventHandler::passMouseDownEventToWidget):
1333         * platform/wx/RenderThemeWx.cpp:
1334         (WebCore::nativeWindowForRenderObject):
1335         (WebCore::RenderThemeWx::paintButton):
1336         (WebCore::RenderThemeWx::paintTextField):
1337         (WebCore::RenderThemeWx::paintMenuList):
1338         (WebCore::RenderThemeWx::paintMenuListButton):
1339         * platform/wx/ScrollbarThemeWx.cpp: Added.
1340         (WebCore::ScrollbarTheme::nativeTheme):
1341         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
1342         (WebCore::ScrollbarThemeWx::scrollbarThickness):
1343         (WebCore::ScrollbarThemeWx::hasThumb):
1344         (WebCore::ScrollbarThemeWx::buttonSize):
1345         (WebCore::ScrollbarThemeWx::backButtonRect):
1346         (WebCore::ScrollbarThemeWx::forwardButtonRect):
1347         (WebCore::ScrollbarThemeWx::trackRect):
1348         (WebCore::ScrollbarThemeWx::paintScrollCorner):
1349         (WebCore::ScrollbarThemeWx::paint):
1350         * platform/wx/ScrollbarThemeWx.h: Added.
1351         (WebCore::ScrollbarThemeWx::hasButtons):
1352         * platform/wx/TemporaryLinkStubs.cpp:
1353         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
1354         (wxStyleForPart):
1355         (GetButtonWidget):
1356         (wxGetGdkWindowForDC):
1357         (wxRenderer_DrawScrollbar):
1358         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
1359         (wxScrollbarPartToHIPressedState):
1360         (wxRenderer_DrawScrollbar):
1361         * platform/wx/wxcode/scrollbar_render.h: Added.
1362         (calcThumbStartAndLength):
1363         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1364         (WebCore::drawTextWithSpacing):
1365         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
1366         (GraphicsHDC::GraphicsHDC):
1367         (GraphicsHDC::~GraphicsHDC):
1368         (GraphicsHDC::operator HDC):
1369         (getTSStateForPart):
1370         (wxRenderer_DrawScrollbar):
1371         * webcore-wx.bkl:
1372
1373 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
1374
1375         Reviewed by Simon Hausmann.
1376
1377         [Qt] Page content is not displayed in case of HTTP status error
1378         https://bugs.webkit.org/show_bug.cgi?id=28949
1379
1380         If the server sent content, show it to the user instead of an error,
1381         even if the HTTP status code is not success.
1382
1383         * platform/network/qt/QNetworkReplyHandler.cpp:
1384         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1385         (WebCore::QNetworkReplyHandler::finish):
1386         (WebCore::QNetworkReplyHandler::forwardData):
1387         (WebCore::QNetworkReplyHandler::resetState):
1388         * platform/network/qt/QNetworkReplyHandler.h:
1389
1390 2009-09-03  Drew Wilson  <atwilson@google.com>
1391
1392         Reviewed by Dimitri Glazkov.
1393
1394         Need to update v8 bindings to support passing multiple ports to postMessage()
1395         https://bugs.webkit.org/show_bug.cgi?id=28839
1396
1397         Added support for passing MessagePortArray to v8 bindings.
1398
1399         New tests that now pass with V8:
1400                fast/events/message-port-multi.html
1401                fast/workers/worker-context-multi-port.html
1402                fast/workers/worker-multi-port.html
1403
1404         * WebCore.gypi:
1405         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
1406         * bindings/v8/custom/V8CustomBinding.h:
1407         Added custom postMessage() handlers for various classes.
1408         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1409         (WebCore::DOMWindowPostMessage):
1410         Added custom handler that supports MessagePortArray.
1411         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1412         (WebCore::DedicatedWorkerContextPostMessage):
1413         Added custom handler that supports MessagePortArray.
1414         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
1415         (WebCore::MessageEventPorts):
1416         Added getter for ports attribute.
1417         (WebCore::MessageEventInitMessageEvent):
1418         Added custom handler that supports MessagePortArray.
1419         * bindings/v8/custom/V8MessagePortCustom.cpp:
1420         (WebCore::MessagePortPostMessage):
1421         Added custom handler that supports MessagePortArray.
1422         (WebCore::getMessagePortArray):
1423         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
1424         * bindings/v8/custom/V8MessagePortCustom.h: Added.
1425         Added declaration for getMessagePortArray().
1426         * bindings/v8/custom/V8WorkerCustom.cpp:
1427         (WebCore::WorkerPostMessage):
1428         Added custom handler that supports MessagePortArray.
1429
1430 2009-09-03  Drew Wilson  <atwilson@google.com>
1431
1432         Reviewed by Sam Weinig.
1433
1434         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
1435         https://bugs.webkit.org/show_bug.cgi?id=28460
1436
1437         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
1438
1439         Tests: fast/events/message-port-multi.html
1440                fast/workers/worker-context-multi-port.html
1441                fast/workers/worker-multi-port.html
1442
1443         * GNUmakefile.am:
1444         * WebCore.gypi:
1445         * WebCore.pro:
1446         * WebCore.vcproj/WebCore.vcproj:
1447         * WebCore.xcodeproj/project.pbxproj:
1448         * WebCoreSources.bkl:
1449         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
1450         * bindings/js/JSDOMBinding.cpp:
1451         (WebCore::toJSSequence):
1452         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
1453         * bindings/js/JSDOMBinding.h:
1454         * bindings/js/JSDOMWindowCustom.cpp:
1455         (WebCore::JSDOMWindow::postMessage):
1456         Added custom handler for postMessage() that handles being passed MessagePortArrays.
1457         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1458         (WebCore::JSDedicatedWorkerContext::postMessage):
1459         Added custom handler for postMessage() that handles being passed MessagePortArrays.
1460         * bindings/js/JSMessageEventCustom.cpp: Added.
1461         (WebCore::JSMessageEvent::ports):
1462         Added custom ports() getter that converts from MessagePortArray to JSArray.
1463         (WebCore::JSMessageEvent::initMessageEvent):
1464         Added support for passing a MessagePortArray.
1465         * bindings/js/JSMessagePortCustom.cpp:
1466         (WebCore::JSMessagePort::postMessage):
1467         Added custom handler for postMessage() that handles being passed MessagePortArray.
1468         (WebCore::fillMessagePortArray):
1469         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
1470         * bindings/js/JSMessagePortCustom.h: Added.
1471         * bindings/js/JSWorkerCustom.cpp:
1472         (WebCore::JSWorker::postMessage):
1473         Added custom handler for postMessage() that handles being passed MessagePortArray.
1474         * dom/MessageEvent.cpp:
1475         * dom/MessageEvent.h:
1476         (WebCore::MessageEvent::ports):
1477         Changed ports() to return a MessagePortArray* since this value can be null.
1478         * dom/MessageEvent.idl:
1479         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
1480         * dom/MessagePort.cpp:
1481         * dom/MessagePort.h:
1482         * dom/MessagePort.idl:
1483         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1484         * page/DOMWindow.h:
1485         * page/DOMWindow.idl:
1486         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1487         * workers/DedicatedWorkerContext.cpp:
1488         * workers/DedicatedWorkerContext.h:
1489         * workers/DedicatedWorkerContext.idl:
1490         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1491         * workers/Worker.cpp:
1492         * workers/Worker.h:
1493         * workers/Worker.idl:
1494         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1495
1496 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1497
1498         Reviewed by Timothy Hatcher.
1499
1500         WebInspector: Do not query non-function call frames for function name.
1501
1502         https://bugs.webkit.org/show_bug.cgi?id=28799
1503
1504         * inspector/front-end/InjectedScript.js:
1505         (InjectedScript.CallFrameProxy):
1506         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
1507
1508 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1509
1510         Reviewed by Timothy Hatcher.
1511
1512         Crash after typing "clear" and pressing return in inspector console.
1513
1514         https://bugs.webkit.org/show_bug.cgi?id=28684
1515
1516         * inspector/front-end/InjectedScript.js:
1517         (InjectedScript._clearConsoleMessages):
1518         (InjectedScript._inspectObject):
1519         (InjectedScript._ensureCommandLineAPIInstalled):
1520
1521 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
1522
1523         Reviewed by Adam Barth.
1524
1525         [V8] Squeezed out some performance from string conversion.
1526         https://bugs.webkit.org/show_bug.cgi?id=28945
1527
1528         * bindings/v8/V8Binding.cpp:
1529         (WebCore::WebCoreStringResource::WebCoreStringResource):
1530         (WebCore::WebCoreStringResource::~WebCoreStringResource):
1531         (WebCore::WebCoreStringResource::data):
1532         (WebCore::WebCoreStringResource::length):
1533         (WebCore::WebCoreStringResource::atomicString):
1534         (WebCore::WebCoreStringResource::string):
1535         Avoid calling virtual length method. Be more explicit with
1536         external memory computation. Avoid function calls in data and
1537         length.
1538         (WebCore::):
1539         (WebCore::v8StringToWebCoreString):
1540         (WebCore::v8StringToAtomicWebCoreString):
1541         (WebCore::v8NonStringValueToWebCoreString):
1542         (WebCore::v8NonStringValueToAtomicWebCoreString):
1543         Avoid extra calls of WebCoreStringResource::toString. When
1544         AtomicString is computed pass it immediately when constructing
1545         WebCoreStringResource. Use inline buffer for small strings.
1546         * bindings/v8/V8Binding.h:
1547         (WebCore::v8ValueToWebCoreString):
1548         (WebCore::v8ValueToAtomicWebCoreString):
1549         (WebCore::toString):
1550         Inline dispatch of string vs. non-string values.
1551
1552 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
1553
1554         Reviewed by Adam Barth.
1555
1556         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
1557         up V8Proxy lookup.
1558         https://bugs.webkit.org/show_bug.cgi?id=28946
1559
1560         * bindings/v8/V8IsolatedWorld.cpp:
1561         (WebCore::V8IsolatedWorld::getEnteredImpl):
1562         * bindings/v8/V8IsolatedWorld.h:
1563         (WebCore::V8IsolatedWorld::getEntered):
1564
1565 2009-09-03  Kent Tamura  <tkent@chromium.org>
1566
1567         Reviewed by Eric Seidel.
1568
1569         Fix a regression bug that maxLength doesn't work for IME input.
1570         https://bugs.webkit.org/show_bug.cgi?id=25253
1571
1572         Tests: fast/forms/input-maxlength-ime-completed.html
1573                fast/forms/input-maxlength-ime-preedit.html
1574
1575         * dom/InputElement.cpp:
1576         (WebCore::InputElement::handleBeforeTextInsertedEvent):
1577         * dom/InputElement.h:
1578         * html/HTMLInputElement.cpp:
1579         (WebCore::HTMLInputElement::defaultEventHandler):
1580         * wml/WMLInputElement.cpp:
1581         (WebCore::WMLInputElement::defaultEventHandler):
1582
1583 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
1584
1585         Reviewed by Eric Seidel.
1586
1587         Make SVGStyleElement title/media/type setters do something
1588         https://bugs.webkit.org/show_bug.cgi?id=28828
1589
1590         Test: svg/dom/style-reflect.html
1591
1592         * svg/SVGStyleElement.cpp:
1593         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
1594         (WebCore::SVGStyleElement::setType): Ditto.
1595         (WebCore::SVGStyleElement::setMedia): Ditto.
1596         (WebCore::SVGStyleElement::setTitle): Ditto.
1597
1598 2009-09-03  Ben Murdoch  <benm@google.com>
1599
1600         https://bugs.webkit.org/show_bug.cgi?id=28872
1601         
1602         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.
1603
1604         Test: storage/statement-error-callback.html
1605
1606         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1607         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
1608
1609 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
1610
1611         Reviewed by Eric Seidel.
1612
1613         [Haiku] Adding three font-specific files to WebCore:
1614         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
1615         and FontPlatformData.h
1616         https://bugs.webkit.org/show_bug.cgi?id=28131
1617
1618         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
1619         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1620         (WebCore::FontCustomPlatformData::fontPlatformData):
1621         (WebCore::createFontCustomPlatformData):
1622         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
1623         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1624         * platform/graphics/haiku/FontPlatformData.h: Added.
1625         (WebCore::FontPlatformData::FontPlatformData):
1626         (WebCore::FontPlatformData::font):
1627         (WebCore::FontPlatformData::size):
1628         (WebCore::FontPlatformData::bold):
1629         (WebCore::FontPlatformData::oblique):
1630         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1631
1632 2009-09-02  Brady Eidson  <beidson@apple.com>
1633
1634         Reviewed by Darin Adler.
1635
1636         More partial work towards "Page Cache should support pages with Frames"
1637         https://bugs.webkit.org/show_bug.cgi?id=13631
1638
1639         No new tests. (No change in behavior, current tests pass).
1640
1641         * loader/DocumentLoader.cpp:
1642         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
1643
1644         * loader/FrameLoader.cpp:
1645         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
1646           only unload, or unload and pagehide.
1647         (WebCore::FrameLoader::closeURL):
1648         (WebCore::FrameLoader::scheduleRedirection):
1649         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
1650         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
1651           where a page is added to the PageCache.
1652         * loader/FrameLoader.h:
1653
1654         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
1655
1656 2009-09-02  Brady Eidson  <beidson@apple.com>
1657
1658         Reviewed by Darin Adler.
1659
1660         More partial work towards "Page Cache should support pages with Frames"
1661         https://bugs.webkit.org/show_bug.cgi?id=13631
1662
1663         - More CachedFrame destruction work.
1664         - Including related Frame and FrameLoader changes and cleanup.
1665
1666         No new tests. (No change in behavior, current tests pass).
1667
1668         * history/CachedFrame.cpp:
1669         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
1670         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
1671         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
1672           the PageCache, do lightweight cleanup to:
1673           A - Prevent referring to a stale Page object.
1674           B - Prevent World Leaks of WebKit objects.
1675
1676         * loader/FrameLoader.cpp:
1677         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
1678           in the PageCache. ASSERT that fact.
1679         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
1680           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
1681         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
1682           referencing it.
1683         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
1684         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
1685         * loader/FrameLoader.h:
1686
1687         * page/Frame.cpp:
1688         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
1689         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
1690         * page/Frame.h:
1691
1692 2009-09-02  Jungshik Shin  <jshin@chromium.org>
1693
1694         Reviewed by Dimitri Glazkov
1695
1696         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
1697         in Chromium. This is to fix a new file added in r28742 since the
1698         last patch for this issue.
1699
1700         https://bugs.webkit.org/show_bug.cgi?id=28410
1701
1702         No change in the test result.
1703
1704         * platform/graphics/chromium/FontLinux.cpp:
1705         (WebCore::TextRunWalker::getNormalizedTextRun):
1706
1707 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
1708
1709         Unreviewed, build fix.
1710
1711         [Chromium] Correct a typo to fix bustage, caused by r47991.
1712         https://bugs.webkit.org/show_bug.cgi?id=27933
1713
1714         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
1715
1716 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
1717
1718         Unreviewed, build fix.
1719
1720         [Chromium] Add a missing include to fix bustage, caused by r47991.
1721         https://bugs.webkit.org/show_bug.cgi?id=27933
1722
1723         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
1724
1725 2009-09-02  Jian Li  <jianli@chromium.org>
1726
1727         Reviewed by Dimitri Glazkov.
1728
1729         [Chromium] Implement file support for DragData.
1730         https://bugs.webkit.org/show_bug.cgi?id=28896
1731
1732         * platform/chromium/DragDataChromium.cpp:
1733         (WebCore::DragData::containsURL):
1734         (WebCore::DragData::asURL):
1735         (WebCore::DragData::containsCompatibleContent):
1736
1737 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
1738
1739         Reviewed by Kevin Ollivier.
1740
1741         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
1742         https://bugs.webkit.org/show_bug.cgi?id=28920
1743
1744         * platform/network/curl/ResourceHandleManager.cpp:
1745         (WebCore::sharedResourceMutex):
1746         (WebCore::curl_lock_callback):
1747         (WebCore::curl_unlock_callback):
1748         (WebCore::ResourceHandleManager::ResourceHandleManager):
1749
1750 2009-09-02  Evan Stade  <estade@chromium.org>
1751
1752         Reviewed by Eric Seidel.
1753
1754         Expose functions to change the focus ring color for Linux Chromium
1755
1756         https://bugs.webkit.org/show_bug.cgi?id=28887
1757
1758         * rendering/RenderThemeChromiumLinux.cpp:
1759         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
1760         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
1761         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
1762         * rendering/RenderThemeChromiumLinux.h:
1763
1764 2009-09-02  Dirk Schulze  <krit@webkit.org>
1765
1766         Reviewed by Eric Seidel.
1767
1768         SVG Filter premultiplied color support for getImageDate/putImageData
1769         [https://bugs.webkit.org/show_bug.cgi?id=27933]
1770
1771         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
1772
1773         * platform/graphics/skia/ImageBufferSkia.cpp:
1774         (WebCore::getImageData):
1775         (WebCore::putImageData):
1776
1777 2009-09-02  Brady Eidson  <beidson@apple.com>
1778
1779         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
1780
1781         * history/CachedFrame.cpp:
1782         (WebCore::CachedFrameBase::restore):
1783         (WebCore::CachedFrame::open):
1784         * history/CachedFrame.h:
1785         * history/CachedPage.cpp:
1786         (WebCore::CachedPage::restore):
1787
1788 2009-09-02  Brady Eidson  <beidson@apple.com>
1789
1790         Reviewed by Darin Adler.
1791
1792         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
1793         Removing them is a little trouble, but worth it going forward.
1794         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
1795         was suggested by Darin Adler.
1796
1797         No new tests. (No change in behavior)
1798
1799         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
1800         * history/CachedFrame.cpp:
1801         (WebCore::CachedFrameBase::CachedFrameBase):
1802         (WebCore::CachedFrameBase::~CachedFrameBase):
1803         (WebCore::CachedFrameBase::restore):
1804         (WebCore::CachedFrame::CachedFrame):
1805         (WebCore::CachedFrame::openInFrameLoader):
1806         * history/CachedFrame.h:
1807         (WebCore::CachedFrameBase::document):
1808         (WebCore::CachedFrameBase::view):
1809         (WebCore::CachedFrameBase::domWindow):
1810         (WebCore::CachedFrame::create):
1811         (WebCore::CachedFrame::documentLoader):
1812         (WebCore::CachedFrame::mousePressNode):
1813
1814         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
1815         thing capable of interacting with FrameLoader::open(CachedFrameBase):
1816         * history/CachedPage.cpp:
1817         (WebCore::CachedPage::restore):
1818         * history/CachedPage.h:
1819         (WebCore::CachedPage::documentLoader):
1820
1821         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
1822         * loader/FrameLoader.cpp:
1823         (WebCore::FrameLoader::open):
1824         * loader/FrameLoader.h:
1825
1826 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
1827
1828         Reviewed by Eric Seidel.
1829
1830         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
1831         https://bugs.webkit.org/show_bug.cgi?id=24866
1832
1833         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
1834         (a list to break out of is inside another list item).
1835
1836         When the empty list item appears at the end of another list item, WebKit breaks out of
1837         the outer list item, and adds new item below the outer list item.
1838         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
1839
1840         Test: editing/execCommand/break-out-of-empty-list-item.html
1841
1842         * editing/CompositeEditCommand.cpp:
1843         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1844
1845 2009-09-02  Brady Eidson  <beidson@apple.com>
1846
1847         Reviewed by Sam Weinig.
1848
1849         More partial work towards "Page Cache should support pages with Frames"
1850         https://bugs.webkit.org/show_bug.cgi?id=13631
1851
1852         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
1853         based on whether a CachedFrame is the main frame or a subframe.
1854
1855         - Store whether a CachedFrame represents the main frame or a subframe.
1856         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
1857           are reused and need to start new page loads with an empty frame tree.
1858         - Reattach the frame tree to the main frame when restoring it.
1859         - open() the cached subframes in their respective loaders when restoring.
1860         - Properly clear() and destroy() cached subframes.
1861         - When committing to a new page load, and after caching the previous page, only clear the
1862           FrameView for the main frame.
1863
1864         Note that all of above will eventually be necessary as I continue to land this work in pieces,
1865         but doesn't actually change any behavior right now because we still refuse to even *try* to
1866         cache pages with frames.
1867
1868         No new tests. No change in behavior, and current tests continue to pass.
1869
1870         * history/CachedFrame.cpp:
1871         (WebCore::CachedFrame::CachedFrame):
1872         (WebCore::CachedFrame::restore):
1873         (WebCore::CachedFrame::clear):
1874         (WebCore::CachedFrame::destroy):
1875         * history/CachedFrame.h:
1876         (WebCore::CachedFrame::isMainFrame):
1877
1878         * loader/FrameLoader.cpp:
1879         (WebCore::FrameLoader::clear):
1880         (WebCore::FrameLoader::open):
1881         * loader/FrameLoader.h:
1882
1883 2009-09-02  Brady Eidson  <beidson@apple.com>
1884
1885         No review, build fix.
1886
1887         http://trac.webkit.org/changeset/47976 broke the build.  
1888         Let's try compiling before we land things, shall we?
1889
1890         * platform/graphics/SimpleFontData.cpp:
1891         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
1892
1893 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1894
1895         waf build fixes for Windows/MSVC.
1896
1897         * wscript:
1898
1899 2009-09-02  Ben Murdoch  <benm@google.com>
1900
1901         Unreviewed build fix for Chromium.
1902
1903         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
1904
1905         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
1906
1907 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1908
1909         waf build fix, don't define symbols we now grab from other sources.
1910
1911         * platform/wx/TemporaryLinkStubs.cpp:
1912
1913 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1914
1915         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
1916
1917         * plugins/PluginView.cpp:
1918         (WebCore::PluginView::stop):
1919         * plugins/PluginViewNone.cpp:
1920         (WebCore::PluginView::platformDestroy):
1921
1922 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
1923
1924         Reviewed by Eric Seidel.
1925
1926         Fix the build failure of WebKit for Linux/Qt when WML is enabled
1927
1928         No test cases needed since this just fixes the build problem.
1929
1930         * wml/WMLElement.cpp:
1931         (WebCore::WMLElement::create):
1932         * wml/WMLTableElement.cpp:
1933         (WebCore::WMLTableElement::joinSuperflousColumns):
1934         (WebCore::WMLTableElement::padWithEmptyColumns):
1935
1936 2009-09-02 Yong Li <yong.li@torchmobile.com>
1937
1938         Reviewed by Adam Barth.
1939
1940         WINCE PORT: use shared buffer for custom font data
1941         https://bugs.webkit.org/show_bug.cgi?id=27734
1942
1943         Refactored by Joe Mason <joe.mason@torchmobile.com>
1944
1945         * loader/CachedFont.cpp:
1946         add WINCE to platforms using cached custom data
1947         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1948         (WebCore::renameFont): implement for WinCE
1949         * platform/graphics/opentype/OpenTypeUtilities.h:
1950         build fixes
1951         * platform/graphics/wince/FontCustomPlatformData.cpp:
1952         (WebCore::setCustomFontCache): add accessor
1953         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
1954         * platform/graphics/wince/FontCustomPlatformData.h:
1955         update function signatures 
1956  
1957 2009-09-02 Yong Li <yong.li@torchmobile.com>
1958
1959         Reviewed by Adam Barth.
1960
1961         WINCE PORT: font-related build fixes and minor bugfixes
1962         https://bugs.webkit.org/show_bug.cgi?id=27734
1963
1964         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
1965         * platform/graphics/GlyphPageTreeNode.cpp:
1966         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
1967         * platform/graphics/SimpleFontData.cpp:
1968         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
1969         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
1970
1971 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
1972
1973         Reviewed by Adam Barth.
1974
1975         Another pass at releasing the storage mutex.
1976         https://bugs.webkit.org/show_bug.cgi?id=28904
1977
1978         Another pass at releasing the storage mutex (when applicable) when we finish
1979         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
1980         describes the required behavior.
1981
1982         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
1983         the problem correctly.  First of all, I missed that events and timeouts go
1984         through a different call path.  Second of all, I didn't consider recursion
1985         correctly.  Third of all, my check to see if LocalStorage is alive actually
1986         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
1987         it.  So I'm reverting that change completely and doing it more cleanly.
1988         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
1989         implementation for now).
1990
1991         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
1992         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
1993         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
1994         scenareos where you can have nested callbacks probably should have always been
1995         protected by a recursion guard.
1996
1997         Unfortunately, this can't be tested without a hook added to the layout test
1998         controllers since the lock is (by design) not supposed to be observable by
1999         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
2000
2001         * bindings/js/ScriptController.cpp:
2002         (WebCore::ScriptController::evaluate): revert
2003         * bindings/v8/ScriptController.cpp:
2004         (WebCore::ScriptController::evaluate): revert
2005         * bindings/v8/V8Proxy.cpp:
2006         (WebCore::V8Proxy::runScript):
2007             Add releaseStorageMutex call.  A small amount of clean up.
2008         (WebCore::V8Proxy::callFunction):
2009             Add releaseStorageMutex call.  A small amount of clean up.
2010         (WebCore::V8Proxy::releaseStorageMutex):
2011             Check to see if localStorage has been instantiated.  If so, tell it to
2012             unlock all storage areas.
2013         * bindings/v8/V8Proxy.h:
2014         * page/PageGroup.h:
2015         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
2016
2017 2009-09-02  Yong Li  <yong.li@torchmobile.com>
2018
2019         Reviewed by Adam Barth.
2020
2021         WINCE PORT: Implement ImageBuffer for WINCE
2022         Implement Image interface with a light class BufferedImage
2023         for rendering ImageBuffer
2024         https://bugs.webkit.org/show_bug.cgi?id=28167
2025
2026         * platform/graphics/wince/ImageBufferData.h: Added.
2027         * platform/graphics/wince/ImageBufferWince.cpp: Added.
2028
2029 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2030
2031         Reviewed by Eric Seidel.
2032
2033         Join the various PluginView destructors into one shared implementation
2034
2035         https://bugs.webkit.org/show_bug.cgi?id=27706
2036
2037         The Qt port used to delete the platform plugin widget as the last step.
2038         Now this is done before cleaning up the script objects and unloading the
2039         plugin package, similar to how the Win port does it.
2040
2041         * plugins/PluginView.cpp:
2042         * plugins/PluginViewNone.cpp:
2043         * plugins/gtk/PluginViewGtk.cpp:
2044         * plugins/mac/PluginViewMac.cpp:
2045         * plugins/qt/PluginViewQt.cpp:
2046         * plugins/win/PluginViewWin.cpp:
2047
2048 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2049
2050         Reviewed by Eric Seidel.
2051
2052         Share PluginView::init() between ports
2053
2054         https://bugs.webkit.org/show_bug.cgi?id=27706
2055
2056         The port-spesific bits are moved to platformStart(), which now returns
2057         a bool based on the success of the platformStart.
2058
2059         m_hasPendingGeometryChange is now initialized in the initializer list
2060         instead of in PluginViewQt's init()
2061
2062         PluginViewMac (currently used only by the Qt port) used to manually call
2063         stop() in the case where an unsupported drawing or event model was detected.
2064         This was wrong, as the m_status and m_isStarted fields should be used to
2065         guard against doing operations on a plugin in this intermediate state.
2066
2067         * plugins/PluginView.cpp:
2068         * plugins/PluginView.h:
2069         * plugins/PluginViewNone.cpp:
2070         * plugins/gtk/PluginViewGtk.cpp:
2071         * plugins/mac/PluginViewMac.cpp:
2072         * plugins/qt/PluginViewQt.cpp:
2073         * plugins/win/PluginViewWin.cpp:
2074
2075 2009-09-02  Ben Murdoch  <benm@google.com>
2076
2077         https://bugs.webkit.org/show_bug.cgi?id=28737
2078         
2079         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
2080
2081         * bindings/js/JSSQLTransactionCustom.cpp:
2082         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
2083         * bindings/v8/V8Binding.cpp:
2084         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
2085         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2086         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
2087
2088 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2089
2090         Reviewed by Timothy Hatcher.
2091
2092         WebInspector: Migrate Databases tab to InjectedScript /
2093         serialized interaction.
2094
2095         https://bugs.webkit.org/show_bug.cgi?id=28873
2096
2097         * inspector/InspectorDOMAgent.cpp:
2098         (WebCore::InspectorDOMAgent::handleEvent):
2099         * inspector/front-end/Database.js:
2100         (WebInspector.Database.prototype.isDB):
2101         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
2102         (WebInspector.Database.prototype.runWithTableNames):
2103         (WebInspector.Database.prototype.executeSql):
2104         (WebInspector.Database.prototype.executeSql.errorCallback):
2105         (WebInspector.Database.prototype.executeSql.queryTransaction):
2106         * inspector/front-end/DatabaseQueryView.js:
2107         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
2108         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2109         * inspector/front-end/DatabaseTableView.js:
2110         (WebInspector.DatabaseTableView):
2111         * inspector/front-end/StoragePanel.js:
2112         (WebInspector.StoragePanel.prototype.selectDatabase):
2113         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
2114         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
2115         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
2116         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
2117
2118 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
2119
2120         Not reviewed (trivial followup fix). 
2121         
2122         Web Inspector: Trivial follow up fix to r47944.
2123
2124         https://bugs.webkit.org/show_bug.cgi?id=28800
2125
2126         * inspector/InspectorBackend.cpp:
2127         (WebCore::InspectorBackend::nodeForId):
2128
2129 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
2130
2131         Reviewed by John Sullivan.
2132
2133         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
2134
2135         * accessibility/AccessibilityRenderObject.cpp:
2136         (WebCore::AccessibilityRenderObject::isReadOnly):
2137
2138 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2139
2140         Reviewed by Timothy Hatcher.
2141
2142         https://bugs.webkit.org/show_bug.cgi?id=28047
2143         add utility method to enable logging messages for inspector development
2144
2145         manual test case added (see below)
2146
2147         * inspector/front-end/ConsoleView.js:
2148         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2149         (WebInspector.ConsoleMessage.prototype.toString):
2150         * inspector/front-end/inspector.css:
2151         * inspector/front-end/inspector.js:
2152         (WebInspector.log):
2153         * manual-tests/inspector/webinspector-log.html: Added.
2154         * page/Console.cpp:
2155         (WebCore::printMessageSourceAndLevelPrefix):
2156         * page/Console.h:
2157         (WebCore::):
2158
2159 2009-09-01  Alexey Proskuryakov  <ap@apple.com>
2160
2161         Reviewed by Darin Adler.
2162
2163         https://bugs.webkit.org/show_bug.cgi?id=21990
2164         When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
2165         is mistreated as Shift_JIS
2166
2167         <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
2168
2169         WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
2170         This didn't really match any browser, and did cause problems on some sites.
2171
2172         Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
2173         cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
2174         especially in comments. Also, some valid EUC-JP sequences are not known to it.
2175
2176         Some pages that are fixed by this change:
2177
2178         <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
2179         page has incorrect encoding in title, so no browser displays it 100% fine. We now match
2180         Firefox and IE.
2181
2182         <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
2183         in Safari. There is a stray byte in comments that was makes charset detector think it can't
2184         be EUC-JP.
2185
2186         <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
2187         Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
2188         fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
2189         Shift_JIS in normal HTML view though).
2190
2191         Test: fast/encoding/japanese-encoding-mix.html
2192
2193         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
2194         detection if there is no solid charset information yet.
2195
2196 2009-09-01  Jian Li  <jianli@chromium.org>
2197
2198         Reviewed by Dimitri Glazkov.
2199
2200         [V8] FileList cannot be accessed via index in Chromium.
2201         https://bugs.webkit.org/show_bug.cgi?id=28883
2202
2203         Tested by clipboard-file-access.html.
2204
2205         * WebCore.gypi:
2206         * bindings/v8/V8DOMWrapper.cpp:
2207         (WebCore::V8DOMWrapper::getTemplate):
2208         * bindings/v8/custom/V8CustomBinding.h:
2209         * bindings/v8/custom/V8FileListCustom.cpp: Added.
2210
2211 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
2212
2213         Remove the workaround added in r47316.
2214
2215         Reviewed by Sam Weinig.
2216
2217         * accessibility/AXObjectCache.cpp:
2218         (WebCore::AXObjectCache::AXObjectCache):
2219
2220         * accessibility/AXObjectCache.h:
2221         Remove the Document argument to the AXObjectCache constructor and the
2222         m_document member variable, and replace the no-parameter
2223         handleFocusedUIElementChanged() with the two-parameter GTK function.
2224         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2225
2226         * accessibility/chromium/AXObjectCacheChromium.cpp:
2227         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2228
2229         * accessibility/gtk/AXObjectCacheAtk.cpp:
2230         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2231
2232         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2233         (fallbackObject):
2234         Don't pass a null Document when constructing the AXObjectCache.
2235
2236         * accessibility/mac/AXObjectCacheMac.mm:
2237         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2238
2239         * accessibility/win/AXObjectCacheWin.cpp:
2240         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2241         Get the document from the RenderObject; m_document was removed.
2242
2243         * dom/Document.cpp:
2244         (WebCore::Document::axObjectCache):
2245         Don't pass the Document when constructing the AXObjectCache.
2246         (WebCore::Document::setFocusedNode):
2247         Pass the old and new focused RenderObjects when calling
2248         handleFocusedUIElementChanged().
2249
2250 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
2251
2252         Reviewed by Timothy Hatcher.
2253
2254         Check that InspectorDOMAgent and InspectorFrontend are not null
2255         before accessing them in InspectorBackend. They may be null if
2256         InspectorController is closed before an asynchronous operation is
2257         started.
2258
2259         https://bugs.webkit.org/show_bug.cgi?id=28800
2260
2261         * inspector/InspectorBackend.cpp:
2262         (WebCore::InspectorBackend::getCookies):
2263         (WebCore::InspectorBackend::getChildNodes):
2264         (WebCore::InspectorBackend::setAttribute):
2265         (WebCore::InspectorBackend::removeAttribute):
2266         (WebCore::InspectorBackend::setTextNodeValue):
2267         (WebCore::InspectorBackend::highlight):
2268         (WebCore::InspectorBackend::nodeForId):
2269         (WebCore::InspectorBackend::pushNodePathToFrontend):
2270         (WebCore::InspectorBackend::addNodesToSearchResult):
2271         (WebCore::InspectorBackend::selectDatabase):
2272         (WebCore::InspectorBackend::selectDOMStorage):
2273         (WebCore::InspectorBackend::inspectorDOMAgent):
2274         (WebCore::InspectorBackend::inspectorFrontend):
2275         * inspector/InspectorBackend.h:
2276
2277 2009-09-01  Brady Eidson  <beidson@apple.com>
2278
2279         Reviewed by Sam Weinig.
2280
2281         Page Cache should support pages with frames
2282         https://bugs.webkit.org/show_bug.cgi?id=13631
2283
2284         Things learned in the full task that this patch addresses:
2285         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
2286           needed to be managed separately.
2287         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
2288           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
2289           will be guided by the CachedFrames themselves.
2290
2291         No new tests. (No change in behavior, current layout tests pass)
2292         
2293         * history/CachedFrame.cpp:
2294         (WebCore::CachedFrame::CachedFrame):
2295         (WebCore::CachedFrame::~CachedFrame):
2296         (WebCore::CachedFrame::clear): Only clear pointers out.
2297         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
2298           occur simply by navigating back to a page with a CachedFrame.
2299         * history/CachedFrame.h:
2300
2301         * history/CachedPage.cpp:
2302         (WebCore::CachedPage::~CachedPage):
2303         (WebCore::CachedPage::restore): Call clear() after restoring.
2304         (WebCore::CachedPage::clear):
2305         (WebCore::CachedPage::destroy):
2306         * history/CachedPage.h:
2307
2308         * history/PageCache.cpp:
2309         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
2310           instead of clearing them.
2311
2312         * loader/FrameLoader.cpp:
2313         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
2314         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
2315         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
2316           Even though CachedFrame::restore() isn't used for now, it will be soon.
2317
2318 2009-09-01  Andrei Popescu  <andreip@google.com>
2319
2320         Reviewed by David Levin.
2321
2322         Add a "lowMemoryNotification" method to the V8 ScriptController class.
2323         This is needed in order to allow the host application (Android Web browser in this case)
2324         to call the v8::V8::LowMemoryNotification() method added to V8 in
2325         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
2326         
2327         https://bugs.webkit.org/show_bug.cgi?id=28776
2328
2329
2330         * bindings/v8/ScriptController.cpp:
2331         (WebCore::ScriptController::lowMemoryNotification):
2332         * bindings/v8/ScriptController.h:
2333
2334 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
2335
2336         Reviewed by Adam Barth.
2337
2338         V8 Bindings for WebSocket API.
2339         https://bugs.webkit.org/show_bug.cgi?id=28844
2340
2341         * bindings/v8/DOMObjectsInclude.h:
2342         * bindings/v8/DerivedSourcesAllInOne.cpp:
2343         * bindings/v8/V8DOMWrapper.cpp:
2344         (WebCore::V8DOMWrapper::getTemplate):
2345         (WebCore::V8DOMWrapper::convertToV8Object):
2346         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2347         * bindings/v8/V8DOMWrapper.h:
2348         * bindings/v8/V8Index.cpp:
2349         * bindings/v8/V8Index.h:
2350         * bindings/v8/WorkerContextExecutionProxy.cpp:
2351         * bindings/v8/custom/V8CustomBinding.h:
2352         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
2353
2354 2009-09-01  Peter Kasting  <pkasting@google.com>
2355
2356         Unreviewed (build fix).
2357
2358         Missed a "." -> "->" conversion.
2359
2360         * platform/graphics/qt/ImageDecoderQt.cpp:
2361         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2362
2363 2009-09-01  Peter Kasting  <pkasting@google.com>
2364
2365         Unreviewed (build fix).
2366
2367         Try to fix Qt build, take 2.  The Qt code had what looks like a
2368         broken virtual function override.
2369
2370         * platform/graphics/qt/ImageDecoderQt.cpp:
2371         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2372         (WebCore::ImageDecoderQt::setData):
2373         * platform/graphics/qt/ImageDecoderQt.h:
2374
2375 2009-09-01  Adam Barth  <abarth@webkit.org>
2376
2377         Reviewed by Sam Weinig.
2378
2379         Uninitialized variable in XSSAuditor
2380         https://bugs.webkit.org/show_bug.cgi?id=28874
2381
2382         One ought to initialize variables before use even when it doesn't
2383         matter.  No behavior change.
2384
2385         * page/XSSAuditor.h:
2386         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
2387
2388 2009-09-01  Peter Kasting  <pkasting@google.com>
2389
2390         Unreviewed (build fix).
2391
2392         Try to fix Qt build.
2393
2394         * platform/graphics/ImageSource.cpp:
2395
2396 2009-08-28  Peter Kasting  <pkasting@google.com>
2397
2398         Reviewed by Eric Seidel.
2399
2400         https://bugs.webkit.org/show_bug.cgi?id=27965
2401         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
2402
2403         * WebCore.pro:
2404         * platform/graphics/ImageSource.cpp:
2405         (WebCore::ImageSource::frameHasAlphaAtIndex):
2406         * platform/graphics/qt/ImageSourceQt.cpp:
2407         (WebCore::ImageSource::createFrameAtIndex):
2408         (WebCore::ImageSource::frameHasAlphaAtIndex):
2409         (WebCore::ImageSource::frameIsCompleteAtIndex):
2410
2411 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2412
2413         Reviewed by Timothy Hatcher.
2414
2415         WebInspector: Make InjectedScript self-contained (move necessary
2416         methods from utilities.js into InjectedScript).
2417
2418         https://bugs.webkit.org/show_bug.cgi?id=28871
2419
2420         * inspector/front-end/ElementsPanel.js:
2421         (WebInspector.ElementsPanel.prototype.generateStylesheet):
2422         * inspector/front-end/InjectedScript.js:
2423         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
2424         (InjectedScript._ensureCommandLineAPIInstalled):
2425         (InjectedScript.pushNodeToFrontend):
2426         (InjectedScript.createProxyObject):
2427         (Object.type):
2428         (Object.hasProperties):
2429         (Object.className):
2430         (String.prototype.escapeCharacters):
2431         * inspector/front-end/utilities.js:
2432
2433 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2434
2435         Reviewed by Timothy Hatcher.
2436
2437         WebInspector: console log message repeat count double.
2438
2439         https://bugs.webkit.org/show_bug.cgi?id=28856
2440
2441         * inspector/front-end/InjectedScript.js:
2442         (InjectedScript._evaluateOn):
2443
2444 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
2445
2446         Reviewed by Mark Rowe.
2447
2448         [Gtk] Fix DATALIST build
2449         https://bugs.webkit.org/show_bug.cgi?id=28826
2450
2451         Add ENABLE_DATALIST to FEATURE_DEFINES.
2452
2453         * GNUmakefile.am:
2454
2455 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
2456
2457         Reviewed by Eric Seidel.
2458
2459         SVGSVGElement suspend methods argument/return types incorrect
2460         https://bugs.webkit.org/show_bug.cgi?id=28860
2461
2462         Also fix the style of the argument names.
2463
2464         * svg/SVGSVGElement.cpp:
2465         (WebCore::SVGSVGElement::suspendRedraw):
2466         (WebCore::SVGSVGElement::unsuspendRedraw):
2467         * svg/SVGSVGElement.h:
2468
2469 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
2470
2471         Reviewed by Eric Seidel.
2472
2473         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
2474         (https://bugs.webkit.org/show_bug.cgi?id=28808)
2475
2476         The bug fix adds an explicit check for the validity of the path when it is 
2477         transformed into local coordinates. 
2478         This was the most suitable place I could find that didn't cause an inordinate 
2479         amount of refactoring. Also, it seems pertinent and may also catch other cases 
2480         that are not limited to clipping paths.
2481
2482         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
2483
2484         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
2485         (WebCore::):
2486         * platform/graphics/skia/PlatformContextSkia.cpp:
2487         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
2488
2489 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
2490
2491         Reviewed by Eric Seidel.
2492
2493         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
2494         https://bugs.webkit.org/show_bug.cgi?id=28742 
2495
2496         Normalize (NFC) a TextRun when the run contains combining diacritical marks
2497         so that Skia can pick a correct glyph without relying on GSUB table in a font.
2498         This change is for Chromium Linux.
2499
2500         * platform/graphics/chromium/FontLinux.cpp:
2501         (WebCore::TextRunWalker::getTextRun): Added.
2502         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
2503
2504         This function is called when the run contains U+0300..U+036F and converts characters in
2505         the run to the combined form (NFC) using ICU.
2506
2507 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
2508
2509         Reviewed by Dimitri Glazkov.
2510
2511         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
2512         V8Proxy::createWrapperFromCache.
2513         https://bugs.webkit.org/show_bug.cgi?id=28848
2514
2515         * bindings/v8/V8DOMWrapper.cpp:
2516         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
2517         function for document wrapping.
2518         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
2519         wrapping a new node.
2520         * bindings/v8/V8DOMWrapper.h:
2521         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
2522         path from V8DOMWrapper.cpp.
2523         * bindings/v8/V8Proxy.cpp:
2524         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
2525         * bindings/v8/V8Proxy.h:
2526         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
2527         from V8Proxy.cpp.
2528
2529 2009-09-01  Eric Seidel  <eric@webkit.org>
2530
2531         No review, windows build fix only.  Clearly I should have read the patch closer. :(
2532
2533         Allow excluding certain plugins from loading
2534         https://bugs.webkit.org/show_bug.cgi?id=28677
2535
2536         * plugins/PluginDatabase.cpp:
2537         (WebCore::PluginDatabase::refresh):
2538
2539 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
2540
2541         Reviewed by Timothy Hatcher.
2542
2543         Implement conditional breakpoints in the Web Inspector backend
2544         and add frontend JavaScript stubs.
2545         https://bugs.webkit.org/show_bug.cgi?id=28846
2546
2547         * inspector/InspectorBackend.cpp:
2548         (WebCore::InspectorBackend::profiles):
2549         (WebCore::InspectorBackend::addBreakpoint):
2550         (WebCore::InspectorBackend::updateBreakpoint):
2551         * inspector/InspectorBackend.h:
2552         * inspector/InspectorBackend.idl:
2553         * inspector/JavaScriptDebugServer.cpp:
2554         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
2555         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
2556         (WebCore::JavaScriptDebugServer::addBreakpoint):
2557         (WebCore::JavaScriptDebugServer::breakpointInfo):
2558         (WebCore::JavaScriptDebugServer::updateBreakpoint):
2559         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
2560         (WebCore::JavaScriptDebugServer::removeBreakpoint):
2561         (WebCore::JavaScriptDebugServer::hasBreakpoint):
2562         (WebCore::JavaScriptDebugServer::clearBreakpoints):
2563         * inspector/JavaScriptDebugServer.h:
2564         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
2565         * inspector/front-end/Breakpoint.js:
2566         (WebInspector.Breakpoint):
2567         (WebInspector.Breakpoint.prototype.get id):
2568         (WebInspector.Breakpoint.prototype.get condition):
2569         (WebInspector.Breakpoint.prototype.set condition):
2570         * inspector/front-end/BreakpointsSidebarPane.js:
2571         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2572         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2573         * inspector/front-end/ScriptsPanel.js:
2574         (WebInspector.ScriptsPanel.prototype.addScript):
2575
2576 2009-09-01  Marius Renn  <damarvy@gmail.com>
2577
2578         Reviewed by Eric Seidel.
2579
2580         Added delegate to PluginDatabase to disable loading certain plugins.
2581         This is useful when you want to load from the standard plugin
2582         directory, but want to exclude certain plugins. Plugins may be
2583         excluded early on by name, so that no plugin code is executed (which
2584         may have caused a crash).
2585
2586         * plugins/PluginDatabase.cpp:
2587         (WebCore::PluginDatabase::PluginDatabase):
2588         (WebCore::PluginDatabase::refresh):
2589         * plugins/PluginDatabase.h:
2590         (WebCore::PluginDatabase::setClient):
2591         * plugins/PluginDatabaseClient.h: Added.
2592         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
2593
2594 2009-08-31  Brady Eidson  <beidson@apple.com>
2595
2596         Rubberstamped by Sam Weinig
2597
2598         * WebCore.base.exp: Removed an unneeded symbol export.
2599
2600 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2601
2602         Reviewed by Alexey Proskuryakov.
2603
2604         https://bugs.webkit.org/show_bug.cgi?id=28466
2605         When downloading a file, two GET requests are sent to the HTTP server
2606
2607         Can't think of a way to test this.
2608
2609         * loader/ResourceLoader.cpp:
2610         (WebCore::ResourceLoader::releaseResources): only nullify the
2611         handle's client when it is the ResourceLoader, to support the case
2612         in which a download API uses a different client
2613
2614 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
2615
2616         Reviewed by Darin Adler.
2617
2618         Text Fields and Text Areas are reported as read-only by inspect32.exe.
2619         https://bugs.webkit.org/show_bug.cgi?id=28854
2620
2621         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
2622         and texts areas are read-only.
2623
2624         * accessibility/AccessibilityRenderObject.cpp:
2625         (WebCore::AccessibilityRenderObject::isReadOnly):
2626         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2627
2628 2009-08-31  Drew Wilson  <atwilson@google.com>
2629
2630         Reviewed by Alexey Proskuryakov.
2631
2632         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
2633         https://bugs.webkit.org/show_bug.cgi?id=28795
2634
2635         Changed WorkerContext::close() to no longer stop the worker thread.
2636         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
2637
2638         * workers/AbstractWorker.cpp:
2639         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
2640         * workers/DefaultSharedWorkerRepository.cpp:
2641         (WebCore::SharedWorkerProxy::workerContextClosed):
2642         Now shuts down the worker thread when notified that the context is closed.
2643         (WebCore::SharedWorkerProxy::close):
2644         Now handles being invoked when the context is already in the process of shutting down.
2645         * workers/WorkerContext.cpp:
2646         (WebCore::WorkerContext::close):
2647         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
2648         * workers/WorkerContext.h:
2649         (WebCore::WorkerContext::isClosing):
2650         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
2651         * workers/WorkerMessagingProxy.cpp:
2652         (WebCore::WorkerExceptionTask::performTask):
2653         Error events should still be delivered even if the worker thread is closing.
2654         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
2655         (WebCore::WorkerTerminateTask::create):
2656         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
2657         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
2658         (WebCore::WorkerTerminateTask::performTask):
2659         (WebCore::WorkerMessagingProxy::workerContextClosed):
2660         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
2661         * workers/WorkerMessagingProxy.h:
2662         WorkerMessagingProxy now overrides workerContextClosed().
2663         * workers/WorkerRunLoop.cpp:
2664         (WebCore::WorkerRunLoop::runInMode):
2665         Now drops tasks on the floor if the WorkerContext is closing.
2666
2667 2009-08-31  Ojan Vafai  <ojan@chromium.org>
2668
2669         Not reviewed (build fix)
2670
2671         Build fix for Chromium to match r49707.
2672
2673         * bindings/v8/ScriptCallFrame.cpp:
2674         (WebCore::ScriptCallFrame::ScriptCallFrame):
2675         * bindings/v8/ScriptSourceCode.h:
2676         (WebCore::ScriptSourceCode::ScriptSourceCode):
2677         * platform/KURLGoogle.cpp:
2678         (WebCore::KURL::KURL):
2679         (WebCore::blankURL):
2680
2681 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
2682
2683         Reviewed by Darin Adler.
2684
2685         https://bugs.webkit.org/show_bug.cgi?id=28858
2686         Element.baseURI parses xml:base attribute incorrectly
2687
2688         Test: fast/dom/base-attribute-parsing.xhtml
2689
2690         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
2691         release mode).
2692
2693 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
2694
2695         Reverting http://trac.webkit.org/changeset/47904, because it caused
2696         layout test failure.
2697
2698         Test: fast/dom/Window/new-window-opener.html
2699
2700 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
2701
2702         Reviewed by Darin Adler.
2703
2704         https://bugs.webkit.org/show_bug.cgi?id=28852
2705         Rename KURL single argument constructor to avoid confusion
2706
2707         * platform/KURL.h: The constructor that used to be single argument should now be invoked
2708         as KURL(ParsedURLString, myString).
2709
2710         * WebCore.base.exp:
2711         * bindings/js/JSDOMWindowCustom.cpp:
2712         (WebCore::createWindow):
2713         * bindings/js/ScriptCallFrame.cpp:
2714         (WebCore::ScriptCallFrame::ScriptCallFrame):
2715         * bindings/v8/NPV8Object.cpp:
2716         (_NPN_EvaluateHelper):
2717         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2718         (WebCore::createWindow):
2719         * css/CSSCursorImageValue.cpp:
2720         (WebCore::isSVGCursorIdentifier):
2721         * css/CSSImageValue.cpp:
2722         (WebCore::CSSImageValue::cachedImage):
2723         * css/CSSImportRule.cpp:
2724         (WebCore::CSSImportRule::insertedIntoParent):
2725         * css/StyleBase.cpp:
2726         (WebCore::StyleBase::baseURL):
2727         * dom/Document.cpp:
2728         (WebCore::Document::initSecurityContext):
2729         * dom/Element.cpp:
2730         (WebCore::Element::baseURI):
2731         * editing/markup.cpp:
2732         (WebCore::completeURLs):
2733         * history/HistoryItem.cpp:
2734         (WebCore::HistoryItem::url):
2735         (WebCore::HistoryItem::originalURL):
2736         * inspector/InspectorController.cpp:
2737         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2738         * inspector/InspectorResource.cpp:
2739         (WebCore::InspectorResource::createCached):
2740         * loader/Cache.cpp:
2741         (WebCore::Cache::revalidateResource):
2742         * loader/DocLoader.cpp:
2743         (WebCore::DocLoader::requestResource):
2744         * loader/DocumentLoader.cpp:
2745         (WebCore::DocumentLoader::getSubresources):
2746         * loader/FrameLoader.cpp:
2747         (WebCore::FrameLoader::init):
2748         (WebCore::FrameLoader::iconURL):
2749         (WebCore::FrameLoader::scheduleLocationChange):
2750         (WebCore::FrameLoader::redirectionTimerFired):
2751         (WebCore::FrameLoader::loadURLIntoChildFrame):
2752         (WebCore::FrameLoader::startRedirectionTimer):
2753         * loader/appcache/ApplicationCache.cpp:
2754         (WebCore::ApplicationCache::resourceForURL):
2755         * loader/appcache/ApplicationCacheGroup.cpp:
2756         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2757         (WebCore::ApplicationCacheGroup::addEntry):
2758         * loader/appcache/ApplicationCacheStorage.cpp:
2759         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2760         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2761         (WebCore::ApplicationCacheStorage::loadCache):
2762         (WebCore::ApplicationCacheStorage::manifestURLs):
2763         * loader/archive/cf/LegacyWebArchive.cpp:
2764         (WebCore::LegacyWebArchive::createResource):
2765         (WebCore::LegacyWebArchive::create):
2766         * loader/loader.cpp:
2767         (WebCore::Loader::load):
2768         * notifications/NotificationCenter.h:
2769         (WebCore::NotificationCenter::createHTMLNotification):
2770         * platform/KURL.cpp:
2771         (WebCore::KURL::KURL):
2772         (WebCore::blankURL):
2773         * platform/KURLHash.h:
2774         * platform/chromium/ClipboardChromium.cpp:
2775         (WebCore::ClipboardChromium::setData):
2776         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2777         (WebCore::MediaPlayerPrivate::createQTMovie):
2778         * platform/network/cf/ResourceErrorCF.cpp:
2779         (WebCore::ResourceError::operator CFErrorRef):
2780         * platform/network/cf/ResourceRequest.h:
2781         (WebCore::ResourceRequest::ResourceRequest):
2782         * platform/network/chromium/ResourceRequest.h:
2783         (WebCore::ResourceRequest::ResourceRequest):
2784         * platform/network/curl/ResourceHandleManager.cpp:
2785         (WebCore::handleLocalReceiveResponse):
2786         (WebCore::headerCallback):
2787         * platform/network/curl/ResourceRequest.h:
2788         (WebCore::ResourceRequest::ResourceRequest):
2789         * platform/network/mac/ResourceErrorMac.mm:
2790         (WebCore::ResourceError::operator NSError*):
2791         * platform/network/mac/ResourceRequest.h:
2792         (WebCore::ResourceRequest::ResourceRequest):
2793         * platform/network/qt/ResourceRequest.h:
2794         (WebCore::ResourceRequest::ResourceRequest):
2795         * platform/network/soup/ResourceRequest.h:
2796         (WebCore::ResourceRequest::ResourceRequest):
2797         * platform/win/ClipboardWin.cpp:
2798         (WebCore::filesystemPathFromUrlOrTitle):
2799         (WebCore::ClipboardWin::setData):
2800         * svg/graphics/SVGImage.cpp:
2801         (WebCore::SVGImage::dataChanged):
2802         * xml/XSLImportRule.cpp:
2803         (WebCore::XSLImportRule::loadSheet):
2804         * xml/XSLTProcessor.cpp:
2805         (WebCore::docLoaderFunc):
2806         Adapt to the change everywhere the single argument constructor was used. I did a very
2807         cursory check of whether these locations were using this constructor properly, and didn't
2808         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
2809         better when refactoring any such code.
2810
2811 2009-08-31  Beth Dakin  <bdakin@apple.com>
2812
2813         Reviewed by Darin Adler.
2814
2815         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
2816         Backgrounds and Borders] Add support for 2-keyword values for 
2817         background-repeat
2818
2819         This patch allows background-repeat to take two values by making 
2820         background-repeat just like background-position internally. There 
2821         is a little extra legwork for background-repeat because the spec 
2822         indicates that its computed value should be equivalent to how it 
2823         was specified. I keep track of the specified thing by setting the 
2824         implicit flag whenever background-repeat is defined with only one 
2825         value (since internally, we now store this as 2 values.)
2826         
2827         Here we can't access the implicit flag, so for backwards-
2828         compatibility's sake, we always return one value when that makes 
2829         sense.
2830         * css/CSSComputedStyleDeclaration.cpp:
2831         (WebCore::fillRepeatToCSSValue):
2832         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2833
2834         Here we check for the implicit flag and return one value when it is 
2835         set.
2836         * css/CSSMutableStyleDeclaration.cpp:
2837         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2838         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
2839         (WebCore::CSSMutableStyleDeclaration::cssText):
2840
2841         Add support for CSSPropertyBackgroundRepeatX and 
2842         CSSPropertyBackgroundRepeatY
2843         * css/CSSParser.cpp:
2844         (WebCore::CSSParser::parseValue):
2845         (WebCore::CSSParser::parseFillShorthand):
2846         (WebCore::CSSParser::parseFillRepeat):
2847         (WebCore::CSSParser::parseFillProperty):
2848         * css/CSSParser.h:
2849
2850         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
2851         need those parts of the EFillRepeat enum anymore.
2852         * css/CSSPrimitiveValueMappings.h:
2853         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2854         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
2855
2856         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
2857         * css/CSSPropertyLonghand.cpp:
2858         (WebCore::initShorthandMap):
2859
2860         Add background-repeat-x and -y.
2861         * css/CSSPropertyNames.in:
2862
2863         Break repeat into x and y.
2864         * css/CSSStyleSelector.cpp:
2865         (WebCore::CSSStyleSelector::applyProperty):
2866         (WebCore::CSSStyleSelector::mapFillRepeatX):
2867         (WebCore::CSSStyleSelector::mapFillRepeatY):
2868         * css/CSSStyleSelector.h:
2869
2870         There is no more RepeatXFill. Instead, look for 
2871         fillLayer->repeatX() == RepeatFill
2872         * rendering/RenderBoxModelObject.cpp:
2873         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2874
2875         Break m_repeat into m_repeatX and m_repeatY
2876         * rendering/style/FillLayer.cpp:
2877         (WebCore::FillLayer::FillLayer):
2878         (WebCore::FillLayer::operator=):
2879         (WebCore::FillLayer::operator==):
2880         (WebCore::FillLayer::fillUnsetProperties):
2881         (WebCore::FillLayer::cullEmptyLayers):
2882         * rendering/style/FillLayer.h:
2883         (WebCore::FillLayer::repeatX):
2884         (WebCore::FillLayer::repeatY):
2885         (WebCore::FillLayer::isRepeatXSet):
2886         (WebCore::FillLayer::isRepeatYSet):
2887         (WebCore::FillLayer::setRepeatX):
2888         (WebCore::FillLayer::setRepeatY):
2889         (WebCore::FillLayer::clearRepeatX):
2890         (WebCore::FillLayer::clearRepeatY):
2891         (WebCore::FillLayer::initialFillRepeatX):
2892         (WebCore::FillLayer::initialFillRepeatY):
2893
2894         Again, break backgroundRepeat into backgroundRepeatX and 
2895         backgroundRepeatY
2896         * rendering/style/RenderStyle.h:
2897         (WebCore::InheritedFlags::backgroundRepeatX):
2898         (WebCore::InheritedFlags::backgroundRepeatY):
2899         (WebCore::InheritedFlags::maskRepeatX):
2900         (WebCore::InheritedFlags::maskRepeatY):
2901
2902         We don't need RepeatXFill or RepeatYFill. Now that we store two 
2903         values, they are represented by Repeat-NoRepeat and NoRepeat-
2904         Repeat, respectively.
2905         * rendering/style/RenderStyleConstants.h:
2906         (WebCore::):
2907
2908 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
2909
2910         Reviewed by Dan Bernstein.
2911
2912         Compositing layer size needs to take into account software reflections on children.
2913         https://bugs.webkit.org/show_bug.cgi?id=28837
2914         
2915         When computing the bounds of a composited layer, take software-rendered
2916         reflections into account.
2917
2918         Test: compositing/reflections/reflection-in-composited.html
2919
2920         * rendering/RenderLayerCompositor.cpp:
2921         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2922
2923 2009-08-31  Mark Mentovai  <mark@chromium.org>
2924
2925         Reviewed by Dave Hyatt.
2926
2927         https://bugs.webkit.org/show_bug.cgi?id=28614
2928
2929         Perform a layout prior to checking whether the scrollbar modes are
2930         off, on, or automatic.  The modes may change during layout.
2931
2932         * platform/ScrollView.cpp:
2933         (WebCore::ScrollView::updateScrollbars):
2934
2935 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2936
2937         Reviewed by Timothy Hatcher.
2938
2939         Inspector Request Headers Should Show Data Sent With Request
2940         https://bugs.webkit.org/show_bug.cgi?id=22920
2941
2942         Manual test added - see below.
2943
2944         * English.lproj/localizedStrings.js:
2945         * inspector/InspectorResource.cpp:
2946         (WebCore::InspectorResource::updateRequest):
2947         (WebCore::InspectorResource::createScriptObject):
2948         (WebCore::InspectorResource::updateScriptObject):
2949         * inspector/InspectorResource.h:
2950         * inspector/front-end/Resource.js:
2951         (WebInspector.Resource):
2952         * inspector/front-end/ResourceView.js:
2953         (WebInspector.ResourceView):
2954         (WebInspector.ResourceView.prototype._refreshURL):
2955         (WebInspector.ResourceView.prototype._refreshQueryString):
2956         (WebInspector.ResourceView.prototype._refreshFormData):
2957         (WebInspector.ResourceView.prototype._refreshRequestPayload):
2958         (WebInspector.ResourceView.prototype._refreshParms):
2959         (WebInspector.ResourceView.prototype._toggleURLdecoding):
2960         (WebInspector.ResourceView.prototype._getHeaderValue):
2961         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
2962         * inspector/front-end/inspector.css:
2963         * inspector/front-end/inspector.js:
2964         (WebInspector.addResource):
2965         (WebInspector.updateResource):
2966         * manual-tests/inspector/display-form-data.html: Added.
2967
2968 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
2969
2970         Reviewed by Timothy Hatcher.
2971
2972         WebInspector: pass call frames into the frontend as a part of
2973         pausedScript event.
2974
2975         https://bugs.webkit.org/show_bug.cgi?id=28847
2976
2977         * inspector/InspectorController.cpp:
2978         (WebCore::InspectorController::didPause):
2979         * inspector/InspectorFrontend.cpp:
2980         (WebCore::InspectorFrontend::pausedScript):
2981         * inspector/InspectorFrontend.h:
2982         * inspector/front-end/ScriptsPanel.js:
2983         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2984         * inspector/front-end/inspector.js:
2985         (WebInspector.pausedScript):
2986
2987 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2988
2989         Reviewed by Ariya Hidayat.
2990
2991         [Qt] Un-blacklist Silverlight on Mac
2992
2993         Does not seem to crash anymore, probably due to how we now handle
2994         drawing and event model handshake better.
2995
2996         * plugins/mac/PluginPackageMac.cpp:
2997         (WebCore::PluginPackage::isPluginBlacklisted):
2998
2999 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
3000
3001         Reviewed by Eric Seidel.
3002
3003         https://bugs.webkit.org/show_bug.cgi?id=28827
3004         SVGSVGElement.unsuspendRedraw() shouldn't throw
3005
3006         * svg/SVGSVGElement.cpp:
3007         (WebCore::SVGSVGElement::unsuspendRedraw):
3008         * svg/SVGSVGElement.h:
3009         * svg/SVGSVGElement.idl:
3010
3011 2009-08-31  Kent Tamura  <tkent@chromium.org>
3012
3013         Reviewed by Eric Seidel.
3014
3015         - Change the reutrn type of HTMLInputElement::list so that it
3016           conforms to the standard.
3017         - Add HTMLInputElement::dataList()
3018         https://bugs.webkit.org/show_bug.cgi?id=28769
3019
3020
3021         * html/HTMLInputElement.cpp:
3022         (WebCore::HTMLInputElement::list):
3023         (WebCore::HTMLInputElement::dataList):
3024         (WebCore::HTMLInputElement::selectedOption):
3025         * html/HTMLInputElement.h:
3026         * html/HTMLInputElement.idl:
3027
3028 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
3029
3030         Reviewed by Eric Seidel.
3031
3032         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
3033         https://bugs.webkit.org/show_bug.cgi?id=28802
3034
3035         Remove ASSERT because the frame could be null if the
3036         ResourceHandle is not associated with any frame, e.g. if we are
3037         downloading a file.
3038         If the frame is not null but the page is null this must be an
3039         attempted load from an onUnload handler, so let's just block it.
3040
3041         * platform/network/curl/ResourceHandleCurl.cpp:
3042         (WebCore::ResourceHandle::start):
3043
3044 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
3045
3046         Reviewed by Eric Seidel.
3047
3048         Build fix for platforms which don't enable DOM_STORAGE.
3049         https://bugs.webkit.org/show_bug.cgi?id=28834
3050
3051         * bindings/js/ScriptController.cpp:
3052         (WebCore::ScriptController::evaluate):
3053         * bindings/v8/ScriptController.cpp:
3054         (WebCore::ScriptController::evaluate):
3055
3056 2009-08-29  Adele Peterson  <adele@apple.com>
3057
3058         Reviewed by Dan Bernstein.
3059
3060         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
3061         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
3062
3063         Test: accessibility/aria-activedescendant-crash.html
3064
3065         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
3066
3067 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
3068
3069         Reviewed by Oliver Hunt.
3070
3071         Gtk Build broken for OSX Quartz
3072         https://bugs.webkit.org/show_bug.cgi?id=28727
3073
3074         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
3075         port in Mac and Unix/Linux.
3076
3077         * plugins/PluginView.cpp:
3078         (WebCore::PluginView::PluginView):
3079         * plugins/PluginView.h:
3080         * plugins/gtk/PluginViewGtk.cpp:
3081         (WebCore::PluginView::setNPWindowIfNeeded):
3082         (WebCore::PluginView::getValueStatic):
3083         (WebCore::PluginView::getValue):
3084         (WebCore::PluginView::init):
3085
3086 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
3087
3088         Reviewed by Dan Bernstein.
3089
3090         Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
3091         https://bugs.webkit.org/show_bug.cgi?id=28754
3092         
3093         For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
3094         ancestor, since the layer x and y are relative to that ancestor. However, this could
3095         skip over the ancestorLayer, thus giving the wrong result.
3096         
3097         Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
3098         and checking for ancestorLayer along the way. If found, compute offset of both to
3099         the enclosingPositionedAncestor() and subtract.
3100         
3101         This also fixes a positioning bug with abs. positioned elements in reflections,
3102         so there is a new reflection test with a pixel result.
3103
3104         Tests: compositing/geometry/abs-position-inside-opacity.html
3105                fast/reflections/abs-position-in-reflection.html
3106
3107         * rendering/RenderLayer.cpp:
3108         (WebCore::isPositionedContainer):
3109         (WebCore::RenderLayer::enclosingPositionedAncestor):
3110         (WebCore::RenderLayer::enclosingTransformedAncestor):
3111         (WebCore::RenderLayer::convertToLayerCoords):
3112
3113 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
3114
3115         Reviewed by Mark Rowe
3116
3117         Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
3118         https://bugs.webkit.org/show_bug.cgi?id=27727
3119
3120         When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
3121         CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
3122         because there is not a unique enum value for WebkitCSSTransformValue.
3123
3124         * bindings/objc/DOMCSS.mm:
3125         (kitClass):
3126
3127 2009-08-28  Peter Kasting  <pkasting@google.com>
3128
3129         Reviewed by Jan Michael Alonzo.
3130
3131         https://bugs.webkit.org/show_bug.cgi?id=28308
3132         Fix some warnings introduced by r47381.
3133
3134         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3135         (WebCore::convertCMYKToRGBA):
3136         (WebCore::convertRGBToRGBA):
3137
3138 2009-08-28  Ada Chan  <adachan@apple.com>
3139
3140         Reviewed by Adam Roben.
3141
3142         https://bugs.webkit.org/show_bug.cgi?id=21442
3143         Make sure filesystemPathFromUrlOrTitle() returns a string with length
3144         <= MAX_PATH - 1.
3145
3146         * platform/win/ClipboardWin.cpp:
3147         (WebCore::filesystemPathFromUrlOrTitle):
3148
3149 2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
3150
3151         Reviewed by Dimitri Glazkov.
3152
3153         Adding Chromium's VFS for Linux and Mac.
3154
3155         https://bugs.webkit.org/show_bug.cgi?id=28750
3156
3157         * WebCore.gypi:
3158         * platform/chromium/ChromiumBridge.h:
3159         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3160         (WebCore::SQLiteFileSystem::openDatabase):
3161         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
3162         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
3163         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
3164         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
3165         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3166
3167 2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
3168
3169         Reviewed by Dimitri Glazkov.
3170
3171         [V8] Made bindings use Node::setOnEvent functions for Node descendants
3172         instead of Node::setAttributeEventListener.
3173
3174         Node::setAttributeEventListener is an internal function and
3175         doesn't do the forwarding to DOM window that is required for some
3176         HTML elements.
3177         https://bugs.webkit.org/show_bug.cgi?id=28709
3178
3179         Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
3180
3181         * bindings/scripts/CodeGeneratorV8.pm:
3182         Now generates EventListener accessors for Node descendants instead
3183         of using custom callbacks.
3184         * bindings/v8/V8DOMWrapper.cpp:
3185         (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
3186         * bindings/v8/V8DOMWrapper.h:
3187         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
3188         signature.
3189         * bindings/v8/V8Utilities.cpp:
3190         (WebCore::createHiddenDependency):
3191         (WebCore::removeHiddenDependency):
3192         Changed signature to accept Handle instead of Local.
3193         * bindings/v8/V8Utilities.h:
3194         * bindings/v8/custom/V8CustomBinding.h:
3195         * bindings/v8/custom/V8NodeCustom.cpp:
3196         (WebCore::CALLBACK_FUNC_DECL):
3197         Removed custom callbacks for EventListener accessors.
3198
3199 2009-08-28  Ben Murdoch  <benm@google.com>
3200
3201         https://bugs.webkit.org/show_bug.cgi?id=28803
3202         
3203         Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
3204
3205         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3206         (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
3207
3208 2009-08-28  Peter Kasting  <pkasting@google.com>
3209
3210         Not reviewed (build fix).
3211
3212         * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
3213         (WebCore::ImageDecoder::create):
3214         (WebCore::ImageDecoderQt::ImageDecoderQt):
3215         * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
3216
3217 2009-08-28  Peter Kasting  <pkasting@google.com>
3218
3219         Reviewed by Eric Seidel.
3220
3221         https://bugs.webkit.org/show_bug.cgi?id=27965
3222         Move ImageDecoder creation function to a factory function on
3223         ImageDecoder.  This is arguably where it makes the most sense anyway,
3224         and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
3225         function.
3226
3227         * platform/graphics/ImageSource.cpp:
3228         * platform/graphics/qt/ImageDecoderQt.cpp:
3229         (WebCore::ImageDecoder::create):
3230         * platform/graphics/qt/ImageDecoderQt.h:
3231         * platform/graphics/qt/ImageSourceQt.cpp:
3232         (WebCore::ImageSource::setData):
3233         * platform/image-decoders/ImageDecoder.cpp:
3234         * platform/image-decoders/ImageDecoder.h:
3235
3236 2009-08-28  Peter Kasting  <pkasting@google.com>
3237
3238         Reviewed by Eric Seidel.
3239
3240         https://bugs.webkit.org/show_bug.cgi?id=28785
3241         Combine duplicated code from ImageDecoder*.cpp into the main
3242         ImageDecoder.cpp.
3243
3244         * platform/image-decoders/ImageDecoder.cpp:
3245         (WebCore::RGBA32Buffer::RGBA32Buffer):
3246         (WebCore::RGBA32Buffer::clear):
3247         (WebCore::RGBA32Buffer::zeroFill):
3248         (WebCore::RGBA32Buffer::copyBitmapData):
3249         (WebCore::RGBA32Buffer::setSize):
3250         (WebCore::RGBA32Buffer::hasAlpha):
3251         (WebCore::RGBA32Buffer::setHasAlpha):
3252         (WebCore::RGBA32Buffer::setStatus):
3253         (WebCore::RGBA32Buffer::operator=):
3254         (WebCore::RGBA32Buffer::width):
3255         (WebCore::RGBA32Buffer::height):
3256         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
3257         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
3258         * platform/image-decoders/wx/ImageDecoderWx.cpp:
3259
3260 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3261
3262         Reviewed by Holger Freyther.
3263
3264         https://bugs.webkit.org/show_bug.cgi?id=25889
3265         [GTK] scrollbar policy for main frame is not implementable
3266
3267         Override setScrollbarModes to correctly forward scrollbar modes
3268         policy changes to client code, via a new platform-specific method,
3269         scrollbarsPolicyDidChange.
3270
3271         * page/ChromeClient.h:
3272         (WebCore::ChromeClient::scrollbarsPolicyDidChange):
3273         * platform/ScrollView.cpp:
3274         (WebCore::ScrollView::createScrollbar):
3275         * platform/ScrollView.h:
3276         * platform/gtk/ScrollViewGtk.cpp:
3277         (WebCore::ScrollView::setScrollbarModes):
3278
3279 2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
3280
3281         Reviewed by Tor Arne Vestbø
3282
3283         [Qt/Mac] Un-blacklist the QuickTime plugin
3284
3285         https://bugs.webkit.org/show_bug.cgi?id=28768
3286
3287         Now that the drawing model is properly negotiated, there is no need the
3288         blacklist the QuickTime plugin anymore.
3289
3290         This revealed a bug in PluginView::performRequest: it should not initiate a
3291         request if the plugin has been stopped, which is what happens when a plugin
3292         only supports the QuickDraw drawing model.
3293
3294         * plugins/PluginView.cpp:
3295         * plugins/mac/PluginPackageMac.cpp:
3296
3297 2009-08-28  Yury Semikhatsky  <yurys@chromium.org>
3298
3299         Reviewed by Timothy Hatcher.
3300
3301         Set DOM agent document to 0 in InspectorController::close to
3302         make DOM agent remove DOM listeners from the inspected document.
3303
3304         Replace windowVisible checks with m_frontend checks to as inspector
3305         window lives in a different process in Chromium while frontend proxy
3306         is in the inspected page process.
3307
3308         https://bugs.webkit.org/show_bug.cgi?id=28800
3309
3310         * inspector/InspectorController.cpp:
3311         (WebCore::InspectorController::inspect):
3312         (WebCore::InspectorController::addConsoleMessage):
3313         (WebCore::InspectorController::close):
3314         (WebCore::InspectorController::pruneResources):
3315         (WebCore::InspectorController::didCommitLoad):
3316         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3317         (WebCore::InspectorController::identifierForInitialRequest):
3318         (WebCore::InspectorController::willSendRequest):
3319         (WebCore::InspectorController::didReceiveResponse):
3320         (WebCore::InspectorController::didReceiveContentLength):
3321         (WebCore::InspectorController::didFinishLoading):
3322         (WebCore::InspectorController::didFailLoading):
3323         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3324         (WebCore::InspectorController::scriptImported):
3325         (WebCore::InspectorController::didOpenDatabase):
3326         (WebCore::InspectorController::didUseDOMStorage):
3327         (WebCore::InspectorController::addProfile):
3328         * inspector/InspectorController.h:
3329
3330 2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
3331
3332         Reviewed by Timothy Hatcher.
3333
3334         Remove dependency of SummaryBar on WebInspector.resourceCategories.
3335
3336         https://bugs.webkit.org/show_bug.cgi?id=28801
3337
3338         * inspector/front-end/ResourcesPanel.js:
3339         (WebInspector.ResourcesPanel):
3340         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
3341         * inspector/front-end/SummaryBar.js:
3342         (WebInspector.SummaryBar):
3343         (WebInspector.SummaryBar.prototype.update):
3344
3345 2009-08-28  Pavel Feldman  <pfeldman@chromium.org>
3346
3347         Not reviewed (patching in l18n change that was missing due to
3348         the git binary diff format).
3349
3350         https://bugs.webkit.org/show_bug.cgi?id=28429
3351
3352         * English.lproj/localizedStrings.js:
3353
3354 2009-08-28  Adam Barth  <abarth@webkit.org>
3355
3356         Reviewed by Eric Seidel.
3357
3358         Make XSSAuditor go fast
3359         https://bugs.webkit.org/show_bug.cgi?id=28667
3360
3361         Make the XSSAuditor go faster by implementing two optimizations:
3362
3363         1) We avoid canonicalizing scripts that are larger than the page's URL.
3364            This saves a bunch of time for large inline scripts.
3365
3366         2) We memoize canonicalizing the page's URL because it's silly to
3367            canonicalize repeated for each inline event listener.
3368
3369         These optimizations have a measurable affect on the intl1 page cycler.
3370
3371         No behavior change.
3372
3373         * page/XSSAuditor.cpp:
3374         (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
3375         (WebCore::XSSAuditor::canEvaluate):
3376         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
3377         (WebCore::XSSAuditor::canCreateInlineEventListener):
3378         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
3379         (WebCore::XSSAuditor::canLoadObject):
3380         (WebCore::XSSAuditor::canSetBaseElementURL):
3381         (WebCore::XSSAuditor::decodeURL):
3382         (WebCore::XSSAuditor::findInRequest):
3383         * page/XSSAuditor.h:
3384
3385 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
3386
3387         Unreviewed, build fix.
3388
3389         Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
3390         fast/canvas/change-context.html. And it's alright to reach it.
3391
3392         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3393         (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
3394
3395 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
3396
3397         Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
3398
3399         Peter's change forgot one m_decoder->
3400
3401         * platform/graphics/ImageSource.cpp:
3402         (WebCore::ImageSource::frameSizeAtIndex):
3403
3404 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
3405
3406         Unreviewed, build fix.
3407
3408         [V8] Add NULL-check, since the context ain't changeable no more, and
3409         thus getContext could return 0.
3410
3411         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3412         (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
3413
3414 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
3415
3416         Reviewed by Eric Seidel.
3417
3418         dataTransfer.types() should include type "Files" when files are present in the clipboard.
3419         https://bugs.webkit.org/show_bug.cgi?id=28780
3420
3421         Add dataTransfer type "Files" to the chromium port.  Add eseidel's
3422         patch for same for the mac port.
3423
3424         * platform/chromium/ClipboardChromium.cpp:
3425
3426 2009-08-27  Chris Marrin  <cmarrin@apple.com>
3427
3428         Reviewed by Simon Fraser.
3429
3430         Removed GL_ from all constants, and gl prefix from all calls
3431         https://bugs.webkit.org/show_bug.cgi?id=28773
3432
3433         This was done for the external API in CanvasRenderingContext3D and
3434         the internal API in GraphicsContext3D.
3435
3436         * html/canvas/CanvasRenderingContext3D.cpp:
3437         * html/canvas/CanvasRenderingContext3D.h:
3438         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3439         * html/canvas/CanvasRenderingContext3D.idl:
3440         * platform/graphics/GraphicsContext3D.h:
3441         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3442
3443 2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
3444
3445         Qt and Gtk build fixes. Not reviewed.
3446
3447         Add CanvasRenderingContext3D.idl to the build scripts.
3448
3449         * GNUmakefile.am:
3450         * WebCore.pro:
3451
3452 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
3453
3454         Reviewed by Darin Fisher.
3455
3456         Release the storage mutex whenever leaving JavaScript execution.
3457         https://bugs.webkit.org/show_bug.cgi?id=28789
3458
3459         http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
3460         required behavior.  After we leave JavaScript, we must be sure the storage
3461         mutex has been released.  At the end of evaluate(), if localStorage has been
3462         instantiated, tell it to release any locks that may be applicable.
3463
3464         * bindings/js/ScriptController.cpp:
3465         (WebCore::ScriptController::evaluate):
3466         * bindings/v8/ScriptController.cpp:
3467         (WebCore::ScriptController::evaluate):
3468
3469 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
3470
3471         Reviewed by Oliver Hunt.
3472
3473         https://bugs.webkit.org/show_bug.cgi?id=28753
3474         <rdar://problem/7173448> Excessive number of threads (and a crash)
3475
3476         Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
3477         - when resolver is idle, the first few requests are sent immediately (they may or may not
3478         hit the wire);
3479         - if there are a few requests in flight already, coalesce all requests for one second;
3480         - to avoid pathological cases with lots of links to different sites on a page, only ask
3481         CFHost about a handful of names (dropping the rest).
3482
3483         Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
3484         link, and these tend to have identical host name.
3485
3486         * platform/network/cf/DNSCFNet.cpp:
3487         (WebCore::DNSResolveQueue::DNSResolveQueue):
3488         (WebCore::DNSResolveQueue::shared):
3489         (WebCore::DNSResolveQueue::add):
3490         (WebCore::DNSResolveQueue::decrementRequestCount):
3491         (WebCore::DNSResolveQueue::fired):
3492         (WebCore::clientCallback):
3493         (WebCore::DNSResolveQueue::resolve):
3494         (WebCore::prefetchDNS):
3495
3496 2009-08-27  Chris Marrin  <cmarrin@apple.com>
3497
3498         Reviewed by Simon Fraser.
3499
3500         Final patch for Canvas 3D support
3501         https://bugs.webkit.org/show_bug.cgi?id=28018
3502
3503         This hooks everything up and provides a working implementation of
3504         Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
3505         passing the opaque context and texture pointers so a Canvas3DLayer can be
3506         created (more on that later). It also plumbs changes to the 3D canvas so
3507         that Canvas3DLayer can recomposite the results.
3508         
3509         A 3D Canvas element needs a RenderLayer and compositing layer to render.
3510         This is because it renders to an off-screen texture in the GPU and then
3511         hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
3512         render that texture as a 3D quad. This keeps everything in GPU memory to 
3513         maximize performance. When a CanvasRenderingContext3D is created it 
3514         forces a style recalc which creates the RenderLayer and compositing 
3515         layer if needed. 
3516         
3517         I repurposed an existing flag which was put in place for animation to accomplish 
3518         this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
3519         AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
3520         to do a complete style recalc, even though the style itself has not really
3521         changed.
3522         
3523         This patch also fixes a couple of bugs discovered when testing with 3d-canvas
3524         turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
3525         This is needed when making a JS wrapper for the object so the prototype 
3526         property can be set.
3527
3528         Test: fast/canvas/change-context.html
3529
3530         * WebCore.xcodeproj/project.pbxproj:
3531         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3532         (WebCore::JSCanvasRenderingContext3D::glDrawElements):
3533         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3534         (WebCore::toJS):
3535         * dom/Element.cpp:
3536         (WebCore::Element::recalcStyle):
3537         * dom/Node.cpp:
3538         (WebCore::Node::setNeedsStyleRecalc):
3539         * dom/Node.h:
3540         (WebCore::):
3541         * html/HTMLCanvasElement.cpp:
3542         (WebCore::HTMLCanvasElement::getContext):
3543         (WebCore::HTMLCanvasElement::is3D):
3544         * html/HTMLCanvasElement.h:
3545         * html/canvas/CanvasBuffer.cpp:
3546         (WebCore::CanvasBuffer::create):
3547         (WebCore::CanvasBuffer::CanvasBuffer):
3548         (WebCore::CanvasBuffer::_deleteObject):
3549         * html/canvas/CanvasBuffer.h:
3550         * html/canvas/CanvasFramebuffer.cpp:
3551         (WebCore::CanvasFramebuffer::create):
3552         (WebCore::CanvasFramebuffer::CanvasFramebuffer):
3553         (WebCore::CanvasFramebuffer::_deleteObject):
3554         * html/canvas/CanvasFramebuffer.h:
3555         * html/canvas/CanvasObject.cpp:
3556         (WebCore::CanvasObject::CanvasObject):
3557         (WebCore::CanvasObject::~CanvasObject):
3558         (WebCore::CanvasObject::deleteObject):
3559         * html/canvas/CanvasObject.h:
3560         (WebCore::CanvasObject::context):
3561         * html/canvas/CanvasProgram.cpp:
3562         (WebCore::CanvasProgram::create):
3563         (WebCore::CanvasProgram::CanvasProgram):
3564         (WebCore::CanvasProgram::_deleteObject):
3565         * html/canvas/CanvasProgram.h:
3566         * html/canvas/CanvasRenderbuffer.cpp:
3567         (WebCore::CanvasRenderbuffer::create):
3568         (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
3569         (WebCore::CanvasRenderbuffer::_deleteObject):
3570         * html/canvas/CanvasRenderbuffer.h:
3571         * html/canvas/CanvasRenderingContext3D.cpp:
3572         (WebCore::CanvasRenderingContext3D::createBuffer):
3573         (WebCore::CanvasRenderingContext3D::createFramebuffer):
3574         (WebCore::CanvasRenderingContext3D::createTexture):
3575         (WebCore::CanvasRenderingContext3D::createProgram):
3576         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
3577         (WebCore::CanvasRenderingContext3D::createShader):
3578         * html/canvas/CanvasRenderingContext3D.h:
3579         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
3580         * html/canvas/CanvasShader.cpp:
3581         (WebCore::CanvasShader::create):
3582         (WebCore::CanvasShader::CanvasShader):
3583         (WebCore::CanvasShader::_deleteObject):
3584         * html/canvas/CanvasShader.h:
3585         * html/canvas/CanvasTexture.cpp:
3586         (WebCore::CanvasTexture::create):
3587         (WebCore::CanvasTexture::CanvasTexture):
3588         (WebCore::CanvasTexture::_deleteObject):
3589         * html/canvas/CanvasTexture.h:
3590         * page/DOMWindow.idl: