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