259fe584b6cf2698d35808c0fcb4a2bc6148d1aa
[WebKit-https.git] / WebCore / ChangeLog
1 2009-08-18  Drew Wilson  <atwilson@google.com>
2
3         Reviewed by Eric Seidel.
4
5         Need to extend DumpRenderTree to expose number of worker threads
6         https://bugs.webkit.org/show_bug.cgi?id=28292
7
8         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
9
10         Tests: fast/workers/shared-worker-lifecycle.html-disabled
11                fast/workers/worker-lifecycle.html
12
13         * WebCore.base.exp:
14         Exported WorkerThread::workerThreadCount().
15         * WebCore.xcodeproj/project.pbxproj:
16         * workers/WorkerThread.cpp:
17         Added tracking of the number of worker threads.
18         (WebCore::threadCountMutex):
19         (WebCore::WorkerThread::workerThreadCount):
20         (WebCore::WorkerThread::WorkerThread):
21         (WebCore::WorkerThread::~WorkerThread):
22         * workers/WorkerThread.h:
23
24 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
25
26         Unreviewed, build fix.
27
28         [Qt] Add new files I forgot to add in r47424.
29
30 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
31
32         Reviewed by Ariya Hidayat.
33
34         [Qt] Implement prefetchDNS() function.
35
36         * WebCore.pro:
37         * platform/qt/TemporaryLinkStubs.cpp:
38
39 2009-08-18  Kent Tamura  <tkent@chromium.org>
40
41         Reviewed by Eric Seidel.
42
43         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
44         https://bugs.webkit.org/show_bug.cgi?id=26915
45
46         Tests: fast/forms/datalist-nonoption-child.html
47                fast/forms/datalist.html
48
49         * WebCore.gypi:
50         * WebCore.pro:
51         * WebCore.vcproj/WebCore.vcproj:
52         * WebCore.vcproj/WebCoreCommon.vsprops:
53         * WebCore.vcproj/build-generated-files.sh:
54         * WebCore.xcodeproj/project.pbxproj:
55         * WebCoreSources.bkl:
56         * css/html.css:
57         * html/CollectionType.h:
58         (WebCore::):
59         * html/HTMLCollection.cpp:
60         (WebCore::HTMLCollection::itemAfter):
61         * html/HTMLDataListElement.cpp: Added.
62         (WebCore::HTMLDataListElement::HTMLDataListElement):
63         (WebCore::HTMLDataListElement::~HTMLDataListElement):
64         (WebCore::HTMLDataListElement::checkDTD):
65         (WebCore::HTMLDataListElement::options):
66         * html/HTMLDataListElement.h: Added.
67         * html/HTMLDataListElement.idl: Added.
68         * html/HTMLElement.cpp:
69         (WebCore::inlineTagList):
70         * html/HTMLParser.cpp:
71         (WebCore::HTMLParser::isAffectedByResidualStyle):
72         * html/HTMLTagNames.in:
73
74 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
75
76         Reviewed by Eric Seidel.
77
78         -webkit-box-orient:horizontal doesn't work on <button> tag
79         https://bugs.webkit.org/show_bug.cgi?id=34445
80
81         Make a flexible button's anonymous child flexible and pass the
82         parent's box-orient to the anonymous child.
83
84         Also, added a renderName for anonymous flexible boxes.
85
86         Test: fast/flexbox/box-orient-button.html
87
88         * rendering/RenderBlock.cpp:
89         (WebCore::RenderBlock::createAnonymousBlock):
90         * rendering/RenderBlock.h:
91         * rendering/RenderButton.cpp:
92         (WebCore::RenderButton::addChild):
93         (WebCore::RenderButton::setupInnerStyle):
94         * rendering/RenderFlexibleBox.cpp:
95         (WebCore::RenderFlexibleBox::renderName):
96
97 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
98
99         Reviewed by Dave Hyatt.
100         
101         Render -webkit-mask via compositing layers when possible
102         https://bugs.webkit.org/show_bug.cgi?id=28414
103         
104         Implement accelerated compositing of -webkit-mask, when combined
105         with already-composited content.
106         
107         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
108         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
109         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
110         
111         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
112         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
113         indicates that just the mask is painting.
114         
115         When painting the composited mask, we need to paint with the normal compositing
116         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
117         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
118         need to make transparency layers.
119         
120         We no longer have to throw video rendering into software because of masks.
121         
122         When a masked element has composited descendants, that element needs to
123         become composited so that the mask can be applied via compositing.
124
125         Tests: compositing/masks/masked-ancestor.html
126                compositing/masks/simple-composited-mask.html
127
128         * platform/graphics/GraphicsLayer.cpp:
129         (WebCore::GraphicsLayer::GraphicsLayer):
130         * platform/graphics/GraphicsLayer.h:
131         (WebCore::GraphicsLayer::maskLayer):
132         (WebCore::GraphicsLayer::setMaskLayer):
133         (WebCore::GraphicsLayer::paintingPhase):
134         (WebCore::GraphicsLayer::setPaintingPhase):
135         * platform/graphics/GraphicsLayerClient.h:
136         (WebCore::):
137         * platform/graphics/mac/GraphicsLayerCA.h:
138         (WebCore::GraphicsLayerCA::):
139         * platform/graphics/mac/GraphicsLayerCA.mm:
140         (WebCore::GraphicsLayerCA::setMaskLayer):
141         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
142         (WebCore::GraphicsLayerCA::commitLayerChanges):
143         (WebCore::GraphicsLayerCA::updateMaskLayer):
144         * rendering/InlineFlowBox.cpp:
145         (WebCore::InlineFlowBox::paintMask):
146         * rendering/RenderBox.cpp:
147         (WebCore::RenderBox::paintMaskImages):
148         * rendering/RenderLayer.cpp:
149         (WebCore::RenderLayer::hasCompositedMask):
150         * rendering/RenderLayer.h:
151         (WebCore::RenderLayer::hasCompositedMask):
152         * rendering/RenderLayerBacking.cpp:
153         (WebCore::RenderLayerBacking::~RenderLayerBacking):
154         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
155         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
156         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
157         (WebCore::RenderLayerBacking::updateForegroundLayer):
158         (WebCore::RenderLayerBacking::updateMaskLayer):
159         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
160         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
161         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
162         (WebCore::RenderLayerBacking::paintIntoLayer):
163         (WebCore::RenderLayerBacking::paintContents):
164         * rendering/RenderLayerBacking.h:
165         (WebCore::RenderLayerBacking::hasMaskLayer):
166         * rendering/RenderLayerCompositor.cpp:
167         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
168         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
169         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
170         * rendering/RenderLayerCompositor.h:
171
172 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
173
174         Reviewed by Dave Hyatt.
175
176         Layer content misplaced with compositing, z-index and overflow
177         https://bugs.webkit.org/show_bug.cgi?id=28361
178         
179         The foreground GraphicsLayer (used to render element foreground when the element has 
180         negative z-order children) was misplaced when there is a clipping layer (which clips
181         children). The foreground layer is parented under the clipping layer so that the foreground
182         depth-sorts with the layer's children, so its geometry needs to be computed relative to
183         that clipping layer.
184         
185         Also clarified some FIXME comments, and corrected a debug-only layer name.
186
187         Test: compositing/geometry/clipping-foreground.html
188
189         * platform/graphics/mac/GraphicsLayerCA.mm:
190         (WebCore::GraphicsLayerCA::updateSublayerList):
191         * rendering/RenderLayerBacking.cpp:
192         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
193         (WebCore::RenderLayerBacking::updateForegroundLayer):
194         * rendering/RenderLayerCompositor.cpp:
195         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
196
197 2009-08-17  Mark Rowe  <mrowe@apple.com>
198
199         Reviewed by Sam Weinig.
200
201         Fix leaks of SVGElementInstance seen during regression tests.
202
203         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
204         not updated to have a create method that adopted the initial reference.  This lead to the instances
205         of SVGElementInstance allocated by SVGUseElement being leaked.
206
207         * svg/SVGElementInstance.h:
208         (WebCore::SVGElementInstance::create):
209         * svg/SVGUseElement.cpp:
210         (WebCore::SVGUseElement::buildPendingResource):
211         (WebCore::SVGUseElement::buildInstanceTree):
212         (WebCore::SVGUseElement::handleDeepUseReferencing):
213
214 2009-08-17  Brady Eidson  <beidson@apple.com>
215
216         Reviewed by Sam Weinig.
217
218         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
219         Page Cache should support pages with frames.
220
221         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
222           are solely the responsibility of FrameLoader.
223         - Enhance some page cache related Logging to help development.
224
225         * inspector/InspectorController.cpp:
226         (WebCore::InspectorController::didCommitLoad):
227         (WebCore::InspectorController::identifierForInitialRequest):
228
229         * loader/DocumentLoader.cpp:
230         (WebCore::DocumentLoader::DocumentLoader):
231         * loader/DocumentLoader.h:
232
233         * loader/FrameLoader.cpp:
234         (WebCore::FrameLoader::FrameLoader):
235         (WebCore::FrameLoader::commitProvisionalLoad):
236         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
237         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
238         * loader/FrameLoader.h:
239         (WebCore::FrameLoader::isLoadingFromCachedPage):
240
241 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
242
243         Reviewed by Eric Seidel.
244
245         Moved implementation of isAfterContent to RenderObject
246         (as inline method to avoid potential performance regressions).
247
248         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
249         (https://bugs.webkit.org/show_bug.cgi?id=28376)
250
251         * rendering/RenderBox.cpp:
252         * rendering/RenderBox.h:
253         * rendering/RenderInline.cpp:
254         * rendering/RenderObject.h:
255         (WebCore::RenderObject::isAfterContent):
256
257 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
258
259         Reviewed by Darin Adler.
260
261         Assertion failure in WebCore::RenderHTMLCanvas::layout
262         https://bugs.webkit.org/show_bug.cgi?id=12052
263
264         Don't handle run-in if the element is not a block element.
265
266         Test: fast/runin/nonblock-runin.html
267
268         * rendering/RenderBlock.cpp:
269         (WebCore::RenderBlock::handleRunInChild):
270
271 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
272
273         Reviewed by Darin Adler.
274
275         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
276         either of the arguments are not finite.
277
278         According to
279         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
280         "If any of the arguments to createImageData() or getImageData() are
281         infinite or NaN, or if the createImageData()  method is invoked with
282         only one argument but that argument is null, the method must instead
283         raise a NOT_SUPPORTED_ERR  exception."
284
285         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
286
287         * html/canvas/CanvasRenderingContext2D.cpp:
288         (WebCore::CanvasRenderingContext2D::createImageData):
289         * html/canvas/CanvasRenderingContext2D.h:
290         * html/canvas/CanvasRenderingContext2D.idl:
291
292 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
293
294         Reviewed by Darin Fisher.
295
296         Add a way to release the storage lock
297         https://bugs.webkit.org/show_bug.cgi?id=28411
298
299         Two scripts within the same origin that are accessing LocalStorage must not do
300         it simultaneously, according to the spec.  There are some cases, however, where
301         a script might want to override this behavior.  navigator.getStorageUpdates()
302         was added for this reason:
303         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
304
305         Add this function to navigator and hook it up to DOM Storage.
306
307         * page/Navigator.cpp:
308         (WebCore::Navigator::getStorageUpdates):
309         * page/Navigator.h:
310         * page/Navigator.idl:
311         * storage/StorageNamespace.h:
312         * storage/StorageNamespaceImpl.cpp:
313         (WebCore::StorageNamespaceImpl::unlock):
314         * storage/StorageNamespaceImpl.h:
315
316 2009-08-17  Mark Rowe  <mrowe@apple.com>
317
318         Build fix.
319
320         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
321         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
322         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
323         Windows though so we explicitly include this header from the prefix header when on Windows.
324
325         * WebCorePrefix.h:
326         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
327
328 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
329
330         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
331
332         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
333
334 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
335
336         Trying to fix Windows build.
337
338         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
339
340 2009-08-17  Peter Kasting  <pkasting@google.com>
341
342         Reviewed by Steve Falkenburg.
343
344         https://bugs.webkit.org/show_bug.cgi?id=27323
345         Only add Cygwin to the path when it isn't already there.  This avoids
346         causing problems for people who purposefully have non-Cygwin versions of
347         executables like svn in front of the Cygwin ones in their paths.
348
349         * WebCore.vcproj/QTMovieWin.vcproj:
350         * WebCore.vcproj/WebCoreCommon.vsprops:
351         * WebCore.vcproj/WebCoreGenerated.vcproj:
352
353 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
354
355         Reviewed by Geoff Garen.
356
357         https://bugs.webkit.org/show_bug.cgi?id=28401
358         Add support for DNS prefetching with CFNetwork
359
360         This is just an optimization, no behavior change, so no tests.
361
362         * platform/network/cf/DNSCFNet.cpp:
363         (WebCore::clientCallback):
364         (WebCore::prefetchDNS):
365         Use async CFHostStartInfoResolution() for implementation.
366
367 2009-08-17  Aaron Boodman  <aa@chromium.org>
368
369         Reviewed by Alexey Proskuryakov.
370
371         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
372         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
373
374         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
375         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
376
377         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
378           authorization headers) to a resource on origin A.
379         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
380           authorization headers) to another resource on origin B (this time sending access control authorization headers).
381
382         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
383
384         * loader/DocumentThreadableLoader.cpp:
385         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
386         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
387         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
388         * loader/DocumentThreadableLoader.h:
389         * loader/ThreadableLoader.h:
390         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
391         * page/EventSource.cpp:
392         (WebCore::EventSource::connect): Ditto.
393         * workers/Worker.cpp: Ditto.
394         (WebCore::Worker::Worker): Ditto.
395         * workers/WorkerContext.cpp: Ditto.
396         (WebCore::WorkerContext::importScripts): Ditto.
397         * workers/WorkerScriptLoader.cpp:
398         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
399         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
400         * workers/WorkerScriptLoader.h: 
401         * xml/XMLHttpRequest.cpp:
402         (WebCore::XMLHttpRequest::createRequest): Ditto.
403
404 2009-08-17  Adam Langley  <agl@google.com>
405
406         Reviewed by Dan Bernstein (relanding of r47157).
407
408         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
409
410         https://bugs.webkit.org/show_bug.cgi?id=28172
411
412         This was originally fixed in r47157, however it triggered a bug in
413         Skia which caused Chromium Linux to fail layout tests in debug mode.
414         It was reverted in r47189 while we sorted it out.
415
416         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
417         Chromium's r23523. This is a reland of the original patch.
418
419         No new tests because it's a just typo fix.
420
421         [1] http://code.google.com/p/skia/source/detail?r=321
422
423         * platform/graphics/skia/PlatformContextSkia.cpp:
424         (PlatformContextSkia::setupPaintCommon):
425
426 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
427
428         Reviewed by Xan Lopez.
429
430         Protect ResourceHandle for g_file_query_info_async call, using the
431         same technique we already use for HTTP requests that take the soup
432         path.
433
434         * platform/network/soup/ResourceHandleSoup.cpp:
435         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
436         (WebCore::ResourceHandle::~ResourceHandle):
437         (WebCore::finishedCallback):
438         (WebCore::):
439
440 2009-08-17  Dan Bernstein  <mitz@apple.com>
441
442         Reviewed by Darin Adler.
443
444         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
445         appears below the main content
446         https://bugs.webkit.org/show_bug.cgi?id=28350
447
448         A particular version of the MediaWiki software detects WebKit through
449         user agent sniffing and imports a style sheet called KHTMLFixes.css,
450         which contains a single rule that was meant to work around some KHTML
451         bug, but currently has the sole effect of causing the float containing
452         the main article content to extend all the way to the left and thus push
453         down the left navigation pane.
454
455         * css/CSSImportRule.cpp:
456         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
457         enabled, check if the imported style sheet is the MediaWiki
458         KHTMLFixes.css. If so, remove the offending rule.
459
460 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
461
462         Reviewed by Kevin Ollivier.
463
464         Correct crash when processing local cancelled requests.
465
466         No new tests. Existing fast/images/favicon-as-image.html
467         displays the problem.
468
469         * platform/network/curl/ResourceHandleManager.cpp:
470         (WebCore::writeCallback): Add check for m_cancelled after
471           performing local-file processing.
472         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
473           check for m_cancelled after performing local-file processing.
474
475 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
476
477         Unreviewed. Reverts 47371, since it breaks GTK+.
478
479         * platform/graphics/ImageSource.cpp:
480         (WebCore::ImageSource::setData):
481         * platform/image-decoders/ImageDecoder.cpp: Removed.
482         * platform/image-decoders/ImageDecoder.h:
483         (WebCore::ImageDecoder::ImageDecoder):
484         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
485         (WebCore::convertCMYKToRGBA):
486         (WebCore::convertRGBToRGBA):
487         (WebCore::JPEGImageDecoder::outputScanlines):
488         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
489         * platform/image-decoders/png/PNGImageDecoder.cpp:
490         (WebCore::PNGImageDecoder::headerAvailable):
491         (WebCore::PNGImageDecoder::rowAvailable):
492
493 2009-08-17  Yong Li  <yong.li@torchmobile.com>
494
495         Reviewed by Adam Treat.
496
497         Allow image decoders to down-sample the image directly
498         to scaled output buffer. This can be enabled/disabled by
499         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
500         Only JPEG and PNG decoders are modified to support it now.
501         https://bugs.webkit.org/show_bug.cgi?id=28308
502
503         * platform/graphics/ImageSource.cpp:
504         (WebCore::ImageSource::setData):
505         * platform/image-decoders/ImageDecoder.cpp: Added.
506         * platform/image-decoders/ImageDecoder.h:
507         (WebCore::ImageDecoder::ImageDecoder):
508         (WebCore::ImageDecoder::setMaxNumPixels):
509         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
510         (WebCore::convertCMYKToRGBA):
511         (WebCore::convertRGBToRGBA):
512         (WebCore::JPEGImageDecoder::outputScanlines):
513         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
514         (WebCore::JPEGImageDecoder::setSize):
515         * platform/image-decoders/png/PNGImageDecoder.cpp:
516         (WebCore::PNGImageDecoder::headerAvailable):
517         (WebCore::PNGImageDecoder::rowAvailable):
518
519 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
520
521         Build fix: fix float literals to avoid casting warnings.
522
523         * rendering/MediaControlElements.cpp:
524
525 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
526
527         Reviewed by Eric Seidel.
528
529         Use OwnPtrs for GraphicsLayers
530         https://bugs.webkit.org/show_bug.cgi?id=28399
531
532         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
533         for their references to GraphicsLayers.
534
535         * platform/graphics/GraphicsLayer.h:
536         * platform/graphics/mac/GraphicsLayerCA.mm:
537         (WebCore::GraphicsLayer::create):
538         * rendering/RenderLayerBacking.cpp:
539         (WebCore::RenderLayerBacking::RenderLayerBacking):
540         (WebCore::RenderLayerBacking::createGraphicsLayer):
541         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
542         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
543         (WebCore::RenderLayerBacking::updateInternalHierarchy):
544         (WebCore::RenderLayerBacking::updateClippingLayers):
545         (WebCore::RenderLayerBacking::updateForegroundLayer):
546         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
547         * rendering/RenderLayerBacking.h:
548         (WebCore::RenderLayerBacking::graphicsLayer):
549         (WebCore::RenderLayerBacking::clippingLayer):
550         (WebCore::RenderLayerBacking::ancestorClippingLayer):
551         (WebCore::RenderLayerBacking::foregroundLayer):
552         (WebCore::RenderLayerBacking::parentForSublayers):
553         (WebCore::RenderLayerBacking::childForSuperlayers):
554         * rendering/RenderLayerCompositor.cpp:
555         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
556         (WebCore::RenderLayerCompositor::rootPlatformLayer):
557         (WebCore::RenderLayerCompositor::didMoveOnscreen):
558         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
559         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
560         * rendering/RenderLayerCompositor.h:
561
562 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
563
564         Reviewed by Timothy Hatcher.
565
566         WebInspector: Reset InjectedScript styles cache on document change.
567
568         https://bugs.webkit.org/show_bug.cgi?id=28390
569
570         * inspector/InspectorController.cpp:
571         (WebCore::InspectorController::close):
572         (WebCore::InspectorController::populateScriptObjects):
573         (WebCore::InspectorController::didCommitLoad):
574         (WebCore::InspectorController::resetInjectedScript):
575         * inspector/InspectorController.h:
576         * inspector/InspectorDOMAgent.cpp:
577         (WebCore::InspectorDOMAgent::setDocument):
578         * inspector/InspectorDOMAgent.h:
579         * inspector/front-end/InjectedScript.js:
580         (InjectedScript._reset):
581
582 2009-08-17  Darin Adler  <darin@apple.com>
583
584         Reviewed by Sam Weinig.
585
586         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
587         resorted includes, renamed "doc" to "document" and fixed formatting.
588
589 2009-08-17  Darin Adler  <darin@apple.com>
590
591         Reviewed by Sam Weinig.
592
593         Removed functions now unneeded due to use of Reflect to create
594         language bindings.
595
596         * accessibility/AccessibilityRenderObject.cpp:
597         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
598         Get at usemap attribute directly.
599
600         * editing/DeleteButtonController.cpp:
601         (WebCore::DeleteButtonController::createDeletionUI):
602         Get at id attribute directly.
603         * editing/EditorCommand.cpp:
604         (WebCore::executeInsertHorizontalRule): Ditto.
605
606         * html/HTMLDocument.cpp:
607         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
608         (WebCore::HTMLDocument::setDir): Ditto.
609
610         * html/HTMLElement.cpp: Deleted unused functions.
611         * html/HTMLElement.h: Ditto.
612
613         * html/HTMLImageElement.cpp: Deleted unused functions.
614         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
615         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
616         get at usemap attribute directly, but added a FIXME because although
617         it is what the old code did, it looks to not be entirely correct.
618
619         * html/HTMLImageElement.h: Deleted unused functions.
620
621         * rendering/HitTestResult.cpp:
622         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
623
624         * rendering/RenderImage.cpp:
625         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
626
627         * rendering/RenderLayerBacking.cpp:
628         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
629         directly.
630         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
631         explicit HTMLNames namespace qualification.
632
633 2009-08-17  Darin Adler  <darin@apple.com>
634
635         Reviewed by Sam Weinig.
636
637         * dom/Document.cpp:
638         (WebCore::Document::setFocusedNode): Removed unneeded calls
639         to RefPtr::get.
640
641 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
642
643         Reviewed by Timothy Hatcher.
644
645         WebInspector: Discard DOM Node bindings on any document change.
646
647         https://bugs.webkit.org/show_bug.cgi?id=28389
648
649         * inspector/InspectorDOMAgent.cpp:
650         (WebCore::InspectorDOMAgent::setDocument):
651
652 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
653
654         Reviewed by Timothy Hatcher.
655
656         Inspector: Improve Cookie DataGrid to Show Hidden Data
657         https://bugs.webkit.org/show_bug.cgi?id=28269
658
659         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
660         * WebCore.gypi: added missing files
661
662           Implemented Bindings for InspectorController.deleteCookie(name)
663
664         * inspector/InspectorBackend.idl:
665         * bindings/js/JSInspectorBackendCustom.cpp:
666         (WebCore::JSInspectorBackend::cookies):
667         (WebCore::JSInspectorBackend::deleteCookie):
668
669           v8 Bindings Stubs
670
671         * bindings/v8/custom/V8CustomBinding.h:
672         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
673         (WebCore::CALLBACK_FUNC_DECL):
674
675           Removed WebInspector.Cookie
676
677         * inspector/front-end/Cookie.js: Removed.
678         * inspector/front-end/inspector.html:
679         * inspector/front-end/WebKit.qrc:
680
681           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
682           yet provide access to raw cookies.
683
684         * inspector/front-end/CookieItemsView.js:
685         (WebInspector.CookieItemsView):
686         (WebInspector.CookieItemsView.prototype.get statusBarItems):
687         (WebInspector.CookieItemsView.prototype.update):
688         (WebInspector.CookieItemsView.prototype.buildCookies):
689         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
690         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
691         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
692         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
693         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
694         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
695
696           Interaction with the page through Injected Script (for fallback behavior)
697
698         * inspector/front-end/DOMAgent.js:
699         (InspectorController.getCookies):
700         * inspector/front-end/InjectedScript.js:
701         (InjectedScript.setStyleProperty): style fix
702         (InjectedScript.getCookies):
703
704           Allow alignment of text inside DataGrids.
705
706         * inspector/front-end/DataGrid.js:
707         (WebInspector.DataGrid):
708         (WebInspector.DataGridNode.prototype.createCell):
709         * inspector/front-end/DatabasesPanel.js:
710         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
711         * inspector/front-end/inspector.css:
712
713           Added deleteCookie(., ., String name)
714           Modified getRawCookies to return a bool to know if its implemented
715
716         * platform/CookieJar.h:
717
718
719           Implemented deleteCookie for Macs
720
721         * platform/mac/CookieJar.mm:
722         (WebCore::getRawCookies):
723         (WebCore::deleteCookie):
724
725           Stub Implementations for Other Platforms
726
727         * platform/haiku/CookieJarHaiku.cpp:
728         (WebCore::getRawCookies):
729         (WebCore::deleteCookie):
730         * platform/network/chromium/CookieJarChromium.cpp:
731         (WebCore::getRawCookies):
732         (WebCore::deleteCookie):
733         * platform/network/curl/CookieJarCurl.cpp:
734         (WebCore::getRawCookies):
735         (WebCore::deleteCookie):
736         * platform/network/soup/CookieJarSoup.cpp:
737         (WebCore::getRawCookies):
738         (WebCore::deleteCookie):
739         * platform/network/win/CookieJarCFNetWin.cpp:
740         (WebCore::getRawCookies):
741         (WebCore::deleteCookie):
742         * platform/network/win/CookieJarWin.cpp:
743         (WebCore::getRawCookies):
744         (WebCore::deleteCookie):
745         * platform/qt/CookieJarQt.cpp:
746         (WebCore::getRawCookies):
747         (WebCore::deleteCookie):
748
749 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
750
751         Blind build fix for Leopard.
752
753         * platform/graphics/GraphicsContext.cpp:
754         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
755
756 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
757
758         Reviewed by Adam Treat.
759
760         Style fixes based on cpp_style.py and WebKit Style guide for
761         GraphicsContextCG.cpp
762
763         https://bugs.webkit.org/show_bug.cgi?id=28268
764
765         * platform/graphics/cg/GraphicsContextCG.cpp:
766         (WebCore::GraphicsContext::drawLine):
767         (WebCore::GraphicsContext::drawEllipse):
768         (WebCore::GraphicsContext::strokeArc):
769         (WebCore::GraphicsContext::drawConvexPolygon):
770         (WebCore::GraphicsContext::applyStrokePattern):
771         (WebCore::GraphicsContext::drawPath):
772         (WebCore::GraphicsContext::clipOut):
773         (WebCore::GraphicsContext::clipOutEllipseInRect):
774         (WebCore::GraphicsContext::addInnerRoundedRectClip):
775         (WebCore::GraphicsContext::clipToImageBuffer):
776         (WebCore::GraphicsContext::setPlatformShadow):
777         (WebCore::GraphicsContext::setLineCap):
778         (WebCore::GraphicsContext::setLineJoin):
779         (WebCore::GraphicsContext::roundToDevicePixels):
780         (WebCore::GraphicsContext::drawLineForText):
781         (WebCore::GraphicsContext::setURLForRect):
782         (WebCore::GraphicsContext::setImageInterpolationQuality):
783         (WebCore::GraphicsContext::imageInterpolationQuality):
784         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
785         (WebCore::GraphicsContext::setCompositeOperation):
786
787 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
788
789         Reviewed by Adam Treat.
790
791         Style fixes based on cpp_style.py and WebKit Style guide for
792         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
793
794         https://bugs.webkit.org/show_bug.cgi?id=28268
795
796         * platform/graphics/GraphicsContext.cpp:
797         (WebCore::GraphicsContext::save):
798         (WebCore::GraphicsContext::restore):
799         (GraphicsContext::drawText):
800         (GraphicsContext::initFocusRing):
801         (GraphicsContext::focusRingBoundingRect):
802         (GraphicsContext::drawImage):
803         * platform/graphics/GraphicsContext.h:
804         * platform/graphics/cairo/GraphicsContextCairo.cpp:
805         (WebCore::GraphicsContext::drawLine):
806         (WebCore::GraphicsContext::strokeArc):
807         (WebCore::GraphicsContext::setLineCap):
808         (WebCore::GraphicsContext::setLineJoin):
809         (WebCore::toCairoOperator):
810         * platform/graphics/qt/GraphicsContextQt.cpp:
811
812 2009-08-17  Darin Adler  <darin@apple.com>
813
814         Reviewed by Dan Bernstein.
815
816         Change HTMLAreaElement to use OwnArrayPtr
817         https://bugs.webkit.org/show_bug.cgi?id=28386
818
819         * html/HTMLAreaElement.cpp:
820         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
821         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
822         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
823         instead of deletion followed by assignment.
824         * html/HTMLAreaElement.h: Use OwnArrayPtr.
825
826 2009-08-17  Darin Adler  <darin@apple.com>
827
828         Fix Windows build.
829
830         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
831
832 2009-08-17  Darin Adler  <darin@apple.com>
833
834         Reviewed by Dan Bernstein.
835
836         Move noResize from HTMLFrameElementBase to HTMLFrameElement
837         https://bugs.webkit.org/show_bug.cgi?id=28384
838
839         * html/HTMLFrameElement.cpp:
840         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
841         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
842         here if noresizeAttr is changed. This code was moved here from
843         HTMLFrameElementBase, but I added some FIXME comments.
844         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
845         boolean argument. Moved here from HTMLFrameElementBase.
846
847         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
848         here from HTMLFrameElementBase.
849
850         * html/HTMLFrameElementBase.cpp:
851         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
852         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
853         noresizeAttr.
854
855         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
856
857 2009-08-17  Darin Adler  <darin@apple.com>
858
859         Reviewed by Dan Bernstein.
860
861         Tweak HTMLFrameElementBase so that m_URL can be private
862         https://bugs.webkit.org/show_bug.cgi?id=28385
863
864         * html/HTMLFrameElement.cpp:
865         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
866         * html/HTMLFrameElementBase.cpp:
867         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
868         taking an argument.
869         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
870         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
871         * html/HTMLIFrameElement.cpp:
872         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
873
874 2009-08-17  Darin Adler  <darin@apple.com>
875
876         Reviewed by Dan Bernstein.
877
878         HTMLViewSourceDocument should use smart pointers
879         https://bugs.webkit.org/show_bug.cgi?id=28378
880
881         * html/HTMLViewSourceDocument.cpp:
882         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
883         pointers any more since RefPtr starts 0 by default.
884         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
885         types for local variables.
886         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
887         and use a RefPtr of a more specific type for a local variable.
888         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
889         variables, and use RefPtr as well.
890         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
891         RefPtr of a more specific type for a local variable.
892
893         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
894         data member types to RefPtr.
895
896 2009-08-17  Darin Adler  <darin@apple.com>
897
898         Reviewed by Sam Weinig.
899
900         DOM attribute getter/setter functions should use const AtomicString& type
901         https://bugs.webkit.org/show_bug.cgi?id=25425
902
903         Convert 4 more classes. These are classes I am going to make other changes
904         to soon, so it's good to have this use of Reflect in the IDL out of the way.
905
906         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
907         * html/HTMLFrameElement.idl: Ditto.
908         * html/HTMLIFrameElement.idl: Ditto.
909         * html/HTMLObjectElement.idl: Ditto.
910
911 2009-08-17  Darin Adler  <darin@apple.com>
912
913         Reviewed by Sam Weinig.
914
915         Script to create element factory needs changes to accommodate calling create
916         https://bugs.webkit.org/show_bug.cgi?id=28379
917
918         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
919         around names used inside {}. Added new createWithNew property for tags
920         that makes the factory use a create function instead of calling new.
921         Renamed functions with initialize in their name to have default in their
922         name, since they return an array full of default values and don't themselves
923         initialize anything.
924
925 2009-08-16  Darin Adler  <darin@apple.com>
926
927         Reviewed by Dan Bernstein.
928
929         StyledElement should use ASCIICType instead of having its own toHex function
930         https://bugs.webkit.org/show_bug.cgi?id=28377
931
932         * dom/StyledElement.cpp:
933         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
934
935 2009-08-16  Darin Adler  <darin@apple.com>
936
937         Reviewed by Dan Bernstein.
938
939         execCommand("InsertHorizontalRule") inserts a broken <hr> element
940         https://bugs.webkit.org/show_bug.cgi?id=28375
941
942         * editing/EditorCommand.cpp:
943         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
944         instead of just an HTMLElement.
945
946 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
947
948         Reviewed by George Staikos.
949
950         [WML] <option> element & 'onpick' events - history navigation is broken
951         https://bugs.webkit.org/show_bug.cgi?id=28371
952
953         After selecting an option element with an 'onpick' event associated with a 'go' task,
954         the navigation is executed. When going back in history, the same 'onpick' event is fired
955         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
956
957         Test: wml/option-element-onpick-recursion.html
958
959         * wml/WMLOptionElement.cpp:
960         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
961         * wml/WMLSelectElement.cpp:
962         (WebCore::WMLSelectElement::WMLSelectElement):
963         (WebCore::WMLSelectElement::selectInitialOptions):
964         * wml/WMLSelectElement.h:
965         (WebCore::WMLSelectElement::initialized):
966
967 2009-08-16  Anthony Ricaud  <rik@webkit.org>
968
969         Reviewed by Timothy Hatcher.
970
971         Inspector Resource filtering: keyboard Navigation always uses ALL resources
972         https://bugs.webkit.org/show_bug.cgi?id=28231
973         
974         Determine if a resource is selectable on user action.
975         
976         * inspector/front-end/ResourcesPanel.js:
977         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
978
979 2009-08-16  David Kilzer  <ddkilzer@apple.com>
980
981         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
982
983         Reviewed by Dan Bernstein.
984
985         * accessibility/mac/AccessibilityObjectWrapper.mm:
986         (AXAttributeStringSetSpelling): Changed MIN() to min().
987         * platform/graphics/mac/FontMacATSUI.mm:
988         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
989         max() and MIN() to min().
990         (WebCore::Font::floatWidthForComplexText): Ditto.
991         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
992         std::max statement.
993         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
994         * platform/text/mac/TextCodecMac.cpp:
995         (WebCore::TextCodecMac::decode): Changed MIN() to min().
996
997 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
998
999         Reviewed by George Staikos.
1000
1001         [WML] Cleanup WMLIntrinsicEventHandling code
1002         https://bugs.webkit.org/show_bug.cgi?id=28358
1003
1004         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
1005
1006         * wml/WMLAnchorElement.cpp:
1007         (WebCore::WMLAnchorElement::defaultEventHandler):
1008         * wml/WMLDoElement.cpp:
1009         (WebCore::WMLDoElement::defaultEventHandler):
1010         * wml/WMLGoElement.cpp:
1011         (WebCore::WMLGoElement::executeTask):
1012         * wml/WMLGoElement.h:
1013         * wml/WMLIntrinsicEventHandler.cpp:
1014         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1015         * wml/WMLPrevElement.cpp:
1016         (WebCore::WMLPrevElement::executeTask):
1017         * wml/WMLPrevElement.h:
1018         * wml/WMLRefreshElement.cpp:
1019         (WebCore::WMLRefreshElement::executeTask):
1020         * wml/WMLRefreshElement.h:
1021         * wml/WMLTaskElement.h:
1022
1023 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
1024
1025         Reviewed by Timothy Hatcher.
1026
1027         WebInspector: A handful of DOMAgent-related fixes and cleanups.
1028
1029         - renamed elementId to nodeId in operations on nodes.
1030         - added load listeners to frame owners in InspectorDOMAgent.
1031         - removed InspectorController::inspectedWindowScriptObjectCleared event.
1032         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
1033         - removed contentDocument-related logic from ElementsPanel since it is handled in
1034             the InspectorDOMAgent.
1035         - removed DOM listeners unregistration and corresponding events from InspectorController.
1036         - made this.styles 'private' in ElementsPanel.
1037         - added TODO for the handleCopy processing.
1038
1039         https://bugs.webkit.org/show_bug.cgi?id=28356
1040
1041         * WebCore.order:
1042         * inspector/InspectorBackend.cpp:
1043         (WebCore::InspectorBackend::getChildNodes):
1044         (WebCore::InspectorBackend::setTextNodeValue):
1045         * inspector/InspectorBackend.h:
1046         * inspector/InspectorBackend.idl:
1047         * inspector/InspectorController.cpp:
1048         * inspector/InspectorController.h:
1049         * inspector/InspectorDOMAgent.cpp:
1050         (WebCore::InspectorDOMAgent::startListening):
1051         (WebCore::InspectorDOMAgent::stopListening):
1052         (WebCore::InspectorDOMAgent::handleEvent):
1053         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1054         (WebCore::InspectorDOMAgent::getChildNodes):
1055         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1056         (WebCore::InspectorDOMAgent::setTextNodeValue):
1057         (WebCore::InspectorDOMAgent::buildObjectForNode):
1058         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1059         (WebCore::InspectorDOMAgent::innerParentNode):
1060         * inspector/InspectorDOMAgent.h:
1061         * inspector/InspectorFrontend.cpp:
1062         * inspector/InspectorFrontend.h:
1063         * inspector/front-end/DOMAgent.js:
1064         (WebInspector.DOMDocument.prototype.addEventListener):
1065         (WebInspector.DOMDocument.prototype.removeEventListener):
1066         (WebInspector.DOMDocument.prototype._fireDomEvent):
1067         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
1068         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
1069         (WebInspector.DOMAgent.prototype._setChildNodes):
1070         (WebInspector.CSSStyleDeclaration.parseRule):
1071         (WebInspector.childNodeInserted):
1072         (WebInspector.childNodeRemoved):
1073         * inspector/front-end/ElementsPanel.js:
1074         (WebInspector.ElementsPanel):
1075         (WebInspector.ElementsPanel.prototype.reset):
1076         (WebInspector.ElementsPanel.prototype.addStyleChange):
1077         (WebInspector.ElementsPanel.prototype.removeStyleChange):
1078         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1079         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1080         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
1081         * inspector/front-end/ElementsTreeOutline.js:
1082         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
1083         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
1084         (WebInspector.ElementsTreeElement):
1085         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
1086         (WebInspector.ElementsTreeElement.prototype._updateChildren):
1087         (WebInspector.ElementsTreeElement.prototype.onexpand):
1088         * inspector/front-end/InjectedScript.js:
1089         (InjectedScript.addStyleSelector):
1090         (InjectedScript._serializeRule):
1091         * inspector/front-end/StylesSidebarPane.js:
1092         (WebInspector.StylePropertiesSection):
1093         * inspector/front-end/inspector.js:
1094         (WebInspector.set hoveredDOMNode):
1095         * inspector/front-end/treeoutline.js:
1096         (TreeOutline.prototype.findTreeElement):
1097         * inspector/front-end/utilities.js:
1098         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
1099         (Node.prototype.enclosingNodeOrSelfWithClass):
1100         (isAncestorNode):
1101         (firstCommonNodeAncestor):
1102         (traverseNextNode):
1103         (traversePreviousNode):
1104         ():
1105         * loader/FrameLoader.cpp:
1106         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
1107         * page/android/InspectorControllerAndroid.cpp:
1108
1109 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1110
1111         Reviewed by Dave Hyatt
1112
1113         Optimize updateFillImages() to not add/remove clients every time
1114         https://bugs.webkit.org/show_bug.cgi?id=28334
1115
1116         Optimize the case where old and new just have a single layer pointing to the same (or no)
1117         image.
1118
1119         * rendering/RenderObject.cpp:
1120         (WebCore::RenderObject::updateFillImages):
1121
1122 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1123
1124         Reviewed by Anders Carlsson.
1125
1126         Implement animations of multiple text-shadows and -webkit-box-shadows.
1127         https://bugs.webkit.org/show_bug.cgi?id=28266
1128         
1129         Test: transitions/multiple-shadow-transitions.html
1130
1131         * page/animation/AnimationBase.cpp:
1132         (WebCore::PropertyWrapperShadow::equals):
1133         (WebCore::PropertyWrapperShadow::blend):
1134
1135 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
1136
1137         Reviewed by Anders Carlsson.
1138
1139         Make transitions work for position and size of multiple backgrounds and masks.
1140         https://bugs.webkit.org/show_bug.cgi?id=28266
1141         
1142         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
1143         properties animatable with multiple backgrounds, rather than just animating the first one.
1144
1145         Tests: transitions/multiple-background-size-transitions.html
1146                transitions/multiple-background-transitions.html
1147                transitions/multiple-mask-transitions.html
1148
1149         * page/animation/AnimationBase.cpp:
1150         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
1151         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
1152         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
1153         (WebCore::FillLayerPropertyWrapperGetter::equals):
1154         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
1155         (WebCore::FillLayerPropertyWrapper::blend):
1156         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1157         (WebCore::FillLayersPropertyWrapper::equals):
1158         (WebCore::FillLayersPropertyWrapper::blend):
1159         (WebCore::ensurePropertyMap):
1160         * rendering/style/FillLayer.h:
1161         (WebCore::FillLayer::setXPosition):
1162         (WebCore::FillLayer::setYPosition):
1163         (WebCore::FillLayer::setSize):
1164
1165 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
1166
1167         Reviewed by Jan Alonzo.
1168
1169         Don't crash in fieldset code when WML is enabled.
1170         https://bugs.webkit.org/show_bug.cgi?id=28012
1171
1172         Test: fast/wml/html-fieldset-crash.html
1173
1174         * rendering/RenderFieldset.cpp:
1175         (WebCore::RenderFieldset::findLegend): ++brackets
1176
1177 2009-08-15  Sam Weinig  <sam@webkit.org>
1178
1179         Try and enable EventSource on Windows.
1180
1181         * WebCore.vcproj/WebCoreCommon.vsprops:
1182         * WebCore.vcproj/build-generated-files.sh:
1183
1184 2009-08-15  Sam Weinig  <sam@webkit.org>
1185
1186         Reviewed by Dan Bernstein.
1187
1188         Setting attribute event listeners to the body does not set them on the window
1189         https://bugs.webkit.org/show_bug.cgi?id=28343
1190
1191         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
1192                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
1193
1194         * html/HTMLBodyElement.cpp:
1195         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
1196         (WebCore::HTMLBodyElement::setOnerror): Ditto.
1197         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
1198         (WebCore::HTMLBodyElement::setOnload): Ditto.
1199         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
1200         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
1201         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
1202         (WebCore::HTMLBodyElement::setOnonline): Ditto.
1203         (WebCore::HTMLBodyElement::setOnresize): Ditto.
1204         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
1205         (WebCore::HTMLBodyElement::setOnunload): Ditto.
1206         * html/HTMLFrameSetElement.cpp:
1207         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
1208         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
1209         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
1210         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
1211         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
1212         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
1213         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
1214         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
1215         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
1216         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
1217         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
1218
1219 2009-08-15  Sam Weinig  <sam@webkit.org>
1220
1221         Reviewed by Dan Bernstein.
1222
1223         Fix up some IDL comments.
1224
1225         * html/HTMLBodyElement.idl:
1226         * html/HTMLFrameSetElement.idl:
1227
1228 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
1229
1230         Reviewed by Sam Weinig.
1231
1232         Added implementation of the EventSource object that enables
1233         server-sent events from HTML5.
1234         http://dev.w3.org/html5/eventsource/
1235         https://bugs.webkit.org/show_bug.cgi?id=14997
1236
1237         Tests: fast/eventsource/eventsource-attribute-listeners.html
1238                fast/eventsource/eventsource-constructor.html
1239                http/tests/eventsource/eventsource-bad-mime-type.html
1240                http/tests/eventsource/eventsource-parse-event-stream.html
1241                http/tests/eventsource/eventsource-reconnect.html
1242                http/tests/eventsource/eventsource-status-code-states.html
1243                http/tests/eventsource/workers/eventsource-simple.html
1244
1245         * Configurations/FeatureDefines.xcconfig:
1246         * DerivedSources.cpp:
1247         * DerivedSources.make:
1248         * GNUmakefile.am:
1249         * WebCore.pro:
1250         * WebCore.vcproj/WebCore.vcproj:
1251         * WebCore.xcodeproj/project.pbxproj:
1252         * bindings/js/JSDOMWindowCustom.cpp:
1253         (WebCore::JSDOMWindow::eventSource):
1254         * bindings/js/JSEventSourceConstructor.cpp: Added.
1255         (WebCore::):
1256         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
1257         (WebCore::constructEventSource):
1258         (WebCore::JSEventSourceConstructor::getConstructData):
1259         * bindings/js/JSEventSourceConstructor.h: Added.
1260         (WebCore::JSEventSourceConstructor::classInfo):
1261         * bindings/js/JSEventSourceCustom.cpp: Added.
1262         (WebCore::JSEventSource::markChildren):
1263         (WebCore::JSEventSource::addEventListener):
1264         (WebCore::JSEventSource::removeEventListener):
1265         * bindings/js/JSEventTarget.cpp:
1266         (WebCore::toJS):
1267         (WebCore::toEventTarget):
1268         * bindings/js/JSWorkerContextCustom.cpp:
1269         (WebCore::JSWorkerContext::eventSource):
1270         * dom/EventNames.h:
1271         * dom/EventTarget.cpp:
1272         (WebCore::EventTarget::toEventSource):
1273         * dom/EventTarget.h:
1274         * page/DOMWindow.idl:
1275         * page/EventSource.cpp: Added.
1276         (WebCore::EventSource::EventSource):
1277         (WebCore::EventSource::~EventSource):
1278         (WebCore::EventSource::connect):
1279         (WebCore::EventSource::endRequest):
1280         (WebCore::EventSource::scheduleReconnect):
1281         (WebCore::EventSource::reconnectTimerFired):
1282         (WebCore::EventSource::url):
1283         (WebCore::EventSource::readyState):
1284         (WebCore::EventSource::close):
1285         (WebCore::EventSource::scriptExecutionContext):
1286         (WebCore::EventSource::addEventListener):
1287         (WebCore::EventSource::removeEventListener):
1288         (WebCore::EventSource::dispatchEvent):
1289         (WebCore::EventSource::didReceiveResponse):
1290         (WebCore::EventSource::didReceiveData):
1291         (WebCore::EventSource::didFinishLoading):
1292         (WebCore::EventSource::didFail):
1293         (WebCore::EventSource::didFailRedirectCheck):
1294         (WebCore::EventSource::parseEventStream):
1295         (WebCore::EventSource::parseEventStreamLine):
1296         (WebCore::EventSource::dispatchGenericEvent):
1297         (WebCore::EventSource::dispatchMessageEvent):
1298         (WebCore::EventSource::stop):
1299         * page/EventSource.h: Added.
1300         (WebCore::EventSource::create):
1301         (WebCore::EventSource::):
1302         (WebCore::EventSource::setOnopen):
1303         (WebCore::EventSource::onopen):
1304         (WebCore::EventSource::setOnmessage):
1305         (WebCore::EventSource::onmessage):
1306         (WebCore::EventSource::setOnerror):
1307         (WebCore::EventSource::onerror):
1308         (WebCore::EventSource::toEventSource):
1309         (WebCore::EventSource::eventListeners):
1310         (WebCore::EventSource::refEventTarget):
1311         (WebCore::EventSource::derefEventTarget):
1312         * page/EventSource.idl: Added.
1313         * workers/WorkerContext.idl:
1314
1315 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
1316
1317         Reviewed by Timothy Hatcher.
1318
1319         WebInspector: Minor DOMAgent bugfixes.
1320
1321         https://bugs.webkit.org/show_bug.cgi?id=28177
1322
1323         * inspector/InspectorDOMAgent.cpp:
1324         (WebCore::InspectorDOMAgent::nodeForId):
1325         * inspector/front-end/DOMAgent.js:
1326         (WebInspector.DOMAgent):
1327         * inspector/front-end/ElementsPanel.js:
1328         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1329
1330 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
1331
1332         Reviewed by Timothy Hatcher.
1333
1334         WebInspector: Evaluating objects while on a breakpoint dumps string
1335         representation instead of live object. 
1336
1337         https://bugs.webkit.org/show_bug.cgi?id=28280
1338
1339         * inspector/front-end/ConsoleView.js:
1340         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
1341         (WebInspector.ConsoleView.prototype.completions):
1342         (WebInspector.ConsoleView.prototype._reportCompletions):
1343         * inspector/front-end/ScriptsPanel.js:
1344         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
1345         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1346         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
1347
1348 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
1349
1350         Reviewed by Eric Seidel.
1351
1352         [Haiku] Adding two new files to WebCore/platform/haiku:
1353         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
1354         https://bugs.webkit.org/show_bug.cgi?id=28129
1355
1356         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
1357         (WebCore::submitButtonDefaultLabel):
1358         (WebCore::inputElementAltText):
1359         (WebCore::resetButtonDefaultLabel):
1360         (WebCore::defaultLanguage):
1361         (WebCore::searchableIndexIntroduction):
1362         (WebCore::fileButtonChooseFileLabel):
1363         (WebCore::fileButtonNoFileSelectedLabel):
1364         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1365         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1366         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1367         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1368         (WebCore::contextMenuItemTagDownloadImageToDisk):
1369         (WebCore::contextMenuItemTagCopyImageToClipboard):
1370         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1371         (WebCore::contextMenuItemTagCopy):
1372         (WebCore::contextMenuItemTagGoBack):
1373         (WebCore::contextMenuItemTagGoForward):
1374         (WebCore::contextMenuItemTagStop):
1375         (WebCore::contextMenuItemTagReload):
1376         (WebCore::contextMenuItemTagCut):
1377         (WebCore::contextMenuItemTagPaste):
1378         (WebCore::contextMenuItemTagNoGuessesFound):
1379         (WebCore::contextMenuItemTagIgnoreSpelling):
1380         (WebCore::contextMenuItemTagLearnSpelling):
1381         (WebCore::contextMenuItemTagSearchWeb):
1382         (WebCore::contextMenuItemTagLookUpInDictionary):
1383         (WebCore::contextMenuItemTagOpenLink):
1384         (WebCore::contextMenuItemTagIgnoreGrammar):
1385         (WebCore::contextMenuItemTagSpellingMenu):
1386         (WebCore::contextMenuItemTagShowSpellingPanel):
1387         (WebCore::contextMenuItemTagCheckSpelling):
1388         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1389         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1390         (WebCore::contextMenuItemTagFontMenu):
1391         (WebCore::contextMenuItemTagBold):
1392         (WebCore::contextMenuItemTagItalic):
1393         (WebCore::contextMenuItemTagUnderline):
1394         (WebCore::contextMenuItemTagOutline):
1395         (WebCore::contextMenuItemTagWritingDirectionMenu):
1396         (WebCore::contextMenuItemTagDefaultDirection):
1397         (WebCore::contextMenuItemTagLeftToRight):
1398         (WebCore::contextMenuItemTagRightToLeft):
1399         (WebCore::contextMenuItemTagInspectElement):
1400         (WebCore::searchMenuNoRecentSearchesText):
1401         (WebCore::searchMenuRecentSearchesText):
1402         (WebCore::searchMenuClearRecentSearchesText):
1403         (WebCore::unknownFileSizeText):
1404         (WebCore::AXWebAreaText):
1405         (WebCore::AXLinkText):
1406         (WebCore::AXListMarkerText):
1407         (WebCore::AXImageMapText):
1408         (WebCore::AXHeadingText):
1409         (WebCore::imageTitle):
1410         (WebCore::contextMenuItemTagTextDirectionMenu):
1411         (WebCore::AXButtonActionVerb):
1412         (WebCore::AXTextFieldActionVerb):
1413         (WebCore::AXRadioButtonActionVerb):
1414         (WebCore::AXCheckedCheckBoxActionVerb):
1415         (WebCore::AXUncheckedCheckBoxActionVerb):
1416         (WebCore::AXLinkActionVerb):
1417         (WebCore::AXDefinitionListTermText):
1418         (WebCore::AXDefinitionListDefinitionText):
1419         * platform/haiku/LoggingHaiku.cpp: Added.
1420         (WebCore::InitializeLoggingChannelsIfNecessary):
1421
1422 2009-08-15  Darin Adler  <darin@apple.com>
1423
1424         Fix GTK build.
1425
1426         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1427         (fallbackObject): Pass 0 for document. Should be OK at least for now.
1428
1429 2009-08-15  Darin Adler  <darin@apple.com>
1430
1431         Fix Qt build.
1432
1433         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
1434         directly to make CDATASection and Comment nodes.
1435
1436 2009-08-14  Darin Adler  <darin@apple.com>
1437
1438         Reviewed by Sam Weinig.
1439
1440         Make DOM classes start with a reference count of 1, like all other RefCounted
1441         https://bugs.webkit.org/show_bug.cgi?id=28068
1442
1443         First half, everything except for element classes.
1444
1445         * GNUmakefile.am: Removed DocPtr.h.
1446         * WebCore.gypi: Ditto.
1447         * WebCore.vcproj/WebCore.vcproj: Ditto.
1448         * WebCore.xcodeproj/project.pbxproj: Ditto.
1449
1450         * dom/Attr.cpp:
1451         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
1452         have to call it explicitly.
1453         (WebCore::Attr::create): Added.
1454         (WebCore::Attr::setValue): Changed to take AtomicString.
1455         (WebCore::Attr::cloneNode): Use create.
1456
1457         * dom/Attr.h: Added a create function. Made the constructor private,
1458         and a lot of other functions private as well.
1459
1460         * dom/Attribute.cpp:
1461         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
1462
1463         * dom/CDATASection.cpp:
1464         (WebCore::CDATASection::create): Added.
1465         (WebCore::CDATASection::cloneNode): Use create.
1466         (WebCore::CDATASection::virtualCreate): Ditto.
1467
1468         * dom/CDATASection.h: Added a create function. Made everything private.
1469         Removed unneeded destructor declaration.
1470
1471         * dom/CharacterData.cpp:
1472         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
1473         with a single one that takes ConstructionType.
1474
1475         * dom/CharacterData.h: Made more functions be protected and private.
1476         Made m_data be private.
1477
1478         * dom/Comment.cpp:
1479         (WebCore::Comment::Comment): Got rid of an extra constructor.
1480         (WebCore::Comment::create): Added.
1481         (WebCore::Comment::cloneNode): Call create.
1482
1483         * dom/Comment.h: Added a create function. Made everything private.
1484
1485         * dom/ContainerNode.cpp:
1486         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
1487         (WebCore::dispatchChildRemovalEvents): Ditto.
1488
1489         * dom/ContainerNode.h: Made the constructor protected and passed
1490         ConstructionType instead of an isElement boolean.
1491
1492         * dom/DocPtr.h: Removed.
1493
1494         * dom/Document.cpp:
1495         (WebCore::Document::Document): Simplified the code that sets m_document
1496         since it's no longer a smart pointer.
1497         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
1498         and selfOnlyDeref instead of a DocPtr in here.
1499         (WebCore::Document::~Document): Simplified the code that sets m_document
1500         since it's no longer a smart pointer.
1501         (WebCore::Document::createDocumentFragment): Call create.
1502         (WebCore::Document::createTextNode): Ditto.
1503         (WebCore::Document::createComment): Ditto.
1504         (WebCore::Document::createCDATASection): Ditto.
1505         (WebCore::Document::createProcessingInstruction): Ditto.
1506         (WebCore::Document::createEntityReference): Ditto.
1507         (WebCore::Document::createEditingTextNode): Ditto.
1508         (WebCore::Document::importNode): Call Attr::create.
1509         (WebCore::Document::createAttributeNS): Ditto.
1510
1511         * dom/Document.h: Call adoptRef. Made a lot of functions private and
1512         protected and sorted them so public functions come first.
1513
1514         * dom/DocumentFragment.cpp:
1515         (WebCore::DocumentFragment::create): Added.
1516         (WebCore::DocumentFragment::cloneNode): Call create.
1517         * dom/DocumentFragment.h: Added create.
1518
1519         * dom/DocumentType.cpp:
1520         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
1521         (WebCore::DocumentType::cloneNode): Use create.
1522         * dom/DocumentType.h:
1523         (WebCore::DocumentType::create): Call adoptRef.
1524
1525         * dom/EditingText.cpp:
1526         (WebCore::EditingText::create): Added.
1527         * dom/EditingText.h: Added a create function. Made everything private.
1528
1529         * dom/Element.cpp:
1530         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
1531         the zero reference count behavior for classes derived from Element.
1532
1533         * dom/EntityReference.cpp:
1534         (WebCore::EntityReference::create): Added.
1535         (WebCore::EntityReference::cloneNode): Call create.
1536         * dom/EntityReference.h: Added create. Made everything private.
1537
1538         * dom/Node.cpp:
1539         (WebCore::Node::initialRefCount): Added. Inline helper function for
1540         the constructor.
1541         (WebCore::Node::isContainer): Ditto.
1542         (WebCore::Node::isElement): Ditto.
1543         (WebCore::Node::isText): Ditto.
1544         (WebCore::Node::Node): Changed to take a construction type argument.
1545         Since m_document is now a normal pointer, added a call to selfOnlyRef.
1546         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
1547         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
1548         (WebCore::Node::appendTextContent): Use the data function instead of
1549         calling nodeValue functions, which do the same thing in a roundabout way.
1550
1551         * dom/Node.h: Made the constructor protected and replaced the multiple
1552         arguments iwth a single ConstructionType argument. Sorted the public
1553         things first.
1554
1555         * dom/Notation.h: Made most things private.
1556         * dom/Notation.cpp: Removed extra constructor.
1557
1558         * dom/ProcessingInstruction.cpp:
1559         (WebCore::ProcessingInstruction::create): Added.
1560         (WebCore::ProcessingInstruction::cloneNode): Call create.
1561         * dom/ProcessingInstruction.h: Added create function. Made many other
1562         members private.
1563
1564         * dom/Range.cpp:
1565         (WebCore::Range::processContents): Use DocumentFragment::create.
1566
1567         * dom/Text.cpp:
1568         (WebCore::Text::Text): Updated for base class change.
1569         (WebCore::Text::create): Added.
1570         (WebCore::Text::splitText): Changed to not require access to m_data.
1571         (WebCore::Text::cloneNode): Call create.
1572         (WebCore::Text::createRenderer): Call dataImpl.
1573         (WebCore::Text::attach): Call data.
1574         (WebCore::Text::recalcStyle): Call dataImpl.
1575         (WebCore::Text::virtualCreate): Call create.
1576         (WebCore::Text::createWithLengthLimit): Call create.
1577         (WebCore::Text::formatForDebugger): Call data.
1578
1579         * dom/Text.h: Added a create function. Made many other members private.
1580         Renamed createNew to virtualCreate.
1581
1582         * dom/XMLTokenizer.cpp:
1583         (WebCore::XMLTokenizer::enterText): Call Text::create.
1584
1585         * dom/XMLTokenizerLibxml2.cpp:
1586         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
1587         (WebCore::XMLTokenizer::comment): Call Comment::create.
1588
1589         * editing/CompositeEditCommand.cpp:
1590         (WebCore::CompositeEditCommand::deleteInsignificantText):
1591         Call data instead of string.
1592
1593         * editing/CreateLinkCommand.cpp:
1594         (WebCore::CreateLinkCommand::doApply): Call Text::create.
1595
1596         * editing/EditorCommand.cpp:
1597         (WebCore::executeInsertNode): Call DocumentFragment::create.
1598
1599         * editing/SplitTextNodeCommand.cpp:
1600         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
1601
1602         * editing/markup.cpp:
1603         (WebCore::appendStartMarkup): Call data instead of nodeValue.
1604
1605         * html/HTMLDocument.h:
1606         (WebCore::HTMLDocument::create): Call adoptRef.
1607
1608         * html/HTMLElement.cpp:
1609         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
1610         (WebCore::replaceChildrenWithFragment): Call data instead of string.
1611         (WebCore::replaceChildrenWithText): Call Text::create.
1612         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
1613         Text::create.
1614         (WebCore::HTMLElement::setOuterText): Call Text::create.
1615
1616         * html/HTMLKeygenElement.cpp:
1617         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
1618
1619         * html/HTMLOptionElement.cpp:
1620         (WebCore::HTMLOptionElement::setText): Call Text::create.
1621
1622         * html/HTMLParser.cpp:
1623         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
1624         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
1625         (WebCore::HTMLParser::handleIsindex): Call Text::create.
1626
1627         * html/HTMLViewSourceDocument.cpp:
1628         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
1629
1630         * html/HTMLViewSourceDocument.h:
1631         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
1632
1633         * loader/FTPDirectoryDocument.cpp:
1634         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
1635         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
1636
1637         * loader/FTPDirectoryDocument.h:
1638         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
1639         * loader/ImageDocument.h:
1640         (WebCore::ImageDocument::create): Ditto.
1641         * loader/MediaDocument.h:
1642         (WebCore::MediaDocument::create): Ditto.
1643         * loader/PlaceholderDocument.h:
1644         (WebCore::PlaceholderDocument::create): Ditto.
1645         * loader/PluginDocument.h:
1646         (WebCore::PluginDocument::create): Ditto.
1647         * loader/TextDocument.h:
1648         (WebCore::TextDocument::create): Ditto.
1649
1650         * loader/loader.cpp:
1651         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
1652         (WebCore::Loader::Host::didFail): Ditto.
1653
1654         * platform/TreeShared.h:
1655         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
1656         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
1657
1658         * rendering/RenderText.cpp:
1659         (WebCore::RenderText::originalText): Use dataImpl instead of string.
1660
1661         * rendering/RenderTextFragment.cpp:
1662         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
1663         (WebCore::RenderTextFragment::previousCharacter): Ditto.
1664
1665         * svg/SVGDocument.h:
1666         (WebCore::SVGDocument::create): Use adoptRef.
1667
1668         * svg/SVGElementInstance.cpp:
1669         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
1670         PassRefPtr.
1671
1672         * svg/SVGElementInstance.h: Made everything private.
1673
1674         * wml/WMLDocument.h:
1675         (WebCore::WMLDocument::create): Called adoptRef.
1676
1677         * xml/XPathNamespace.cpp:
1678         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
1679         * xml/XPathNamespace.h: Made everything private.
1680
1681         * xml/XSLTProcessor.cpp:
1682         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
1683         Text::create.
1684
1685 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
1686
1687         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
1688         nightly (20866)
1689
1690         https://bugs.webkit.org/show_bug.cgi?id=20866
1691
1692         Reviewed by Oliver Hunt.
1693
1694         * accessibility/AXObjectCache.cpp:
1695         (WebCore::AXObjectCache::AXObjectCache):
1696         Changed to take a pointer to its owner document. This is used by
1697         AXObjectCache::handleFocusedUIElementChanged().
1698         (WebCore::AXObjectCache::focusedUIElementForPage):
1699         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
1700         to be a static function and to take a pointer to a Page.
1701         (WebCore::AXObjectCache::platformGenerateAXID):
1702         Moved the code to generate the next AXID from getAXID() to here. Added
1703         a #if to make this non-WIN only, because Windows has its own
1704         implementation.
1705         (WebCore::AXObjectCache::getAXID):
1706         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
1707
1708         * accessibility/AXObjectCache.h:
1709         Add a declaration for Document and Page. Removed the declaration of
1710         AccessibilityObject, because we include the header. Reordered the
1711         declaration of Node alphabetically. Moved the typedef for AXID to
1712         AccessibilityObject. Removed some trailing whitespace. Added a member
1713         variable to hold a pointer to the owner Document.
1714         (WebCore::AXObjectCache::AXObjectCache):
1715         Changed to take a pointer to its owner Document.
1716         (WebCore::AXObjectCache::focusedUIElementForPage):
1717         Added; code moved from AccessiblityRenderObject::focusedUIElement().
1718         Returns the focused element with respect to accessibility.
1719         (WebCore::AXObjectCache::platformGenerateAXID):
1720         Declare a function to generate an AXID.
1721         (WebCore::AXObjectCache::objectFromAXID):
1722         Return the AccessibilityObject with the given AXID.
1723
1724         * accessibility/AccessibilityObject.h:
1725         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
1726         member use the typedef.
1727         (WebCore::AccessibilityObject::axObjectID):
1728         Changed the return type to use the typedef.
1729         (WebCore::AccessibilityObject::setAXObjectID):
1730         Changed the argument type to use the typedef.
1731
1732         * accessibility/AccessibilityRenderObject.cpp:
1733         Removed some unneeded #includes.
1734         (WebCore::AccessibilityRenderObject::focusedUIElement):
1735         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
1736         call.
1737
1738         * accessibility/win/AXObjectCacheWin.cpp:
1739         (WebCore::AXObjectCache::platformGenerateAXID):
1740         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
1741         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1742         If the Document has no Page, return. If the Page has not focused
1743         element (respecting accessibility), return. Assert that the
1744         accessibility of the focused element is not ignored, and that the
1745         object's AXID will be negative and fit into a LONG when negated.
1746         Broadcast a focus event for the object.
1747
1748         * dom/Document.cpp:
1749         (WebCore::Document::axObjectCache):
1750         Pass this when creating the AXObjectCache.
1751         (WebCore::Document::setFocusedNode):
1752         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
1753
1754 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
1755
1756         Reviewed by Jan Alonzo.
1757
1758         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
1759         https://bugs.webkit.org/show_bug.cgi?id=27028
1760
1761         Remove the improper set of enum WebKitWebViewTargetInfo
1762         by grabbing the target infos via m_helper.
1763
1764         * manual-tests/gtk/copy-htmltext.html: Added.
1765         * platform/Pasteboard.h:
1766         * platform/gtk/PasteboardGtk.cpp:
1767         (WebCore::clipboard_get_contents_cb):
1768         * platform/gtk/PasteboardHelper.h:
1769
1770 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
1771
1772         Reviewed by Dave Hyatt.
1773
1774         Fix an assertion when bringing up the Inspector.
1775         https://bugs.webkit.org/show_bug.cgi?id=28318
1776         
1777         The fix for bug 28295 assumed that image clients count the number of times
1778         addClient/removeClient is called. That was true for CachedResource clients,
1779         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
1780         
1781         Fix by making CSSImageGeneratorValue count the number of times a client is
1782         added/removed.
1783
1784         * css/CSSCanvasValue.cpp:
1785         (WebCore::CSSCanvasValue::canvasChanged):
1786         (WebCore::CSSCanvasValue::canvasResized):
1787         * css/CSSImageGeneratorValue.cpp:
1788         (WebCore::CSSImageGeneratorValue::addClient):
1789         (WebCore::CSSImageGeneratorValue::removeClient):
1790         (WebCore::CSSImageGeneratorValue::getImage):
1791         * css/CSSImageGeneratorValue.h:
1792
1793 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
1794
1795         Reviewed by Kevin Ollivier.
1796
1797         Correct libcurl crash when downloading local files.
1798         https://bugs.webkit.org/show_bug.cgi?id=28312
1799
1800         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
1801
1802         * platform/network/curl/ResourceHandleManager.cpp:
1803         (WebCore::handleLocalReceiveResponse): New static function that
1804           performs the local setting of valid URL and firing didReceiveResponse.
1805           This code was moved from writeCallback.
1806         (WebCore::writeCallback): Move local file handling to static function
1807           (above) and use the function instead.
1808         (WebCore::readCallback): Add check
1809           for responseFired, and handle as a local file if it was not.
1810
1811 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
1812
1813         Reviewed by Oliver Hunt.
1814
1815         [Haiku] Fix RenderThemeHaiku build.
1816         https://bugs.webkit.org/show_bug.cgi?id=28307
1817
1818         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
1819         instead of RenderTheme.h.
1820         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
1821         before the function.
1822         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
1823         before the function.
1824         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
1825
1826 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
1827
1828         Reviewed by Oliver Hunt.
1829
1830         [Haiku] Adding SharedBufferHaiku to WebCore.
1831         https://bugs.webkit.org/show_bug.cgi?id=28309
1832
1833         * platform/haiku/SharedBufferHaiku.cpp: Added.
1834         (WebCore::SharedBuffer::createWithContentsOfFile):
1835         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
1836         and functions.
1837         (WebCore::signedPublicKeyAndChallengeString):
1838         (WebCore::getSupportedKeySizes):
1839
1840 2009-08-14  Nate Chapin  <japhet@chromium.org>
1841
1842         Reviewed by Dimitri Glazkov.
1843
1844         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
1845
1846         https://bugs.webkit.org/show_bug.cgi?id=28311
1847
1848         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
1849
1850         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1851         (WebCore::ACCESSOR_GETTER):
1852
1853 2009-08-14  Aaron Boodman  <aa@chromium.org>
1854
1855         Reviewed by Alexey Proskuryakov.
1856
1857         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
1858         https://bugs.webkit.org/show_bug.cgi?id=28134
1859
1860         No new tests added since Access Control was already well tested and this is a pure refactor.
1861
1862         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
1863         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
1864         path.
1865
1866         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
1867         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
1868         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
1869         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
1870         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
1871         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
1872         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
1873         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
1874         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
1875         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
1876         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
1877         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
1878         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
1879         * loader/ThreadableLoader.cpp: Ditto.
1880         (WebCore::ThreadableLoader::create): Ditto.
1881         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
1882         * loader/ThreadableLoader.h: Ditto.
1883         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
1884         * loader/WorkerThreadableLoader.cpp: Ditto.
1885         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
1886         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
1887         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
1888         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
1889         * loader/WorkerThreadableLoader.h: Ditto.
1890         (WebCore::WorkerThreadableLoader::create): Ditto.
1891         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
1892         (WebCore::):
1893         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
1894         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
1895         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
1896         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
1897         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
1898         (WebCore::XMLHttpRequest::createRequest): Ditto.
1899         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
1900         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
1901         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
1902         * xml/XMLHttpRequest.h: Ditto.
1903
1904 2009-08-14  Darin Adler  <darin@apple.com>
1905
1906         Reviewed by Sam Weinig.
1907
1908         Rename the confusing isObject(<class>) to inherits(<class>).
1909         It still works on non-objects, returning false.
1910
1911         * bindings/js/JSEventTarget.cpp:
1912         (WebCore::toEventTarget):
1913         * bindings/js/JSGeolocationCustom.cpp:
1914         (WebCore::createPositionCallback):
1915         (WebCore::createPositionErrorCallback):
1916         * bindings/js/JSNodeFilterCustom.cpp:
1917         (WebCore::toNodeFilter):
1918         * bindings/js/JSXMLHttpRequestCustom.cpp:
1919         (WebCore::JSXMLHttpRequest::send):
1920         * bindings/js/JSXSLTProcessorCustom.cpp:
1921         (WebCore::JSXSLTProcessor::importStylesheet):
1922         (WebCore::JSXSLTProcessor::transformToFragment):
1923         (WebCore::JSXSLTProcessor::transformToDocument):
1924         * bindings/scripts/CodeGeneratorJS.pm:
1925         * bridge/objc/objc_runtime.mm:
1926         (JSC::Bindings::callObjCFallbackObject):
1927         * bridge/runtime_method.cpp:
1928         (JSC::callRuntimeMethod):
1929         Updated to new name, inherits, from old name, isObject.
1930
1931 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
1932
1933         Reviewed by Simon Hausmann.
1934
1935         Allow Qt API to list and to remove URL schemes that were registered as
1936         local URL schemes.
1937         [Qt] Allow applications to register their own local URL scheme.
1938         https://bugs.webkit.org/show_bug.cgi?id=28240
1939
1940         * page/SecurityOrigin.cpp:
1941         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
1942         (WebCore::SecurityOrigin::localURLSchemes):
1943         * page/SecurityOrigin.h:
1944
1945 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
1946
1947         Reviewed by Timothy Hatcher.
1948
1949         WebInspector: Wrap console objects late (in the frontend) so that injected
1950         script was already in place.
1951
1952         https://bugs.webkit.org/show_bug.cgi?id=28297
1953
1954         * inspector/ConsoleMessage.cpp:
1955         (WebCore::ConsoleMessage::ConsoleMessage):
1956         * inspector/ConsoleMessage.h:
1957         * inspector/InspectorController.cpp:
1958         (WebCore::InspectorController::addMessageToConsole):
1959         (WebCore::InspectorController::startGroup):
1960         (WebCore::InspectorController::setFrontendProxyObject):
1961         * inspector/InspectorController.h:
1962         * inspector/InspectorFrontend.cpp:
1963         (WebCore::InspectorFrontend::InspectorFrontend):
1964         (WebCore::InspectorFrontend::addMessageToConsole):
1965         * inspector/InspectorFrontend.h:
1966
1967 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
1968
1969         Reviewed by Dan Bernstein.
1970
1971         Fix logic in RenderObject::updateFillImages() that led to incorrect client
1972         counts if an image was used twice in the background-image property.
1973         https://bugs.webkit.org/show_bug.cgi?id=28295
1974
1975         Test: fast/backgrounds/multiple-backgrounds-assert.html
1976
1977         * rendering/RenderObject.cpp:
1978         (WebCore::RenderObject::updateFillImages):
1979         Simplify the logic to call addClient()/removeClient() for every background
1980         image, but go through the new layers first to avoid removing all the
1981         clients of an image.
1982
1983 2009-08-13  Oliver Hunt  <oliver@apple.com>
1984
1985         Reviewed by Maciej Stachowiak.
1986
1987         Devirtualise marking
1988         https://bugs.webkit.org/show_bug.cgi?id=28294
1989
1990         Make sure we override the JSObject createStructure method on those
1991         objects that have custom marking routines.
1992
1993         * bindings/scripts/CodeGeneratorJS.pm:
1994
1995 2009-08-13  Darin Adler  <darin@apple.com>
1996
1997         Reviewed by Mark Rowe.
1998
1999         Follow-up to earlier work to remove dependencies on JavaScriptCore.
2000
2001         * ForwardingHeaders/parser/Parser.h: Removed.
2002         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
2003         of Parser.h.
2004
2005 2009-08-13  Dan Bernstein  <mitz@apple.com>
2006
2007         Reviewed by Eric Seidel.
2008
2009         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
2010         an assertion failure in debug builds
2011         https://bugs.webkit.org/show_bug.cgi?id=28279
2012
2013         Test: fast/flexbox/block-axis.html
2014
2015         * css/CSSPrimitiveValueMappings.h:
2016         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
2017         vertical.
2018
2019 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
2020
2021         Reviewed by Dan Bernstein.
2022
2023         Fix crash when removing reflection on an absolutely-positioned image.
2024         https://bugs.webkit.org/show_bug.cgi?id=28289
2025         
2026         Make sure we clean up the reflection layer when removing the reflection,
2027         so that the RenderLayer tree does not contain pointers to deleted layers.
2028
2029         Test: fast/reflections/reflected-img-crash.html
2030
2031         * rendering/RenderLayer.cpp:
2032         (WebCore::RenderLayer::~RenderLayer):
2033         (WebCore::RenderLayer::styleChanged):
2034         (WebCore::RenderLayer::removeReflection):
2035         * rendering/RenderLayer.h:
2036
2037 2009-08-13  Dan Bernstein  <mitz@apple.com>
2038
2039         Reviewed by Simon Fraser.
2040
2041         misalignment because of float:left of <div> tag
2042         https://bugs.webkit.org/show_bug.cgi?id=15869
2043
2044         One section of http://edgar.sec.gov site draws to the right of the rest
2045         of the content
2046         <rdar://problem/7135951>
2047
2048         Tests: fast/block/float/avoidance-percent-width-compat.html
2049                fast/block/float/avoidance-percent-width-strict.html
2050
2051         * rendering/RenderBlock.cpp:
2052         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
2053             avoidance logic in strict mode and in compatibility mode, which
2054             matches Firefox and IE. Changed to compute and use the computed
2055             width of the child, instead of ignoring non-fixed widths.
2056
2057 2009-08-13  Steve Block  <steveblock@google.com>
2058
2059         Reviewed by Darin Adler.
2060
2061         Geolocation PositionOptions does not use correct default values.
2062         https://bugs.webkit.org/show_bug.cgi?id=27254
2063
2064         Sets the correct default values for the properties of the PositionOptions object
2065         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
2066
2067         Also adds checking to throw an exception if arguments of the incorrect type are
2068         passed to Geolocation methods. Adds a layout test to test this. This test should
2069         pass on all platforms where Geolocation is implemented.
2070
2071         Test: fast/dom/Geolocation/argument-types.html
2072
2073         * bindings/js/JSGeolocationCustom.cpp:
2074         (WebCore::createPositionCallback): Added. Creates the callback.
2075         (WebCore::createPositionErrorCallback): Added. Creates the calback.
2076         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
2077         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
2078         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
2079         * page/Geolocation.cpp:
2080         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
2081         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
2082         * page/PositionOptions.h:
2083         (WebCore::PositionOptions::create): Modified. Creates object with default values.
2084         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
2085         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
2086         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
2087         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
2088         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
2089         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
2090
2091 2009-08-13  David Levin  <levin@chromium.org>
2092
2093         Unreviewed chromium build fix.
2094
2095         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
2096
2097         * bindings/scripts/CodeGeneratorV8.pm:
2098
2099 2009-08-13  Drew Wilson  <atwilson@google.com>
2100
2101         Reviewed by David Levin.
2102
2103         Merge error in SharedWorker code
2104         https://bugs.webkit.org/show_bug.cgi?id=28277
2105
2106         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
2107         No new tests needed.
2108
2109         * workers/DefaultSharedWorkerRepository.cpp:
2110         Removed duplicated functions.
2111
2112 2009-08-13  Kyle Prete  <kylep@chromium.org>
2113
2114         Reviewed by Dave Levin.
2115
2116         Chromium: Show a "Playback Disabled" button on media error.
2117         https://bugs.webkit.org/show_bug.cgi?id=28196
2118         Use a disabled play button when the media file cannot be played.
2119
2120         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
2121
2122         * rendering/RenderThemeChromiumSkia.cpp:
2123         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2124
2125 2009-08-13  Mark Rowe  <mrowe@apple.com>
2126
2127         Try and fix the Qt build.
2128
2129         * bridge/qt/qt_runtime.cpp:
2130
2131 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
2132
2133         Reviewed by Gustavo Noronha.
2134
2135         [GTK] Drag and drop support
2136         https://bugs.webkit.org/show_bug.cgi?id=23642
2137
2138         Utilizes functions that are being called upon drag and drop actions.
2139         Uses different GTK clipboards that hold different types
2140         of drag data - images, HTML markup, text, URL, URL label.
2141         Also clears each clipboard before setting new data to it.
2142
2143         No new tests - despite some implementations, no new functionality
2144         is added until implementations of the GTK drag and drop protocol
2145         in WebKit part.
2146
2147         * platform/gtk/ClipboardGtk.cpp:
2148         (WebCore::ClipboardGtk::ClipboardGtk):
2149         (WebCore::ClipboardGtk::~ClipboardGtk):
2150         (WebCore::getCachedImage):
2151         (WebCore::ClipboardGtk::declareAndWriteDragImage):
2152         (WebCore::ClipboardGtk::writeURL):
2153         (WebCore::ClipboardGtk::writeRange):
2154         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
2155
2156 2009-08-13  Darin Adler  <darin@apple.com>
2157
2158         Reviewed by David Levin.
2159
2160         JavaScriptCore tweaks to get ready for the parser arena
2161         https://bugs.webkit.org/show_bug.cgi?id=28243
2162
2163         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
2164
2165         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
2166         files as Private that are now needed to compile Mac WebKit.
2167
2168         * bindings/js/JSAudioConstructor.cpp:
2169         * bindings/js/JSDOMBinding.cpp:
2170         * bindings/js/JSDOMBinding.h:
2171         * bindings/js/JSDOMWindowCustom.cpp:
2172         * bindings/js/JSHTMLInputElementCustom.cpp:
2173         * bindings/js/JSHistoryCustom.cpp:
2174         * bindings/js/JSImageConstructor.cpp:
2175         * bindings/js/JSLazyEventListener.cpp:
2176         * bindings/js/JSLocationCustom.cpp:
2177         * bindings/js/JSMessageChannelConstructor.cpp:
2178         * bindings/js/JSOptionConstructor.cpp:
2179         * bindings/js/JSWebSocketConstructor.cpp:
2180         * bindings/js/JSWebSocketCustom.cpp:
2181         * bindings/js/JSWorkerConstructor.cpp:
2182         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2183         * bridge/jni/jni_jsobject.mm:
2184         Updated includes.
2185
2186         * inspector/JavaScriptDebugServer.cpp:
2187         (WebCore::JavaScriptDebugServer::sourceParsed):
2188         Change to not assert if this is called with no listeners.
2189         I don't think this was guaranteed before, and we now use
2190         this code path when recompiling. Slightly less efficient,
2191         but this is a one-time cost when turning on the debugger.
2192         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2193         Change to call Debugger::recompileAllJSFunctions.
2194
2195 2009-08-13  Brady Eidson  <beidson@apple.com>
2196
2197         Reviewed by Eric Seidel.
2198
2199         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
2200         onhashchange property cannot be set from javascript.
2201
2202         Test: fast/loader/onhashchange-attribute-listeners.html
2203
2204         * html/HTMLBodyElement.cpp:
2205         (WebCore::HTMLBodyElement::onhashchange):
2206         (WebCore::HTMLBodyElement::setOnhashchange):
2207         * html/HTMLBodyElement.h:
2208         * html/HTMLBodyElement.idl:
2209
2210         * html/HTMLFrameSetElement.cpp:
2211         (WebCore::HTMLFrameSetElement::onhashchange):
2212         (WebCore::HTMLFrameSetElement::setOnhashchange):
2213         * html/HTMLFrameSetElement.h:
2214         * html/HTMLFrameSetElement.idl:
2215
2216         * page/DOMWindow.cpp:
2217         (WebCore::DOMWindow::onhashchange):
2218         (WebCore::DOMWindow::setOnhashchange):
2219         * page/DOMWindow.h:
2220         * page/DOMWindow.idl:
2221
2222 2009-08-13  Mark Rowe  <mrowe@apple.com>
2223
2224         Reviewed by Geoff Garen.
2225
2226         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
2227
2228         * svg/SVGColor.cpp:
2229         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
2230         RGBColor is cleaned up by the caller.
2231         * svg/SVGColor.h:
2232
2233 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
2234
2235         Reviewed by Timothy Hatcher.
2236
2237         WebInspector: Migrate to DOMAgent (serialized access to DOM).
2238
2239         https://bugs.webkit.org/show_bug.cgi?id=28177
2240
2241         * bindings/js/JSInspectorBackendCustom.cpp:
2242         (WebCore::JSInspectorBackend::highlightDOMNode):
2243         (WebCore::JSInspectorBackend::nodeForId):
2244         (WebCore::JSInspectorBackend::idForNode):
2245         (WebCore::JSInspectorBackend::wrapObject):
2246         (WebCore::JSInspectorBackend::unwrapObject):
2247         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
2248         (WebCore::JSInspectorBackend::selectDatabase):
2249         (WebCore::JSInspectorBackend::selectDOMStorage):
2250         * bindings/js/ScriptObjectQuarantine.cpp:
2251         (WebCore::getQuarantinedScriptObject):
2252         * bindings/js/ScriptObjectQuarantine.h:
2253         * bindings/js/ScriptValue.cpp:
2254         (WebCore::ScriptValue::isObject):
2255         * bindings/js/ScriptValue.h:
2256         * bindings/v8/ScriptObjectQuarantine.cpp:
2257         (WebCore::getQuarantinedScriptObject):
2258         * bindings/v8/ScriptObjectQuarantine.h:
2259         * bindings/v8/ScriptValue.h:
2260         (WebCore::ScriptValue::isObject):
2261         * bindings/v8/custom/V8CustomBinding.h:
2262         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
2263         (WebCore::CALLBACK_FUNC_DECL):
2264         * inspector/ConsoleMessage.cpp:
2265         (WebCore::ConsoleMessage::ConsoleMessage):
2266         * inspector/ConsoleMessage.h:
2267         * inspector/InspectorBackend.cpp:
2268         (WebCore::InspectorBackend::clearMessages):
2269         (WebCore::InspectorBackend::loaded):
2270         (WebCore::InspectorBackend::highlight):
2271         (WebCore::InspectorBackend::nodeForId):
2272         (WebCore::InspectorBackend::idForNode):
2273         (WebCore::InspectorBackend::wrapObject):
2274         (WebCore::InspectorBackend::unwrapObject):
2275         (WebCore::InspectorBackend::pushNodePathToFrontend):
2276         (WebCore::InspectorBackend::addNodesToSearchResult):
2277         (WebCore::InspectorBackend::selectDatabase):
2278         (WebCore::InspectorBackend::selectDOMStorage):
2279         * inspector/InspectorBackend.h:
2280         * inspector/InspectorBackend.idl:
2281         * inspector/InspectorController.cpp:
2282         (WebCore::InspectorController::InspectorController):
2283         (WebCore::InspectorController::focusNode):
2284         (WebCore::InspectorController::addMessageToConsole):
2285         (WebCore::InspectorController::clearConsoleMessages):
2286         (WebCore::InspectorController::startGroup):
2287         (WebCore::InspectorController::scriptObjectReady):
2288         (WebCore::InspectorController::setFrontendProxyObject):
2289         (WebCore::InspectorController::close):
2290         (WebCore::InspectorController::didCommitLoad):
2291         (WebCore::InspectorController::wrapObject):
2292         (WebCore::InspectorController::unwrapObject):
2293         * inspector/InspectorController.h:
2294         * inspector/InspectorDOMAgent.cpp:
2295         (WebCore::InspectorDOMAgent::setDocument):
2296         (WebCore::InspectorDOMAgent::handleEvent):
2297         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
2298         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2299         (WebCore::InspectorDOMAgent::nodeForId):
2300         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2301         (WebCore::InspectorDOMAgent::buildObjectForNode):
2302         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2303         (WebCore::InspectorDOMAgent::innerParentElement):
2304         * inspector/InspectorDOMAgent.h:
2305         * inspector/InspectorDOMStorageResource.cpp:
2306         (WebCore::InspectorDOMStorageResource::bind):
2307         * inspector/InspectorFrontend.cpp:
2308         (WebCore::InspectorFrontend::clearConsoleMessages):
2309         (WebCore::InspectorFrontend::updateFocusedNode):
2310         (WebCore::InspectorFrontend::setDocument):
2311         (WebCore::InspectorFrontend::selectDatabase):
2312         (WebCore::InspectorFrontend::selectDOMStorage):
2313         (WebCore::InspectorFrontend::addNodesToSearchResult):
2314         * inspector/InspectorFrontend.h:
2315         * inspector/front-end/ConsoleView.js:
2316         (WebInspector.ConsoleView.prototype.clearMessages):
2317         (WebInspector.ConsoleView.prototype.completions):
2318         (WebInspector.ConsoleView.prototype._reportCompletions):
2319         (WebInspector.ConsoleView.prototype._messagesClicked):
2320         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
2321         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2322         (WebInspector.ConsoleView.prototype._format):
2323         (WebInspector.ConsoleView.prototype._formatfunction):
2324         (WebInspector.ConsoleView.prototype._formatdate):
2325         (WebInspector.ConsoleView.prototype._formatregexp):
2326         (WebInspector.ConsoleView.prototype._formatnode):
2327         (WebInspector.ConsoleView.prototype._formatobject):
2328         * inspector/front-end/DOMAgent.js:
2329         (WebInspector.DOMNode):
2330         (WebInspector.DOMNode.prototype._renumber):
2331         (WebInspector.DOMDocument):
2332         (WebInspector.DOMAgent):
2333         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2334         (WebInspector.DOMAgent.prototype.setAttributeAsync):
2335         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
2336         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
2337         (WebInspector.DOMAgent.prototype.nodeForId):
2338         (WebInspector.DOMAgent.prototype._setDocument):
2339         (WebInspector.DOMAgent.prototype._setChildNodes):
2340         (WebInspector.DOMAgent.prototype._bindNodes):
2341         (WebInspector.DOMAgent.prototype._childNodeInserted):
2342         (WebInspector.CSSStyleDeclaration):
2343         (WebInspector.CSSStyleDeclaration.parseRule):
2344         (WebInspector.setDocument):
2345         (InspectorController.getStyles):
2346         (InspectorController.getComputedStyle):
2347         (InspectorController.getInlineStyle):
2348         (InspectorController.applyStyleText):
2349         (InspectorController.setStyleText):
2350         (InspectorController.toggleStyleEnabled):
2351         (InspectorController.applyStyleRuleText):
2352         (InspectorController.addStyleSelector):
2353         (InspectorController.setStyleProperty):
2354         (InspectorController.getPrototypes):
2355         (InspectorController.getProperties):
2356         (InspectorController.setPropertyValue):
2357         (InspectorController.evaluate):
2358         (InspectorController.addInspectedNode):
2359         (InspectorController.performSearch):
2360         (InspectorController.searchCanceled):
2361         * inspector/front-end/ElementsPanel.js:
2362         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2363         (WebInspector.ElementsPanel.prototype.searchCanceled):
2364         (WebInspector.ElementsPanel.prototype.performSearch):
2365         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
2366         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
2367         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
2368         * inspector/front-end/ElementsTreeOutline.js:
2369         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
2370         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2371         (WebInspector.ElementsTreeElement.prototype.updateChildren):
2372         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2373         * inspector/front-end/InjectedScript.js:
2374         (InjectedScript.applyStyleRuleText):
2375         (InjectedScript.addStyleSelector):
2376         (InjectedScript._doesSelectorAffectNode):
2377         (InjectedScript._serializeRule):
2378         (InjectedScript._serializeStyle):
2379         (InjectedScript.getProperties):
2380         (InjectedScript.evaluate):
2381         (InjectedScript.addInspectedNode):
2382         (InjectedScript.performSearch.addNodesToResults):
2383         (InjectedScript.performSearch.matchExactItems):
2384         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
2385         (InjectedScript.performSearch.matchExactId):
2386         (InjectedScript.performSearch):
2387         (InjectedScript.performSearch.matchExactTagNames):
2388         (InjectedScript.performSearch.matchExactAttributeNames):
2389         (InjectedScript.performSearch.matchPartialTagNames):
2390         (InjectedScript.performSearch.matchStartOfTagNames):
2391         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
2392         (InjectedScript.performSearch.matchPartialAttributeValues):
2393         (InjectedScript.performSearch.matchStyleSelector):
2394         (InjectedScript.performSearch.matchPlainText):
2395         (InjectedScript.performSearch.matchXPathQuery):
2396         (InjectedScript.performSearch.finishedSearching):
2397         (InjectedScript.performSearch.processChunk):
2398         (InjectedScript.searchCanceled):
2399         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
2400         (InjectedScript._ensureCommandLineAPIInstalled):
2401         (InjectedScript._resolveObject):
2402         (InjectedScript._nodeForId):
2403         (InjectedScript._objectForId):
2404         (InjectedScript._createProxyObject):
2405         * inspector/front-end/ObjectPropertiesSection.js:
2406         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2407         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2408         * inspector/front-end/ObjectProxy.js:
2409         (WebInspector.ObjectProxy):
2410         (WebInspector.ObjectPropertyProxy):
2411         * inspector/front-end/PropertiesSidebarPane.js:
2412         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
2413         (WebInspector.PropertiesSidebarPane.prototype.update):
2414         * inspector/front-end/StylesSidebarPane.js:
2415         (WebInspector.StylesSidebarPane.prototype.update.callback):
2416         (WebInspector.StylesSidebarPane.prototype.update):
2417         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2418         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
2419         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
2420         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
2421         (WebInspector.StylePropertyTreeElement.prototype):
2422         * inspector/front-end/inspector.js:
2423         (WebInspector._updateHoverHighlight):
2424         (WebInspector.loaded):
2425         (WebInspector.clearConsoleMessages):
2426         (WebInspector.selectDatabase):
2427         (WebInspector.selectDOMStorage):
2428         (WebInspector.updateFocusedNode):
2429         (WebInspector.addNodesToSearchResult):
2430         * inspector/front-end/utilities.js:
2431         (Object.proxyType):
2432         * storage/Storage.h:
2433         (WebCore::Storage::frame):
2434
2435 2009-08-13  Mark Rowe  <mrowe@apple.com>
2436
2437         Reviewed by Geoff Garen.
2438
2439         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
2440
2441         * css/CSSPrimitiveValue.cpp:
2442         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
2443         newly-allocated RGBColor is cleaned up by the caller.
2444         * css/CSSPrimitiveValue.h:
2445
2446 2009-08-13  Eric Seidel  <eric@webkit.org>
2447
2448         Reviewed by David Hyatt.
2449
2450         wrong font size when css font-family includes monospace
2451         https://bugs.webkit.org/show_bug.cgi?id=19161
2452
2453         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
2454         WebKit has historically used fixed-width default size any time a
2455         font-family includes monospace in the fallback list.
2456
2457         This patch corrects WebKit's behavior to match Firefox.
2458         I also had to fix a bug in WebKit's font-family fallback behavior where
2459         child elements would inherit parts of their parents fallback lists.
2460
2461         This patch is mostly just replacing all cases where we used to check for:
2462         fontDescription.genericFontFamily() == MonospaceFamily
2463         with:
2464         fontDescription.useFixedDefaultSize()
2465
2466         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
2467                fast/css/getComputedStyle/font-family-fallback-reset.html
2468
2469         * css/CSSStyleSelector.cpp:
2470         (WebCore::CSSStyleSelector::applyProperty):
2471            Deploy useFixedDefaultSize().  Also fix the bug where child
2472            FontDescriptions would carry part of the parent font-family fallback list.
2473         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
2474            It's no longer alright to just check genericFontFamily(),
2475            we have to check to make sure the changed style has a matching useFixedDefaultSize().
2476         * platform/graphics/FontDescription.h:
2477         (WebCore::FontDescription::useFixedDefaultSize):
2478            Only use the fixed default size if we have one font family and it is "monospace".
2479            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
2480
2481 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
2482
2483         Reviewed by Dimitri Glazkov.
2484
2485         [v8] Fix atomic string externalization crash.
2486         Atomic string externalization assumes that all non-empty strings
2487         can be externalized which is untrue on 64-bit.  This change fixed
2488         that.
2489
2490         https://bugs.webkit.org/show_bug.cgi?id=28215
2491
2492         This bug causes loads of test crashes, no need to add new tests
2493         specifically for this.
2494
2495         * bindings/v8/V8Binding.cpp:
2496         (WebCore::v8StringToAtomicWebCoreString):
2497
2498 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
2499
2500         Rubberstamped by Darin Adler.
2501
2502         Use ASSERT_UNUSED instead of UNUSED_PARAM
2503
2504         * wml/WMLAnchorElement.cpp:
2505         (WebCore::WMLAnchorElement::deregisterTask):
2506         * wml/WMLDoElement.cpp:
2507         (WebCore::WMLDoElement::deregisterTask):
2508
2509 2009-08-13  Steve Block  <steveblock@google.com>
2510
2511         Reviewed by Darin Adler.
2512
2513         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
2514         https://bugs.webkit.org/show_bug.cgi?id=28262
2515
2516         No new tests possible.
2517
2518         * page/SecurityOrigin.cpp:
2519         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2520
2521 2009-08-13  Dirk Schulze  <krit@webkit.org>
2522
2523         Reviewed by Eric Seidel.
2524
2525         [CAIRO] getImageData fails on a given rect bigger than the image rect
2526
2527         The destination image and the source image was mixed up on creating the
2528         imageData.
2529
2530         This is just a clean up and doesn't affect the current behavior. It's not
2531         possible to test this failure in a LayoutTest. Only canvas uses getImageData
2532         at the moment and returns before calling getImageData, if the image rect does
2533         not contain the requested rect.
2534
2535         * platform/graphics/cairo/ImageBufferCairo.cpp:
2536         (WebCore::getImageData):
2537
2538 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
2539
2540         Reviewed by Eric Seidel.
2541
2542         [Haiku] Adding RenderTheme to WebCore.
2543         https://bugs.webkit.org/show_bug.cgi?id=28258
2544
2545         * platform/haiku/RenderThemeHaiku.cpp: Added.
2546         (WebCore::RenderThemeHaiku::create):
2547         (WebCore::RenderTheme::themeForPage):
2548         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
2549         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
2550         (WebCore::supportsFocus):
2551         (WebCore::RenderThemeHaiku::supportsFocusRing):
2552         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
2553         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
2554         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
2555         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
2556         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
2557         (WebCore::RenderThemeHaiku::systemFont):
2558         (WebCore::RenderThemeHaiku::paintCheckbox):
2559         (WebCore::RenderThemeHaiku::setCheckboxSize):
2560         (WebCore::RenderThemeHaiku::paintRadio):
2561         (WebCore::RenderThemeHaiku::setRadioSize):
2562         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
2563         (WebCore::RenderThemeHaiku::paintMenuList):
2564         * platform/haiku/RenderThemeHaiku.h: Added.
2565         (WebCore::RenderThemeHaiku::supportsHover):
2566
2567 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
2568
2569         Reviewed by Eric Seidel.
2570
2571         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
2572         https://bugs.webkit.org/show_bug.cgi?id=28256
2573
2574         * platform/haiku/ContextMenuHaiku.cpp:
2575         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
2576         (WebCore::ContextMenu::ContextMenu):
2577         (WebCore::ContextMenu::appendItem):
2578         (WebCore::ContextMenu::insertItem):
2579
2580 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
2581
2582         Reviewed by Darin Adler.
2583
2584         Inspector: Show Hidden Cookie Data
2585         https://bugs.webkit.org/show_bug.cgi?id=28185
2586
2587           Added new file Cookie.h to the WebCore XCode
2588
2589         * WebCore.xcodeproj/project.pbxproj:
2590
2591           InspectorController.cookies() binding
2592
2593         * bindings/js/JSInspectorBackendCustom.cpp:
2594         (WebCore::JSInspectorBackend::cookies):
2595         * inspector/InspectorBackend.idl:
2596
2597           Struct for static Cookie information
2598           (name, value, path, domain, expires, httpOnly, secure, session)
2599
2600         * platform/Cookie.h: Added.
2601         (WebCore::Cookie::Cookie):
2602         
2603           Getter for the a list of raw Cookies
2604           getRawCookies(., ., out Vector<Cookie>)
2605         
2606         * platform/CookieJar.h:
2607
2608           Implementation of getRawCookies for the mac platform.
2609
2610         * platform/mac/CookieJar.mm:
2611         (WebCore::getRawCookies):
2612
2613           Stub other CookieJar implementations to satisfy the interface.
2614
2615         * platform/haiku/CookieJarHaiku.cpp:
2616         (WebCore::getRawCookies):
2617         * platform/network/chromium/CookieJarChromium.cpp:
2618         (WebCore::getRawCookies):
2619         * platform/network/curl/CookieJarCurl.cpp:
2620         (WebCore::getRawCookies):
2621         * platform/network/soup/CookieJarSoup.cpp:
2622         (WebCore::getRawCookies):
2623         * platform/network/win/CookieJarCFNetWin.cpp:
2624         (WebCore::getRawCookies):
2625         * platform/network/win/CookieJarWin.cpp:
2626         (WebCore::getRawCookies):
2627         * platform/qt/CookieJarQt.cpp:
2628         (WebCore::getRawCookies):
2629
2630 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2631
2632         Reviewed by Timothy Hatcher.
2633
2634         Add a new gesture in Web Inspector to remove breakpoints
2635         https://bugs.webkit.org/show_bug.cgi?id=19131
2636         
2637         * inspector/front-end/SourceFrame.js:
2638         (WebInspector.SourceFrame.prototype._documentMouseDown):
2639
2640 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
2641
2642         Reviewed by Simon Hausmann.
2643
2644         Symbian target components (library and executable files)
2645         require Unique Identifiers (i.e., UID3).
2646         These identifiers are defined in the respective project
2647         file, conditionally for "symbian" platform.
2648
2649         * WebCore.pro:
2650
2651 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
2652
2653         Reviewed by Eric Seidel.
2654
2655         wrong calculation of overflow size for flexbox and table
2656         https://bugs.webkit.org/show_bug.cgi?id=28064
2657
2658         RenderFlexibleBox and RenderTable were using the width of overflow
2659         to update height of overflow, so height became wrong value and
2660         width was not updated. As the corresponding code of RenderBlock
2661         was sane, I factored it out and used from RenderFlexibleBox and
2662         RenderTable.
2663
2664         * rendering/RenderBlock.cpp:
2665         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
2666         (WebCore::RenderBlock::layoutBlock):
2667         * rendering/RenderBlock.h:
2668         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
2669         (WebCore::RenderFlexibleBox::layoutBlock):
2670         * rendering/RenderTable.cpp:
2671         (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
2672
2673 2009-08-13  Mark Rowe  <mrowe@apple.com>
2674
2675         Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
2676         Windows build in a non-obvious manner.
2677
2678         * WebCore.xcodeproj/project.pbxproj:
2679         * bindings/js/JSInspectorBackendCustom.cpp:
2680         * inspector/InspectorBackend.idl:
2681         * platform/Cookie.h: Removed.
2682         * platform/CookieJar.h:
2683         * platform/haiku/CookieJarHaiku.cpp:
2684         (WebCore::setCookies):
2685         (WebCore::cookies):
2686         * platform/mac/CookieJar.mm:
2687         * platform/network/chromium/CookieJarChromium.cpp:
2688         * platform/network/curl/CookieJarCurl.cpp:
2689         * platform/network/soup/CookieJarSoup.cpp:
2690         * platform/network/win/CookieJarCFNetWin.cpp:
2691         * platform/network/win/CookieJarWin.cpp:
2692         * platform/qt/CookieJarQt.cpp:
2693
2694 2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
2695
2696         Not reviewed: build fix (for r47192), adding new file from
2697         https://bugs.webkit.org/show_bug.cgi?id=28174
2698
2699         * inspector/front-end/StatusBarButton.js: Added.
2700
2701 2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
2702
2703         Reviewed by Timothy Hatcher.
2704
2705         Introduced StatusBarButton class that encapsulates glyphs support.
2706         Views updated accordingly.
2707
2708         https://bugs.webkit.org/show_bug.cgi?id=28174
2709
2710         * WebCore.gypi:
2711         * WebCore.vcproj/WebCore.vcproj:
2712         * inspector/front-end/CookieItemsView.js:
2713         (WebInspector.CookieItemsView):
2714         (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
2715         (WebInspector.CookieItemsView.prototype.hide):
2716         (WebInspector.CookieItemsView.prototype.update):
2717         * inspector/front-end/DOMStorageItemsView.js:
2718         (WebInspector.DOMStorageItemsView):
2719         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
2720         (WebInspector.DOMStorageItemsView.prototype.hide):
2721         (WebInspector.DOMStorageItemsView.prototype.update):
2722         * inspector/front-end/ElementsPanel.js:
2723         (WebInspector.ElementsPanel):
2724         (WebInspector.ElementsPanel.prototype.get statusBarItems):
2725         (WebInspector.ElementsPanel.prototype.hide):
2726         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
2727         * inspector/front-end/Panel.js:
2728         * inspector/front-end/ProfileView.js:
2729         (WebInspector.ProfileView):
2730         (WebInspector.ProfileView.prototype.get statusBarItems):
2731         (WebInspector.ProfileView.prototype._updatePercentButton):
2732         (WebInspector.ProfileView.prototype._focusClicked):
2733         (WebInspector.ProfileView.prototype._excludeClicked):
2734         (WebInspector.ProfileView.prototype._resetClicked):
2735         * inspector/front-end/ProfilesPanel.js:
2736         (WebInspector.ProfilesPanel):
2737         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
2738         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2739         (WebInspector.ProfilesPanel.prototype._updateInterface):
2740         * inspector/front-end/ResourcesPanel.js:
2741         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
2742         (WebInspector.ResourcesPanel.prototype.reset):
2743         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
2744         * inspector/front-end/ScriptsPanel.js:
2745         (WebInspector.ScriptsPanel):
2746         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
2747         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
2748         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2749         * inspector/front-end/StatusBarButton.js: Added.
2750         (WebInspector.StatusBarButton):
2751         (WebInspector.StatusBarButton.prototype._clicked):
2752         (WebInspector.StatusBarButton.prototype.get disabled):
2753         (WebInspector.StatusBarButton.prototype.set disabled):
2754         (WebInspector.StatusBarButton.prototype.get title):
2755         (WebInspector.StatusBarButton.prototype.set title):
2756         (WebInspector.StatusBarButton.prototype.get toggled):
2757         (WebInspector.StatusBarButton.prototype.set toggled):
2758         (WebInspector.StatusBarButton.prototype.get visible):
2759         (WebInspector.StatusBarButton.prototype.set visible):
2760         * inspector/front-end/WebKit.qrc:
2761         * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
2762         * inspector/front-end/inspector.html:
2763
2764 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
2765
2766         Reviewed by Simon Hausmann.
2767
2768         [Qt] Add shadow support in GraphicsContext::fillRect().
2769
2770         * platform/graphics/qt/GraphicsContextQt.cpp:
2771         (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
2772         (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
2773
2774 2009-08-13  David Levin  <levin@chromium.org>
2775
2776         Unreviewed build fix for Chromium Linux.
2777
2778         Rollback r47157 as this broke debug tests of Chromium Linux.
2779
2780         * platform/graphics/skia/PlatformContextSkia.cpp:
2781         (PlatformContextSkia::setupPaintCommon):
2782
2783 2009-08-13  David Levin  <levin@chromium.org>
2784
2785         Unreviewed build fix for chromium.
2786
2787         The chromium build broke due to r47185 which added
2788         a cookies array to inspector/InspectorBackend.idl.
2789
2790         * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
2791         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
2792         (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
2793          for the cookies callback.
2794
2795 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
2796
2797         Reviewed by Timothy Hatcher.
2798
2799         Inspector: Show Hidden Cookie Data
2800         https://bugs.webkit.org/show_bug.cgi?id=28185
2801
2802           Added new file Cookie.h to the WebCore XCode
2803
2804         * WebCore.xcodeproj/project.pbxproj:
2805
2806           InspectorController.cookies() binding
2807
2808         * bindings/js/JSInspectorBackendCustom.cpp:
2809         (WebCore::JSInspectorBackend::cookies):
2810         * inspector/InspectorBackend.idl:
2811
2812           Struct for static Cookie information
2813           (name, value, path, domain, expires, httpOnly, secure, session)
2814
2815         * platform/Cookie.h: Added.
2816         (WebCore::Cookie::Cookie):
2817         
2818           Getter for the a list of raw Cookies
2819           getRawCookies(., ., out Vector<Cookie>)
2820         
2821         * platform/CookieJar.h:
2822
2823           Implementation of getRawCookies for the mac platform.
2824
2825         * platform/mac/CookieJar.mm:
2826         (WebCore::getRawCookies):
2827
2828           Stub other CookieJar implementations to satisfy the interface.
2829
2830         * platform/haiku/CookieJarHaiku.cpp:
2831         (WebCore::getRawCookies):
2832         * platform/network/chromium/CookieJarChromium.cpp:
2833         (WebCore::getRawCookies):
2834         * platform/network/curl/CookieJarCurl.cpp:
2835         (WebCore::getRawCookies):
2836         * platform/network/soup/CookieJarSoup.cpp:
2837         (WebCore::getRawCookies):
2838         * platform/network/win/CookieJarCFNetWin.cpp:
2839         (WebCore::getRawCookies):
2840         * platform/network/win/CookieJarWin.cpp:
2841         (WebCore::getRawCookies):
2842         * platform/qt/CookieJarQt.cpp:
2843         (WebCore::getRawCookies):
2844
2845 2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
2846
2847         Reviewed by Timothy Hatcher.
2848
2849         Inspector: Cookies in Storage Panel
2850         https://bugs.webkit.org/show_bug.cgi?id=27202
2851
2852           Data Structure for a Cookie. Just Key/Value for Now:
2853
2854         * inspector/front-end/Cookie.js: Added.
2855         (WebInspector.Cookie):
2856         (WebInspector.Cookie.prototype.get key):
2857         (WebInspector.Cookie.prototype.set key):
2858         (WebInspector.Cookie.prototype.get value):
2859         (WebInspector.Cookie.prototype.set value):
2860
2861           A Storage View for Cookies.  Allows for Refresh/Delete:
2862
2863         * inspector/front-end/CookieItemsView.js: Added.
2864         (WebInspector.CookieItemsView):
2865         (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
2866         (WebInspector.CookieItemsView.prototype.show):
2867         (WebInspector.CookieItemsView.prototype.hide):
2868         (WebInspector.CookieItemsView.prototype.update):
2869         (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
2870         (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
2871         (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
2872         (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
2873
2874           Include a SidebarSection Section in the Databases Panel:
2875
2876         * inspector/front-end/DatabasesPanel.js:
2877         (WebInspector.DatabasesPanel):
2878         (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
2879         (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
2880         (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
2881         (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
2882         (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
2883         (WebInspector.CookieSidebarTreeElement):
2884         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
2885         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
2886         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
2887         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
2888         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
2889
2890           New "Cookies" Image for the Sidebar:
2891
2892         * inspector/front-end/Images/cookie.png: Added.
2893         * inspector/front-end/inspector.css:
2894
2895           Include the Added Files where appropriate:
2896
2897         * inspector/front-end/WebKit.qrc:
2898         * inspector/front-end/inspector.html:
2899
2900 2009-08-12  George Wright  <george.wright@torchmobile.com>
2901
2902         Reviewed by George Staikos.
2903
2904         Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
2905
2906         https://bugs.webkit.org/show_bug.cgi?id=28246
2907
2908         * WebCore.pro:
2909
2910 2009-08-12  George Staikos  <george.staikos@torchmobile.com>
2911
2912         Reviewed by Adam Treat.
2913
2914         Mark unused variables to avoid compile failures in -Werror.
2915
2916         * wml/WMLAnchorElement.cpp:
2917         (WebCore::WMLAnchorElement::deregisterTask):
2918         * wml/WMLDoElement.cpp:
2919         (WebCore::WMLDoElement::deregisterTask):
2920
2921 2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
2922
2923         Reviewed by Niko Zimmermann.
2924
2925         This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
2926         It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
2927         Minor fixes by Eric Seidel and George Staikos.
2928         https://bugs.webkit.org/show_bug.cgi?id=23727
2929
2930         No new tests, the tests have already been landed at LayoutTests/fast/wcss/
2931
2932         * WebCore.pro:
2933         * css/CSSParser.cpp:
2934         (WebCore::CSSParser::parseValue):
2935         * css/CSSPrimitiveValueMappings.h:
2936         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2937         * css/CSSStyleSelector.cpp:
2938         (WebCore::CSSStyleSelector::applyProperty):
2939         * css/CSSValueKeywords.in:
2940         * css/WCSSPropertyNames.in: Added.
2941         * css/WCSSValueKeywords.in: Added.
2942         * rendering/RenderMarquee.cpp:
2943         (WebCore::RenderMarquee::start):
2944         * rendering/RenderObject.cpp:
2945         (WebCore::RenderObject::createObject):
2946         * rendering/style/RenderStyleConstants.h:
2947         (WebCore::):
2948
2949 2009-08-12  George Wright  <george.wright@torchmobile.com>
2950
2951         Reviewed by David Hyatt.
2952
2953         Update the canvas renderer's intrinsic size with the zoomed
2954         lengths and ensure the intrinsic size is correct when setting
2955         an initial style.
2956
2957         https://bugs.webkit.org/show_bug.cgi?id=26908
2958
2959         Test: fast/canvas/canvas-zoom.html
2960
2961         * rendering/RenderHTMLCanvas.cpp:
2962         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
2963         * rendering/RenderReplaced.cpp:
2964         (WebCore::RenderReplaced::styleDidChange):
2965
2966 2009-08-12  Alpha Lam  <hclam@chromium.org>
2967
2968         Reviewed by Simon Fraser.
2969
2970         Fix regression for dragging the media controller thumb.
2971         https://bugs.webkit.org/show_bug.cgi?id=28211
2972
2973         Modified the conditions for rejecting events on the media controller
2974         to only rejecting mouse events not from the left button.
2975
2976         Test: media/controls-drag-timebar.html
2977
2978         * rendering/MediaControlElements.cpp:
2979         (WebCore::MediaControlTimelineElement::defaultEventHandler):
2980
2981 2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
2982
2983         Reviewed by Eric Seidel.
2984
2985         Fixing a deadlock caused by two transactions that run on two
2986         different database handles for the same DB. Adding a per-DB thread
2987         transaction coordinator that allows the DB thread to run only one
2988         transaction per DB file at any given time.
2989
2990         Adding a regression test for this bug.
2991
2992         Test: storage/multiple-transactions-on-different-handles.html
2993
2994         https://bugs.webkit.org/show_bug.cgi?id=27966
2995
2996         * GNUmakefile.am:
2997         * WebCore.gypi:
2998         * WebCore.vcproj/WebCore.vcproj:
2999         * WebCore.xcodeproj/project.pbxproj:
3000         * storage/Database.cpp:
3001         (WebCore::Database::transactionCoordinator):
3002         * storage/Database.h:
3003         * storage/DatabaseThread.cpp:
3004         (WebCore::DatabaseThread::DatabaseThread):
3005         * storage/DatabaseThread.h:
3006         (WebCore::DatabaseThread::transactionCoordinator):
3007         * storage/SQLTransaction.cpp:
3008         (WebCore::SQLTransaction::SQLTransaction):
3009         (WebCore::SQLTransaction::debugStepName):
3010         (WebCore::SQLTransaction::performNextStep):
3011         (WebCore::SQLTransaction::aquireLock):
3012         (WebCore::SQLTransaction::lockAquired):
3013         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
3014         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
3015         * storage/SQLTransaction.h:
3016         * storage/SQLTransactionCoordinator.cpp: Added.
3017         * storage/SQLTransactionCoordinator.h: Added.
3018
3019 2009-08-12  Darin Adler  <darin@apple.com>
3020
3021         Reviewed by Geoff Garen.
3022
3023         Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
3024         https://bugs.webkit.org/show_bug.cgi?id=28194
3025
3026         * GNUmakefile.am: Added the two new source files.
3027         * WebCore.gypi: Ditto.
3028         * WebCore.pro: Ditto.
3029         * WebCore.vcproj/WebCore.vcproj: Ditto.
3030         * WebCore.xcodeproj/project.pbxproj: Ditto.
3031         * WebCoreSources.bkl: Ditto.
3032
3033         * bindings/js/JSCSSRuleListCustom.cpp: Added.
3034         (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
3035         on rules in the list.
3036
3037         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3038         (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
3039         markDOMObjectWrapper on the CSSValue objects that are owned by the
3040         declaration as values of the properties.
3041
3042         * bindings/js/JSDOMBinding.cpp:
3043         (WebCore::isObservableThroughDOM): Added code to handle some
3044         cases where nodes are observable because they own objects that
3045         in turn have custom properties.
3046
3047         * bindings/js/JSDOMBinding.h: Fix a typo in the header.
3048
3049         * bindings/js/JSDocumentCustom.cpp:
3050         (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
3051         for implementation and styleSheets.
3052
3053         * bindings/js/JSElementCustom.cpp:
3054         (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
3055         for attributes and style.
3056
3057         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
3058         (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
3059         on the rendering context.
3060
3061         * bindings/js/JSStyleSheetCustom.cpp:
3062         (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
3063         items in the stylesheet.
3064
3065         * bindings/js/JSStyleSheetListCustom.cpp:
3066         (WebCore::JSStyleSheetList::markChildren): Added. Calls
3067         markDOMObjectWrapper on stylesheets in the list.
3068
3069         * css/CSSRuleList.idl: Added CustomMarkFunction.
3070         * css/CSSStyleDeclaration.idl: Ditto.
3071         * css/StyleSheetList.idl: Ditto.
3072         * dom/Element.idl: Ditto.
3073         * html/HTMLCanvasElement.idl: Ditto.
3074
3075         * dom/Element.h: Made everything private that could be.
3076         Added access to the attributeMap that does returns
3077         the existing map without doing any of the lazy-updating work. This
3078         is needed to get at the existing attributes during garbage collection
3079         without having side effects.
3080
3081         * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
3082         members private. Added renderingContext2D function for use in
3083         JSHTMLCanvasElement::markChildren.
3084
3085 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
3086
3087         Reviewed by Eric Seidel.
3088
3089         Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
3090         work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
3091         https://bugs.webkit.org/show_bug.cgi?id=28023
3092         https://bugs.webkit.org/show_bug.cgi?id=24794
3093         
3094         Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
3095         scroll, and use that for pan scrolling.
3096
3097         Test: platform/win/fast/events/panScroll-nested-divs.html
3098
3099         * page/EventHandler.cpp:
3100         (WebCore::EventHandler::handleMouseDraggedEvent):
3101         (WebCore::EventHandler::updateAutoscrollRenderer):
3102         (WebCore::EventHandler::handleMousePressEvent):
3103         * rendering/RenderBox.cpp:
3104         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
3105         * rendering/RenderBox.h:
3106         * rendering/RenderLayer.cpp:
3107         (WebCore::RenderLayer::scrollByRecursively):
3108
3109 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
3110
3111         Reviewed by Adam Roben.
3112
3113         Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
3114         list detaches drop down.
3115
3116         Added a function for Windows PopupMenu's to return their class name.
3117
3118          * platform/PopupMenu.h:
3119          * platform/win/PopupMenuWin.cpp:
3120          (WebCore::PopupMenu::popupClassName):
3121
3122 2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
3123
3124         Reviewed by Dan Bernstein.
3125
3126         WINCE PORT: Color and Gradient
3127         https://bugs.webkit.org/show_bug.cgi?id=27511
3128
3129         * platform/graphics/wince/ColorWince.cpp: Added.
3130         * platform/graphics/wince/GradientWince.cpp: Added.
3131
3132 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3133
3134         Reviewed by Eric Seidel.
3135
3136         fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
3137         https://bugs.webkit.org/show_bug.cgi?id=28172
3138
3139         No new tests because it's a just typo fix.
3140
3141         * platform/graphics/skia/PlatformContextSkia.cpp:
3142         (PlatformContextSkia::setupPaintCommon):
3143
3144 2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
3145
3146         Reviewed by Darin Adler.
3147
3148         https://bugs.webkit.org/show_bug.cgi?id=27458
3149         Support for the :default CSS pseudoclass, as per HTML5 spec.
3150         http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
3151
3152         Tests: fast/css/pseudo-default-001.html
3153                fast/css/pseudo-default-002.html
3154                fast/css/pseudo-default-003.html
3155                fast/css/pseudo-default-004.html
3156
3157         * css/CSSSelector.cpp:
3158         (WebCore::CSSSelector::extractPseudoType): pseudoDefault
3159         * css/CSSSelector.h:
3160         (WebCore::CSSSelector::):
3161         * css/CSSStyleSelector.cpp:
3162         (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
3163         aware that only one default button can be present in a form
3164         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
3165         the :default CSS pseudoclass
3166         * dom/Element.h:
3167         (WebCore::Element::isDefaultButtonForForm): new method to determine
3168         whether a FormControl is a default button for a given form
3169         * html/HTMLFormControlElement.cpp:
3170         (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
3171         * html/HTMLFormControlElement.h:
3172         * html/HTMLFormElement.cpp:
3173         (WebCore::HTMLFormElement::defaultButton): extracts the default button
3174         from the form
3175         * html/HTMLFormElement.h:
3176
3177 2009-08-12  David Levin  <levin@chromium.org>
3178
3179         No review, rolling out r47106.
3180         https://bugs.webkit.org/show_bug.cgi?id=28215
3181
3182         This patch relied on a new version of v8 which is not available
3183         in chromium yet.
3184
3185         * bindings/v8/V8Binding.cpp:
3186         (WebCore::v8StringToAtomicWebCoreString):
3187
3188 2009-08-12  Steve Block  <steveblock@google.com>
3189
3190         Reviewed by Eric Seidel.
3191
3192         Bug 26993 : Geolocation::requestPermission()
3193         https://bugs.webkit.org/show_bug.cgi?id=26993
3194
3195         Second patch to allow the Geolocation permission request to chrome to be asynchronous
3196         or synchronous. Fixes a bug where callbacks were called twice when permissions
3197         are granted synchronously.
3198
3199         No new tests required.
3200
3201         * page/Geolocation.cpp:
3202         (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
3203         (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
3204         (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
3205         * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
3206
3207 2009-08-12  Anders Carlsson  <andersca@apple.com>
3208
3209         Reviewed by Sam Weinig.
3210
3211         <rdar://problem/6952336>
3212         CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const + 27
3213
3214         Make sure to set the security origin before calling dispatchWindowObjectAvailable.
3215         
3216         * loader/FrameLoader.cpp:
3217         (WebCore::FrameLoader::begin):
3218
3219 2009-08-12  Xiaomei Ji  <xji@chromium.org>
3220
3221         Reviewed by Eric Seidel.
3222
3223         Fix [Chromium] drop down menu letter selection, skip selections
3224         https://bugs.webkit.org/show_bug.cgi?id=28205
3225
3226         Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
3227         event to the popup, which is not possible (eventSender sends the key
3228         events through webview, we want to go through the webwidget).
3229
3230         * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
3231         * platform/chromium/PopupMenuChromium.cpp:
3232         (WebCore::isCharacterTypeEvent): style change.
3233         (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
3234         a character type event to avoid calling twice for English.
3235         (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
3236
3237 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3238
3239         Reviewed by Eric Seidel.
3240
3241         [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
3242         https://bugs.webkit.org/show_bug.cgi?id=28130
3243
3244         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
3245         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3246         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3247         (WebCore::GraphicsContext::GraphicsContext):
3248         (WebCore::GraphicsContext::~GraphicsContext):
3249         (WebCore::GraphicsContext::platformContext):
3250         (WebCore::GraphicsContext::savePlatformState):
3251         (WebCore::GraphicsContext::restorePlatformState):
3252         (WebCore::GraphicsContext::drawRect):
3253         (WebCore::GraphicsContext::drawLine):
3254         (WebCore::GraphicsContext::drawEllipse):
3255         (WebCore::GraphicsContext::strokeArc):
3256         (WebCore::GraphicsContext::strokePath):
3257         (WebCore::GraphicsContext::drawConvexPolygon):
3258         (WebCore::GraphicsContext::fillRect):
3259         (WebCore::GraphicsContext::fillRoundedRect):
3260         (WebCore::GraphicsContext::fillPath):
3261         (WebCore::GraphicsContext::beginPath):
3262         (WebCore::GraphicsContext::addPath):
3263         (WebCore::GraphicsContext::clip):
3264         (WebCore::GraphicsContext::drawFocusRing):
3265         (WebCore::GraphicsContext::drawLineForText):
3266         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3267         (WebCore::GraphicsContext::roundToDevicePixels):
3268         (WebCore::GraphicsContext::beginTransparencyLayer):
3269         (WebCore::GraphicsContext::endTransparencyLayer):
3270         (WebCore::GraphicsContext::clearRect):
3271         (WebCore::GraphicsContext::strokeRect):
3272         (WebCore::GraphicsContext::setLineCap):
3273         (WebCore::GraphicsContext::setLineJoin):
3274         (WebCore::GraphicsContext::setMiterLimit):
3275         (WebCore::GraphicsContext::setAlpha):
3276         (WebCore::GraphicsContext::setCompositeOperation):
3277         (WebCore::GraphicsContext::clipOut):
3278         (WebCore::GraphicsContext::clipToImageBuffer):
3279         (WebCore::GraphicsContext::getCTM):
3280         (WebCore::GraphicsContext::translate):
3281         (WebCore::GraphicsContext::origin):
3282         (WebCore::GraphicsContext::rotate):
3283         (WebCore::GraphicsContext::scale):
3284         (WebCore::GraphicsContext::clipOutEllipseInRect):
3285         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3286         (WebCore::GraphicsContext::concatCTM):
3287         (WebCore::GraphicsContext::setPlatformShouldAntialias):
3288         (WebCore::GraphicsContext::setImageInterpolationQuality):
3289         (WebCore::GraphicsContext::setURLForRect):
3290         (WebCore::GraphicsContext::setPlatformFont):
3291         (WebCore::GraphicsContext::setPlatformStrokeColor):
3292         (WebCore::GraphicsContext::getHaikuStrokeStyle):
3293         (WebCore::GraphicsContext::setPlatformStrokeStyle):
3294         (WebCore::GraphicsContext::setPlatformStrokeThickness):
3295         (WebCore::GraphicsContext::setPlatformFillColor):
3296         (WebCore::GraphicsContext::clearPlatformShadow):
3297         (WebCore::GraphicsContext::setPlatformShadow):
3298
3299 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3300
3301         Reviewed by Eric Seidel.
3302
3303         [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
3304         https://bugs.webkit.org/show_bug.cgi?id=28128
3305
3306         * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
3307         * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
3308         * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
3309         * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
3310         * platform/graphics/GraphicsContext.cpp: 
3311         * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
3312         class for Haiku. Adding getHaikuStrokeStyle() function.
3313         * platform/graphics/Icon.h: Adding an empty Icon() constructor because
3314         this class isn't implemented for the moment.
3315         * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
3316         for Haiku.
3317         * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
3318         * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
3319         * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
3320         * platform/graphics/Path.h: BRegion is the Path class in Haiku.
3321         * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
3322         native pattern type.
3323         * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.
3324
3325 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3326
3327         Reviewed by Eric Seidel.
3328
3329         [Haiku] Adding modification to the WebCore/platform/ files to allow
3330         the Haiku port.
3331         https://bugs.webkit.org/show_bug.cgi?id=28128
3332
3333         * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
3334         class of Haiku.
3335         * platform/Cursor.h: BCursor is the Cursor class of Haiku.
3336         * platform/DragData.h: Use a BMessage as DragDataRef.
3337         * platform/DragImage.h: Use a BBitmap as DragImageRef.
3338         * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
3339         * platform/PlatformMenuDescription.h: BMenu is the 
3340         PlatformMenuDescription class of Haiku.
3341         * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
3342         * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
3343         * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
3344         * platform/Widget.h: BView is the PlatformWidget class of Haiku.
3345
3346 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3347
3348         Reviewed by Eric Seidel.
3349
3350         [Haiku] Tiny modifications on WebCore files to allow Haiku port.
3351         https://bugs.webkit.org/show_bug.cgi?id=28128
3352
3353         * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
3354         * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
3355         so many PLATFORM(HAIKU) were added to these functions.
3356         (WebCore::CachedFont::~CachedFont):
3357         (WebCore::CachedFont::ensureCustomFontData):
3358         (WebCore::CachedFont::platformDataFromCustomData):
3359         (WebCore::CachedFont::allClientsRemoved):
3360         * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
3361         invertSenseOfTabsToLinks() function.
3362         * page/haiku/DragControllerHaiku.cpp: Style cleanup.
3363         * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
3364         behaves like Cairo or Wx, (not like Skia).
3365         (WebCore::RGBA32Buffer::getAddr):
3366         * platform/text/PlatformString.h: Adding the String(BString&) and BString()
3367         methods specific to Haiku.
3368         * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
3369         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
3370         (WebCore::currentSearchLocaleID): Missing function.
3371
3372 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3373
3374         Reviewed by Eric Seidel.
3375
3376         [Haiku] Adding the ScrollbarTheme files.
3377         https://bugs.webkit.org/show_bug.cgi?id=28125
3378
3379         * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
3380         (buttonWidth):
3381         (WebCore::ScrollbarTheme::nativeTheme):
3382         (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
3383         (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
3384         (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
3385         (WebCore::ScrollbarThemeHaiku::hasButtons):
3386         (WebCore::ScrollbarThemeHaiku::hasThumb):
3387         (WebCore::ScrollbarThemeHaiku::backButtonRect):
3388         (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
3389         (WebCore::ScrollbarThemeHaiku::trackRect):
3390         (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
3391         (WebCore::ScrollbarThemeHaiku::paintButton):
3392         (WebCore::ScrollbarThemeHaiku::paintThumb):
3393         * platform/haiku/ScrollbarThemeHaiku.h: Added.
3394
3395 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
3396
3397         Reviewed by Eric Seidel.
3398
3399         [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
3400         https://bugs.webkit.org/show_bug.cgi?id=28122
3401
3402         * platform/graphics/haiku/ColorHaiku.cpp: Added.
3403         (WebCore::Color::Color):
3404         (WebCore::Color::operator rgb_color):
3405         (WebCore::focusRingColor):
3406         * platform/graphics/haiku/FloatPointHaiku.cpp: Added.
3407         (WebCore::FloatPoint::FloatPoint):
3408         (WebCore::FloatPoint::operator BPoint):
3409         * platform/graphics/haiku/FloatRectHaiku.cpp: Added.
3410         (WebCore::FloatRect::FloatRect):
3411         (WebCore::FloatRect::operator BRect):
3412         * platform/graphics/haiku/GradientHaiku.cpp: Added.
3413         (WebCore::Gradient::platformDestroy):
3414         (WebCore::Gradient::platformGradient):
3415         (WebCore::Gradient::fill):
3416         * platform/graphics/haiku/IntPointHaiku.cpp: Added.
3417         (WebCore::IntPoint::IntPoint):
3418         (WebCore::IntPoint::operator BPoint):
3419         * platform/graphics/haiku/IntRectHaiku.cpp: Added.
3420         (WebCore::IntRect::IntRect):
3421         (WebCore::IntRect::operator BRect):
3422         * platform/graphics/haiku/IntSizeHaiku.cpp: Added.
3423         (WebCore::IntSize::IntSize):
3424         (WebCore::IntSize::operator BSize):
3425         * platform/graphics/haiku/PathHaiku.cpp: Added.
3426         (WebCore::Path::Path):
3427         (WebCore::Path::~Path):
3428         (WebCore::Path::operator=):
3429         (WebCore::Path::hasCurrentPoint):
3430         (WebCore::Path::contains):
3431         (WebCore::Path::translate):
3432         (WebCore::Path::boundingRect):
3433         (WebCore::Path::moveTo):
3434         (WebCore::Path::addLineTo):
3435         (WebCore::Path::addQuadCurveTo):
3436         (WebCore::Path::addBezierCurveTo):
3437         (WebCore::Path::addArcTo):
3438         (WebCore::Path::closeSubpath):
3439         (WebCore::Path::addArc):
3440         (WebCore::Path::addRect):
3441         (WebCore::Path::addEllipse):
3442         (WebCore::Path::clear):
3443         (WebCore::Path::isEmpty):
3444         (WebCore::Path::debugString):
3445         (WebCore::Path::apply):
3446         (WebCore::Path::transform):
3447         (WebCore::Path::strokeBoundingRect):
3448
3449 2009-08-12  Lyon Chen  <lyon.chen@torchmobile.com>
3450
3451         Reviewed by George Staikos.
3452
3453         WINCE PORT: Implement Keygen for WINCE
3454         https://bugs.webkit.org/show_bug.cgi?id=27543
3455
3456         * platform/wince/KeygenWince.cpp: Added.
3457
3458 2009-08-12  Brent Fulgham  <bfulgham@webkit.org>
3459
3460         Rubber-stamped by Kevin Ollivier.
3461
3462         Handle crash in wx due to null value passed to strlen in
3463         the CString constructor.
3464
3465         * platform/network/curl/ResourceHandleManager.cpp:
3466         (WebCore::certificatePath):  Check for null return from getenv
3467         and use default CString constructor instead.
3468
3469 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3470
3471         Reviewed by Eric Seidel.
3472
3473         WINCE PORT: simple stubs to make it build for WINCE
3474         https://bugs.webkit.org/show_bug.cgi?id=27543
3475
3476         * platform/wince/DragDataWince.cpp: Added.
3477         * platform/wince/DragImageWince.cpp: Added.
3478         * platform/wince/EditorWince.cpp: Added.
3479         * platform/wince/KURLWince.cpp: Added.
3480
3481 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3482
3483         Reviewed by George Staikos.
3484
3485         WINCEPORT: FileSystem and FileChooser
3486         https://bugs.webkit.org/show_bug.cgi?id=27543
3487
3488         * platform/wince/FileChooserWince.cpp: Added.
3489         * platform/wince/FileSystemWince.cpp: Added.
3490
3491 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3492
3493         Reviewed by Eric Seidel.
3494
3495         WINCE PORT: implement Cursor for WINCE. There's no real cursor on most
3496         WinMob devices. We pass the cursor info to application, which so that 
3497         can determine what to do.
3498         https://bugs.webkit.org/show_bug.cgi?id=27543
3499
3500         * platform/wince/CursorWince.cpp: Added.
3501
3502 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3503
3504         Reviewed by George Staikos.
3505
3506         WINCE PORT: MIMETypeRegistry
3507         https://bugs.webkit.org/show_bug.cgi?id=27543
3508
3509         * platform/wince/MIMETypeRegistryWince.cpp: Added.
3510
3511 2009-08-12  Joe Mason  <joe.mason@torchmobile.com>
3512
3513         Reviewed by George Staikos.
3514
3515         WINCE PORT: Pasteboard and SearchPopupMenu
3516         https://bugs.webkit.org/show_bug.cgi?id=27543
3517
3518         * platform/wince/PasteboardWince.cpp: Added.
3519         * platform/wince/SearchPopupMenuWince.cpp: Added.
3520
3521 2009-08-12  Yong Li  <yong.li@torchmobile.com>
3522
3523         Reviewed by George Staikos.
3524
3525         WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp
3526         https://bugs.webkit.org/show_bug.cgi?id=27543
3527
3528         * platform/wince/SharedTimerWince.cpp: Added.
3529         * platform/wince/SystemTimeWince.cpp: Added.
3530
3531 2009-08-12  Mark Mentovai  <mark@chromium.org>
3532
3533         Reviewed by Darin Adler.
3534
3535         https://bugs.webkit.org/show_bug.cgi?id=28204
3536         Allow C++ exceptions to be disabled in WebCore's V8 Mac build.
3537
3538         * WebCorePrefix.h:
3539         Only undefine |try| and |catch| when building Objective-C[++],
3540         leaving the C++ library definitions intact for C++.
3541
3542 2009-08-12  Nate Chapin  <japhet@chromium.org>
3543
3544         Reviewed by Adam Barth.
3545
3546         Add a Custom Setter for DOMWindowEvent in the V8 bindings.
3547         https://bugs.webkit.org/show_bug.cgi?id=27719
3548
3549         Tests: fast/events/set-event-in-another-frame.html
3550                fast/events/set-event-to-null.html
3551
3552         * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 
3553             as it currently doesn't support a custom getter 
3554             and a v8-specific custom setter simultaneously.
3555         * bindings/v8/custom/V8CustomBinding.h:
3556         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3557         (WebCore::ACCESSOR_SETTER):
3558         * page/DOMWindow.idl:
3559
3560 2009-08-12  Peter Kasting  <pkasting@google.com>
3561
3562         Reviewed by Adam Treat.
3563
3564         https://bugs.webkit.org/show_bug.cgi?id=27965
3565         Merge wx/ImageSourceWx.cpp into ImageSource.cpp.  No changes to
3566         ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp.
3567
3568         * WebCore.gypi:
3569         * WebCoreSources.bkl:
3570         * platform/graphics/wx/ImageSourceWx.cpp: Removed.
3571         * webcore-wx.bkl:
3572
3573 2009-08-12  Peter Kasting  <pkasting@google.com>
3574
3575         Reviewed by Dave Levin.
3576
3577         https://bugs.webkit.org/show_bug.cgi?id=27933
3578         Build fix after r47099.
3579
3580         * platform/graphics/skia/ImageBufferSkia.cpp:
3581         (WebCore::getImageData):
3582         (WebCore::putImageData):
3583
3584 2009-08-08  Yong Li  <yong.li@torchmobile.com>
3585
3586         Reviewed by Adam Treat.
3587
3588         WINCE PORT: Implement Path for WINCE. Most code can be
3589         reused for other ports that don't have native path support
3590         https://bugs.webkit.org/show_bug.cgi?id=28188
3591
3592         Written also by George Staikos (including quadCurve() and bezier())
3593
3594         * platform/graphics/wince/PathWince.cpp: Added.
3595         * platform/graphics/wince/PlatformPathWince.cpp: Added.
3596         * platform/graphics/wince/PlatformPathWince.h: Added.
3597         * platform/graphics/wince/WinceGraphicsExtras.h: Added.
3598
3599 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
3600
3601         "Double-click to add" new style button does not always show up [quick fix]
3602         https://bugs.webkit.org/show_bug.cgi?id=28187
3603
3604         * inspector/front-end/StylesSidebarPane.js:
3605         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
3606
3607 2009-08-12  Crystal Zhang <crystal.zhang@torchmobile.com>
3608
3609         Reviewed by George Staikos.
3610
3611         WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate
3612         https://bugs.webkit.org/show_bug.cgi?id=28178
3613
3614         * platform/graphics/wince/MediaPlayerPrivateWince.h: Added.
3615         * platform/graphics/wince/MediaPlayerProxy.cpp: Added.
3616         * platform/graphics/wince/MediaPlayerProxy.h: Added.
3617
3618 2009-08-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3619
3620         Reviewed by Eric Seidel.
3621
3622         HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit
3623         https://bugs.webkit.org/show_bug.cgi?id=28175
3624
3625         Call QDir::toNativeSeparators() before the path is passed to the OS.
3626
3627         Based on work by David Leong.
3628         
3629         * platform/qt/FileSystemQt.cpp:
3630         (WebCore::pathByAppendingComponent):
3631
3632 2009-08-12  Dirk Schulze  <krit@webkit.org>
3633
3634         Reviewed by Ariya Hidayat.
3635
3636         Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead
3637         of getImageData. This changed since r47099.
3638
3639         * platform/graphics/filters/FEColorMatrix.cpp:
3640         (WebCore::FEColorMatrix::apply):
3641
3642 2009-08-12  Viet-Trung Luu  <viettrungluu@gmail.com>
3643
3644         Reviewed by Dimitri Glazkov.
3645
3646         Explicitly set control tints for Chromium/Mac, since the controls'
3647         NSCell(s) lack an NSView and hence their tint isn't updated
3648         automatically when the application is activated/deactivated.
3649         https://bugs.webkit.org/show_bug.cgi?id=28108
3650         http://crbug.com/18199
3651
3652         * rendering/RenderThemeChromiumMac.mm:
3653         (WebCore::updateNSCellControlTint):
3654         (WebCore::RenderThemeChromiumMac::paintCheckbox):
3655         (WebCore::RenderThemeChromiumMac::paintRadio):
3656         (WebCore::RenderThemeChromiumMac::paintButton):
3657         (WebCore::RenderThemeChromiumMac::paintMenuList):
3658         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
3659         (WebCore::RenderThemeChromiumMac::paintSearchField):
3660         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
3661         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
3662         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
3663
3664 2009-08-12  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
3665
3666         Reviewed by Dimitri Glazkov.
3667
3668         [V8] Fix atomic string externalization crash.
3669         Atomic string externalization assumes that all non-empty strings
3670         can be externalized which is untrue on 64-bit.  This change fixed
3671         that.
3672
3673         https://bugs.webkit.org/show_bug.cgi?id=28215
3674
3675         This bug causes loads of test crashes, no need to add new tests
3676         specifically for this.
3677
3678         * bindings/v8/V8Binding.cpp:
3679         (WebCore::v8StringToAtomicWebCoreString):
3680
3681 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
3682
3683         Reviewed by Holger Freyther.
3684
3685         [Qt] Fix box-shadow painting in r47103. The edge should not be blurry.
3686         Also optimize by not having to save and restore painter state.
3687
3688         * platform/graphics/qt/GraphicsContextQt.cpp:
3689         (WebCore::GraphicsContext::drawRect):
3690         (WebCore::GraphicsContext::fillRect):
3691
3692 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
3693
3694         Reviewed by Adam Treat.
3695
3696         [Qt] Fix coding style in GraphicsContextQt.cpp
3697
3698         * platform/graphics/qt/GraphicsContextQt.cpp:
3699         (WebCore::toQtCompositionMode):
3700         (WebCore::toQtLineCap):
3701         (WebCore::toQtLineJoin):
3702         (WebCore::GraphicsContextPlatformPrivate::p):
3703         (WebCore::GraphicsContext::drawLine):
3704         (WebCore::GraphicsContext::strokeArc):
3705         (WebCore::GraphicsContext::drawConvexPolygon):
3706         (WebCore::GraphicsContext::pen):
3707         (WebCore::GraphicsContext::fillPath):
3708         (WebCore::GraphicsContext::strokePath):
3709         (WebCore::GraphicsContext::fillRect):
3710         (WebCore::GraphicsContext::clipPath):
3711         (WebCore::GraphicsContext::drawFocusRing):
3712         (WebCore::GraphicsContext::beginTransparencyLayer):
3713         (WebCore::GraphicsContext::endTransparencyLayer):
3714         (WebCore::GraphicsContext::clearRect):
3715         (WebCore::GraphicsContext::setLineCap):
3716         (WebCore::GraphicsContext::setLineJoin):
3717         (WebCore::GraphicsContext::setMiterLimit):
3718         (WebCore::GraphicsContext::setAlpha):
3719         (WebCore::GraphicsContext::clipOut):
3720         (WebCore::GraphicsContext::clipOutEllipseInRect):
3721         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3722         (WebCore::GraphicsContext::setPlatformStrokeColor):
3723         (WebCore::GraphicsContext::setPlatformStrokeStyle):
3724         (WebCore::GraphicsContext::setPlatformStrokeThickness):
3725
3726 2009-08-12  Szabo Carol  <carol.szabo@nokia.com>
3727
3728         Reviewed by Simon Hausmann and Ariya Hidayat.
3729
3730         https://bugs.webkit.org/show_bug.cgi?id=23291
3731
3732         [Qt] Partial support for -webkit-box-shadow. Blur is not support and
3733         the shadow still does not go well with border radius.
3734
3735         * platform/graphics/qt/GraphicsContextQt.cpp:
3736         (WebCore::GraphicsContext::drawRect):
3737         (WebCore::GraphicsContext::fillRect):
3738
3739 2009-08-12  Xan Lopez  <xlopez@igalia.com>
3740
3741         Reviewed by Jan Alonzo.
3742
3743         Use AM_V_GEN in a few more places, for less noisy builds.
3744
3745         * GNUmakefile.am:
3746
3747 2009-08-12  Dirk Schulze  <krit@webkit.org>
3748
3749         Reviewed by Oliver Hunt.
3750
3751         SVG Filter premultiplied color support for getImageDate/putImageData
3752         [https://bugs.webkit.org/show_bug.cgi?id=27933]
3753
3754         Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData
3755         and putImageData of ImageBuffer need support for premultiplied colors.
3756
3757         * html/CanvasRenderingContext2D.cpp:
3758         (WebCore::CanvasRenderingContext2D::getImageData):
3759         (WebCore::CanvasRenderingContext2D::putImageData):
3760         * platform/graphics/ImageBuffer.h:
3761         (WebCore::):
3762         * platform/graphics/cairo/ImageBufferCairo.cpp:
3763         (WebCore::getImageData):
3764         (WebCore::ImageBuffer::getUnmultipliedImageData):
3765         (WebCore::ImageBuffer::getPremultipliedImageData):
3766         (WebCore::putImageData):
3767         (WebCore::ImageBuffer::putUnmultipliedImageData):
3768         (WebCore::ImageBuffer::putPremultipliedImageData):
3769         * platform/graphics/cg/ImageBufferCG.cpp:
3770         (WebCore::getImageData):
3771         (WebCore::ImageBuffer::getUnmultipliedImageData):
3772         (WebCore::ImageBuffer::getPremultipliedImageData):
3773         (WebCore::putImageData):
3774         (WebCore::ImageBuffer::putUnmultipliedImageData):
3775         (WebCore::ImageBuffer::putPremultipliedImageData):
3776         * platform/graphics/qt/ImageBufferQt.cpp:
3777         (WebCore::getImageData):
3778         (WebCore::ImageBuffer::getUnmultipliedImageData):
3779         (WebCore::ImageBuffer::getPremultipliedImageData):
3780         (WebCore::putImageData):
3781         (WebCore::ImageBuffer::putUnmultipliedImageData):
3782         (WebCore::ImageBuffer::putPremultipliedImageData):
3783         * platform/graphics/skia/ImageBufferSkia.cpp:
3784         (WebCore::getImageData):
3785         (WebCore::ImageBuffer::getUnmultipliedImageData):
3786         (WebCore::ImageBuffer::getPremultipliedImageData):
3787         (WebCore::putImageData):
3788         (WebCore::ImageBuffer::putUnmultipliedImageData):
3789         (WebCore::ImageBuffer::putPremultipliedImageData):
3790         * platform/graphics/wx/ImageBufferWx.cpp:
3791         (WebCore::ImageBuffer::getUnmultipliedImageData):
3792         (WebCore::ImageBuffer::getPremultipliedImageData):
3793         (WebCore::ImageBuffer::putUnmultipliedImageData):
3794         (WebCore::ImageBuffer::putPremultipliedImageData):
3795         * svg/graphics/SVGResourceMasker.cpp:
3796         (WebCore::SVGResourceMasker::applyMask):
3797
3798 2009-08-12  Mikhail Naganov  <mnaganov@chromium.org>
3799
3800         Reviewed by Timothy Hatcher.
3801
3802         Changed Number.bytesToString to support low-resolution output.
3803
3804         https://bugs.webkit.org/show_bug.cgi?id=28146
3805
3806         * inspector/front-end/utilities.js:
3807         (Number.bytesToString):
3808
3809 2009-08-12  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
3810
3811         Reviewed by Simon Hausmann.
3812
3813         Add support for hooking BeginPaint/EndPaint on 64Bit Windows
3814
3815         Webkit uses the runtime patching trick explained by "Feng Yuan" for
3816         hooking these paint functions. It currently supports only 32bit assembly
3817         code. This patch adds support for 64Bit version. Since inline-assemblies
3818         are not supported for 64Bit, we have use a seperate .asm file.
3819
3820         * WebCore.pro:
3821         * plugins/win/PaintHooks.asm: Added.
3822         * plugins/win/PluginViewWin.cpp:
3823         (WebCore::PluginView::hookedBeginPaint):
3824         (WebCore::PluginView::hookedEndPaint):
3825         (WebCore::hook):
3826
3827 2009-08-11  Oliver Hunt  <oliver@apple.com>
3828
3829         Reviewed by Gavin Barraclough.
3830
3831         Make it harder to misuse try* allocation routines
3832         https://bugs.webkit.org/show_bug.cgi?id=27469
3833
3834         Add forwarding header for PossiblyNull type, and add missing null check
3835         to ImageBuffer creation.
3836
3837         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
3838         * platform/graphics/cg/ImageBufferCG.cpp:
3839         (WebCore::ImageBuffer::ImageBuffer):
3840
3841 2009-08-11  Gavin Barraclough  <barraclough@apple.com>
3842
3843         Reviewed by Oliver Hunt.
3844
3845         Restrict use of FuncDeclNode & FuncExprNode to the parser.
3846         https://bugs.webkit.org/show_bug.cgi?id=28209
3847
3848         * inspector/JavaScriptDebugServer.cpp:
3849         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3850             Function signature change.
3851
3852 2009-08-11  Peter Kasting  <pkasting@google.com>
3853
3854         Reviewed by Adam Treat.
3855
3856         https://bugs.webkit.org/show_bug.cgi?id=27965
3857         Merge skia/ImageSourceSkia.cpp into ImageSource.cpp.
3858
3859         * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back.
3860         * platform/graphics/ImageSource.cpp:
3861         (WebCore::ImageSource::setData): Use slightly shorter syntax.
3862         (WebCore::ImageSource::filenameExtension): Use shorter syntax.
3863         (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images.
3864         (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax.
3865         * platform/graphics/skia/ImageSourceSkia.cpp: Removed.
3866
3867 2009-08-11  Drew Wilson  <atwilson@google.com>
3868
3869         Reviewed by David Levin.
3870
3871         SharedWorkers do not exit when the last parent document exits
3872         https://bugs.webkit.org/show_bug.cgi?id=28170
3873
3874         Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers.
3875
3876         Added vector cache instead of nested hash tables for SharedWorker repository.
3877
3878         Added SharedWorkerRepository::documentDetached API.
3879
3880         * dom/Document.cpp:
3881         (WebCore::Document::detach):
3882         Notifies SharedWorkerRepository when the document is closing.
3883         * loader/FrameLoader.cpp:
3884         Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down).
3885         (WebCore::FrameLoader::canCachePageContainingThisFrame):
3886         (WebCore::FrameLoader::logCanCacheFrameDecision):
3887         * workers/DefaultSharedWorkerRepository.cpp:
3888         (WebCore::SharedWorkerProxy::create):
3889         (WebCore::SharedWorkerProxy::isClosing):
3890         Renamed from closing().
3891         (WebCore::SharedWorkerProxy::matches):
3892         Added manual equality function to replace old hash lookup.
3893         (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments):
3894         Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable.
3895         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
3896         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
3897         Added tracking of the worker's list of documents for lifecycle purposes.
3898         (WebCore::SharedWorkerProxy::documentDetached):
3899         Shuts down the proxy when the last associated document is detached.
3900         (WebCore::SharedWorkerProxy::close):
3901         Marks the proxy as closed so it is no longer shared with new instances.
3902         (WebCore::SharedWorkerProxy::workerContextDestroyed):
3903         Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed.
3904         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
3905         closing()->isClosing()
3906         (WebCore::SharedWorkerRepository::documentDetached):
3907         (WebCore::SharedWorkerRepository::hasSharedWorkers):
3908         Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached.
3909         (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers):
3910         (WebCore::DefaultSharedWorkerRepository::removeProxy):
3911         Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository.
3912         (WebCore::DefaultSharedWorkerRepository::documentDetached):
3913         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
3914         (WebCore::DefaultSharedWorkerRepository::getProxy):
3915         * workers/DefaultSharedWorkerRepository.h:
3916         * workers/SharedWorkerRepository.h:
3917
3918 2009-08-11  Chris Fleizach  <cfleizach@apple.com>
3919
3920         Reviewed by Darin Adler.
3921
3922         Bug 28200 - ListMarker should be included as part of the text value to parse
3923         https://bugs.webkit.org/show_bug.cgi?id=28200
3924
3925         When returning text through the marker range attributes, the list marker text should
3926         also be included. It isn't included by default because a TextIterator is used which
3927         only looks at Nodes for text. A list marker does not have a corresponding node,
3928         so its text is not returned through accessibility. That is, until now.
3929
3930         Test: platform/mac/accessibility/string-range-contains-listmarker.html
3931
3932         * accessibility/AccessibilityObject.cpp:
3933         (WebCore::AccessibilityObject::listMarkerTextForRange):
3934         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3935         * accessibility/AccessibilityObject.h:
3936         * accessibility/mac/AccessibilityObjectWrapper.mm:
3937         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
3938         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3939         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3940         * rendering/RenderListItem.h:
3941
3942         Make markerText() public so that accessibility code can access it.
3943
3944 2009-08-11  Peter Kasting  <pkasting@google.com>
3945
3946         Reviewed by Adam Treat.
3947
3948         https://bugs.webkit.org/show_bug.cgi?id=27965
3949         Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for
3950         merging most of the other ImageSource*.cpp files with it.
3951
3952         * GNUmakefile.am:
3953         * WebCore.gypi:
3954         * WebCore.vcproj/WebCore.vcproj:
3955         * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp.
3956         * platform/graphics/cairo/ImageSourceCairo.cpp: Removed.
3957
3958 2009-08-10  Brent Fulgham  <bfulgham@webkit.org>
3959
3960         Reviewed by Adam Roben.
3961
3962         Cairo-based Windows port does not handle the https protocol.
3963         https://bugs.webkit.org/show_bug.cgi?id=28171.
3964
3965         No new tests needed.  Existing https tests show this failure
3966         for WinCairo builds.
3967
3968         * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor
3969           definitions for SSL support in cURL.
3970         * platform/network/curl/ResourceHandleManager.h: Add new
3971           certificate path member variable.
3972         * platform/network/curl/ResourceHandleManager.cpp:
3973         (WebCore::certificateBundlePath): New method to retrieve the
3974           proper certificate resource bundle path.
3975         (WebCore::ResourceHandleManager::initializeHandle): Check for
3976           the resource bundle and use if available to activate SSL
3977           support.
3978
3979 2009-08-11  Maxime Simon  <simon.maxime@gmail.com>
3980
3981         Reviewed by Eric Seidel.
3982
3983         [Haiku] Use Clipboard::create() instead of the constructor of Clipboard.
3984         https://bugs.webkit.org/show_bug.cgi?id=28127
3985
3986         * editing/haiku/EditorHaiku.cpp:
3987         (WebCore::Editor::newGeneralClipboard):
3988         * page/haiku/EventHandlerHaiku.cpp:
3989         (WebCore::EventHandler::passWheelEventToWidget):
3990         (WebCore::EventHandler::createDraggingClipboard):
3991         * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines.
3992         (WebCore::ClipboardHaiku::ClipboardHaiku):
3993         (WebCore::ClipboardHaiku::clearAllData):
3994         (WebCore::ClipboardHaiku::getData):
3995         (WebCore::ClipboardHaiku::setData):
3996         (WebCore::ClipboardHaiku::types):
3997         (WebCore::ClipboardHaiku::dragLocation):
3998         (WebCore::ClipboardHaiku::dragImage):
3999         (WebCore::ClipboardHaiku::setDragImage):
4000         (WebCore::ClipboardHaiku::dragImageElement):
4001         (WebCore::ClipboardHaiku::createDragImage):
4002         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
4003         (WebCore::ClipboardHaiku::writeURL):
4004         (WebCore::ClipboardHaiku::writeRange):
4005         (WebCore::ClipboardHaiku::hasData):
4006         * platform/haiku/DragDataHaiku.cpp:
4007         (WebCore::DragData::createClipboard):
4008
4009 2009-08-11  Drew Wilson  <atwilson@google.com>
4010
4011         Reviewed by NOBODY (build break).
4012
4013         Speculative GTK build fix
4014
4015         * GNUmakefile.am:
4016         Added missing .idl file, and added notifications directory to IDL_PATH.
4017
4018 2009-08-11  Drew Wilson  <atwilson@google.com>
4019
4020         Reviewed by NOBODY (build break).
4021
4022         Speculative Windows build fix
4023
4024         * WebCore.vcproj/WebCore.vcproj:
4025         Added missing build steps for non-debug targets.
4026
4027 2009-08-11  Drew Wilson <atwilson@google.com>
4028
4029         Reviewed by NOBODY (build break)
4030
4031         Speculative build fix for Qt build.
4032
4033         * WebCore.pro: Added /notifications to include path
4034
4035 2009-08-11  John Gregg  <johnnyg@google.com>
4036
4037         Reviewed by Maciej Stachowiak.
4038
4039         Desktop Notifications API
4040         https://bugs.webkit.org/show_bug.cgi?id=25463
4041
4042         Adds an implementation of desktop notifications, behind the compile-time
4043         flag ENABLE(NOTIFICATIONS).  This code simply relays calls on the JavaScript
4044         API through a NotificationProvider interface, which must provide the services
4045         to actually notify the user and manage the desktop.  This provider is injected
4046         into WebKit through the ChromeClient for normal page contexts and through the
4047         WorkerThread for worker contexts.
4048
4049         A permissions API is defined on a per-origin basis, which allows a web page
4050         to check if its origin is allowed to show desktop notifications, and to request
4051         permission for its origin.
4052
4053         * Configurations/FeatureDefines.xcconfig:
4054         * DerivedSources.cpp:
4055         * DerivedSources.make:
4056         * GNUmakefile.am:
4057         * WebCore.vcproj/WebCore.vcproj:
4058         * WebCore.vcproj/WebCoreCommon.vsprops:
4059         * WebCore.xcodeproj/project.pbxproj:
4060         * bindings/js/JSDOMWindowCustom.cpp:
4061         * bindings/js/JSDesktopNotificationsCustom.cpp: Added.
4062         (WebCore::JSNotificationCenter::requestPermission):
4063         (WebCore::JSNotification::addEventListener):
4064         (WebCore::JSNotification::removeEventListener):
4065         * bindings/js/JSEventTarget.cpp:
4066         (WebCore::toJS):
4067         (WebCore::toEventTarget):
4068         * dom/EventTarget.cpp:
4069         (WebCore::EventTarget::toNotification):
4070         * dom/EventTarget.h:
4071         * loader/EmptyClients.h:
4072         (WebCore::EmptyChromeClient::notificationPresenter):
4073         * notifications: Added.
4074         * notifications/Notification.cpp: Added.
4075         (WebCore::Notification::Notification):
4076         (WebCore::Notification::~Notification):
4077         (WebCore::Notification::show):
4078         (WebCore::Notification::cancel):
4079         (WebCore::Notification::ondisplay):
4080         (WebCore::Notification::setOndisplay):
4081         (WebCore::Notification::onerror):
4082         (WebCore::Notification::setOnerror):
4083         (WebCore::Notification::onclose):
4084         (WebCore::Notification::setOnclose):
4085         (WebCore::Notification::getAttributeEventListener):
4086         (WebCore::Notification::setAttributeEventListener):
4087         (WebCore::Notification::clearAttributeEventListener):
4088         (WebCore::Notification::dispatchDisplayEvent):
4089         (WebCore::Notification::dispatchErrorEvent):
4090         (WebCore::Notification::dispatchCloseEvent):
4091         (WebCore::Notification::addEventListener):
4092         (WebCore::Notification::removeEventListener):
4093         (WebCore::Notification::handleEvent):
4094         (WebCore::Notification::dispatchEvent):
4095         * notifications/Notification.h: Added.
4096         (WebCore::Notification::create):
4097         (WebCore::Notification::isHTML):
4098         (WebCore::Notification::url):
4099         (WebCore::Notification::contents):
4100         (WebCore::Notification::scriptExecutionContext):
4101         (WebCore::Notification::toNotification):
4102         (WebCore::Notification::refEventTarget):
4103         (WebCore::Notification::derefEventTarget):
4104         * notifications/Notification.idl: Added.
4105         * notifications/NotificationCenter.cpp: Added.
4106         (WebCore::NotificationCenter::NotificationCenter):
4107         (WebCore::NotificationCenter::checkPermission):
4108         (WebCore::NotificationCenter::requestPermission):
4109         * notifications/NotificationCenter.h: Added.
4110         (WebCore::NotificationCenter::create):
4111         (WebCore::NotificationCenter::createHTMLNotification):
4112         (WebCore::NotificationCenter::createNotification):
4113         (WebCore::NotificationCenter::context):
4114         (WebCore::NotificationCenter::presenter):
4115         * notifications/NotificationCenter.idl: Added.
4116         * notifications/NotificationContents.h: Added.
4117         (WebCore::NotificationContents::NotificationContents):
4118         (WebCore::NotificationContents::icon):
4119         (WebCore::NotificationContents::title):
4120         (WebCore::NotificationContents::body):
4121         * notifications/NotificationPresenter.h: Added.
4122         (WebCore::NotificationPresenter::):
4123         (WebCore::NotificationPresenter::~NotificationPresenter):
4124         * page/Chrome.cpp:
4125         (WebCore::Chrome::notificationPresenter):
4126         * page/Chrome.h:
4127         * page/ChromeClient.h:
4128         * page/DOMWindow.cpp:
4129         (WebCore::DOMWindow::clear):
4130         (WebCore::DOMWindow::webkitNotifications):
4131         * page/DOMWindow.h:
4132         * page/DOMWindow.idl:
4133         * page/Page.h:
4134         * workers/WorkerContext.cpp:
4135         (WebCore::WorkerContext::~WorkerContext):
4136         (WebCore::WorkerContext::webkitNotifications):
4137         * workers/WorkerContext.h:
4138         * workers/WorkerContext.idl:
4139         * workers/WorkerThread.h:
4140         (WebCore::WorkerThread::getNotificationPresenter):
4141         (WebCore::WorkerThread::setNotificationPresenter):
4142
4143 2009-08-11  Joseph Pecoraro  <joepeck02@gmail.com>
4144
4145         Reviewed by Timothy Hatcher.
4146
4147         Inspector: Console Drawer is Toggling instead of Staying Open
4148         https://bugs.webkit.org/show_bug.cgi?id=28115
4149
4150         * inspector/front-end/Drawer.js:
4151         (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view
4152         * inspector/front-end/inspector.js:
4153         (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open
4154         (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open
4155
4156 2009-08-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4157
4158         Reviewed by George Staikos.
4159
4160         [WML] WMLPageState is not allowed to store the active card, it needs to be done per document
4161         https://bugs.webkit.org/show_bug.cgi?id=28180
4162
4163         Don't store the active WMLCardElement in WMLPageState, but in WMLDocument.
4164         Otherwhise this may lead to crashes related to intrinsic event exeuction.
4165
4166         Unfortunately select elements aren't testable by the layout tests, so adding
4167         a new manual test reproducing the crash.
4168
4169         * manual-tests/wml/select-onpick-event-crash.wml: Added.
4170         * wml/WMLCardElement.cpp:
4171         (WebCore::WMLCardElement::determineActiveCard):
4172         * wml/WMLDoElement.cpp:
4173         (WebCore::WMLDoElement::defaultEventHandler):
4174         * wml/WMLDocument.cpp:
4175         (WebCore::WMLDocument::finishedParsing):
4176         * wml/WMLDocument.h:
4177         (WebCore::WMLDocument::activeCard):
4178         * wml/WMLGoElement.cpp:
4179         (WebCore::WMLGoElement::executeTask):
4180         * wml/WMLPageState.cpp:
4181         (WebCore::WMLPageState::WMLPageState):
4182         * wml/WMLPageState.h:
4183         * wml/WMLPrevElement.cpp:
4184         (WebCore::WMLPrevElement::executeTask):
4185         * wml/WMLRefreshElement.cpp:
4186         (WebCore::WMLRefreshElement::executeTask):
4187
4188 2009-08-07  Peter Kasting  <pkasting@google.com>
4189
4190         Reviewed by Eric Seidel.
4191
4192         https://bugs.webkit.org/show_bug.cgi?id=28073
4193         Treat icons with no bit count and no color count as 256-color for
4194         purposes of quality ranking.  Also fix a couple cases of a style
4195         violation.
4196
4197         Test: fast/images/icon-0colors.html
4198
4199         * platform/image-decoders/ico/ICOImageDecoder.cpp:
4200         (WebCore::ICOImageDecoder::processDirectory):
4201         (WebCore::ICOImageDecoder::readDirectoryEntry):
4202
4203 2009-08-11  Drew Wilson  <atwilson@google.com>
4204
4205         Reviewed by David Levin.
4206
4207         Need to refactor WorkerObjectProxy.
4208         https://bugs.webkit.org/show_bug.cgi?id=28136
4209
4210         Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent.
4211
4212         Existing tests are sufficient, as this is only a refactoring.
4213
4214         * GNUmakefile.am:
4215         Added WorkerReportingProxy.h to build.
4216         * WebCore.gypi:
4217         Added WorkerReportingProxy.h to build.
4218         * WebCore.vcproj/WebCore.vcproj:
4219         Added WorkerReportingProxy.h to build.
4220         * WebCore.xcodeproj/project.pbxproj:
4221         Added WorkerReportingProxy.h to build.
4222         * workers/DedicatedWorkerContext.cpp:
4223         * workers/DedicatedWorkerContext.h:
4224         Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
4225         * workers/DedicatedWorkerThread.cpp:
4226         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
4227         Changed constructor to pass WorkerReportingProxy to base class.
4228         * workers/DefaultSharedWorkerRepository.cpp:
4229         Updated SharedWorkerProxy to implement WorkerReportingProxy interface.
4230         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
4231         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
4232         (WebCore::SharedWorkerProxy::workerContextClosed):
4233         (WebCore::SharedWorkerProxy::workerContextDestroyed):
4234         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
4235         Now passes in WorkerReportingProxy when creating SharedWorkerThread.