2009-01-09 Darin Fisher <darin@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-01-09  Darin Fisher  <darin@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         https://bugs.webkit.org/show_bug.cgi?id=23214
6         Upstream platform/network/chromium/
7
8         * platform/network/chromium/AuthenticationChallenge.h: Added.
9         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
10         (WebCore::AuthenticationChallenge::sourceHandle):
11         * platform/network/chromium/AuthenticationChallengeChromium.cpp: Added.
12         (WebCore::AuthenticationChallenge::platformCompare):
13         * platform/network/chromium/CookieJarChromium.cpp: Added.
14         (WebCore::setCookies):
15         (WebCore::cookies):
16         (WebCore::cookiesEnabled):
17         * platform/network/chromium/DNSChromium.cpp: Added.
18         (WebCore::prefetchDNS):
19         * platform/network/chromium/NetworkStateNotifierChromium.cpp: Added.
20         (WebCore::NetworkStateNotifier::updateState):
21         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
22         * platform/network/chromium/NetworkStateNotifierPrivate.h: Added.
23         * platform/network/chromium/ResourceError.h: Added.
24         (WebCore::ResourceError::ResourceError):
25         * platform/network/chromium/ResourceRequest.h: Added.
26         (WebCore::ResourceRequest::):
27         (WebCore::ResourceRequest::ResourceRequest):
28         (WebCore::ResourceRequest::frame):
29         (WebCore::ResourceRequest::setFrame):
30         (WebCore::ResourceRequest::setTargetType):
31         (WebCore::ResourceRequest::targetType):
32         (WebCore::ResourceRequest::originPid):
33         (WebCore::ResourceRequest::setOriginPid):
34         (WebCore::ResourceRequest::securityInfo):
35         (WebCore::ResourceRequest::setSecurityInfo):
36         (WebCore::ResourceRequest::doUpdatePlatformRequest):
37         (WebCore::ResourceRequest::doUpdateResourceRequest):
38         * platform/network/chromium/ResourceResponse.h:
39         (WebCore::ResourceResponse::ResourceResponse):
40         (WebCore::ResourceResponse::getSecurityInfo):
41         (WebCore::ResourceResponse::setSecurityInfo):
42         (WebCore::ResourceResponse::isContentFiltered):
43         (WebCore::ResourceResponse::setIsContentFiltered):
44         (WebCore::ResourceResponse::doUpdateResourceResponse):
45
46 2009-01-09  Peter Kasting  <pkasting@google.com>
47
48         Reviewed by David Hyatt.
49
50         https://bugs.webkit.org/show_bug.cgi?id=22995
51         Fix flaky image animation by resetting the metadata for a frame when
52         we get new data for that frame.  This fixes animations that halted
53         when the next frame of the animation wasn't complete by the time the
54         current frame's duration expired.
55
56         * platform/graphics/BitmapImage.cpp:
57         (WebCore::BitmapImage::destroyDecodedData):
58         (WebCore::BitmapImage::dataChanged):
59         * platform/graphics/BitmapImage.h:
60         (WebCore::FrameData::~FrameData):
61         * platform/graphics/cairo/ImageCairo.cpp:
62         (WebCore::FrameData::clear):
63         * platform/graphics/cg/ImageCG.cpp:
64         (WebCore::FrameData::clear):
65         * platform/graphics/qt/ImageQt.cpp:
66         (WebCore::FrameData::clear):
67         * platform/graphics/wx/ImageWx.cpp:
68         (WebCore::FrameData::clear):
69
70 2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
71
72         Rubber-stamped by Tor Arne Vestbø.
73
74         Swap the .h and the .cpp output in the Qt build for the
75         UserAgentStyleSheetData files, to put the definition in the .cpp file
76         and the declaration in the header file.
77
78         * WebCore.pro:
79
80 2009-01-09  David Levin  <levin@chromium.org>
81
82         Reviewed by Oliver Hunt.
83
84         https://bugs.webkit.org/show_bug.cgi?id=23175
85
86         Added forwarding header.
87
88         * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
89
90 2009-01-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
91
92         Reviewed by Simon Hausmann.
93
94         Prevent qmake from generating duplicate rules for embedded stylesheets
95         
96         The STYLESHEETS_EMBED variable used to contain only one file name, but
97         now that it is a list of files we need to change it to be a dependency
98         for the stylesheet generator instead of the input.
99
100         * WebCore.pro:
101
102 2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
103
104         Reviewed by Tor Arne Vestbø.
105
106         Fix qmake warning about missing test function, a contains() call was
107         missing.
108
109         * WebCore.pro:
110
111 2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
112
113         Rubber-stamped by Tor Arne Vestbø.
114
115         Add the Qt API headers to HEADERS, too, for improved completion in IDEs.
116
117         * WebCore.pro:
118
119 2009-01-09  David Levin  <levin@chromium.org>
120
121         Reviewed by Alexey Proskuryakov.
122
123         https://bugs.webkit.org/show_bug.cgi?id=23199
124
125         Fix deref's of string happening on two different threads.
126
127         No observable change in behavior, so no test.  However, there are asserts
128         being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which
129         will detect this issue while running the normal worker tests.
130
131         * dom/WorkerThread.cpp:
132         (WebCore::WorkerThreadStartupData::create):
133         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
134         (WebCore::WorkerThread::WorkerThread):
135         (WebCore::WorkerThread::workerThread):
136         * dom/WorkerThread.h:
137
138 2009-01-08  Dan Bernstein  <mitz@apple.com>
139
140         Reviewed by Adam Roben.
141
142         - use native glyph support in Core Graphics when available
143
144         * platform/graphics/win/FontCGWin.cpp:
145         (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if
146         native glyph support is not available or stroking is required. Changed
147         to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to
148         request the use of native glyphs.
149         * platform/graphics/win/FontCustomPlatformData.cpp:
150         (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to
151         wkSetFontPlatformInfo to attach the LOGFONT to the CGFont.
152         * platform/graphics/win/FontPlatformDataCGWin.cpp:
153         (WebCore::FontPlatformData::platformDataInit): Ditto.
154
155 2009-01-08  Peter Kasting  <pkasting@google.com>
156
157         Reviewed by Sam Weinig.
158
159         https://bugs.webkit.org/show_bug.cgi?id=22929
160         Fix memory regression when decoding large animated GIFs.
161
162         * platform/graphics/cg/ImageSourceCG.cpp:
163         (WebCore::ImageSource::clear):
164
165 2009-01-08  Scott Violet  <sky@chromium.org>
166
167         Reviewed by Eric Seidel (and Adam Barth).
168
169         Fix Images to return their file extension
170         http://code.google.com/p/chromium/issues/detail?id=5827
171
172         * platform/graphics/skia/ImageSourceSkia.cpp:
173         (WebCore::ImageSource::filenameExtension):
174
175 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
176
177         Reviewed by Eric Seidel.
178
179         Add PathSkia and PatternSkia implementations to WebCore
180         https://bugs.webkit.org/show_bug.cgi?id=23200
181
182         * platform/graphics/skia/PathSkia.cpp: Added.
183         (WebCore::Path::Path):
184         (WebCore::Path::~Path):
185         (WebCore::Path::operator=):
186         (WebCore::Path::isEmpty):
187         (WebCore::Path::contains):
188         (WebCore::Path::translate):
189         (WebCore::Path::boundingRect):
190         (WebCore::Path::moveTo):
191         (WebCore::Path::addLineTo):
192         (WebCore::Path::addQuadCurveTo):
193         (WebCore::Path::addBezierCurveTo):
194         (WebCore::Path::addArcTo):
195         (WebCore::Path::closeSubpath):
196         (WebCore::Path::addArc):
197         (WebCore::Path::addRect):
198         (WebCore::Path::addEllipse):
199         (WebCore::Path::clear):
200         (WebCore::convertPathPoints):
201         (WebCore::Path::apply):
202         (WebCore::Path::transform):
203         (WebCore::Path::debugString):
204         (WebCore::boundingBoxForCurrentStroke):
205         (WebCore::Path::strokeBoundingRect):
206         * platform/graphics/skia/PatternSkia.cpp: Added.
207         (WebCore::shaderRule):
208         (WebCore::Pattern::createPlatformPattern):
209
210 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
211
212         Reviewed by Eric Seidel.
213
214         Add ImageSourceSkia to platform/graphics/skia
215         https://bugs.webkit.org/show_bug.cgi?id=23200
216         
217         ImageSourceSkia is mostly a hack to support our
218         ICO decoder model.  See ImageSourceSkia.h for more
219         explanation.  Eventually we'd like to make our ICO
220         decoder lazy.
221
222         * platform/graphics/ImageSource.h: mark m_decoder as protected
223         * platform/graphics/skia/ImageSourceSkia.cpp: Added.
224         (WebCore::createDecoder):
225         (WebCore::ImageSource::ImageSource):
226         (WebCore::ImageSource::~ImageSource):
227         (WebCore::ImageSource::clear):
228         (WebCore::ImageSource::initialized):
229         (WebCore::ImageSource::setData):
230         (WebCore::ImageSource::isSizeAvailable):
231         (WebCore::ImageSource::size):
232         (WebCore::ImageSource::frameSizeAtIndex):
233         (WebCore::ImageSource::repetitionCount):
234         (WebCore::ImageSource::frameCount):
235         (WebCore::ImageSource::createFrameAtIndex):
236         (WebCore::ImageSource::frameIsCompleteAtIndex):
237         (WebCore::ImageSource::frameDurationAtIndex):
238         (WebCore::ImageSource::frameHasAlphaAtIndex):
239         (WebCore::ImageSourceSkia::setData):
240         (WebCore::ImageSource::filenameExtension):
241         * platform/graphics/skia/ImageSourceSkia.h: Added.
242
243 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
244
245         Reviewed by Eric Seidel.
246
247         Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia
248         https://bugs.webkit.org/show_bug.cgi?id=23200
249
250         * platform/graphics/skia/NativeImageSkia.cpp: Added.
251         (NativeImageSkia::NativeImageSkia):
252         (NativeImageSkia::decodedSize):
253         (NativeImageSkia::hasResizedBitmap):
254         (NativeImageSkia::resizedBitmap):
255         (NativeImageSkia::shouldCacheResampling):
256         * platform/graphics/skia/NativeImageSkia.h: Added.
257         (NativeImageSkia::setDataComplete):
258         (NativeImageSkia::isDataComplete):
259
260 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
261
262         Reviewed by Eric Seidel.
263
264         Add ImageBufferSkia and ImageSkia files.
265         https://bugs.webkit.org/show_bug.cgi?id=23200
266         For now we've left BitmapImage and BitmapImageSingleFrameSkia
267         implementations in the ImageSkia file (like ImageCG has), but
268         we intend to break them out into their own files.
269
270         * platform/graphics/skia/ImageBufferSkia.cpp: Added.
271         (WebCore::ImageBufferData::ImageBufferData):
272         (WebCore::ImageBuffer::ImageBuffer):
273         (WebCore::ImageBuffer::~ImageBuffer):
274         (WebCore::ImageBuffer::context):
275         (WebCore::ImageBuffer::image):
276         (WebCore::ImageBuffer::getImageData):
277         (WebCore::ImageBuffer::putImageData):
278         (WebCore::ImageBuffer::toDataURL):
279         * platform/graphics/skia/ImageSkia.cpp: Added.
280         (WebCore::):
281         (WebCore::FrameData::clear):
282         (WebCore::Image::loadPlatformResource):
283         (WebCore::Image::drawPattern):
284         (WebCore::BitmapImage::initPlatformData):
285         (WebCore::BitmapImage::invalidatePlatformData):
286         (WebCore::BitmapImage::checkForSolidColor):
287         (WebCore::BitmapImage::draw):
288         (WebCore::BitmapImageSingleFrameSkia::draw):
289         (WebCore::BitmapImageSingleFrameSkia::create):
290
291 2009-01-08  James Robinson  <jamesr@google.com>
292
293         Reviewed by Mark Rowe.
294         Landed by Pamela Greene.
295
296         WebCore::Event::timeStamp() is a simple accessor and should be const
297
298         https://bugs.webkit.org/show_bug.cgi?id=23176
299
300         * dom/Event.h:
301         (WebCore::Event::timeStamp):
302
303 2009-01-08  Antti Koivisto  <antti@apple.com>
304
305         Reviewed by Oliver Hunt.
306
307         Fix <rdar://problem/6467206> 
308         Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994)
309         
310         Use CachedResourceHandle in document resource map so resources get updated correctly when using
311         using cache validation conditionals.
312
313         * loader/Cache.cpp:
314         (WebCore::Cache::evict):
315         * loader/DocLoader.cpp:
316         (WebCore::DocLoader::~DocLoader):
317         (WebCore::DocLoader::requestResource):
318         (WebCore::DocLoader::setAutoLoadImages):
319         (WebCore::DocLoader::removeCachedResource):
320         * loader/DocLoader.h:
321         (WebCore::DocLoader::cachedResource):
322         (WebCore::DocLoader::allCachedResources):
323         * loader/DocumentLoader.cpp:
324         (WebCore::DocumentLoader::getSubresources):
325         * loader/ImageLoader.cpp:
326         (WebCore::ImageLoader::updateFromElement):
327
328 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
329
330         Reviewed by Eric Seidel.
331
332         Add a cleaned-up GraphicsContextSkia implementation to WebKit.
333         https://bugs.webkit.org/show_bug.cgi?id=23191
334
335         * platform/graphics/skia/GraphicsContextSkia.cpp: Added.
336         (WebCore::):
337         (WebCore::GraphicsContext::GraphicsContext):
338         (WebCore::GraphicsContext::~GraphicsContext):
339         (WebCore::GraphicsContext::platformContext):
340         (WebCore::GraphicsContext::savePlatformState):
341         (WebCore::GraphicsContext::restorePlatformState):
342         (WebCore::GraphicsContext::beginTransparencyLayer):
343         (WebCore::GraphicsContext::endTransparencyLayer):
344         (WebCore::GraphicsContext::addInnerRoundedRectClip):
345         (WebCore::GraphicsContext::addPath):
346         (WebCore::GraphicsContext::beginPath):
347         (WebCore::GraphicsContext::clearPlatformShadow):
348         (WebCore::GraphicsContext::clearRect):
349         (WebCore::GraphicsContext::clip):
350         (WebCore::GraphicsContext::clipOut):
351         (WebCore::GraphicsContext::clipOutEllipseInRect):
352         (WebCore::GraphicsContext::clipPath):
353         (WebCore::GraphicsContext::clipToImageBuffer):
354         (WebCore::GraphicsContext::concatCTM):
355         (WebCore::GraphicsContext::drawConvexPolygon):
356         (WebCore::GraphicsContext::drawEllipse):
357         (WebCore::GraphicsContext::drawFocusRing):
358         (WebCore::GraphicsContext::drawLine):
359         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
360         (WebCore::GraphicsContext::drawLineForText):
361         (WebCore::GraphicsContext::drawRect):
362         (WebCore::GraphicsContext::fillPath):
363         (WebCore::GraphicsContext::fillRect):
364         (WebCore::GraphicsContext::fillRoundedRect):
365         (WebCore::GraphicsContext::getCTM):
366         (WebCore::GraphicsContext::roundToDevicePixels):
367         (WebCore::GraphicsContext::scale):
368         (WebCore::GraphicsContext::setAlpha):
369         (WebCore::GraphicsContext::setCompositeOperation):
370         (WebCore::GraphicsContext::setImageInterpolationQuality):
371         (WebCore::GraphicsContext::setLineCap):
372         (WebCore::GraphicsContext::setLineDash):
373         (WebCore::GraphicsContext::setLineJoin):
374         (WebCore::GraphicsContext::setMiterLimit):
375         (WebCore::GraphicsContext::setPlatformFillColor):
376         (WebCore::GraphicsContext::setPlatformShadow):
377         (WebCore::GraphicsContext::setPlatformStrokeColor):
378         (WebCore::GraphicsContext::setPlatformStrokeStyle):
379         (WebCore::GraphicsContext::setPlatformStrokeThickness):
380         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
381         (WebCore::GraphicsContext::setURLForRect):
382         (WebCore::GraphicsContext::setUseAntialiasing):
383         (WebCore::GraphicsContext::strokeArc):
384         (WebCore::GraphicsContext::strokePath):
385         (WebCore::GraphicsContext::strokeRect):
386         (WebCore::GraphicsContext::rotate):
387         (WebCore::GraphicsContext::translate):
388
389 2009-01-08  David Hyatt  <hyatt@apple.com>
390
391         Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll.
392
393         Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for
394         any scrollable views that may contain a WebView.  Does nothing on platforms other than the Mac, but
395         might eventually be of interest to other platforms.
396
397         Reviewed by Oliver Hunt
398
399         * WebCore.base.exp:
400         * page/Chrome.cpp:
401         (WebCore::Chrome::scrollRectIntoView):
402         * page/Chrome.h:
403         * page/ChromeClient.h:
404         (WebCore::ChromeClient::scrollRectIntoView):
405         * platform/HostWindow.h:
406         * platform/ScrollView.cpp:
407         (WebCore::ScrollView::scrollRectIntoViewRecursively):
408
409 2009-01-08  Adam Treat  <adam.treat@torchmobile.com>
410
411         Reviewed by David Hyatt.
412
413         No need to make this part of HostWindow and moreover HostWindow should
414         not have any reference to non-platform parts of WebCore.
415
416         * page/Chrome.h:
417         * page/FrameView.cpp:
418         (WebCore::FrameView::setContentsSize):
419         * platform/HostWindow.h:
420
421 2009-01-08  Eric Carlson  <eric.carlson@apple.com>
422
423         Reviewed by Adele Peterson.
424
425         Simplify Mac interfaces for drawing media controller elements
426
427         <rdar://problem/6293969>
428
429         * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions
430
431         * platform/mac/WebCoreSystemInterface.h: Ditto
432         * platform/mac/WebCoreSystemInterface.mm: Ditto
433
434         * rendering/MediaControlElements.h:
435         (WebCore::): Add MediaControlElements enum
436
437         * rendering/RenderThemeMac.mm:
438         (WebCore::RenderThemeMac::paintMediaFullscreenButton):  update for changed WebKitSystemInterface
439         media controller functions
440         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
441         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
442         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
443         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
444         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
445         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
446
447 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
448
449         Reviewed by Eric Seidel.
450
451         Add two more files for platform/graphics/skia.
452         https://bugs.webkit.org/show_bug.cgi?id=23191
453
454         * platform/graphics/skia/GradientSkia.cpp: Added.
455         (WebCore::Gradient::platformDestroy):
456         (WebCore::F2B):
457         (WebCore::makeSkColor):
458         (WebCore::totalStopsNeeded):
459         (WebCore::fillStops):
460         (WebCore::compareStops):
461         (WebCore::Gradient::platformGradient):
462         (WebCore::Gradient::fill):
463         * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h.
464         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
465         (WebCore::GraphicsContextPlatformPrivate::context):
466
467 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
468
469         Reviewed by Eric Seidel.
470
471         Commit the right files this time!  (Instead of the ugly unfixed ones.)
472         https://bugs.webkit.org/show_bug.cgi?id=23191
473
474         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
475         * platform/graphics/skia/FloatPointSkia.cpp:
476         * platform/graphics/skia/FloatRectSkia.cpp:
477         * platform/graphics/skia/IntPointSkia.cpp:
478         * platform/graphics/skia/IntRectSkia.cpp:
479         (WebCore::IntRect::operator SkRect):
480         * platform/graphics/skia/SkiaUtils.cpp:
481         (WebCore::):
482         (WebCore::WebCoreCompositeToSkiaComposite):
483         (WebCore::SkPMColorToWebCoreColor):
484         (WebCore::IntersectRectAndRegion):
485         (WebCore::ClipRectToCanvas):
486         (WebCore::SkPathContainsPoint):
487         (WebCore::scratchContext):
488         * platform/graphics/skia/SkiaUtils.h:
489         (WebCore::WebCoreFloatToSkScalar):
490         (WebCore::WebCoreDoubleToSkScalar):
491
492 2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
493
494         Reviewed by Eric Seidel.
495
496         Add the first few files from platform/graphics/skia
497         https://bugs.webkit.org/show_bug.cgi?id=23191
498
499         These are all pretty simple.
500         Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header.
501         SkiaUtils needs to die, but that can come later, no need to block up-streaming now.
502
503         * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added.
504         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
505         (WebCore::BitmapImageSingleFrameSkia::size):
506         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
507         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
508         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
509         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
510         * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm.
511         (WebCore::FloatPoint::FloatPoint):
512         (WebCore::FloatPoint::operator SkPoint):
513         * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
514         (WebCore::FloatRect::FloatRect):
515         (WebCore::FloatRect::operator SkRect):
516         * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp.
517         (WebCore::IntPoint::IntPoint):
518         (WebCore::IntPoint::operator SkIPoint):
519         (WebCore::IntPoint::operator SkPoint):
520         * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
521         (WebCore::IntRect::operator SkIRect):
522         (WebCore::IntRect::operator SkRect):
523         (WebCore::IntRect::IntRect):
524         * platform/graphics/skia/SkiaUtils.cpp: Added.
525         (WebCore::WebCorePointToSkiaPoint):
526         (WebCore::WebCoreRectToSkiaRect):
527         (WebCore::):
528         (WebCore::WebCoreCompositeToSkiaComposite):
529         (WebCore::InvScaleByte):
530         (WebCore::SkPMColorToColor):
531         (WebCore::SkPMColorToWebCoreColor):
532         (WebCore::IntersectRectAndRegion):
533         (WebCore::ClipRectToCanvas):
534         (WebCore::SkPathContainsPoint):
535         (WebCore::scratchContext):
536         * platform/graphics/skia/SkiaUtils.h: Added.
537         (WebCore::WebCoreFloatToSkScalar):
538         (WebCore::WebCoreDoubleToSkScalar):
539
540 2009-01-08  Pierre-Olivier Latour  <pol@apple.com>
541
542         Reviewed by Dan Bernstein.
543
544         Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly.
545
546         Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations,
547         instead of simply the "running" ones.
548
549         https://bugs.webkit.org/show_bug.cgi?id=23177
550
551         Tests: transitions/zero-duration-with-non-zero-delay-end.html
552                transitions/zero-duration-with-non-zero-delay-start.html
553
554         * page/animation/AnimationBase.cpp:
555         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
556         * page/animation/AnimationController.cpp:
557         (WebCore::AnimationControllerPrivate::animationTimerFired):
558         * page/animation/CompositeAnimation.cpp:
559         (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
560
561 2009-01-08  Alexey Proskuryakov  <ap@webkit.org>
562
563         Reviewed by Oliver Hunt.
564
565         <rdar://problem/6477501> Repro crash loading HTML5 AppCache manifest directly
566
567         The crash happened whenever a cached resource was downloaded, as opposed to used directly.
568
569         No test, as downloading cannot be tested automatically.
570
571         * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
572         Cancel downloads that do not have an associated ResourceHandle, such as downloads from the
573         application cache. Activity window shows "The URL can't be shown", and the frame remains empty.
574
575 2009-01-08  Justin McPherson <justin.mcpherson@nokia.com>
576
577         Reviewed by Simon Hausmann.
578
579         Fix the Qt build on older X11 systems with special X paths.
580
581         * WebCore.pro: Use the x11 qmake config to pull in extra paths
582         needed for NPAPI.
583
584 2009-01-08  Adam Roben  <aroben@apple.com>
585
586         Windows build fix after r39699
587
588         * DerivedSources.cpp: Added JSDOMStringList.cpp.
589
590 2009-01-08  Kent Hansen  <khansen@trolltech.com>
591
592         Reviewed by Simon Hausmann.
593
594         Fix copy & paste of images in the Qt port.
595
596         Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool.
597
598         * platform/qt/ClipboardQt.cpp:
599         (WebCore::ClipboardQt::declareAndWriteDragImage):
600
601 2009-01-08  Hiroyuki Ikezoe  <poincare@ikezoe.net>
602
603         Reviewed by Holger Freyther.
604
605         https://bugs.webkit.org/show_bug.cgi?id=23127
606
607         Invoke pango_coverage_get with each Unicode character.
608
609         * platform/graphics/gtk/SimpleFontDataPango.cpp:
610         (WebCore::SimpleFontData::containsCharacters):
611
612 2009-01-07  Alexey Proskuryakov  <ap@webkit.org>
613
614         Reviewed by Darin Adler.
615
616         Part one of 
617         https://bugs.webkit.org/show_bug.cgi?id=23165
618         Add support for application cache dynamic entries
619
620         Test: http/tests/appcache/dynamic-entries-no-cache.html
621
622         * DerivedSources.make:
623         * GNUmakefile.am:
624         * WebCore.pro:
625         * WebCore.scons:
626         * WebCore.vcproj/WebCore.vcproj:
627         * WebCore.xcodeproj/project.pbxproj:
628         * WebCoreSources.bkl:
629         Added new files.
630
631         * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem):
632         Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom
633         to resolve relative URLs correctly.
634
635         * bindings/js/JSDOMStringListCustom.cpp: Added.
636         * dom/DOMStringList.cpp: Added.
637         * dom/DOMStringList.h: Added.
638         * dom/DOMStringList.idl: Added.
639         Added an implementation of DOM 3 Core DOMStringList interface, which is returned by
640         DOMApplicationCache items attribute.
641
642         * dom/StaticStringList.cpp: Added.
643         * dom/StaticStringList.h: Added.
644         An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this
645         matches Firefox, as the spec doesn't say whether the returned list should be live or not).
646
647         * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be
648         used in the near future.
649
650         * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length 
651         attribute and item(), we now have an items attribute that returns a DOMStringList, and a
652         hasItem convenience method.
653
654         * loader/appcache/DOMApplicationCache.cpp:
655         (WebCore::DOMApplicationCache::items):
656         (WebCore::DOMApplicationCache::hasItem):
657         * loader/appcache/DOMApplicationCache.h:
658         Added implementations of items attribute and hasItem() (note that underlying ApplicationCache
659         methods are still unimplemented though).
660
661         * page/DOMWindow.idl: Expose a DOMStringList global constructor.
662
663 2009-01-07  Chris Marrin  <cmarrin@apple.com>
664
665         Reviewed by Eric Seidel.
666
667         https://bugs.webkit.org/show_bug.cgi?id=23122
668
669         This completes the removal of dependencies on WebKit from the platform code
670
671         * css/CSSComputedStyleDeclaration.cpp:
672         (WebCore::getDelayValue):
673         (WebCore::getDurationValue):
674         (WebCore::getTimingFunctionValue):
675         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
676         * css/CSSHelper.h:
677         * css/CSSStyleSelector.cpp:
678         (WebCore::CSSStyleSelector::mapAnimationDelay):
679         (WebCore::CSSStyleSelector::mapAnimationDirection):
680         (WebCore::CSSStyleSelector::mapAnimationDuration):
681         (WebCore::CSSStyleSelector::mapAnimationIterationCount):
682         (WebCore::CSSStyleSelector::mapAnimationName):
683         (WebCore::CSSStyleSelector::mapAnimationPlayState):
684         (WebCore::CSSStyleSelector::mapAnimationProperty):
685         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
686         * platform/animation/Animation.cpp:
687         (WebCore::Animation::Animation):
688         * platform/animation/Animation.h:
689         (WebCore::Animation::initialAnimationDelay):
690         (WebCore::Animation::initialAnimationDirection):
691         (WebCore::Animation::initialAnimationDuration):
692         (WebCore::Animation::initialAnimationIterationCount):
693         (WebCore::Animation::initialAnimationName):
694         (WebCore::Animation::initialAnimationPlayState):
695         (WebCore::Animation::initialAnimationProperty):
696         (WebCore::Animation::initialAnimationTimingFunction):
697         * rendering/style/RenderStyle.h:
698
699 2008-01-07  Peter Kasting  <pkasting@google.com>
700
701         Reviewed by Sam Weinig.
702
703         https://bugs.webkit.org/show_bug.cgi?id=22929
704
705         Fix errors while decoding GIFs by not calling setData() repeatedly
706         when it's not necessary.  Pushes the responsibility for calling
707         setData() after clear() into the ImageSource which presumably knows
708         better than BitmapImage what needs to be done.
709
710         NOTE: The above bug is mainly about a memory regression, which this
711         patch does not fix.
712
713         * platform/graphics/BitmapImage.cpp:
714         (WebCore::BitmapImage::destroyDecodedData):
715         * platform/graphics/ImageSource.h:
716         * platform/graphics/cairo/ImageSourceCairo.cpp:
717         (WebCore::ImageSource::clear):
718         * platform/graphics/cg/ImageSourceCG.cpp:
719         (WebCore::ImageSource::clear):
720         * platform/graphics/qt/ImageSourceQt.cpp:
721         (WebCore::ImageSource::~ImageSource):
722         (WebCore::ImageSource::clear):
723         * platform/graphics/wx/ImageSourceWx.cpp:
724         (WebCore::ImageSource::~ImageSource):
725         (WebCore::ImageSource::clear):
726
727 2009-01-07  Justin Garcia  <justin.garcia@apple.com>
728
729         Reviewed by Darin Adler.
730
731         <rdar://problem/6355786> Find fails for queries that contain a line break
732
733         * editing/TextIterator.cpp:
734         (WebCore::findPlainText): Allow find with queries that contain newlines.
735
736 2009-01-07  Dean Jackson  <dino@apple.com>
737
738         Reviewed by Dan Bernstein.
739
740         Allow removal of inline shorthand properties for
741         animation, transition and transform origin. Also
742         add getter for shorthand animation property.
743
744         https://bugs.webkit.org/show_bug.cgi?id=22605
745
746         Test: fast/css/transform-inline-style-remove.html
747
748         * css/CSSMutableStyleDeclaration.cpp:
749         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
750             Getter for animation property shorthand
751         (WebCore::initShorthandMap):
752             Adds initialisation for transform-origin, animation and transition
753
754 2009-01-07  Benjamin Otte  <otte@gnome.org>
755
756         Reviewed by Holger Freyther.
757
758         * platform/network/ResourceHandleInternal.h:
759         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
760         * platform/network/soup/ResourceHandleSoup.cpp:
761         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
762         (WebCore::parseDataUrl):
763         (WebCore::ResourceHandle::startData): keep track of the idle handler
764         we add and remove it in the destructor
765
766 2009-01-07  Dean Jackson  <dino@apple.com>
767
768         Reviewed by Darin Adler.
769
770         Finish renaming of AffineTransform to TransformationMatrix, this
771         time ensuring that the platform implementations get the correct
772         name. Also, clean up some whitespace cruft in old content.
773
774         https://bugs.webkit.org/show_bug.cgi?id=23151
775
776         * GNUmakefile.am:
777         * WebCore.pro:
778         * WebCore.scons:
779         * WebCore.vcproj/WebCore.vcproj:
780         * WebCore.xcodeproj/project.pbxproj:
781         * platform/graphics/cairo/AffineTransformCairo.cpp: Removed.
782         * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp.
783         * platform/graphics/cg/AffineTransformCG.cpp: Removed.
784         * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp.
785         * platform/graphics/qt/AffineTransformQt.cpp: Removed.
786         * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp.
787         * platform/graphics/transforms/TransformationMatrix.cpp:
788         * platform/graphics/transforms/TransformationMatrix.h:
789         * platform/graphics/wx/AffineTransformWx.cpp: Removed.
790         * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp.
791         * webcore-wx.bkl:
792
793 2009-01-07  Anders Carlsson  <andersca@apple.com>
794
795         Another build fix.
796         
797         * WebCore.LP64.exp:
798
799 2008-12-16  David Hyatt  <hyatt@apple.com>
800
801         Make Safari RSS behave nicely with full page zoom.  Need to add a new value to enable resetting of zoom
802         back to the document-level default.
803
804         Reviewed by Darin Adler
805
806         * css/CSSParser.cpp:
807         (WebCore::CSSParser::parseValue):
808         * css/CSSStyleSelector.cpp:
809         (WebCore::CSSStyleSelector::applyProperty):
810         * css/CSSValueKeywords.in:
811
812 2009-01-07  Darin Adler  <darin@apple.com>
813
814         Reviewed by Oliver Hunt.
815
816         Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
817         https://bugs.webkit.org/show_bug.cgi?id=23160
818
819         * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled.
820
821         * inspector/InspectorController.cpp:
822         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource
823         so that there's no extra work the caller has to do when the inspector is disabled.
824         * inspector/InspectorController.h: Ditto.
825
826         * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification,
827         takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification.
828
829         * loader/FrameLoader.cpp:
830         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when
831         there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled
832         and if it's false, use recordMemoryCacheLoadForFutureClientNotification.
833         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added.
834         * loader/FrameLoader.h: Ditto.
835
836         * page/Page.cpp:
837         (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior.
838         (WebCore::Page::setMemoryCacheClientCallsEnabled): Added.
839         * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled,
840         and m_areMemoryCacheClientCallsEnabled.
841
842 2009-01-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
843
844         Rubber-stamped by Simon Hausmann.
845
846         Qt build fix after r39670.
847
848         * bridge/qt/qt_class.cpp:
849         (JSC::Bindings::QtClass::fallbackObject):
850         * bridge/qt/qt_class.h:
851         * bridge/qt/qt_instance.cpp:
852         (JSC::Bindings::QtInstance::mark):
853         (JSC::Bindings::QtInstance::invokeMethod):
854         (JSC::Bindings::QtInstance::defaultValue):
855         (JSC::Bindings::QtInstance::stringValue):
856         (JSC::Bindings::QtInstance::numberValue):
857         (JSC::Bindings::QtInstance::booleanValue):
858         (JSC::Bindings::QtInstance::valueOf):
859         (JSC::Bindings::QtField::valueFromInstance):
860         (JSC::Bindings::QtField::setValueToInstance):
861         * bridge/qt/qt_instance.h:
862         * bridge/qt/qt_runtime.cpp:
863         (JSC::Bindings::valueRealType):
864         (JSC::Bindings::convertValueToQVariant):
865         (JSC::Bindings::convertQVariantToValue):
866         (JSC::Bindings::findMethodIndex):
867         (JSC::Bindings::QtRuntimeMetaMethod::call):
868         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
869         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
870         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
871         (JSC::Bindings::QtRuntimeConnectionMethod::call):
872         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
873         (JSC::Bindings::::setValueAt):
874         (JSC::Bindings::::valueAt):
875         * bridge/qt/qt_runtime.h:
876         (JSC::Bindings::QtRuntimeMethod::createStructure):
877
878 2009-01-06  Justin Garcia  <justin.garcia@apple.com>
879
880         Reviewed by Oliver Hunt.
881
882         <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu
883         
884         Can't create an automated test case for specific contextual menu items yet and
885         a normal Copy doesn't cause a crash.
886
887         * platform/mac/PasteboardMac.mm:
888         (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data.  It may,
889         for example, have a purgeable or regular buffer.
890
891 2009-01-06  Mark Rowe  <mrowe@apple.com>
892
893         Reviewed by Geoff Garen.
894
895         Fix <https://bugs.webkit.org/show_bug.cgi?id=23157>.
896         Bug 23157: Crashes on Acid 3
897
898         * dom/Document.cpp:
899         (WebCore::Document::recalcStyle): Null-check the frame.
900
901 2009-01-05  Gavin Barraclough  <baraclough@apple.com>
902
903         Rubber Stamped by Oliver Hunt.
904
905         Replace all uses of JSValue* with new wrapper class, JSValuePtr.
906         See JavaScriptCore/ChangeLog for more detailed description.
907
908         * bindings/js/JSAttrCustom.cpp:
909         (WebCore::JSAttr::setValue):
910         * bindings/js/JSCSSRuleCustom.cpp:
911         (WebCore::toJS):
912         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
913         (WebCore::JSCSSStyleDeclaration::nameGetter):
914         (WebCore::JSCSSStyleDeclaration::customPut):
915         * bindings/js/JSCSSValueCustom.cpp:
916         (WebCore::toJS):
917         * bindings/js/JSCanvasPixelArrayCustom.h:
918         (WebCore::JSCanvasPixelArray::getByIndex):
919         (WebCore::JSCanvasPixelArray::indexSetter):
920         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
921         (WebCore::toJS):
922         (WebCore::toHTMLCanvasStyle):
923         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
924         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
925         (WebCore::JSCanvasRenderingContext2D::fillStyle):
926         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
927         (WebCore::JSCanvasRenderingContext2D::setFillColor):
928         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
929         (WebCore::JSCanvasRenderingContext2D::strokeRect):
930         (WebCore::JSCanvasRenderingContext2D::drawImage):
931         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
932         (WebCore::JSCanvasRenderingContext2D::setShadow):
933         (WebCore::JSCanvasRenderingContext2D::createPattern):
934         (WebCore::JSCanvasRenderingContext2D::putImageData):
935         (WebCore::JSCanvasRenderingContext2D::fillText):
936         (WebCore::JSCanvasRenderingContext2D::strokeText):
937         * bindings/js/JSClipboardCustom.cpp:
938         (WebCore::JSClipboard::types):
939         (WebCore::JSClipboard::clearData):
940         (WebCore::JSClipboard::getData):
941         (WebCore::JSClipboard::setData):
942         (WebCore::JSClipboard::setDragImage):
943         * bindings/js/JSConsoleCustom.cpp:
944         (WebCore::JSConsole::profiles):
945         * bindings/js/JSCustomPositionCallback.cpp:
946         (WebCore::JSCustomPositionCallback::handleEvent):
947         * bindings/js/JSCustomPositionErrorCallback.cpp:
948         (WebCore::JSCustomPositionErrorCallback::handleEvent):
949         * bindings/js/JSCustomSQLStatementCallback.cpp:
950         (WebCore::JSCustomSQLStatementCallback::handleEvent):
951         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
952         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
953         * bindings/js/JSCustomSQLTransactionCallback.cpp:
954         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
955         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
956         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
957         * bindings/js/JSCustomVoidCallback.cpp:
958         (WebCore::JSCustomVoidCallback::handleEvent):
959         (WebCore::toVoidCallback):
960         * bindings/js/JSCustomVoidCallback.h:
961         * bindings/js/JSCustomXPathNSResolver.cpp:
962         (WebCore::JSCustomXPathNSResolver::create):
963         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
964         * bindings/js/JSCustomXPathNSResolver.h:
965         * bindings/js/JSDOMApplicationCacheCustom.cpp:
966         (WebCore::JSDOMApplicationCache::add):
967         (WebCore::JSDOMApplicationCache::remove):
968         (WebCore::JSDOMApplicationCache::addEventListener):
969         (WebCore::JSDOMApplicationCache::removeEventListener):
970         * bindings/js/JSDOMBinding.cpp:
971         (WebCore::jsStringOrNull):
972         (WebCore::jsOwnedStringOrNull):
973         (WebCore::jsStringOrUndefined):
974         (WebCore::jsStringOrFalse):
975         (WebCore::valueToStringWithNullCheck):
976         (WebCore::valueToStringWithUndefinedOrNullCheck):
977         (WebCore::reportException):
978         (WebCore::reportCurrentException):
979         (WebCore::setDOMException):
980         (WebCore::objectToStringFunctionGetter):
981         * bindings/js/JSDOMBinding.h:
982         (WebCore::getDOMObjectWrapper):
983         (WebCore::getDOMNodeWrapper):
984         (WebCore::toJS):
985         * bindings/js/JSDOMGlobalObject.cpp:
986         (WebCore::JSDOMGlobalObject::findJSEventListener):
987         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
988         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
989         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
990         * bindings/js/JSDOMGlobalObject.h:
991         * bindings/js/JSDOMWindowBase.cpp:
992         (WebCore::createWindow):
993         (WebCore::showModalDialog):
994         (jsDOMWindowBaseCrypto):
995         (jsDOMWindowBaseEvent):
996         (jsDOMWindowBaseImage):
997         (jsDOMWindowBaseMessageChannel):
998         (jsDOMWindowBaseOption):
999         (jsDOMWindowBaseXMLHttpRequest):
1000         (jsDOMWindowBaseAudio):
1001         (jsDOMWindowBaseWorker):
1002         (jsDOMWindowBaseXSLTProcessor):
1003         (setJSDOMWindowBaseEvent):
1004         (setJSDOMWindowBaseAudio):
1005         (setJSDOMWindowBaseImage):
1006         (setJSDOMWindowBaseMessageChannel):
1007         (setJSDOMWindowBaseOption):
1008         (setJSDOMWindowBaseWorker):
1009         (setJSDOMWindowBaseXMLHttpRequest):
1010         (setJSDOMWindowBaseXSLTProcessor):
1011         (WebCore::JSDOMWindowBase::childFrameGetter):
1012         (WebCore::JSDOMWindowBase::indexGetter):
1013         (WebCore::JSDOMWindowBase::namedItemGetter):
1014         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1015         (WebCore::JSDOMWindowBase::put):
1016         (WebCore::JSDOMWindowBase::clear):
1017         (windowProtoFuncOpen):
1018         (windowProtoFuncShowModalDialog):
1019         (windowProtoFuncNotImplemented):
1020         (WebCore::JSDOMWindowBase::setReturnValueSlot):
1021         (WebCore::JSDOMWindowBase::installTimeout):
1022         (WebCore::toJS):
1023         (WebCore::toJSDOMWindow):
1024         * bindings/js/JSDOMWindowBase.h:
1025         * bindings/js/JSDOMWindowCustom.cpp:
1026         (WebCore::JSDOMWindow::lookupGetter):
1027         (WebCore::JSDOMWindow::lookupSetter):
1028         (WebCore::JSDOMWindow::setLocation):
1029         (WebCore::JSDOMWindow::postMessage):
1030         (WebCore::setTimeoutOrInterval):
1031         (WebCore::JSDOMWindow::setTimeout):
1032         (WebCore::JSDOMWindow::clearTimeout):
1033         (WebCore::JSDOMWindow::setInterval):
1034         (WebCore::JSDOMWindow::clearInterval):
1035         (WebCore::JSDOMWindow::atob):
1036         (WebCore::JSDOMWindow::btoa):
1037         (WebCore::JSDOMWindow::addEventListener):
1038         (WebCore::JSDOMWindow::removeEventListener):
1039         (WebCore::toDOMWindow):
1040         (WebCore::nonCachingStaticCloseFunctionGetter):
1041         (WebCore::nonCachingStaticBlurFunctionGetter):
1042         (WebCore::nonCachingStaticFocusFunctionGetter):
1043         (WebCore::nonCachingStaticPostMessageFunctionGetter):
1044         * bindings/js/JSDOMWindowCustom.h:
1045         (WebCore::JSDOMWindow::customPut):
1046         * bindings/js/JSDOMWindowShell.cpp:
1047         (WebCore::JSDOMWindowShell::put):
1048         (WebCore::JSDOMWindowShell::putWithAttributes):
1049         (WebCore::JSDOMWindowShell::lookupGetter):
1050         (WebCore::JSDOMWindowShell::lookupSetter):
1051         (WebCore::toJS):
1052         * bindings/js/JSDOMWindowShell.h:
1053         (WebCore::JSDOMWindowShell::createStructure):
1054         * bindings/js/JSDatabaseCustom.cpp:
1055         (WebCore::JSDatabase::changeVersion):
1056         (WebCore::JSDatabase::transaction):
1057         * bindings/js/JSDocumentCustom.cpp:
1058         (WebCore::JSDocument::location):
1059         (WebCore::JSDocument::setLocation):
1060         (WebCore::toJS):
1061         * bindings/js/JSElementCustom.cpp:
1062         (WebCore::JSElement::setAttribute):
1063         (WebCore::JSElement::setAttributeNode):
1064         (WebCore::JSElement::setAttributeNS):
1065         (WebCore::JSElement::setAttributeNodeNS):
1066         (WebCore::toJSNewlyCreated):
1067         * bindings/js/JSEventCustom.cpp:
1068         (WebCore::JSEvent::clipboardData):
1069         (WebCore::toJS):
1070         * bindings/js/JSEventListener.cpp:
1071         (WebCore::JSAbstractEventListener::handleEvent):
1072         (WebCore::eventParameterName):
1073         (WebCore::JSLazyEventListener::parseCode):
1074         * bindings/js/JSEventTarget.cpp:
1075         (WebCore::toJS):
1076         * bindings/js/JSEventTarget.h:
1077         * bindings/js/JSEventTargetBase.h:
1078         * bindings/js/JSEventTargetNodeCustom.cpp:
1079         (WebCore::JSEventTargetNode::addEventListener):
1080         (WebCore::JSEventTargetNode::removeEventListener):
1081         * bindings/js/JSGeolocationCustom.cpp:
1082         (WebCore::createPositionOptions):
1083         (WebCore::JSGeolocation::getCurrentPosition):
1084         (WebCore::JSGeolocation::watchPosition):
1085         * bindings/js/JSHTMLAllCollection.h:
1086         (WebCore::JSHTMLAllCollection::createStructure):
1087         * bindings/js/JSHTMLAppletElementCustom.cpp:
1088         (WebCore::JSHTMLAppletElement::customPut):
1089         (WebCore::JSHTMLAppletElement::nameGetter):
1090         * bindings/js/JSHTMLCollectionCustom.cpp:
1091         (WebCore::getNamedItems):
1092         (WebCore::callHTMLCollection):
1093         (WebCore::JSHTMLCollection::nameGetter):
1094         (WebCore::JSHTMLCollection::item):
1095         (WebCore::JSHTMLCollection::namedItem):
1096         (WebCore::toJS):
1097         * bindings/js/JSHTMLDocumentCustom.cpp:
1098         (WebCore::JSHTMLDocument::nameGetter):
1099         (WebCore::JSHTMLDocument::all):
1100         (WebCore::JSHTMLDocument::setAll):
1101         (WebCore::JSHTMLDocument::open):
1102         (WebCore::JSHTMLDocument::write):
1103         (WebCore::JSHTMLDocument::writeln):
1104         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1105         (WebCore::JSHTMLEmbedElement::customPut):
1106         (WebCore::JSHTMLEmbedElement::nameGetter):
1107         * bindings/js/JSHTMLFormElementCustom.cpp:
1108         (WebCore::JSHTMLFormElement::nameGetter):
1109         * bindings/js/JSHTMLFrameElementCustom.cpp:
1110         (WebCore::JSHTMLFrameElement::setSrc):
1111         (WebCore::JSHTMLFrameElement::setLocation):
1112         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1113         (WebCore::JSHTMLFrameSetElement::nameGetter):
1114         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1115         (WebCore::JSHTMLIFrameElement::setSrc):
1116         * bindings/js/JSHTMLInputElementCustom.cpp:
1117         (WebCore::JSHTMLInputElement::selectionStart):
1118         (WebCore::JSHTMLInputElement::selectionEnd):
1119         * bindings/js/JSHTMLObjectElementCustom.cpp:
1120         (WebCore::JSHTMLObjectElement::customPut):
1121         (WebCore::JSHTMLObjectElement::nameGetter):
1122         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1123         (WebCore::JSHTMLOptionsCollection::length):
1124         (WebCore::JSHTMLOptionsCollection::setLength):
1125         (WebCore::JSHTMLOptionsCollection::indexSetter):
1126         (WebCore::JSHTMLOptionsCollection::add):
1127         (WebCore::JSHTMLOptionsCollection::remove):
1128         * bindings/js/JSHTMLSelectElementCustom.cpp:
1129         (WebCore::JSHTMLSelectElement::remove):
1130         (WebCore::selectIndexSetter):
1131         (WebCore::JSHTMLSelectElement::indexSetter):
1132         * bindings/js/JSHTMLSelectElementCustom.h:
1133         * bindings/js/JSHistoryCustom.cpp:
1134         (WebCore::nonCachingStaticBackFunctionGetter):
1135         (WebCore::nonCachingStaticForwardFunctionGetter):
1136         (WebCore::nonCachingStaticGoFunctionGetter):
1137         (WebCore::JSHistory::customPut):
1138         * bindings/js/JSImageDataCustom.cpp:
1139         (WebCore::toJS):
1140         * bindings/js/JSInspectedObjectWrapper.cpp:
1141         (WebCore::JSInspectedObjectWrapper::wrap):
1142         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
1143         * bindings/js/JSInspectedObjectWrapper.h:
1144         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
1145         * bindings/js/JSInspectorCallbackWrapper.cpp:
1146         (WebCore::JSInspectorCallbackWrapper::wrap):
1147         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
1148         * bindings/js/JSInspectorCallbackWrapper.h:
1149         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
1150         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1151         (WebCore::JSJavaScriptCallFrame::evaluate):
1152         (WebCore::JSJavaScriptCallFrame::thisObject):
1153         (WebCore::JSJavaScriptCallFrame::type):
1154         (WebCore::JSJavaScriptCallFrame::scopeChain):
1155         * bindings/js/JSLocationCustom.cpp:
1156         (WebCore::nonCachingStaticReplaceFunctionGetter):
1157         (WebCore::nonCachingStaticReloadFunctionGetter):
1158         (WebCore::nonCachingStaticAssignFunctionGetter):
1159         (WebCore::JSLocation::customPut):
1160         (WebCore::JSLocation::setHref):
1161         (WebCore::JSLocation::setProtocol):
1162         (WebCore::JSLocation::setHost):
1163         (WebCore::JSLocation::setHostname):
1164         (WebCore::JSLocation::setPort):
1165         (WebCore::JSLocation::setPathname):
1166         (WebCore::JSLocation::setSearch):
1167         (WebCore::JSLocation::setHash):
1168         (WebCore::JSLocation::replace):
1169         (WebCore::JSLocation::reload):
1170         (WebCore::JSLocation::assign):
1171         (WebCore::JSLocation::toString):
1172         * bindings/js/JSMessageChannelConstructor.h:
1173         * bindings/js/JSMessagePortCustom.cpp:
1174         (WebCore::JSMessagePort::startConversation):
1175         (WebCore::JSMessagePort::addEventListener):
1176         (WebCore::JSMessagePort::removeEventListener):
1177         * bindings/js/JSMimeTypeArrayCustom.cpp:
1178         (WebCore::JSMimeTypeArray::nameGetter):
1179         * bindings/js/JSNamedNodeMapCustom.cpp:
1180         (WebCore::JSNamedNodeMap::nameGetter):
1181         * bindings/js/JSNamedNodesCollection.cpp:
1182         (WebCore::JSNamedNodesCollection::lengthGetter):
1183         (WebCore::JSNamedNodesCollection::indexGetter):
1184         * bindings/js/JSNamedNodesCollection.h:
1185         (WebCore::JSNamedNodesCollection::createStructure):
1186         * bindings/js/JSNavigatorCustom.cpp:
1187         (WebCore::needsYouTubeQuirk):
1188         (WebCore::JSNavigator::appVersion):
1189         * bindings/js/JSNodeCustom.cpp:
1190         (WebCore::JSNode::insertBefore):
1191         (WebCore::JSNode::replaceChild):
1192         (WebCore::JSNode::removeChild):
1193         (WebCore::JSNode::appendChild):
1194         (WebCore::createWrapper):
1195         (WebCore::toJSNewlyCreated):
1196         (WebCore::toJS):
1197         * bindings/js/JSNodeFilterCondition.cpp:
1198         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1199         (WebCore::JSNodeFilterCondition::acceptNode):
1200         * bindings/js/JSNodeFilterCondition.h:
1201         (WebCore::JSNodeFilterCondition::create):
1202         * bindings/js/JSNodeFilterCustom.cpp:
1203         (WebCore::JSNodeFilter::acceptNode):
1204         (WebCore::toNodeFilter):
1205         * bindings/js/JSNodeIteratorCustom.cpp:
1206         (WebCore::JSNodeIterator::nextNode):
1207         (WebCore::JSNodeIterator::previousNode):
1208         * bindings/js/JSNodeListCustom.cpp:
1209         (WebCore::callNodeList):
1210         (WebCore::JSNodeList::nameGetter):
1211         * bindings/js/JSPluginArrayCustom.cpp:
1212         (WebCore::JSPluginArray::nameGetter):
1213         * bindings/js/JSPluginCustom.cpp:
1214         (WebCore::JSPlugin::nameGetter):
1215         * bindings/js/JSPluginElementFunctions.cpp:
1216         (WebCore::runtimeObjectGetter):
1217         (WebCore::runtimeObjectPropertyGetter):
1218         (WebCore::runtimeObjectCustomPut):
1219         (WebCore::callPlugin):
1220         * bindings/js/JSPluginElementFunctions.h:
1221         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1222         (WebCore::JSQuarantinedObjectWrapper::asWrapper):
1223         (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
1224         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
1225         (WebCore::JSQuarantinedObjectWrapper::put):
1226         (WebCore::JSQuarantinedObjectWrapper::construct):
1227         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1228         (WebCore::JSQuarantinedObjectWrapper::call):
1229         * bindings/js/JSQuarantinedObjectWrapper.h:
1230         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1231         * bindings/js/JSRGBColor.cpp:
1232         (WebCore::getJSRGBColor):
1233         (jsRGBColorRed):
1234         (jsRGBColorGreen):
1235         (jsRGBColorBlue):
1236         * bindings/js/JSRGBColor.h:
1237         (WebCore::JSRGBColor::createStructure):
1238         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1239         (WebCore::JSSQLResultSetRowList::item):
1240         * bindings/js/JSSQLTransactionCustom.cpp:
1241         (WebCore::JSSQLTransaction::executeSql):
1242         * bindings/js/JSSVGElementInstanceCustom.cpp:
1243         (WebCore::JSSVGElementInstance::addEventListener):
1244         (WebCore::JSSVGElementInstance::removeEventListener):
1245         * bindings/js/JSSVGLengthCustom.cpp:
1246         (WebCore::JSSVGLength::value):
1247         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1248         * bindings/js/JSSVGMatrixCustom.cpp:
1249         (WebCore::JSSVGMatrix::multiply):
1250         (WebCore::JSSVGMatrix::inverse):
1251         (WebCore::JSSVGMatrix::translate):
1252         (WebCore::JSSVGMatrix::scale):
1253         (WebCore::JSSVGMatrix::scaleNonUniform):
1254         (WebCore::JSSVGMatrix::rotate):
1255         (WebCore::JSSVGMatrix::rotateFromVector):
1256         (WebCore::JSSVGMatrix::flipX):
1257         (WebCore::JSSVGMatrix::flipY):
1258         (WebCore::JSSVGMatrix::skewX):
1259         (WebCore::JSSVGMatrix::skewY):
1260         * bindings/js/JSSVGPathSegCustom.cpp:
1261         (WebCore::toJS):
1262         * bindings/js/JSSVGPathSegListCustom.cpp:
1263         (WebCore::JSSVGPathSegList::clear):
1264         (WebCore::JSSVGPathSegList::initialize):
1265         (WebCore::JSSVGPathSegList::getItem):
1266         (WebCore::JSSVGPathSegList::insertItemBefore):
1267         (WebCore::JSSVGPathSegList::replaceItem):
1268         (WebCore::JSSVGPathSegList::removeItem):
1269         (WebCore::JSSVGPathSegList::appendItem):
1270         * bindings/js/JSSVGPointListCustom.cpp:
1271         (WebCore::finishGetter):
1272         (WebCore::finishSetter):
1273         (WebCore::finishSetterReadOnlyResult):
1274         (WebCore::JSSVGPointList::clear):
1275         (WebCore::JSSVGPointList::initialize):
1276         (WebCore::JSSVGPointList::getItem):
1277         (WebCore::JSSVGPointList::insertItemBefore):
1278         (WebCore::JSSVGPointList::replaceItem):
1279         (WebCore::JSSVGPointList::removeItem):
1280         (WebCore::JSSVGPointList::appendItem):
1281         * bindings/js/JSSVGTransformListCustom.cpp:
1282         (WebCore::finishGetter):
1283         (WebCore::finishSetter):
1284         (WebCore::finishSetterReadOnlyResult):
1285         (WebCore::JSSVGTransformList::clear):
1286         (WebCore::JSSVGTransformList::initialize):
1287         (WebCore::JSSVGTransformList::getItem):
1288         (WebCore::JSSVGTransformList::insertItemBefore):
1289         (WebCore::JSSVGTransformList::replaceItem):
1290         (WebCore::JSSVGTransformList::removeItem):
1291         (WebCore::JSSVGTransformList::appendItem):
1292         * bindings/js/JSStorageCustom.cpp:
1293         (WebCore::JSStorage::nameGetter):
1294         (WebCore::JSStorage::deleteProperty):
1295         (WebCore::JSStorage::customPut):
1296         * bindings/js/JSStyleSheetCustom.cpp:
1297         (WebCore::toJS):
1298         * bindings/js/JSStyleSheetListCustom.cpp:
1299         (WebCore::JSStyleSheetList::nameGetter):
1300         * bindings/js/JSTextCustom.cpp:
1301         (WebCore::toJSNewlyCreated):
1302         * bindings/js/JSTreeWalkerCustom.cpp:
1303         (WebCore::JSTreeWalker::parentNode):
1304         (WebCore::JSTreeWalker::firstChild):
1305         (WebCore::JSTreeWalker::lastChild):
1306         (WebCore::JSTreeWalker::nextSibling):
1307         (WebCore::JSTreeWalker::previousSibling):
1308         (WebCore::JSTreeWalker::previousNode):
1309         (WebCore::JSTreeWalker::nextNode):
1310         * bindings/js/JSWorkerContextBase.cpp:
1311         (WebCore::JSWorkerContextBase::put):
1312         * bindings/js/JSWorkerContextBase.h:
1313         * bindings/js/JSWorkerContextCustom.cpp:
1314         (WebCore::JSWorkerContext::self):
1315         (WebCore::JSWorkerContext::setSelf):
1316         (WebCore::JSWorkerContext::addEventListener):
1317         (WebCore::JSWorkerContext::removeEventListener):
1318         * bindings/js/JSWorkerCustom.cpp:
1319         (WebCore::JSWorker::addEventListener):
1320         (WebCore::JSWorker::removeEventListener):
1321         * bindings/js/JSXMLHttpRequestCustom.cpp:
1322         (WebCore::JSXMLHttpRequest::open):
1323         (WebCore::JSXMLHttpRequest::setRequestHeader):
1324         (WebCore::JSXMLHttpRequest::send):
1325         (WebCore::JSXMLHttpRequest::getResponseHeader):
1326         (WebCore::JSXMLHttpRequest::overrideMimeType):
1327         (WebCore::JSXMLHttpRequest::addEventListener):
1328         (WebCore::JSXMLHttpRequest::removeEventListener):
1329         (WebCore::JSXMLHttpRequest::responseText):
1330         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1331         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1332         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1333         * bindings/js/JSXSLTProcessorCustom.cpp:
1334         (WebCore::JSXSLTProcessor::importStylesheet):
1335         (WebCore::JSXSLTProcessor::transformToFragment):
1336         (WebCore::JSXSLTProcessor::transformToDocument):
1337         (WebCore::JSXSLTProcessor::setParameter):
1338         (WebCore::JSXSLTProcessor::getParameter):
1339         (WebCore::JSXSLTProcessor::removeParameter):
1340         * bindings/js/ScheduledAction.cpp:
1341         (WebCore::ScheduledAction::ScheduledAction):
1342         (WebCore::ScheduledAction::execute):
1343         * bindings/js/ScheduledAction.h:
1344         * bindings/js/ScriptCallStack.cpp:
1345         (WebCore::ScriptCallStack::ScriptCallStack):
1346         (WebCore::ScriptCallStack::initialize):
1347         * bindings/js/ScriptController.cpp:
1348         (WebCore::ScriptController::createScriptObjectForPluginElement):
1349         * bindings/js/ScriptValue.cpp:
1350         (WebCore::ScriptValue::getString):
1351         (WebCore::ScriptValue::isNull):
1352         (WebCore::ScriptValue::isUndefined):
1353         * bindings/js/ScriptValue.h:
1354         (WebCore::ScriptValue::ScriptValue):
1355         (WebCore::ScriptValue::jsValue):
1356         * bindings/objc/WebScriptObject.mm:
1357         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1358         (-[WebScriptObject evaluateWebScript:]):
1359         (-[WebScriptObject valueForKey:]):
1360         (-[WebScriptObject webScriptValueAtIndex:]):
1361         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1362         * bindings/objc/WebScriptObjectPrivate.h:
1363         * bindings/scripts/CodeGeneratorJS.pm:
1364         * bridge/NP_jsobject.cpp:
1365         (_NPN_InvokeDefault):
1366         (_NPN_Invoke):
1367         (_NPN_Evaluate):
1368         (_NPN_GetProperty):
1369         (_NPN_HasMethod):
1370         (_NPN_Construct):
1371         * bridge/c/c_instance.cpp:
1372         (JSC::Bindings::CInstance::invokeMethod):
1373         (JSC::Bindings::CInstance::invokeDefaultMethod):
1374         (JSC::Bindings::CInstance::invokeConstruct):
1375         (JSC::Bindings::CInstance::defaultValue):
1376         (JSC::Bindings::CInstance::stringValue):
1377         (JSC::Bindings::CInstance::numberValue):
1378         (JSC::Bindings::CInstance::booleanValue):
1379         (JSC::Bindings::CInstance::valueOf):
1380         * bridge/c/c_instance.h:
1381         * bridge/c/c_runtime.cpp:
1382         (JSC::Bindings::CField::valueFromInstance):
1383         (JSC::Bindings::CField::setValueToInstance):
1384         * bridge/c/c_runtime.h:
1385         * bridge/c/c_utility.cpp:
1386         (JSC::Bindings::convertValueToNPVariant):
1387         (JSC::Bindings::convertNPVariantToValue):
1388         * bridge/c/c_utility.h:
1389         * bridge/jni/jni_instance.cpp:
1390         (JavaInstance::stringValue):
1391         (JavaInstance::numberValue):
1392         (JavaInstance::booleanValue):
1393         (JavaInstance::invokeMethod):
1394         (JavaInstance::defaultValue):
1395         (JavaInstance::valueOf):
1396         * bridge/jni/jni_instance.h:
1397         * bridge/jni/jni_jsobject.h:
1398         * bridge/jni/jni_jsobject.mm:
1399         (JavaJSObject::call):
1400         (JavaJSObject::eval):
1401         (JavaJSObject::getMember):
1402         (JavaJSObject::getSlot):
1403         (JavaJSObject::convertValueToJObject):
1404         (JavaJSObject::convertJObjectToValue):
1405         * bridge/jni/jni_objc.mm:
1406         (JSC::Bindings::dispatchJNICall):
1407         * bridge/jni/jni_runtime.cpp:
1408         (JavaArray::convertJObjectToArray):
1409         (JavaField::dispatchValueFromInstance):
1410         (JavaField::valueFromInstance):
1411         (JavaField::dispatchSetValueToInstance):
1412         (JavaField::setValueToInstance):
1413         (JavaArray::setValueAt):
1414         (JavaArray::valueAt):
1415         * bridge/jni/jni_runtime.h:
1416         * bridge/jni/jni_utility.cpp:
1417         (JSC::Bindings::convertArrayInstanceToJavaArray):
1418         (JSC::Bindings::convertValueToJValue):
1419         * bridge/jni/jni_utility.h:
1420         * bridge/objc/WebScriptObject.h:
1421         * bridge/objc/objc_class.h:
1422         * bridge/objc/objc_class.mm:
1423         (JSC::Bindings::ObjcClass::fallbackObject):
1424         * bridge/objc/objc_instance.h:
1425         * bridge/objc/objc_instance.mm:
1426         (ObjcInstance::invokeMethod):
1427         (ObjcInstance::invokeDefaultMethod):
1428         (ObjcInstance::setValueOfUndefinedField):
1429         (ObjcInstance::getValueOfUndefinedField):
1430         (ObjcInstance::defaultValue):
1431         (ObjcInstance::stringValue):
1432         (ObjcInstance::numberValue):
1433         (ObjcInstance::booleanValue):
1434         (ObjcInstance::valueOf):
1435         * bridge/objc/objc_runtime.h:
1436         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1437         * bridge/objc/objc_runtime.mm:
1438         (JSC::Bindings::ObjcField::valueFromInstance):
1439         (JSC::Bindings::convertValueToObjcObject):
1440         (JSC::Bindings::ObjcField::setValueToInstance):
1441         (JSC::Bindings::ObjcArray::setValueAt):
1442         (JSC::Bindings::ObjcArray::valueAt):
1443         (JSC::Bindings::ObjcFallbackObjectImp::put):
1444         (JSC::Bindings::callObjCFallbackObject):
1445         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
1446         * bridge/objc/objc_utility.h:
1447         * bridge/objc/objc_utility.mm:
1448         (JSC::Bindings::convertValueToObjcValue):
1449         (JSC::Bindings::convertNSStringToString):
1450         (JSC::Bindings::convertObjcValueToValue):
1451         * bridge/runtime.cpp:
1452         (JSC::Bindings::Instance::getValueOfField):
1453         (JSC::Bindings::Instance::setValueOfField):
1454         * bridge/runtime.h:
1455         (JSC::Bindings::Class::fallbackObject):
1456         (JSC::Bindings::Instance::getValueOfUndefinedField):
1457         (JSC::Bindings::Instance::setValueOfUndefinedField):
1458         (JSC::Bindings::Instance::invokeDefaultMethod):
1459         (JSC::Bindings::Instance::invokeConstruct):
1460         (JSC::Bindings::Instance::valueOf):
1461         * bridge/runtime_array.cpp:
1462         (JSC::RuntimeArray::lengthGetter):
1463         (JSC::RuntimeArray::indexGetter):
1464         (JSC::RuntimeArray::put):
1465         * bridge/runtime_array.h:
1466         (JSC::RuntimeArray::createStructure):
1467         * bridge/runtime_method.cpp:
1468         (JSC::RuntimeMethod::lengthGetter):
1469         (JSC::callRuntimeMethod):
1470         * bridge/runtime_method.h:
1471         (JSC::RuntimeMethod::createStructure):
1472         * bridge/runtime_object.cpp:
1473         (JSC::RuntimeObjectImp::fallbackObjectGetter):
1474         (JSC::RuntimeObjectImp::fieldGetter):
1475         (JSC::RuntimeObjectImp::methodGetter):
1476         (JSC::RuntimeObjectImp::put):
1477         (JSC::RuntimeObjectImp::defaultValue):
1478         (JSC::callRuntimeObject):
1479         (JSC::callRuntimeConstructor):
1480         * bridge/runtime_object.h:
1481         (JSC::RuntimeObjectImp::createStructure):
1482         * inspector/InspectorController.cpp:
1483         * inspector/JavaScriptCallFrame.cpp:
1484         (WebCore::JavaScriptCallFrame::evaluate):
1485         * inspector/JavaScriptCallFrame.h:
1486         * inspector/JavaScriptProfile.cpp:
1487         (WebCore::toJS):
1488         * inspector/JavaScriptProfile.h:
1489         * inspector/JavaScriptProfileNode.cpp:
1490         (WebCore::toJS):
1491         * inspector/JavaScriptProfileNode.h:
1492         * xml/XMLHttpRequest.cpp:
1493         (WebCore::XMLHttpRequest::dropProtection):
1494
1495 2009-01-06  Pierre-Olivier Latour  <pol@apple.com>
1496
1497         Reviewed by Darin Adler.
1498
1499         Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT.
1500
1501         https://bugs.webkit.org/show_bug.cgi?id=23126
1502
1503         Test: animations/animation-controller-drt-api.html
1504
1505         * WebCore.base.exp:
1506         * page/animation/AnimationController.cpp:
1507         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
1508         (WebCore::AnimationController::numberOfActiveAnimations):
1509         * page/animation/AnimationController.h:
1510         * page/animation/CompositeAnimation.cpp:
1511         (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
1512         (WebCore::CompositeAnimation::numberOfActiveAnimations):
1513         * page/animation/CompositeAnimation.h:
1514
1515 2009-01-06  Eric Seidel  <eric@webkit.org>
1516
1517         Reviewed by Gavin Barraclough.
1518
1519         Upstream 3 more files to get the WebCore-Chromium build a bit further.
1520
1521         * WebCore.scons:
1522         * page/chromium/AccessibilityObjectChromium.cpp: Added.
1523         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1524         * page/chromium/AccessibilityObjectWrapper.h: Added.
1525         (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper):
1526         (WebCore::AccessibilityObjectWrapper::attached):
1527         (WebCore::AccessibilityObjectWrapper::accessibilityObject):
1528         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
1529         * platform/chromium/PasteboardPrivate.h: Added.
1530         (WebCore::PasteboardPrivate::):
1531
1532 2009-01-06  Chris Marrin  <cmarrin@apple.com>
1533
1534         Reviewed by David Hyatt.
1535
1536         Tests: animations/simultaneous-start-left.html
1537                animations/simultaneous-start-transform.html
1538
1539         Fixed https://bugs.webkit.org/show_bug.cgi?id=22870
1540  
1541         I added calls beginAnimationUpdate() and endAnimationUpdate() calls
1542         to AnimationController. These are called by Document at the start
1543         and end of the recalcStyle cycle. Right now, I'm just using the 
1544         beginAnimationUpdate() method to reset an animation time value.
1545         The first time the animation time is accessed after this reset I set
1546         it to the currentTime. So all animations in that cycle get the same
1547         start time. 
1548
1549         The test cases checked in test this, but in the case of the 'left'
1550         test it actually doesn't make any difference in most cases. This is
1551         because values are clamped to whole pixels, so the start times would 
1552         have to be pretty far off for the test to fail using the old
1553         currentTime() model. Still, under really heavy load, it's possible for
1554         the test to fail without these changes.
1555
1556         The 'transform' test is another story. It animates to the full resolution
1557         of a floating point number, so the test fails miserably without this
1558         fix.
1559
1560         * dom/Document.cpp:
1561         (WebCore::Document::recalcStyle):
1562         * page/animation/AnimationBase.cpp:
1563         (WebCore::AnimationBase::updateStateMachine):
1564         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1565         (WebCore::AnimationBase::willNeedService):
1566         (WebCore::AnimationBase::progress):
1567         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
1568         (WebCore::AnimationBase::beginAnimationUpdateTime):
1569         * page/animation/AnimationBase.h:
1570         * page/animation/AnimationController.cpp:
1571         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
1572         (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
1573         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
1574         (WebCore::AnimationController::updateAnimations):
1575         (WebCore::AnimationController::beginAnimationUpdateTime):
1576         (WebCore::AnimationController::beginAnimationUpdate):
1577         (WebCore::AnimationController::endAnimationUpdate):
1578         * page/animation/AnimationController.h:
1579         * page/animation/KeyframeAnimation.cpp:
1580         (WebCore::KeyframeAnimation::animate):
1581
1582 2009-01-06  Julien Chaffraix  <jchaffraix@webkit.org>
1583
1584         Reviewed by Nikolas Zimmermann.
1585
1586         Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions
1587         https://bugs.webkit.org/show_bug.cgi?id=22858
1588
1589         I had introduced an awkward situation using hasCustomJSWrapper and
1590         sometimes boolean parameter in order to ensure JS wrapper generated once
1591         or header included once.
1592
1593         Simplified the code by using a %seenTag hash to detect multiple definitions
1594         or inclusions and skipping it.
1595
1596         Also cleaned up a bit make_names.pl by using more explicit names and moving
1597         code to where it belongs.
1598
1599         * dom/make_names.pl:
1600         * html/HTMLTagNames.in: Necessary changes that were not detected by
1601         the previous syntax but will be required for autogenerating HTMLElementFactory.
1602
1603 2009-01-06  Anders Carlsson  <andersca@apple.com>
1604
1605         Reviewed by Sam Weinig.
1606
1607         Add a way for frame loader clients to always create a PluginDocument, regardless of 
1608         the real document MIME type.
1609         
1610         * loader/FrameLoader.cpp:
1611         (WebCore::FrameLoader::begin):
1612         (WebCore::FrameLoader::shouldUsePlugin):
1613         * loader/FrameLoaderClient.h:
1614         (WebCore::FrameLoaderClient::shouldUsePluginDocument):
1615
1616 2009-01-06  Dean Jackson  <dino@apple.com>
1617
1618         Reviewed by Dave Hyatt.
1619
1620         Extend Media Queries to cover transitions,
1621         animations, transform-2d and transform-3d
1622         http://webkit.org/specs/MediaQueriesExtensions.html
1623         Note that the implementation uses -webkit- prefixes
1624         even though the spec doesn't have them.
1625         https://bugs.webkit.org/show_bug.cgi?id=22494
1626
1627         Tests: fast/media/mq-animation.html
1628                fast/media/mq-transform-01.html
1629                fast/media/mq-transform-02.html
1630                fast/media/mq-transform-03.html
1631                fast/media/mq-transform-04.html
1632                fast/media/mq-transition.html
1633
1634         * css/MediaFeatureNames.h:
1635         * css/MediaQueryEvaluator.cpp:
1636         (WebCore::animationMediaFeatureEval):
1637         (WebCore::transitionMediaFeatureEval):
1638         (WebCore::transform_2dMediaFeatureEval):
1639         (WebCore::transform_3dMediaFeatureEval):
1640
1641 2009-01-06  Eric Seidel  <eric@webkit.org>
1642
1643         Reviewed by Oliver Hunt.
1644
1645         Bring the Chromium-WebCore build closer to building
1646         by upstreaming PlatformWidget.h add adding the JSC
1647         plugin bridge files to the build.
1648
1649         * WebCore.scons:
1650         * platform/chromium/PlatformWidget.h: Added.
1651
1652 2009-01-06  Eric Seidel  <eric@webkit.org>
1653
1654         Build fix only, no review.
1655
1656         Bring the Chromium-WebCore build back closer to building
1657         by adding files from recent commits.
1658
1659         * WebCore.scons:
1660
1661 2009-01-06  Alexey Proskuryakov  <ap@webkit.org>
1662
1663         Reviewed by Darin Adler.
1664
1665         <rdar://problem/6474973> REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data)
1666
1667         I could not reproduce the slowdown on my PowerPC test machine, but the change should bring
1668         performance back.
1669
1670         * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic.
1671         Prior to r39465, it was only used for cached converters, which was necessary because the
1672         first access to ICU or TEC one could happen on a secondary thread, but now they are all
1673         initialized from ThreadGlobalData constructor.
1674
1675 2009-01-06  David Smith  <catfish.man@gmail.com>
1676
1677         Reviewed by Darin Adler.
1678         
1679         https://bugs.webkit.org/show_bug.cgi?id=23129
1680         Devirtualize Node::childNodes().
1681
1682 2009-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
1683
1684         Unreviewed build fix.
1685
1686         Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was
1687         added in Qt 4.5.
1688
1689         * platform/qt/CookieJarQt.cpp:
1690         (WebCore::setCookies):
1691         (WebCore::cookies):
1692
1693 2009-01-06  Zalan Bujtas  <zbujtas@gmail.com>
1694
1695         Reviewed by David Kilzer.
1696
1697         https://bugs.webkit.org/show_bug.cgi?id=23133
1698         Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to
1699         CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG)
1700
1701         NOTE: Property name fixes landed as part of r39648.
1702
1703         * css/CSSPrimitiveValueMappings.h:
1704         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1705         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
1706         * css/CSSPropertyNames.in:
1707         * css/SVGCSSPropertyNames.in:
1708
1709 2009-01-06  David Kilzer  <ddkilzer@apple.com>
1710
1711         BUILD FIX (r39634): Fix build for non-SVG builds (Wx)
1712
1713         * css/CSSPropertyNames.in: Added 'pointer-events'.
1714         * css/SVGCSSPropertyNames.in: Commented out pointer-events
1715         since it's now a plain CSS property.
1716
1717 2009-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
1718
1719         Reviewed by Lars Knoll.
1720
1721         Added support for HTTP-only cookies to the Qt build.
1722
1723         * platform/qt/CookieJarQt.cpp:
1724         (WebCore::setCookies): Don't set HTTP-only cookies through the DOM.
1725         (WebCore::cookies): Don't return HTTP-only cookies to the DOM.
1726
1727 2009-01-05  David Smith  <catfish.man@gmail.com>
1728
1729         Reviewed by Oliver Hunt.
1730
1731         https://bugs.webkit.org/show_bug.cgi?id=23084
1732         Avoid redundant AtomicString conversions
1733
1734         * dom/Node.cpp: Create an AtomicString early to avoid converting twice
1735         (WebCore::Node::getElementsByTagNameNS):
1736         * dom/QualifiedName.h: Use the appropriate AtomicString constructor instead of converting from a String
1737
1738 2009-01-05  Simon Fraser  <simon.fraser@apple.com>
1739
1740         Reviewed by Dave Hyatt
1741
1742         https://bugs.webkit.org/show_bug.cgi?id=22985
1743         
1744         Add an assertion that clip rects are being used when painting with the same
1745         rootLayer that they were computed with.
1746         
1747         Fix two issues detected by the assertion:
1748
1749         RenderLayer::updateClipRects() should not unconditionally update the clip rects
1750         on its parent, but stop when reaching rootLayer (just like calculateClipRects()).
1751         
1752         We need to pass the temporaryClipRects flag down through reflection painting
1753         to handle the case of nested reflections.
1754         
1755         Also use temporary clip rects in RenderTreeAsText, since that code does not
1756         reset the painting root for transformed layers, so cached clip rects will not
1757         match those used for painting.
1758
1759         * rendering/RenderLayer.cpp:
1760         (WebCore::RenderLayer::RenderLayer):
1761         (WebCore::RenderLayer::paintLayer):
1762         (WebCore::RenderLayer::updateClipRects):
1763         (WebCore::RenderLayer::clearClipRects):
1764         * rendering/RenderLayer.h:
1765         * rendering/RenderTreeAsText.cpp:
1766         (WebCore::writeLayers):
1767
1768 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
1769
1770         Fix the Qt build
1771
1772         * platform/graphics/qt/AffineTransformQt.cpp:
1773         (WebCore::TransformationMatrix::TransformationMatrix):
1774
1775 2009-01-05  Mark Rowe  <mrowe@apple.com>
1776
1777         Fix the build some more.
1778
1779         * platform/graphics/cairo/AffineTransformCairo.cpp:
1780         (WebCore::TransformationMatrix::TransformationMatrix):
1781
1782 2009-01-05  Oliver Hunt  <oliver@apple.com>
1783
1784         Reviewed by NOBODY (Build fix).
1785
1786         Fix Cairo/Gtk build
1787
1788         * platform/graphics/cairo/ImageBufferCairo.cpp:
1789         (WebCore::ImageBuffer::putImageData):
1790
1791 2009-01-05  Dean Jackson  <dino@apple.com>
1792
1793         Reviewed by Darin Adler.
1794
1795         Rename AffineTransform to TransformationMatrix in
1796         preparation for future enhancements (non-affine matrices)
1797
1798         https://bugs.webkit.org/show_bug.cgi?id=22943
1799
1800         * GNUmakefile.am:
1801         * WebCore.pro:
1802         * WebCore.scons:
1803         * WebCore.vcproj/WebCore.vcproj:
1804         * WebCore.xcodeproj/project.pbxproj:
1805         * WebCoreSources.bkl:
1806         * platform/graphics/transforms/AffineTransform.cpp: Removed.
1807         * platform/graphics/transforms/AffineTransform.h: Removed.
1808         * platform/graphics/transforms/TransformationMatrix.cpp: Copied from WebCore/platform/graphics/transforms/AffineTransform.cpp.
1809         * platform/graphics/transforms/TransformationMatrix.h: Copied from WebCore/platform/graphics/transforms/AffineTransform.h.
1810         * lots of other files with s/AffineTransform/TransformationMatrix/g
1811
1812 2008-01-05  Dean Jackson  <dino@apple.com>
1813
1814         Reviewed by David Hyatt.
1815
1816         Implement 'pointer-events' for HTML content. This involved
1817         adding a new value 'auto' which behaves as 'visiblePainted'
1818         in SVG content. 
1819         
1820         Moved the property out of the SVG CSS code and into
1821         the general CSS (both parsing and RenderStyle). 
1822         
1823         Changes to the hit testing functionality of the Render tree,
1824         specifically the nodeAtPoint methods. Where they used to 
1825         test for visibility, they now use a helper function defined
1826         on base classes (RenderObject and InlineBox) that checks both
1827         visibility and pointer-events.
1828         
1829         https://bugs.webkit.org/show_bug.cgi?id=11395
1830
1831         Tests: fast/events/pointer-events-2.html
1832                fast/events/pointer-events.html
1833
1834         * css/CSSComputedStyleDeclaration.cpp:
1835         (WebCore::):
1836         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1837         * css/CSSParser.cpp:
1838         (WebCore::CSSParser::parseValue):
1839         * css/CSSPrimitiveValueMappings.h:
1840         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1841         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
1842         * css/CSSStyleSelector.cpp:
1843         (WebCore::CSSStyleSelector::applyProperty):
1844         * css/SVGCSSComputedStyleDeclaration.cpp:
1845         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1846         * css/SVGCSSStyleSelector.cpp:
1847         (WebCore::CSSStyleSelector::applySVGProperty):
1848         * manual-tests/pointer-events.html: Added.
1849         * rendering/EllipsisBox.cpp:
1850         (WebCore::EllipsisBox::nodeAtPoint):
1851         * rendering/InlineBox.h:
1852         (WebCore::InlineBox::visibleToHitTesting):
1853         * rendering/InlineFlowBox.cpp:
1854         (WebCore::InlineFlowBox::nodeAtPoint):
1855         * rendering/InlineTextBox.cpp:
1856         (WebCore::InlineTextBox::nodeAtPoint):
1857         * rendering/PointerEventsHitRules.cpp:
1858         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
1859         * rendering/PointerEventsHitRules.h:
1860         (WebCore::PointerEventsHitRules::):
1861         * rendering/RenderBlock.cpp:
1862         (WebCore::RenderBlock::nodeAtPoint):
1863         * rendering/RenderBox.cpp:
1864         (WebCore::RenderBox::nodeAtPoint):
1865         * rendering/RenderObject.h:
1866         (WebCore::RenderObject::visibleToHitTesting):
1867         * rendering/RenderPath.cpp:
1868         (WebCore::RenderPath::nodeAtPoint):
1869         * rendering/RenderSVGImage.cpp:
1870         (WebCore::RenderSVGImage::nodeAtPoint):
1871         * rendering/RenderSVGText.cpp:
1872         (WebCore::RenderSVGText::nodeAtPoint):
1873         * rendering/RootInlineBox.cpp:
1874         (WebCore::RootInlineBox::nodeAtPoint):
1875         * rendering/TextControlInnerElements.cpp:
1876         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
1877         * rendering/style/RenderStyle.h:
1878         (WebCore::):
1879         (WebCore::InheritedFlags::setBitDefaults):
1880         (WebCore::InheritedFlags::pointerEvents):
1881         (WebCore::InheritedFlags::setPointerEvents):
1882         (WebCore::InheritedFlags::initialPointerEvents):
1883         * rendering/style/RenderStyleConstants.h:
1884         (WebCore::):
1885         * rendering/style/SVGRenderStyle.h:
1886         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
1887         (WebCore::SVGRenderStyle::setBitDefaults):
1888         * rendering/style/SVGRenderStyleDefs.h:
1889         * css/CSSValueKeywords.in:
1890         * css/SVGCSSValueKeywords.in:
1891
1892 2009-01-05  Oliver Hunt  <oliver@apple.com>
1893
1894         Reviewed by NOBODY (Build fix).
1895
1896         Fix Cairo/Gtk build
1897
1898         * platform/graphics/cairo/ImageBufferCairo.cpp:
1899         (WebCore::ImageBuffer::getImageData):
1900
1901 2009-01-05  Oliver Hunt  <oliver@apple.com>
1902
1903         Reviewed by Gavin Barraclough.
1904
1905         CanvasPixelArray performance is too slow 
1906         <https://bugs.webkit.org/show_bug.cgi?id=23123>
1907
1908         Remove the WebCore CanvasPixelArray implementation and replace
1909         CPA usage with JSC::ByteArray.  Replace the JSCanvasPixelArray
1910         wrapper with an explicitly instantiated JSByteArray put on the
1911         JSImageData object as an ordinary ReadOnly, DontDelete property.
1912
1913         * DerivedSources.make:
1914         * ForwardingHeaders/runtime/ByteArray.h: Added.
1915         * ForwardingHeaders/runtime/JSByteArray.h: Added.
1916         * GNUmakefile.am:
1917         * WebCore.pro:
1918         * WebCore.scons:
1919         * WebCore.vcproj/WebCore.vcproj:
1920         * WebCore.xcodeproj/project.pbxproj:
1921         * bindings/js/JSCanvasPixelArrayCustom.h: Removed.
1922         * bindings/js/JSImageDataCustom.cpp:
1923         (WebCore::toJS):
1924         * html/CanvasPixelArray.cpp: Removed.
1925         * html/CanvasPixelArray.h: Removed.
1926         * html/CanvasPixelArray.idl: Removed.
1927         * html/CanvasRenderingContext2D.cpp:
1928         (WebCore::createEmptyImageData):
1929         * html/ImageData.cpp:
1930         (WebCore::ImageData::ImageData):
1931         * html/ImageData.h:
1932         (WebCore::ImageData::data):
1933         * html/ImageData.idl:
1934         * platform/graphics/cg/ImageBufferCG.cpp:
1935         (WebCore::ImageBuffer::getImageData):
1936         (WebCore::ImageBuffer::putImageData):
1937
1938 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
1939
1940         Reviewed by George Staikos.
1941
1942         Add notification for contentsSizeChanged which the Qt API will
1943         introduce.
1944
1945         * loader/EmptyClients.h:
1946         (WebCore::EmptyChromeClient::contentsSizeChanged):
1947         * page/Chrome.cpp:
1948         (WebCore::Chrome::contentsSizeChanged):
1949         * page/Chrome.h:
1950         * page/ChromeClient.h:
1951         * page/FrameView.cpp:
1952         (WebCore::FrameView::setContentsSize):
1953         * page/FrameView.h:
1954         * platform/HostWindow.h:
1955         * platform/ScrollView.h:
1956
1957 2009-01-05  Anders Carlsson  <andersca@apple.com>
1958
1959         Build fix.
1960         
1961         * plugins/PluginView.h:
1962         (WebCore::PluginManualLoader::~PluginManualLoader):
1963
1964 2009-01-05  Anders Carlsson  <andersca@apple.com>
1965
1966         Reviewed by Kevin Decker.
1967         
1968         Add an abstract PluginManualLoader class and make PluginView inherit from it. 
1969         
1970         Add some error checking that currently exists in WebKit (but not for long!)
1971         
1972         * plugins/PluginView.cpp:
1973         (WebCore::PluginView::didReceiveResponse):
1974         (WebCore::PluginView::didReceiveData):
1975         (WebCore::PluginView::didFinishLoading):
1976         (WebCore::PluginView::didFail):
1977         * plugins/PluginView.h:
1978
1979 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
1980
1981         Reviewed by George Staikos.
1982
1983         Fixes FrameView to respect the state of scrollbarmode when it is explicitly
1984         set programatically via a webkit API.
1985
1986         * loader/FrameLoaderClient.cpp:
1987         (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
1988         * loader/FrameLoaderClient.h:
1989         * page/FrameView.cpp:
1990         (WebCore::FrameView::initScrollbars):
1991         (WebCore::FrameView::updateDefaultScrollbarState):
1992         * page/FrameView.h:
1993
1994 2009-01-05  Darin Adler  <darin@apple.com>
1995
1996         Reviewed by Dan Bernstein.
1997
1998         Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly
1999         https://bugs.webkit.org/show_bug.cgi?id=23109
2000
2001         Test: fast/text/find-backwards.html
2002
2003         * editing/TextIterator.cpp:
2004         (WebCore::SearchBuffer::append): Fix incorrect size passed to memcpy.
2005         (WebCore::SearchBuffer::search): Handle case where we have an empty buffer but
2006         we're at a break; must not try to search because ICU will give us an error.
2007         Fix incorrect size passed to memcpy and memmove.
2008         (WebCore::findPlainText): Fix case where we found a match and need to search
2009         again because we want to find the last match. We need to try again without
2010         adding any more text or handling the break before moving on.
2011
2012 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
2013
2014         Fix the Qt build
2015
2016         * bridge/runtime_object.cpp:
2017         (JSC::RuntimeObjectImp::put):
2018
2019 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2020
2021         Reviewed by Sam Weinig.
2022
2023         Fix platforms that don't have Workers enabled.
2024
2025         * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Create ThreadGlobalData in
2026         two stages, so that EventNames constructor can access the just-created atomic string table.
2027         This matches what happens in ThreadSpecific case.
2028
2029 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2030
2031         Suggested by Dave Levin.
2032
2033         Mac release build fix.
2034
2035         * WebCore.base.exp: Remove ThreadGlobalData::eventNames(), which is now inline.
2036
2037 2009-01-05  Darin Adler  <darin@apple.com>
2038
2039         * dom/Document.cpp: Fix build. Oops again.
2040
2041 2009-01-05  Darin Adler  <darin@apple.com>
2042
2043         Reviewed by Anders Carlsson.
2044
2045         Fix hang whenever following an anchor.
2046
2047         * dom/Document.cpp:
2048         (WebCore::Document::findAnchor): Oops!
2049
2050 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2051
2052         Reviewed by Darin Adler.
2053
2054         https://bugs.webkit.org/show_bug.cgi?id=23073
2055         <rdar://problem/6471129> Workers crash on Windows Release builds
2056
2057         * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData):
2058         * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::eventNames):
2059         Now that ThreadSpecific sets up the pointer before invoking data constructor, we can
2060         initialize EventNames right away.
2061
2062 2009-01-05  Darin Adler  <darin@apple.com>
2063
2064         Reviewed by Anders Carlsson.
2065
2066         Bug 23106: HTMLFormCollection::namedItem ignores caseSensitive argument
2067         https://bugs.webkit.org/show_bug.cgi?id=23106
2068
2069         This led me to a bunch of dead code. It turns out that HTML collections
2070         were carrying the case-insensitive code just so they could be used to
2071         find anchors, something we can do more simply and efficiently without
2072         creating a DOM HTMLCollection object.
2073
2074         No behavior change. Just adding a new function findAnchor function and
2075         removing some dead code.
2076
2077         * dom/Document.cpp:
2078         (WebCore::Document::findAnchor): Added.
2079         * dom/Document.h: Ditto.
2080
2081         * html/HTMLAnchorElement.cpp:
2082         (WebCore::HTMLAnchorElement::accessKey): Take and return AtomicString
2083         references for better efficiency.
2084         (WebCore::HTMLAnchorElement::setAccessKey): Ditto.
2085         (WebCore::HTMLAnchorElement::charset): Ditto.
2086         (WebCore::HTMLAnchorElement::setCharset): Ditto.
2087         (WebCore::HTMLAnchorElement::coords): Ditto.
2088         (WebCore::HTMLAnchorElement::setCoords): Ditto.
2089         (WebCore::HTMLAnchorElement::setHref): Ditto.
2090         (WebCore::HTMLAnchorElement::hreflang): Ditto.
2091         (WebCore::HTMLAnchorElement::setHreflang): Ditto.
2092         (WebCore::HTMLAnchorElement::name): Ditto.
2093         (WebCore::HTMLAnchorElement::setName): Ditto.
2094         (WebCore::HTMLAnchorElement::rel): Ditto.
2095         (WebCore::HTMLAnchorElement::setRel): Ditto.
2096         (WebCore::HTMLAnchorElement::rev): Ditto.
2097         (WebCore::HTMLAnchorElement::setRev): Ditto.
2098         (WebCore::HTMLAnchorElement::shape): Ditto.
2099         (WebCore::HTMLAnchorElement::setShape): Ditto.
2100         (WebCore::HTMLAnchorElement::setTarget): Ditto.
2101         (WebCore::HTMLAnchorElement::type): Ditto.
2102         (WebCore::HTMLAnchorElement::setType): Ditto.
2103         * html/HTMLAnchorElement.h: Ditto.
2104
2105         * html/HTMLCollection.cpp:
2106         (WebCore::HTMLCollection::checkForNameMatch): Changed argument to an
2107         AtomicString and removed the caseSensitive boolean, since we're now always
2108         case sensitive.
2109         (WebCore::HTMLCollection::namedItem): Ditto.
2110         (WebCore::HTMLCollection::nextNamedItem): Ditto.
2111         * html/HTMLCollection.h: Ditto.
2112         * html/HTMLFormCollection.cpp:
2113         (WebCore::HTMLFormCollection::getNamedItem): Ditto.
2114         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
2115         (WebCore::HTMLFormCollection::nextNamedItemInternal): Ditto.
2116         (WebCore::HTMLFormCollection::namedItem): Ditto.
2117         (WebCore::HTMLFormCollection::nextNamedItem): Ditto.
2118         * html/HTMLFormCollection.h: Ditto.
2119         * html/HTMLSelectElement.cpp:
2120         (WebCore::HTMLSelectElement::namedItem): Ditto.
2121         * html/HTMLSelectElement.h: Ditto.
2122
2123         * loader/FrameLoader.cpp:
2124         (WebCore::FrameLoader::gotoAnchor): Use the new findAnchor function.
2125         * page/AccessibilityRenderObject.cpp:
2126         (WebCore::AccessibilityRenderObject::internalLinkElement): Ditto.
2127
2128 2009-01-05  Darin Adler  <darin@apple.com>
2129
2130         Reviewed by Anders Carlsson.
2131
2132         Bug 23104: minor mistakes in init functions for animation and transition events
2133         https://bugs.webkit.org/show_bug.cgi?id=23104
2134
2135         Test: fast/events/init-events.html
2136
2137         Also fixed two StorageEvent problems the test case uncovered:
2138
2139             Made document.createEvent("StorageEvent") work.
2140             Allow null values for StorageEvent.oldValue and StorageEvent.newValue.
2141
2142         * dom/Document.cpp:
2143         (WebCore::Document::createEvent): Sorted alphabetically by the name of the event
2144         class. Added StorageEvent.
2145
2146         * dom/UIEvent.idl: Fixed typo in a comment.
2147
2148         * dom/WebKitAnimationEvent.cpp:
2149         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): Use all the arguments.
2150         * dom/WebKitTransitionEvent.cpp:
2151         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): Ditto.
2152
2153         * storage/StorageEvent.idl: Use the ConvertNullToNullString keyword on the
2154         arguments to initStorageEvent so it can create events with null values for the
2155         oldValue and newValue, just like the real storage events. Note that the properties
2156         already had ConvertNullStringTo=Null, so this is just the other half of that.
2157
2158 2009-01-05  Darin Adler  <darin@apple.com>
2159
2160         Reviewed by Alexey Proskuryakov.
2161
2162         Bug 23102: turn on unused parameter warnings in WebCore
2163         https://bugs.webkit.org/show_bug.cgi?id=23102
2164
2165         First step: Fix the simple cases where we can just remove an argument name.
2166         Also made a few more things protected and private.
2167
2168         * many files
2169
2170 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2171
2172         Reviewed by Darin Adler.
2173
2174         https://bugs.webkit.org/show_bug.cgi?id=23115
2175         Create a version of ASSERT for use with otherwise unused variables
2176
2177         * loader/appcache/ApplicationCacheStorage.cpp:
2178         (WebCore::ApplicationCacheStorage::verifySchemaVersion): Use the new ASSERT_UNUSED macro.
2179
2180 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2181
2182         Non-Mac build fix.
2183
2184         * loader/appcache/ApplicationCacheStorage.cpp: Include wtf/StringExtras.h for snprintf.
2185
2186 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
2187
2188         Reviewed by George Staikos.
2189
2190         Remove unnecessary methods from EmptyFrameLoaderClient
2191
2192         * loader/EmptyClients.h:
2193
2194 2009-01-05  Alexey Proskuryakov  <ap@webkit.org>
2195
2196         Reviewed by Darin Adler.
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=23077
2199         Make application cache use SQLite built-in user_version
2200
2201         * loader/appcache/ApplicationCacheStorage.cpp:
2202         (WebCore::ApplicationCacheStorage::verifySchemaVersion): Changed to track versions with
2203         PRAGMA user_version.
2204
2205         * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::):
2206         Used the occasion to get rid of the hole in bitmask that was a leftover from opportunistic
2207         cache entries.
2208
2209 2009-01-04  David Smith  <catfish.man@gmail.com>
2210
2211         Reviewed by Oliver Hunt.
2212
2213         https://bugs.webkit.org/show_bug.cgi?id=23084
2214         Avoid redundant AtomicString conversions
2215
2216         * dom/Node.cpp:
2217         (WebCore::Node::getElementsByTagName): Pass starAtom instead of "*"
2218         (WebCore::Node::getElementsByTagNameNS): Take an AtomicString for the namespace URI
2219         (WebCore::Node::isDefaultNamespace): Ditto
2220         (WebCore::Node::lookupPrefix): Ditto
2221         (WebCore::Node::lookupNamespacePrefix): Ditto
2222         * dom/Node.h: Ditto
2223
2224 2009-01-04  Darin Adler  <darin@apple.com>
2225
2226         Reviewed by Oliver Hunt.
2227
2228         Bug 23105: canvas setFillColor function ignores alpha argument
2229         https://bugs.webkit.org/show_bug.cgi?id=23105
2230
2231         Test: fast/canvas/set-colors.html
2232
2233         * html/CanvasRenderingContext2D.cpp:
2234         (WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead
2235         of ignoring it and always passing 1.
2236
2237         * html/CanvasStyle.cpp:
2238         (WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments.
2239         (WebCore::CanvasStyle::applyFillColor): Ditto.
2240
2241 2009-01-04  Darin Adler  <darin@apple.com>
2242
2243         Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors
2244         https://bugs.webkit.org/show_bug.cgi?id=23086
2245
2246         * editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile
2247         in the new search path if it's 0.
2248
2249 2009-01-04  David Kilzer  <ddkilzer@apple.com>
2250
2251         Don't install *.idl and *.in files as resources
2252
2253         Reviewed by Oliver Hunt.
2254
2255         Don't install these files as resources in the WebCore framework:
2256         - WMLAttributeNames.in
2257         - WMLTagNames.in
2258         - WorkerContext.idl
2259         - WorkerLocation.idl
2260         - WorkerNavigator.idl
2261
2262         * WebCore.xcodeproj/project.pbxproj: Removed resources.
2263
2264 2009-01-04  Simon Fraser  <simon.fraser@apple.com>
2265
2266         Reviewed by Darin Adler
2267
2268         https://bugs.webkit.org/show_bug.cgi?id=23090
2269         
2270         If an object gets a Layout hint, and the style change will result in
2271         the creation of a RenderLayer, then we need to repaint the old position
2272         of the object. This was done for transform, but we have to test opacity too.
2273
2274         Test: fast/repaint/create-layer-repaint.html
2275
2276         * rendering/RenderObject.cpp:
2277         (WebCore::RenderObject::styleWillChange):
2278
2279 2009-01-04  Darin Adler  <darin@apple.com>
2280
2281         Reviewed by Dan Bernstein.
2282
2283         Bug 23103: Safari's auto-fill no longer works for <select> elements
2284         https://bugs.webkit.org/show_bug.cgi?id=23103
2285         rdar://problem/6472061
2286
2287         * bindings/objc/DOMHTML.mm:
2288         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Implemented this.
2289
2290 2009-01-04  Adam Treat  <adam.treat@torchmobile.com>
2291
2292         Reviewed by George Staikos.
2293
2294         Add fixedLayoutSize feature to ScrollView to allow for controlling the
2295         layout beyond the constraint of the current viewports dynamic size
2296
2297         * css/MediaQueryEvaluator.cpp:
2298         (WebCore::heightMediaFeatureEval):
2299         (WebCore::widthMediaFeatureEval):
2300         * dom/Element.cpp:
2301         (WebCore::Element::clientWidth):
2302         (WebCore::Element::clientHeight):
2303         * loader/FrameLoaderClient.cpp:
2304         (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2305         * loader/FrameLoaderClient.h:
2306         * page/FrameView.cpp:
2307         (WebCore::FrameView::layout):
2308         * platform/ScrollView.cpp:
2309         (WebCore::ScrollView::ScrollView):
2310         (WebCore::ScrollView::layoutWidth):
2311         (WebCore::ScrollView::layoutHeight):
2312         (WebCore::ScrollView::fixedLayoutSize):
2313         (WebCore::ScrollView::setFixedLayoutSize):
2314         (WebCore::ScrollView::useFixedLayout):
2315         (WebCore::ScrollView::setUseFixedLayout):
2316         * platform/ScrollView.h:
2317         * rendering/RenderView.cpp:
2318         (WebCore::RenderView::viewHeight):
2319         (WebCore::RenderView::viewWidth):
2320         * rendering/RenderView.h:
2321
2322 2009-01-03  Rob Buis  <rwlbuis@gmail.com>
2323
2324         Reviewed by Darin.
2325
2326         https://bugs.webkit.org/show_bug.cgi?id=22660
2327         SVG elements that are moved are nor fully invalidated/earsed
2328
2329         Mark the SVG root as needing a layout when its position changes.
2330
2331         Tests: svg/custom/circle-move-invalidation.svg
2332
2333         * rendering/RenderSVGRoot.cpp:
2334         (WebCore::RenderSVGRoot::position):
2335         * rendering/RenderSVGRoot.h:
2336
2337 2009-01-03  Steve Falkenburg  <sfalken@apple.com>
2338
2339         Build fix.
2340
2341         * loader/FrameLoader.h:
2342
2343 2009-01-02  Cary Clark  <caryclark@google.com>
2344
2345         Reviewed and landed by Darin Adler.
2346
2347         Bug 22963: write icons before reading them
2348         https://bugs.webkit.org/show_bug.cgi?id=22963
2349
2350         Reverse the order in the icon database main thread loop to
2351         write the pending icons to the database before trying
2352         to read any requested icons. This ensures that a requested icon 
2353         has the correct data when read.
2354         
2355         * loader/icon/IconDatabase.cpp:
2356         (WebCore::IconDatabase::syncThreadMainLoop):
2357
2358 2009-01-02  Darin Adler  <darin@apple.com>
2359
2360         * loader/FrameLoader.cpp:
2361         (WebCore::FrameLoader::loadItem): One small thing I forgot in my last check-in.
2362         This cuts down on the number of hash table operations during loading.
2363
2364 2009-01-02  Dmitry Titov  <dimich@chromium.org>
2365
2366         Reviewed and landed by Darin Adler.
2367
2368         https://bugs.webkit.org/show_bug.cgi?id=23025
2369         DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer.
2370         Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap.
2371         Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents 
2372         unnecessary HashMap remove in case the Document is being destroyed.
2373
2374         * bindings/js/DOMTimer.cpp:
2375         (WebCore::DOMTimer::~DOMTimer): removes the id from the timeoutMap.
2376         (WebCore::DOMTimer::install):
2377         (WebCore::DOMTimer::removeById): simply uses 'delete this'.
2378         (WebCore::DOMTimer::fired): same.
2379         (WebCore::DOMTimer::contextDestroyed): same.
2380         * dom/Document.cpp:
2381         (WebCore::Document::removeTimeout): now it only removes the id from the map, does not delete the timer.
2382
2383 2009-01-02  Darin Adler  <darin@apple.com>
2384
2385         Reviewed by Sam Weinig.
2386
2387         Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
2388         inside its web view when resizing its window
2389         https://bugs.webkit.org/show_bug.cgi?id=23072
2390         rdar://problem/6368028
2391
2392         The first attempt at fixing this did not work.
2393         This time I was able to reproduce the bug and test the fix.
2394
2395         Bug 11212: REGRESSION: Activity window doesn't always list all files until refresh
2396         https://bugs.webkit.org/show_bug.cgi?id=11212
2397         rdar://problem/4959702
2398
2399         I had to fix this second bug because otherwise the WebKit code to trigger the first
2400         fix didn't run.
2401
2402         Also fixes memory use that kept growing as we maintained a set of all URLs loaded in
2403         a particular frame. Bad idea! It's bad enough that we do it for each document, but
2404         the old version kept the set around forever as you moved from one document to the next.
2405
2406         * html/HTMLFrameElementBase.cpp:
2407         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Change this so that we allow
2408         turning off scrolling when the quirk is enabled. We just don't allow turning it on.
2409         This fixes one of the two problems with the initial patch; the other fix is in WebKit.
2410
2411         * loader/DocumentLoader.h: Moved didTellClientAboutLoad and haveToldClientAboutLoad
2412         here from FrameLoader. The old way meant that a given frame would forever remember
2413         the URL of any resources loaded in that frame and never send any "loaded from cache"
2414         client calls about those URLs.
2415
2416         * loader/FrameLoader.cpp:
2417         (WebCore::FrameLoader::loadResourceSynchronously): Removed call to didTellCientAboutLoad.
2418         This is now handled by dispatchWillSendRequest, which is safer since that's the actual
2419         function that tells the client about the load.
2420         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Changed calls to
2421         haveToldClientAboutLoad and didTellClientAboutLoad to call the document loader.
2422         Also removed the call in the case where we don't load from the cache, since
2423         dispatchWillSendRequest now takes care of it.
2424         (WebCore::FrameLoader::dispatchWillSendRequest): Put calls to didTellClientAboutLoad
2425         here. Call it both on the URL we pass in and the URL the client returns; we won't
2426         tell the client about either if it's loaded from the memory cache.
2427
2428         * loader/FrameLoader.h: Removed didTellClientAboutLoad, haveToldClientAboutLoad, and
2429         m_urlsClientKnowsAbout.
2430
2431         * loader/SubresourceLoader.cpp: Removed unneeded load function that called
2432         didTellClientAboutLoad. That's now taken care of in dispatchWillSendRequest.
2433
2434         * loader/SubresourceLoader.h: Removed load function. Also made all members private
2435         except for create and clearClient.
2436
2437 2009-01-02  Simon Fraser  <simon.fraser@apple.com>
2438
2439         Reviewed by Darin Adler
2440
2441         https://bugs.webkit.org/show_bug.cgi?id=23082
2442         
2443         Fix GIF animation by ensuring that the signature of
2444         startAnimation() in the base class matches the method in BitmapImage.
2445         
2446         Test: fast/backgrounds/animated-gif-as-background.html
2447
2448         * platform/graphics/Image.h:
2449         (WebCore::Image::startAnimation):
2450
2451 2009-01-02  David Smith  <catfish.man@gmail.com>
2452
2453         Reviewed by Darin Adler.
2454         
2455         https://bugs.webkit.org/show_bug.cgi?id=22699
2456         Enable NodeList caching for getElementsByTagName
2457         
2458         test: fast/dom/getelementsbytagnamens-mixed-namespaces.html
2459
2460         * dom/Document.cpp:
2461         (WebCore::FormElementKeyHash::hash): Use WTF::stringHashingStartValue
2462         * dom/Node.cpp:
2463         (WebCore::Node::getElementsByTagNameNS): Ensure rare data and add a node list cache
2464         (WebCore::NodeListsNodeData::invalidateCaches): Invalidate the tag name node list cache as well as the others
2465         (WebCore::NodeListsNodeData::isEmpty): Check the tag name node list cache as well as the others
2466         * dom/NodeRareData.h: Add m_tagNodeListCaches
2467         * dom/QualifiedName.cpp:
2468         * dom/QualifiedName.h: Move QNameHash to the header, make it work on QualifiedNames, and rename to QualifiedNameHash
2469         * dom/StyledElement.cpp:
2470         (WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue
2471         * dom/TagNodeList.cpp:
2472         (WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument
2473         * dom/TagNodeList.h: 
2474         (WebCore::TagNodeList::create): Add a NodeList cache argument
2475         * platform/text/StringHash.h:
2476         (WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue
2477         * platform/text/TextEncodingRegistry.cpp:
2478         (WebCore::TextEncodingNameHash::hash): Use WTF::stringHashingStartValue
2479
2480 2009-01-02  Eric Carlson  <eric.carlson@apple.com>
2481
2482         Reviewed by Darin Adler
2483
2484         Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417> 
2485         Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
2486
2487         * rendering/RenderVideo.cpp:
2488         (WebCore::RenderVideo::calcReplacedWidth): Multiply aspect ratio width by style()->effectiveZoom()
2489         (WebCore::RenderVideo::calcReplacedHeight): Multiply aspect ratio height by style()->effectiveZoom()
2490
2491 2009-01-02  David Kilzer  <ddkilzer@apple.com>
2492
2493         BUILD FIX (r39552): Add mediaControls.css to other build files
2494
2495         * GNUmakefile.am:
2496         * WebCore.pro:
2497         * WebCore.vcproj/WebCore.vcproj:
2498
2499 2009-01-02  David Kilzer  <ddkilzer@apple.com>
2500
2501         Try to fix Wx build after r39427
2502
2503         * platform/graphics/wx/PathWx.cpp:
2504         (WebCore::Path::strokeBoundingRect): Added stub.
2505
2506 2009-01-02  Alexey Proskuryakov  <ap@webkit.org>
2507
2508         Reviewed by Adele Peterson.
2509
2510         <rdar://problem/6471356> Failed assertion on quit
2511
2512         * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::~ThreadGlobalData):
2513         Only assert that empty string are all removed on secondary threads.
2514
2515 2009-01-02  David Kilzer  <ddkilzer@apple.com>
2516
2517         Bug 23081: These files are no longer part of the KDE libraries
2518
2519         <https://bugs.webkit.org/show_bug.cgi?id=23081>
2520
2521         Reviewed by Darin Adler.
2522
2523         Removed "This file is part of the KDE libraries" comment from
2524         source files.  Added or updated Apple copyrights as well.
2525
2526         No tests since there are only changes to comments.
2527
2528         * bridge/testbindings.cpp:
2529         * html/HTMLEntityNames.gperf:
2530         * loader/Cache.h:
2531         * loader/CachedCSSStyleSheet.h:
2532         * loader/CachedResourceClient.h:
2533         * loader/CachedResourceClientWalker.cpp:
2534         * loader/CachedResourceClientWalker.h:
2535         * loader/CachedScript.cpp:
2536         * loader/CachedScript.h:
2537         * loader/CachedXBLDocument.cpp:
2538         * loader/CachedXBLDocument.h:
2539         * loader/CachedXSLStyleSheet.cpp:
2540         * loader/CachedXSLStyleSheet.h:
2541         * rendering/GapRects.h:
2542         * xml/XMLSerializer.cpp:
2543
2544 2009-01-02  Simon Fraser  <simon.fraser@apple.com>
2545
2546         Reviewed by Darin Adler
2547
2548         Use an OwnPtr for m_chromeClient.
2549         
2550         * svg/graphics/SVGImage.cpp:
2551         (WebCore::SVGImage::~SVGImage):
2552         (WebCore::SVGImage::dataChanged):
2553         * svg/graphics/SVGImage.h:
2554
2555 2009-01-02  Simon Fraser  <simon.fraser@apple.com>
2556
2557         Reviewed by Darin Adler
2558
2559         https://bugs.webkit.org/show_bug.cgi?id=22981
2560
2561         Repaints inside of an SVGImage were thrown on the floor,
2562         which broke incremental painting due to loading, or SVG animation.
2563         Fix this by assigning the SVGImage a ChromeClient subclass that passes
2564         along repaints via a new method on ImageObserver, which also takes
2565         a rect parameter for the changed rect, allowing incremental repaints.
2566         Fix RenderImage::imageChanged to take advantage of this changedRect to
2567         only repaint the changed parts of the image.
2568         
2569         This also enables incremental painting for canvas-as-image, so
2570         add tests for that too.
2571
2572         Tests: fast/backgrounds/animated-svg-as-background.html
2573                fast/backgrounds/animated-svg-as-mask.html
2574                fast/canvas/canvas-as-image-incremental-repaint.html
2575                fast/canvas/canvas-as-image.html
2576                fast/images/animated-svg-as-image.html
2577
2578         * css/CSSCanvasValue.cpp:
2579         (WebCore::CSSCanvasValue::canvasChanged):
2580         * loader/CachedImage.cpp:
2581         (WebCore::CachedImage::notifyObservers):
2582         (WebCore::CachedImage::data):
2583         (WebCore::CachedImage::changedInRect):
2584         * loader/CachedImage.h:
2585         * loader/CachedResourceClient.h:
2586         (WebCore::CachedResourceClient::imageChanged):
2587         * platform/graphics/ImageObserver.h:
2588         * rendering/RenderBox.cpp:
2589         (WebCore::RenderBox::imageChanged):
2590         * rendering/RenderBox.h:
2591         * rendering/RenderImage.cpp:
2592         (WebCore::RenderImage::imageChanged):
2593         * rendering/RenderImage.h:
2594         * rendering/RenderListMarker.cpp:
2595         (WebCore::RenderListMarker::imageChanged):
2596         * rendering/RenderListMarker.h:
2597         * rendering/RenderObject.cpp:
2598         (WebCore::RenderObject::imageChanged):
2599         * rendering/RenderObject.h:
2600         (WebCore::RenderObject::imageChanged):
2601         * rendering/RenderSVGImage.cpp:
2602         (WebCore::RenderSVGImage::imageChanged):
2603         * rendering/RenderSVGImage.h:
2604         * rendering/RenderScrollbarPart.cpp:
2605         (WebCore::RenderScrollbarPart::imageChanged):
2606         * rendering/RenderScrollbarPart.h:
2607         * rendering/RenderTableCol.cpp:
2608         (WebCore::RenderTableCol::imageChanged):
2609         * rendering/RenderTableCol.h:
2610         * rendering/RenderTableRow.cpp:
2611         (WebCore::RenderTableRow::imageChanged):
2612         * rendering/RenderTableRow.h:
2613         * rendering/RenderTableSection.cpp:
2614         (WebCore::RenderTableSection::imageChanged):
2615         * rendering/RenderTableSection.h:
2616         * svg/graphics/SVGImage.cpp:
2617         (WebCore::SVGImageChromeClient::SVGImageChromeClient):
2618         (WebCore::SVGImageChromeClient::image):
2619         (WebCore::SVGImageChromeClient::chromeDestroyed):
2620         (WebCore::SVGImageChromeClient::repaint):
2621         (WebCore::SVGImage::SVGImage):
2622         (WebCore::SVGImage::~SVGImage):
2623         (WebCore::SVGImage::dataChanged):
2624         * svg/graphics/SVGImage.h:
2625
2626 2009-01-02  Eric Carlson  <eric.carlson@apple.com>
2627
2628         Reviewed by Darin Adler
2629
2630         https://bugs.webkit.org/show_bug.cgi?id=23043
2631
2632         Pull media controls css out of html4.css into separate file. Don't generate
2633         wml, svg, or media css globals unless the feature is enabled.
2634
2635         * DerivedSources.make:
2636             Don't include css for unused features.
2637
2638         * WebCore.xcodeproj/project.pbxproj:
2639             include mediaControls.css
2640
2641         * css/CSSStyleSelector.cpp:
2642         (WebCore::CSSStyleSelector::styleForElement):
2643             don't parse or add media css unless VIDEO feature is enabled and the target
2644             element is video or audio
2645
2646         * css/html4.css:
2647             moved media controls css to mediaControls.css
2648
2649         * css/mediaControls.css: Added.
2650
2651 2009-01-02  Alexey Proskuryakov  <ap@webkit.org>
2652
2653         Reviewed by Darin Adler.
2654
2655         https://bugs.webkit.org/show_bug.cgi?id=23022
2656         Fix multiple issues with appcache online whitelist handling
2657
2658         Test: http/tests/appcache/online-whitelist.html
2659
2660         * loader/appcache/ApplicationCache.cpp:
2661         (WebCore::ApplicationCache::isURLInOnlineWhitelist): Test whitelist entries as prefixes,
2662         making it possible to use them for CGI invocation (as required by HTML5).
2663
2664         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
2665         Re-ordered checks, so that resources that are cached, but are also listed in online whitelist
2666         are loaded from the cache. This is required by HTML5, although Firefox doesn't match.
2667
2668         * loader/appcache/ManifestParser.cpp:
2669         (WebCore::parseManifest):
2670         * loader/appcache/ManifestParser.h:
2671         * loader/appcache/ApplicationCache.h:
2672         (WebCore::ApplicationCache::onlineWhitelist):
2673         * loader/appcache/ApplicationCacheStorage.cpp:
2674         (WebCore::ApplicationCacheStorage::store):
2675         (WebCore::ApplicationCacheStorage::loadCache):
2676         Changed online whitelist to be a vector of URLs, which is better suited for the new algorithm.
2677
2678 2009-01-02  Darin Adler  <darin@apple.com>
2679
2680         Reviewed by Oliver Hunt.
2681
2682         Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
2683         https://bugs.webkit.org/show_bug.cgi?id=23072
2684         rdar://problem/6368028
2685
2686         * WebCore.base.exp: Updated.
2687         * WebCore.xcodeproj/project.pbxproj: Mark HTMLHeadElement.h Private so it can be used in WebKit.
2688
2689         * dom/Document.cpp:
2690         (WebCore::Document::Document): Initialize m_frameElementsShouldIgnoreScrolling to false.
2691         * dom/Document.h: Added setFrameElementsShouldIgnoreScrolling, frameElementsShouldIgnoreScrolling,
2692         and m_frameElementsShouldIgnoreScrolling.
2693
2694         * html/HTMLFrameElementBase.cpp:
2695         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Don't allow changes to the scrolling attribute
2696         to affect the scrolling mode if frameElementsShouldIgnoreScrolling() returns true. This is only
2697         triggered on Mac OS X when running the Dictionary application.
2698
2699 2009-01-02  Alexey Proskuryakov  <ap@webkit.org>
2700
2701         Reviewed by Darin Adler.
2702
2703         https://bugs.webkit.org/show_bug.cgi?id=23036
2704         <rdar://problem/6451666> Implement AppCache fallback entries (23036)
2705
2706         Test: http/tests/appcache/fallback.html
2707
2708         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Use fallback
2709         entries if normal loading fails.
2710
2711         * loader/DocumentLoader.cpp:
2712         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Do not prevent normal
2713         loading for resources that match fallback namespaces - they are only loaded from the cache
2714         if that fails.
2715         (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Get a fallback entry for
2716         resource from associated appcache, or from passed in one, if any.
2717         (WebCore::DocumentLoader::scheduleLoadFallbackResourceFromApplicationCache): If a fallback
2718         entry for resourse exists, add it to pending substitute loads.
2719
2720         * loader/DocumentLoader.h: Added new functions for loading fallback data for resources.
2721
2722         * loader/ResourceLoader.h:
2723         * loader/ResourceLoader.cpp:
2724         (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): This function
2725         is called when normal loading fails (which includes network failures, 4xx and 5xx responses,
2726         and cross-origin redirects) to load appcache fallback data instead. It can use either the
2727         cache that is associated with the browsing context, or a custom one if association is yet
2728         to take place.
2729         (WebCore::ResourceLoader::willSendRequest): Try using fallback data.
2730         (WebCore::ResourceLoader::didReceiveResponse): Ditto.
2731         (WebCore::ResourceLoader::didFail): Ditto.
2732
2733         * loader/MainResourceLoader.cpp:
2734         (WebCore::MainResourceLoader::didReceiveResponse): Locate an appropriate cache and load
2735         fallback data from it if loading fails. The browsing context may still be associated with
2736         its previous document here, so the cache to load from must be passed explicitly.
2737         (WebCore::MainResourceLoader::didFail): Ditto.
2738         (WebCore::MainResourceLoader::load): Remove unnecessary check and FIXME.
2739
2740         * loader/appcache/ApplicationCache.cpp:
2741         (WebCore::ApplicationCache::setFallbackURLs):
2742         (WebCore::ApplicationCache::urlMatchesFallbackNamespace):
2743         * loader/appcache/ApplicationCache.h:
2744         (WebCore::ApplicationCache::fallbackURLs):
2745         * loader/appcache/ApplicationCacheStorage.cpp:
2746         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2747         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2748         (WebCore::ApplicationCacheStorage::store):
2749         (WebCore::ApplicationCacheStorage::loadCache):
2750         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
2751         * loader/appcache/ApplicationCacheStorage.h:
2752         * loader/appcache/ApplicationCacheGroup.cpp:
2753         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
2754         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2755         * loader/appcache/ApplicationCacheGroup.h:
2756         Implement fallback map saving and loading, pass it to the cache.
2757
2758         * loader/appcache/ManifestParser.h: Use a correct data structure for fallback map - keys
2759         are matched by prefix, so HAshMap cannot be used.
2760
2761         * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Fix bugs in fallback section
2762         parsing.
2763
2764 2009-01-01  Oliver Hunt  <oliver@apple.com>
2765
2766         Reviewed by Dan Bernstein.
2767
2768         <rdar://problem/6450530> WebCore::FontPlatformData should not leak
2769
2770         Whoops, previous patch should also have fixed the font referencing in
2771         the constructor.
2772
2773         * WebCore.xcodeproj/project.pbxproj:
2774         * platform/graphics/mac/FontPlatformDataMac.mm:
2775         (WebCore::FontPlatformData::FontPlatformData):
2776
2777 2009-01-01  Oliver Hunt  <oliver@apple.com>
2778
2779         Reviewed by Dan Bernstein.
2780
2781         <rdar://problem/6450530> WebCore::FontPlatformData should not leak
2782
2783         Make sure we only adopt the new font, rather than re-referencing (and so leaking).
2784
2785         * platform/graphics/mac/FontPlatformDataMac.mm:
2786         (WebCore::FontPlatformData::setFont):
2787
2788 2009-01-01  Darin Adler  <darin@apple.com>
2789
2790         Reviewed by Dan Bernstein.
2791
2792         Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search)
2793         https://bugs.webkit.org/show_bug.cgi?id=23071
2794
2795         Also fix some things that Dan suggested during review of the ICU search patch that I forgot
2796         the first time around.
2797
2798         * editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that
2799         we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely.
2800         Removed unused m_atBreak data member from the non-ICU code path.
2801         (WebCore::TextIterator::TextIterator): Move null check up.
2802         (WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include
2803         collapsed whitespace. This was left over from an earlier version of the patch.
2804         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2805         Move null check up.
2806
2807 2009-01-01  Simon Fraser  <simon.fraser@apple.com>
2808
2809         Reviewed by Darin Adler, Oliver Hunt
2810
2811         https://bugs.webkit.org/show_bug.cgi?id=23065
2812         
2813         Enable incremental painting of canvas. This turns incremental painting
2814         back on, and fixes issues with stroke width and miters, calling willDraw()
2815         for strokeText and fillText, and taking shadows into account.
2816         
2817         Test: fast/canvas/canvas-incremental-repaint.html
2818
2819         * html/CanvasRenderingContext2D.cpp:
2820         (WebCore::CanvasStrokeStyleApplier::CanvasStrokeStyleApplier):
2821         (WebCore::CanvasStrokeStyleApplier::strokeStyle):
2822         (WebCore::CanvasRenderingContext2D::stroke):
2823         (WebCore::CanvasRenderingContext2D::willDraw):
2824         (WebCore::CanvasRenderingContext2D::putImageData):
2825         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2826         * html/CanvasRenderingContext2D.h:
2827         * html/HTMLCanvasElement.cpp:
2828         (WebCore::HTMLCanvasElement::willDraw):
2829         * platform/graphics/FloatRect.h:
2830         (WebCore::mapRect): new method to map a rect contained
2831         in one rect to an equivalent rect inside another rect.
2832
2833 2008-12-29  Konstantin Käfer  <kkaefer@gmail.com>
2834
2835         Reviewed by Tim Hatcher.
2836
2837         Fix for https://bugs.webkit.org/show_bug.cgi?id=17229
2838         <rdar://problem/5732829> Inspector should show properties of all JS objects in Console
2839
2840         Prints objects not as plain text but makes them expandable so that
2841         they can be inspected.
2842
2843         * inspector/front-end/Console.js:
2844         (): added a parameter "inline" to the WebInspector.Console._format function which indicates
2845             whether the object is printed in the context of another string (with console.log()) or
2846             as sole element.
2847         (.): objects and DOM nodes are now printed in an expandable form when they are printed alone
2848             (i.e. not in the context of a console.log() string) so that they can be inspected.
2849         * inspector/front-end/PropertiesSection.js:
2850         (WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings
2851             in that case, the Node is inserted into the title instead of the string value of the passed
2852             object. This is used for displaying linkified titles, for example when inspecting DOM nodes,
2853             the syntax highlighted HTML representation is shown instead of the plain source code.
2854         * inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector.
2855
2856 2009-01-01  Darin Adler  <darin@apple.com>
2857
2858         Reviewed by Dan Bernstein.
2859
2860         Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
2861         https://bugs.webkit.org/show_bug.cgi?id=23051
2862         rdar://problem/3574497
2863
2864         Test: editing/execCommand/findString-diacriticals.html
2865
2866         * editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new
2867         name, since it doesn't always use a circular buffer any more. Changed the interface
2868         so it can work well in the new chunky comparison mode for ICU search, and also
2869         added private data members for both the ICU-search and non-ICU-search code paths.
2870         (WebCore::TextIterator::TextIterator): Use the versions of the Range functions
2871         that don't take an exception code.
2872         (WebCore::TextIterator::handleTextBox): Added a special case to handle the position
2873         of a collapsed-away space better. This is not needed for search mechanism, but was
2874         helpful in an earlier version of this patch, and is still an improvement.
2875         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the
2876         versions of the Range functions that don't take an exception code.
2877         (WebCore::CharacterIterator::range): Ditto.
2878         (WebCore::characterSubrange): Added. Helper function used in both places below where
2879         we want to convert a range and character offsets into a subrange.
2880         (WebCore::WordAwareIterator::advance): Use the versions of the Range functions that
2881         don't take an exception code.
2882         (WebCore::createSearcher): Added.
2883         (WebCore::searcher): Added.
2884         (WebCore::lockSearcher): Added.
2885         (WebCore::unlockSearcher): Added.
2886         (WebCore::SearchBuffer::SearchBuffer): Added.
2887         (WebCore::SearchBuffer::~SearchBuffer): Added.
2888         (WebCore::SearchBuffer::append): Added.
2889         (WebCore::SearchBuffer::atBreak): Added.
2890         (WebCore::SearchBuffer::reachedBreak): Added.
2891         (WebCore::SearchBuffer::search): Added.
2892         (WebCore::SearchBuffer::length): Added.
2893         (WebCore::TextIterator::subrange): Changed to call the characterSubrange
2894         function above.
2895         (WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the
2896         Range functions that don't take an exception code. Also tweak some other details
2897         of the code.
2898         (WebCore::isAllCollapsibleWhitespace): Added.
2899         (WebCore::collapsedToBoundary): Added.
2900         (WebCore::findPlainText): Rewrote to use new interface and streamline the
2901         logic a bit.
2902
2903         Add the relevant files in the icu directory. As icu/README says, the "icu"
2904         directory is really just for Mac OS X, where we have the ICU library but not
2905         the headers installed. It should be moved inside platform/mac at some point
2906         to make this more clear (and the copy in JavaScriptCore should be moved
2907         somewhere similar for the same reason).
2908
2909         * icu/unicode/ucoleitr.h: Added.
2910         * icu/unicode/usearch.h: Added.
2911
2912 2009-01-01  Oliver Hunt  <oliver@apple.com>
2913
2914         Reviewed by Cameron Zwarich.
2915
2916         CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0
2917         <rdar://problem/5821130>
2918
2919         This was caused by a plugin instance calling into JS code that removed the plugin
2920         object.  This fix is to cache the global object locally in a ProtectedPtr so we don't
2921         need to rely on the continued existence of the plugin instance.
2922
2923         * bridge/NP_jsobject.cpp:
2924         (_NPN_InvokeDefault):
2925         (_NPN_Invoke):
2926         (_NPN_Evaluate):
2927         (_NPN_Construct):
2928
2929 2008-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2930
2931         Reviewed by Holger Freyther.
2932
2933         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22964
2934
2935         MinGW build failure.
2936
2937         * platform/graphics/qt/SimpleFontDataQt.cpp:
2938         (WebCore::SimpleFontData::containsCharacters):
2939
2940 2008-12-31  Alexander V. Butenko  <alex@digiqube.com>
2941
2942         Reviewed by Holger Freyther.
2943
2944         https://bugs.webkit.org/show_bug.cgi?id=22750
2945         [gtk] webkit up to r39121 crash on image urls like
2946         http:///sitename.com
2947
2948         * platform/network/soup/ResourceHandleSoup.cpp:
2949         (WebCore::ResourceHandle::start):
2950
2951 2008-12-31  Hiroyuki Ikezoe  <poincare@ikezoe.net>
2952
2953         Reviewed by Holger Freyther.
2954
2955         https://bugs.webkit.org/show_bug.cgi?id=18310
2956
2957         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2958         (WebCore::SimpleFontData::determinePitch): Do not invoke
2959         isFixedPitch() when the font is a custom font.
2960
2961 2008-12-31  Oliver Hunt  <oliver@apple.com>
2962
2963         Reviewed by Cameron Zwarich.
2964
2965         More work on Bug 3781: Animation via canvas could be faster
2966         <https://bugs.webkit.org/show_bug.cgi?id=3781>
2967
2968         Make use of the fast path parsing of color strings that Color
2969         uses.  This improves performance of '#rgb', '#rrggbb', etc and
2970         named (eg. 'green') colors.
2971
2972         Improves frame rate of test by around 40%
2973
2974         * html/CanvasStyle.cpp:
2975         (WebCore::CanvasStyle::applyStrokeColor):
2976         (WebCore::CanvasStyle::applyFillColor):
2977
2978 2008-12-30  Simon Fraser  <simon.fraser@apple.com>
2979
2980         Reviewed by Darin Adler
2981
2982         https://bugs.webkit.org/show_bug.cgi?id=23042
2983         
2984         Rather than doing a repaint() inside of computeAbsoluteRepaintRect()
2985         when there is a reflection, compute the location of the rect inside
2986         the reflection and take the union of the unreflected and reflected rects.
2987         
2988         Test: fast/repaint/reflection-redraw.html
2989
2990         * rendering/RenderBox.cpp:
2991         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2992         * rendering/RenderObject.cpp:
2993         (WebCore::RenderObject::reflectedRect):
2994         * rendering/RenderObject.h:
2995
2996 2008-12-30  Dan Bernstein  <mitz@apple.com>
2997
2998         Reviewed by Adele Peterson.
2999
3000         - fix <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com
3001
3002         Test: fast/forms/placeholder-non-textfield.html
3003
3004         * html/HTMLInputElement.cpp:
3005         (WebCore::HTMLInputElement::parseMappedAttribute): Only call
3006         updatePlaceholderVisibility() when the placeholder attribute changes if
3007         the element is a text field.
3008
3009 2008-12-30  Oliver Hunt  <oliver@apple.com>
3010
3011         Reviewed by Antti Koivisto.
3012
3013         First step of Bug 3781: Animation via canvas could be faster
3014
3015         Amortise the cost of calling repaint by coalescing repaint rects
3016         while the canvas is drawn to.  In a later step we'll stop calling
3017         repaint() directly, and instead have all dirty canvases repaint
3018         at the end of JS execution.
3019
3020         * html/HTMLCanvasElement.cpp:
3021         (WebCore::HTMLCanvasElement::willDraw):
3022         (WebCore::HTMLCanvasElement::paint):
3023         * html/HTMLCanvasElement.h:
3024
3025 2008-12-30  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3026
3027         Reviewed by Antti Koivisto.
3028
3029         Bug 22931: Using the inspector with purgeable resources leads to assertion failures
3030         <https://bugs.webkit.org/show_bug.cgi?id=22931>
3031
3032         Change InspectorResource::sourceString() so that it doesn't attempt to
3033         unsafely get the data of a purgeable CachedResource.
3034
3035         * inspector/InspectorController.cpp:
3036         (WebCore::InspectorResource::sourceString): Attempt to make a purgeable
3037         resource unpurgeable, and if this not possible, return an empty string.
3038         * loader/CachedResource.h: Make InspectorResource a friend of CachedResource.
3039
3040 2008-12-29  Alexey Proskuryakov  <ap@webkit.org>
3041
3042         Reviewed by Sam Weinig.
3043
3044         https://bugs.webkit.org/show_bug.cgi?id=23023
3045         Remove incomplete support for opportunistic appcache entries
3046
3047         No change in behavior, thus no test.
3048
3049         * loader/appcache/ApplicationCacheResource.h:
3050         (WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema
3051         version changes.
3052
3053         * loader/DocumentLoader.cpp:
3054         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
3055         * loader/appcache/ApplicationCacheGroup.cpp:
3056         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
3057         * loader/appcache/ApplicationCacheResource.cpp:
3058         (WebCore::ApplicationCacheResource::dumpType):
3059
3060 2008-12-29  Dirk Schulze  <krit@webkit.org>
3061
3062         Reviewed by Oliver Hunt.
3063
3064         Add arcTo support for Cairo. This is needed by Canvas.
3065         Cairo has no native support for arcTo. We have to make our
3066         own implementation.
3067
3068         [Canvas] Cairo needs arcTo
3069         https://bugs.webkit.org/show_bug.cgi?id=23003
3070
3071         * platform/graphics/cairo/PathCairo.cpp:
3072         (WebCore::Path::addArcTo):
3073
3074 2008-12-29  Oliver Hunt  <oliver@apple.com>
3075
3076         Reviewed by Cameron Zwarich.
3077
3078         Bug 23030: Cannot setTransform with a non-invertible ctm
3079
3080         Removed a series of unnecessary and incorrect checks for an invertible
3081         transform.
3082
3083         Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html
3084
3085         * html/CanvasRenderingContext2D.cpp:
3086         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
3087         (WebCore::CanvasRenderingContext2D::setFillStyle):
3088             These properties are not effected by the current CTM, so there
3089             is no need to prevent them from being assigned.
3090
3091         (WebCore::CanvasRenderingContext2D::setTransform):
3092             The whole point of tracking whether the current CTM was expected to be
3093             non-invertible was to allow setTransform to be used when the CTM had become
3094             non-invertible.
3095
3096         (WebCore::CanvasRenderingContext2D::beginPath):
3097         (WebCore::CanvasRenderingContext2D::closePath):
3098             beginPath and closePath change the state of the path, but not any of
3099             its coordinates so there is no need prevent them from being called.
3100
3101 2008-12-29  Josh Roesslein  <jroesslein@gmail.com>
3102
3103         Reviewed by Oliver Hunt.
3104
3105         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22968
3106
3107         Context menu rendering error when full page zoomed
3108
3109         * page/ContextMenuController.cpp:
3110         (WebCore::ContextMenuController::handleContextMenuEvent):
3111
3112 2008-12-29  Sam Weinig  <sam@webkit.org>
3113
3114         Reviewed by Mark Rowe.
3115
3116         Add some basic memory statistic logging for Node.
3117
3118         * dom/Node.cpp:
3119         (WebCore::Node::dumpStatistics):
3120         (WebCore::Node::Node):
3121         (WebCore::Node::~Node):
3122         (WebCore::Node::setDocument):
3123         * dom/Node.h:
3124
3125 2008-12-29  Sam Weinig  <sam@webkit.org>
3126
3127         Reviewed by Anders Carlsson.
3128
3129         Remove one use of DeprecatedPtrList.
3130
3131         * css/CSSRuleList.cpp:
3132         (WebCore::CSSRuleList::~CSSRuleList):
3133         (WebCore::CSSRuleList::length):
3134         (WebCore::CSSRuleList::item):
3135         (WebCore::CSSRuleList::deleteRule):
3136         (WebCore::CSSRuleList::append):
3137         (WebCore::CSSRuleList::insertRule):
3138         * css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector.
3139         I measured no performance change and was comforted by the fact that we use a Vector
3140         for StyleList, which serves the exact same purpose.
3141
3142 2008-12-29  Adele Peterson  <adele@apple.com>
3143
3144         Reviewed by Brady Eidson.
3145
3146         Fix for https://bugs.webkit.org/show_bug.cgi?id=21797
3147         <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when 
3148         running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html
3149         
3150         Return early if the document is trying to get or set a cookie with an empty cookie url.
3151
3152         * dom/Document.cpp:
3153         (WebCore::Document::cookie):
3154         (WebCore::Document::setCookie):
3155
3156 2008-12-28  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3157
3158         Reviewed by Sam Weinig.
3159
3160         Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions
3161         <https://bugs.webkit.org/show_bug.cgi?id=23016>
3162         <rdar://problem/6425077>
3163
3164         JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while
3165         reparsing all JS functions, which will execute JS in the inspector. Depending
3166         on the order in which functions are recompiled, a function could have a new
3167         body but other functions that have not been recompiled could have an optimized
3168         (in the sense of inline caching) call to it, bypassing the check of whether or
3169         not there is generated bytecode. This leads to a crash caused by accessing
3170         indices off of a null pointer.
3171
3172         To fix the problem, simply delay calling sourceParsed() until after all functions
3173         have been reparsed. The crash isn't 100% reproducible, but on the one test case
3174         I have, this makes it impossible to reproduce after a large number of attempts,
3175         when it used to happen every few attempts.
3176
3177         * inspector/JavaScriptDebugServer.cpp:
3178         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3179
3180 2008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3181
3182         Rubber-stamped by Antti Koivisto.
3183         Oops, remove some last minute ASSERTS that are obviously wrong.
3184
3185         * rendering/RenderTextControlMultiLine.cpp:
3186         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
3187         * rendering/RenderTextControlSingleLine.cpp:
3188         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3189
3190 2008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3191
3192         Reviewed by Antti Koivisto.
3193
3194         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23015
3195
3196         Don't rely on HTMLFormControlElement in RenderTextControl.
3197
3198         Introduce an abstract FormControlElement class, containing the
3199         valueMatchesRenderer/setValueMatchesRenderer, the only HTMLFormControlElement
3200         specific methods that RenderTextControl relies on.
3201
3202         This makes it possible for WML to reuse RenderTextControl.
3203         RenderTextControlSingleLine still relies on HTMLInputElement,
3204         this will change if WMLInputElement is introduced.
3205
3206         * GNUmakefile.am:
3207         * WebCore.vcproj/WebCore.vcproj:
3208         * WebCore.xcodeproj/project.pbxproj:
3209         * dom/FormControlElement.h: Added.
3210         (WebCore::FormControlElement::~FormControlElement):
3211         (WebCore::FormControlElement::FormControlElement):
3212         * html/HTMLFormControlElement.h:
3213         (WebCore::HTMLFormControlElement::valueMatchesRenderer):
3214         (WebCore::HTMLFormControlElement::setValueMatchesRenderer):
3215         * html/HTMLTextAreaElement.cpp:
3216         (WebCore::HTMLTextAreaElement::updateValue):
3217         * rendering/RenderTextControl.cpp:
3218         (WebCore::RenderTextControl::adjustInnerTextStyle):
3219         (WebCore::RenderTextControl::updateFromElement):
3220         (WebCore::RenderTextControl::setInnerTextValue):
3221         (WebCore::RenderTextControl::selectionChanged):
3222         (WebCore::RenderTextControl::formControlElement):
3223         * rendering/RenderTextControl.h:
3224         * rendering/RenderTextControlMultiLine.cpp:
3225         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
3226         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
3227         * rendering/RenderTextControlSingleLine.cpp:
3228         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3229         (WebCore::RenderTextControlSingleLine::updateFromElement):
3230
3231 2008-12-28  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3232
3233         Reviewed by Darin Adler.
3234
3235         Bug 23006: Many Loader::Host member functions are not safe to use reentrantly
3236         <https://bugs.webkit.org/show_bug.cgi?id=23006>
3237         <rdar://problem/6216106>
3238
3239         Many Loader::Host member functions set m_processingResource to true when they
3240         begin processing a resource and set it to false when they are done. Thanks to
3241         JavaScript and the web inspector, almost anything can happen during the
3242         processing of a resource, including these functions being called reentrantly,
3243         which is unsafe due to this way of using m_processingResource.
3244
3245         This can theoretically cause a Loader::Host to be used after it is freed,
3246         because when Loader::servedPendingRequests() is called, it will free Hosts
3247         that have m_processingResource set to false.
3248
3249         To fix this, we replace m_processingResource with m_numResourcesProcessing,
3250         which is incremented and decremented using a helper object, ProcessingResource.
3251
3252         There are no occurrences of crashes caused by this bug that are reproducible
3253         by multiple people, but this fixes the problem of m_processingResource being
3254         set to false while a Host is still alive.
3255
3256         * loader/loader.cpp:
3257         (WebCore::Loader::Host::Host):
3258         (WebCore::Loader::Host::didFinishLoading): Change to use ProcessingResource
3259         instead of manually setting m_processingResource.
3260         (WebCore::Loader::Host::didFail): Ditto.
3261         (WebCore::Loader::Host::didReceiveData): Ditto.
3262         * loader/loader.h:
3263         (WebCore::Loader::Host::ProcessingResource::ProcessingResource): Added.
3264         (WebCore::Loader::Host::ProcessingResource::~ProcessingResource): Added.
3265         (WebCore::Loader::Host::processingResource): Change to use m_numResourcesProcessing
3266         instead of just getting m_processingResource.
3267
3268 2008-12-28  Alexey Proskuryakov  <ap@webkit.org>
3269
3270         Reviewed by Darin Adler.
3271
3272         https://bugs.webkit.org/show_bug.cgi?id=23007
3273         REGRESSION: Timer-related crash when closing Web Inspector
3274
3275         Test: fast/dom/Window/remove-timeout-crash.html
3276
3277         * bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::fired): Besides deleting the timer, make
3278         sure to remove it from a Document map.
3279
3280 2008-12-28  Alexey Proskuryakov  <ap@webkit.org>
3281
3282         Reviewed by Anders Carlsson.
3283
3284         https://bugs.webkit.org/show_bug.cgi?id=23012
3285         Bring application cache manifest parsing up to date
3286
3287         Test: http/tests/appcache/manifest-parsing.html
3288
3289         * loader/appcache/ManifestParser.cpp:
3290         (WebCore::Mode): Added a constant for unknown sections, which are ignored when parsing. This
3291         is necessary for future extensions.
3292         (WebCore::parseManifest): Parse unknown sections correctly. Ignore trailing tokens in
3293         supported sections.
3294
3295 2008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3296
3297         Reviewed by Darin Adler.
3298
3299         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22996
3300
3301         RenderTextControl heavily depends on HTMLInputElement & HTMLTextAreaElement.
3302         It handles multi & single line text control rendering in one class. Split up
3303         in two new classes: RenderTextControlSingleLine & RenderTextControlMultiLine.
3304
3305         This has several benefits - code is more readable now, the memory usage
3306         for RenderTextControlMultiLine is reduced, as all stuff related to search fields
3307         lives in RenderTextControlSingleLine, and it's easier to introduce an
3308         abstraction for input/textarea-like elements for other HTML flavours like WML.
3309
3310         * GNUmakefile.am:
3311         * WebCore.order:
3312         * WebCore.pro:
3313         * WebCore.scons:
3314         * WebCore.vcproj/WebCore.vcproj:
3315         * WebCore.xcodeproj/project.pbxproj:
3316         * WebCoreSources.bkl:
3317         * html/HTMLInputElement.cpp:
3318         (WebCore::HTMLInputElement::createRenderer):
3319         (WebCore::HTMLInputElement::defaultEventHandler):
3320         (WebCore::HTMLInputElement::updatePlaceholderVisibility):
3321         (WebCore::HTMLInputElement::addSearchResult):
3322         (WebCore::HTMLInputElement::onSearch):
3323         * html/HTMLTextAreaElement.cpp:
3324         (WebCore::HTMLTextAreaElement::createRenderer):
3325         (WebCore::HTMLTextAreaElement::defaultEventHandler):
3326         * rendering/RenderTextControl.cpp:
3327         (WebCore::RenderTextControl::RenderTextControl):
3328         (WebCore::RenderTextControl::~RenderTextControl):
3329         (WebCore::RenderTextControl::styleDidChange):
3330         (WebCore::RenderTextControl::adjustInnerTextStyle):
3331         (WebCore::RenderTextControl::createSubtreeIfNeeded):
3332         (WebCore::RenderTextControl::textBlockHeight):
3333         (WebCore::RenderTextControl::textBlockWidth):
3334         (WebCore::RenderTextControl::updateFromElement):
3335         (WebCore::RenderTextControl::setInnerTextValue):
3336         (WebCore::RenderTextControl::setSelectionRange):
3337         (WebCore::RenderTextControl::visiblePositionForIndex):
3338         (WebCore::RenderTextControl::indexForVisiblePosition):
3339         (WebCore::RenderTextControl::subtreeHasChanged):
3340         (WebCore::RenderTextControl::scrollbarThickness):
3341         (WebCore::RenderTextControl::calcHeight):
3342         (WebCore::RenderTextControl::hitInnerTextBlock):
3343         (WebCore::RenderTextControl::forwardEvent):
3344         (WebCore::RenderTextControl::calcPrefWidths):
3345         (WebCore::RenderTextControl::selectionChanged):
3346         (WebCore::RenderTextControl::innerTextElement):
3347         * rendering/RenderTextControl.h:
3348         (WebCore::RenderTextControl::hasControlClip):
3349         (WebCore::RenderTextControl::canHaveChildren):
3350         (WebCore::RenderTextControl::avoidsFloats):
3351         (WebCore::RenderTextControl::isEdited):
3352         (WebCore::RenderTextControl::setEdited):
3353         * rendering/RenderTextControlMultiLine.cpp: Added.
3354         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
3355         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
3356         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
3357         (WebCore::RenderTextControlMultiLine::layout):
3358         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
3359         (WebCore::RenderTextControlMultiLine::forwardEvent):
3360         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
3361         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
3362         (WebCore::RenderTextControlMultiLine::baselinePosition):
3363         (WebCore::RenderTextControlMultiLine::updateFromElement):
3364         (WebCore::RenderTextControlMultiLine::cacheSelection):
3365         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3366         * rendering/RenderTextControlMultiLine.h: Added.
3367         (WebCore::RenderTextControlMultiLine::isTextArea):
3368         * rendering/RenderTextControlSingleLine.cpp: Added.
3369         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3370         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
3371         (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
3372         (WebCore::RenderTextControlSingleLine::updatePlaceholderVisibility):
3373         (WebCore::RenderTextControlSingleLine::addSearchResult):
3374         (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
3375         (WebCore::RenderTextControlSingleLine::showPopup):
3376         (WebCore::RenderTextControlSingleLine::hidePopup):
3377         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
3378         (WebCore::RenderTextControlSingleLine::paint):
3379         (WebCore::RenderTextControlSingleLine::layout):
3380         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3381         (WebCore::RenderTextControlSingleLine::forwardEvent):
3382         (WebCore::RenderTextControlSingleLine::styleDidChange):
3383         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
3384         (WebCore::RenderTextControlSingleLine::textBlockWidth):
3385         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
3386         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3387         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
3388         (WebCore::RenderTextControlSingleLine::updateFromElement):
3389         (WebCore::RenderTextControlSingleLine::cacheSelection):
3390         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3391         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
3392         (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
3393         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
3394         (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
3395         (WebCore::RenderTextControlSingleLine::autosaveName):
3396         (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
3397         (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
3398         (WebCore::RenderTextControlSingleLine::valueChanged):
3399         (WebCore::RenderTextControlSingleLine::itemText):
3400         (WebCore::RenderTextControlSingleLine::itemIsEnabled):
3401         (WebCore::RenderTextControlSingleLine::itemStyle):
3402         (WebCore::RenderTextControlSingleLine::menuStyle):
3403         (WebCore::RenderTextControlSingleLine::clientInsetLeft):
3404         (WebCore::RenderTextControlSingleLine::clientInsetRight):
3405         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3406         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3407         (WebCore::RenderTextControlSingleLine::listSize):
3408         (WebCore::RenderTextControlSingleLine::selectedIndex):
3409         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
3410         (WebCore::RenderTextControlSingleLine::itemIsLabel):
3411         (WebCore::RenderTextControlSingleLine::itemIsSelected):
3412         (WebCore::RenderTextControlSingleLine::setTextFromItem):
3413         (WebCore::RenderTextControlSingleLine::fontSelector):
3414         (WebCore::RenderTextControlSingleLine::hostWindow):
3415         (WebCore::RenderTextControlSingleLine::createScrollbar):
3416         * rendering/RenderTextControlSingleLine.h: Added.
3417         (WebCore::RenderTextControlSingleLine::hasControlClip):
3418         (WebCore::RenderTextControlSingleLine::isTextField):
3419         (WebCore::RenderTextControlSingleLine::placeholderIsVisible):
3420         (WebCore::RenderTextControlSingleLine::popupIsVisible):
3421         (WebCore::RenderTextControlSingleLine::shouldPopOver):
3422         (WebCore::RenderTextControlSingleLine::valueShouldChangeOnHotTrack):
3423         * rendering/TextControlInnerElements.cpp:
3424         (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
3425         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
3426
3427 2008-12-28  Dmitry Titov  <dimich@chromium.org>
3428
3429         Reviewed by Darin Adler.
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=22755
3432         Prepare to add create/remove timeout methods to JSWorkerContext by moving
3433         timer-specific code from JSDOMWindowBase to DOMTimer.
3434         Moved everything JS-related from DOMTimer to ScheduledAction.
3435         Now ScheduledAction is what it wanted to be all the time: a JS engine-specific 
3436         container for timer callback that knows how to invoke it.
3437         DOMTimer is not anymore JS-specific.
3438
3439         This is mostly moving the code around. No intended functional changes.
3440
3441         * bindings/js/DOMTimer.cpp:
3442         (WebCore::DOMTimer::DOMTimer):
3443         (WebCore::DOMTimer::~DOMTimer):
3444         (WebCore::DOMTimer::install):
3445         (WebCore::DOMTimer::removeById):
3446         (WebCore::DOMTimer::fired):
3447         (WebCore::DOMTimer::stop):
3448         * bindings/js/DOMTimer.h:
3449         * bindings/js/JSDOMWindowBase.cpp:
3450         (WebCore::JSDOMWindowBase::installTimeout):
3451         (WebCore::JSDOMWindowBase::removeTimeout):
3452         * bindings/js/JSDOMWindowBase.h:
3453         * bindings/js/ScheduledAction.cpp:
3454         (WebCore::ScheduledAction::execute):
3455         * bindings/js/ScheduledAction.h:
3456         * dom/Document.cpp:
3457         (WebCore::Document::addTimeout):
3458
3459 2008-12-26  Zalan Bujtas  <zbujtas@gmail.com>
3460
3461         Reviewed by Darin Adler.
3462
3463         https://bugs.webkit.org/show_bug.cgi?id=22999
3464         Check if database thread exists.
3465
3466         * storage/Database.cpp:
3467         (WebCore::Database::openAndVerifyVersion):
3468         (WebCore::Database::markAsDeletedAndClose):
3469         (WebCore::Database::tableNames):
3470
3471 2008-12-26  Alexey Proskuryakov  <ap@webkit.org>
3472
3473         Reviewed by Darin Adler.
3474
3475         https://bugs.webkit.org/show_bug.cgi?id=23001
3476         A call to applicationCache.update() from a cached event listener should be ignored
3477
3478         Test: http/tests/appcache/idempotent-update.html
3479
3480         * loader/appcache/ApplicationCacheGroup.cpp:
3481         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Only reset m_status after
3482         dispatching events.
3483
3484 2008-12-26  Alexey Proskuryakov  <ap@webkit.org>
3485
3486         Reviewed by Darin Adler.
3487
3488         https://bugs.webkit.org/show_bug.cgi?id=22997
3489         ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource()
3490
3491         Tests: http/tests/appcache/top-frame-1.html
3492                http/tests/appcache/top-frame-2.html
3493                http/tests/appcache/top-frame-3.html
3494                http/tests/appcache/top-frame-4.html
3495
3496         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):
3497         Fixed one more instance of top level frame being used for caching purposes.
3498
3499 2008-12-26  Dmitry Titov  <dimich@chromium.org>
3500
3501         Reviewed by Darin Adler.
3502
3503         https://bugs.webkit.org/show_bug.cgi?id=22987
3504         Fix for broken test editing/execCommand/5763082.html
3505
3506         * editing/CompositeEditCommand.cpp:
3507         (WebCore::CompositeEditCommand::mergeIdenticalElements): Used local RefPtr to hold onto
3508         function parameter across multiple calls.
3509
3510 2008-12-25  Alexey Proskuryakov  <ap@webkit.org>
3511
3512         Reviewed by Darin Adler.
3513
3514         https://bugs.webkit.org/show_bug.cgi?id=22993
3515         Application cache shouldn't be inherited by subframes
3516
3517         <rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType()
3518         This crash happened because main resource for subframe was looked up in top frame's
3519         appcache. If not for the spec change, it could have been fixed by preventing the load
3520         altogether.
3521
3522         Test: http/tests/appcache/foreign-iframe-main.html
3523         I intend to write additional tests for the behavior change.
3524
3525         * loader/DocumentLoader.cpp:
3526         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
3527         * loader/DocumentLoader.h:
3528         (WebCore::DocumentLoader::applicationCache):
3529         * loader/MainResourceLoader.cpp:
3530         (WebCore::MainResourceLoader::load):
3531         * loader/appcache/DOMApplicationCache.cpp:
3532         (WebCore::DOMApplicationCache::associatedCache):
3533         Removed DocumentLoader::topLevelApplicationCache(), and changed callers accordingly.
3534
3535         * loader/appcache/ApplicationCacheGroup.cpp:
3536         (WebCore::ApplicationCacheGroup::selectCache):
3537         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
3538         Removed checks for the frame being top-level one, now that subframes are cached independently.
3539
3540 2008-12-25  Antti Koivisto  <antti@apple.com>
3541
3542         Reviewed by Oliver Hunt.
3543
3544         <rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient
3545         
3546         Disallow turning resources that are being revalidated to purgable state.
3547         
3548         No test, the condition is difficult to produce in DRT.
3549
3550         * loader/CachedCSSStyleSheet.cpp:
3551         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
3552         * loader/CachedImage.cpp:
3553         (WebCore::CachedImage::destroyDecodedData):
3554         * loader/CachedResource.cpp:
3555         (WebCore::CachedResource::isSafeToMakePurgeable):
3556         (WebCore::CachedResource::makePurgeable):
3557         * loader/CachedResource.h:
3558         * loader/CachedScript.cpp:
3559         (WebCore::CachedScript::destroyDecodedData):
3560
3561 2008-12-25  Alexey Proskuryakov  <ap@webkit.org>
3562
3563         Qt build fix.
3564
3565         * WebCore.pro: Added ThreadGlobalData.cpp.
3566
3567 2008-12-24  Mark Rowe  <mrowe@apple.com>
3568
3569         Build fix.
3570
3571         * WebCore.base.exp:  Remove a symbol from the export file now that it is no longer generated.
3572
3573 2008-12-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3574
3575         Unreviewed build fix to find addSubresourceURL
3576
3577         This is needed to compile on WebKit/Gtk+
3578
3579         * css/CSSFontFaceSrcValue.cpp:
3580
3581 2008-12-23  Alexey Proskuryako