5aed6e243f9281d2b68cb33dabb34779a7b63275
[WebKit-https.git] / WebCore / ChangeLog
1 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
2
3         Reviewed by Simon Fraser.
4
5         https://bugs.webkit.org/show_bug.cgi?id=24400
6         Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 
7         media element attributes
8
9         Test: media/video-loop.html
10
11         * html/HTMLMediaElement.cpp:
12         (WebCore::HTMLMediaElement::HTMLMediaElement):
13         (WebCore::HTMLMediaElement::loadInternal):
14         (WebCore::HTMLMediaElement::setNetworkState):
15         (WebCore::HTMLMediaElement::seek):
16         (WebCore::HTMLMediaElement::playInternal):
17         (WebCore::HTMLMediaElement::loop):
18         (WebCore::HTMLMediaElement::setLoop):
19         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
20         (WebCore::HTMLMediaElement::endedPlayback):
21         (WebCore::HTMLMediaElement::updatePlayState):
22         * html/HTMLMediaElement.h:
23         * html/HTMLMediaElement.idl:
24
25 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
26
27         <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
28         
29         Reviewed by Ada Chan.
30
31         * platform/network/cf/ResourceHandleCFNet.cpp:
32         (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
33
34 2009-03-05  David Hyatt  <hyatt@apple.com>
35
36         Reviewed by Eric Seidel
37
38         https://bugs.webkit.org/show_bug.cgi?id=24248
39
40         Make sure painting of overflow controls checks that visibility:visible is set on the block before
41         painting.  Pixel tests caught this regression.
42
43         Make sure resizer painting pushes a clip of the corner rect.  It was relying on the clip layers happened
44         to do to their bounds (which had nothing to do with overflow).
45
46         * rendering/RenderBlock.cpp:
47         (WebCore::RenderBlock::paint):
48         * rendering/RenderLayer.cpp:
49         (WebCore::RenderLayer::paintResizer):
50
51 2009-03-05  Yong Li  <yong.li@torchmobile.com>
52
53         Reviewed by Simon Fraser.
54
55         https://bugs.webkit.org/show_bug.cgi?id=24386
56         A faster implementation of extractMIMETypeFromMediaType.
57
58         * platform/network/HTTPParsers.cpp:
59         (WebCore::extractMIMETypeFromMediaType):
60
61 2009-03-05  Yong Li  <yong.li@torchmobile.com>
62
63         Reviewed by Antti Koivisto.
64
65         https://bugs.webkit.org/show_bug.cgi?id=24392
66         Do not get the current time for unless we're doing PRELOAD_DEBUG as this
67         can be unnecessarily expensive.
68
69         * html/PreloadScanner.cpp:
70         (WebCore::PreloadScanner::write):
71
72 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
73
74         Reviewed by Dave Hyatt
75
76         https://bugs.webkit.org/show_bug.cgi?id=24327
77         
78         When mapping points and hit testing through transforms, work
79         correctly when acclerated animations of transforms are running.
80         
81         Tested by LayoutTests/animations/animation-hit-test-transform.html,
82         which only failed when ACCELERATED_COMPOSITING was turned on.
83
84         * rendering/RenderLayer.cpp:
85         (WebCore::RenderLayer::currentTransform):
86         * rendering/RenderLayer.h:
87         * rendering/RenderObject.cpp:
88         (WebCore::RenderObject::transformFromContainer):
89
90 2009-03-05  Mike Belshe  <mike@belshe.com>
91
92         Reviewed by Darin Fisher.
93
94         https://bugs.webkit.org/show_bug.cgi?id=24391
95         Frame.cpp uses JSC specific includes
96
97         * page/Frame.cpp:
98
99 2009-03-05  Gustavo Noronha Silva  <gns@gnome.org>
100
101         Reviewed by Alexey Proskuryakov.
102
103         https://bugs.webkit.org/show_bug.cgi?id=24389
104         WebKitGTK+ crashes when cancelling plugin loads
105
106         Remove bogus calls to the client's didFinishLoading method from
107         our ResourceHandle::cancel implementation. Calling
108         didFinishLoading here is mostly inoffensive for most loads, but
109         causes crashes when plugin loads are cancelled.
110
111         * platform/network/soup/ResourceHandleSoup.cpp:
112         (WebCore::ResourceHandle::cancel):
113
114 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
115
116         Windows build fix.
117         
118         * WebCore.vcproj/QTMovieWin.vcproj:
119
120 2009-03-05  Adam Treat  <adam.treat@torchmobile.com>
121
122         Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0.  The method
123         ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
124         protected by an #if and uses HTMLPlugInElement so it must be included.
125
126         * bindings/js/ScriptController.cpp:
127
128 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
129
130         GTK Build fix.
131
132         * inspector/ConsoleMessage.h: Use proper header.
133
134 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
135
136         Reviewed by Timothy Hatcher.
137
138         https://bugs.webkit.org/show_bug.cgi?id=24376
139         Split InspectorController.cpp file into separate classes.
140
141         * GNUmakefile.am: Modified to include new files.
142         * WebCore.pro: Ditto.
143         * WebCore.scons: Ditto.
144         * WebCore.vcproj/WebCore.vcproj: Ditto.
145         * WebCore.xcodeproj/project.pbxproj: Ditto.
146         * WebCoreSources.bkl: Ditto.
147         * inspector/ConsoleMessage.cpp: Added.
148         * inspector/ConsoleMessage.h: Added.
149         * inspector/InspectorController.cpp:
150         * inspector/InspectorDOMStorageResource.cpp: Added.
151         * inspector/InspectorDOMStorageResource.h: Added.
152         * inspector/InspectorDatabaseResource.cpp: Added.
153         * inspector/InspectorDatabaseResource.h: Added.
154         * inspector/InspectorResource.cpp: Added.
155         * inspector/InspectorResource.h: Added.
156
157 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
158
159         Reviewed by Darin Adler
160
161         https://bugs.webkit.org/show_bug.cgi?id=24387
162         Remove media element bufferingRate attribute. No test necessary as there
163         were none for this attribute.
164
165         * html/HTMLMediaElement.cpp:
166         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
167         (WebCore::HTMLMediaElement::loadInternal): Ditto.
168         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
169         (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
170         * html/HTMLMediaElement.h: Remove m_bufferingRate.
171         * html/HTMLMediaElement.idl: Ditto.
172
173 2009-03-05  Xan Lopez  <xan@gnome.org>
174
175         Reviewed by Mark Rowe.
176
177         https://bugs.webkit.org/show_bug.cgi?id=24377
178         [GTK] Comply better with coding style guidelines in ResourceHandleSoup
179
180         Use C++ booleans, 0 instead of NULL, prefix boolean variables with
181         'is', do not use 'else if' if the previous if had a return, delete
182         trailing whitespace, etc.
183
184         * platform/network/ResourceHandleInternal.h:
185         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
186         * platform/network/soup/ResourceHandleSoup.cpp:
187         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
188         (WebCore::fillResponseFromMessage):
189         (WebCore::restartedCallback):
190         (WebCore::finishedCallback):
191         (WebCore::parseDataUrl):
192         (WebCore::ensureSessionIsInitialized):
193         (WebCore::ResourceHandle::startHttp):
194         (WebCore::reportUnknownProtocolError):
195         (WebCore::ResourceHandle::start):
196         (WebCore::cleanupGioOperation):
197         (WebCore::closeCallback):
198         (WebCore::readCallback):
199         (WebCore::openCallback):
200         (WebCore::queryInfoCallback):
201         (WebCore::ResourceHandle::startGio):
202
203 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
204
205         Reviewed by Eric Seidel
206
207         https://bugs.webkit.org/show_bug.cgi?id=24328
208         
209         If an element has backface-visibility: hidden, hit testing should not
210         hit the back sides of elements. Test for that by inverting the accumulated
211         transform and looking at the z vector.
212
213         Tested by transforms/3d/hit-testing/backface-hit-test.html
214         
215         * rendering/RenderLayer.cpp:
216         (WebCore::RenderLayer::hitTestLayer):
217
218 2009-03-04  Adam Langley  <agl@google.com>
219
220         Reviewed by Darin Fisher.
221
222         r41362 mistakenly added functions "RenderThemeWin::" into
223         RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
224         them to void return types. This patch switches them back to ints.
225
226         https://bugs.webkit.org/show_bug.cgi?id=24360
227
228         * rendering/RenderThemeChromiumLinux.cpp:
229         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
230         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
231         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
232         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
233
234 2009-03-04  Adam Langley  <agl@google.com>
235
236         Reviewed by Darin Fisher.
237
238         Chromium Linux: change some metrics to better match Windows after
239         r41416. Aesthetically this may be worse, but web-compat is king.
240
241         Also, the previous code had an off by one error when drawing
242         scrollbars which caused the scrollbar to overflow it's bounds by 1px
243         at the right and bottom edges.
244
245         https://bugs.webkit.org/show_bug.cgi?id=24369
246
247         * rendering/RenderThemeChromiumLinux.cpp:
248         (WebCore::):
249         (WebCore::RenderThemeChromiumLinux::systemFont):
250         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
251         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
252
253 2009-03-04  Eric Seidel  <eric@webkit.org>
254
255         Reviewed by Adam Roben.
256
257         Add an ASSERT to better demonstrate the cause of the crash in
258         https://bugs.webkit.org/show_bug.cgi?id=23736
259
260         * loader/DocLoader.cpp:
261         (WebCore::DocLoader::~DocLoader):
262
263 2009-03-04  David Levin  <levin@chromium.org>
264
265         Reviewed by Alexey Proskuryakov.
266
267         Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
268         <https://bugs.webkit.org/show_bug.cgi?id=24337>
269
270         Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
271                http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
272
273         * loader/mac/ResourceLoaderMac.mm:
274         (WebCore::ResourceLoader::willCacheResponse):
275         An identifier is only asssigned if resource load callbacks are done.  So don't send
276         willCacheResponse which uses identifier if resource load callbacks aren't being sent.
277
278 2009-03-04  David Levin  <levin@chromium.org>
279
280         Reviewed by Alexey Proskuryakov.
281
282         Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
283         <https://bugs.webkit.org/show_bug.cgi?id=24330>
284
285         Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
286
287         * dom/ExceptionCode.cpp:
288         (WebCore::xmlHttpRequestExceptionNames):
289         Added missing ABORT_ERR whose absence caused an assert.
290
291         * loader/WorkerThreadableLoader.cpp:
292         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
293         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
294         Add more logic to handle the termination case for sync xhr.
295
296 2009-03-04  Eric Carlson  <eric.carlson@apple.com>
297
298         Reviewed by Antti Koivisto.
299
300         https://bugs.webkit.org/show_bug.cgi?id=24364
301         Add support for HTMLMediaElement canPlayType method. Make
302         MediaPlayer::supportsType take a ContentType instead of a
303         separate mime type and codecs parameter.
304
305         Test: media/video-can-play-type.html
306
307         * dom/DOMImplementation.cpp:
308         (WebCore::DOMImplementation::createDocument):
309         * html/HTMLMediaElement.cpp:
310         (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
311         (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
312         (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
313         (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
314         * html/HTMLMediaElement.h: Add prototype.
315         * html/HTMLMediaElement.idl: Ditto.
316         * platform/graphics/MediaPlayer.cpp:
317         (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
318         (WebCore::MediaPlayer::supportsType): Ditto.
319         * platform/graphics/MediaPlayer.h:
320
321 2009-03-04  Antti Koivisto  <antti@apple.com>
322
323         Reviewed by Dave Hyatt.
324
325         https://bugs.webkit.org/show_bug.cgi?id=24359
326         Repaint throttling mechanism
327         
328         Excessive repainting can slow down page loadind. This implements a timer
329         based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not 
330         enabled by default.
331
332         * loader/FrameLoader.cpp:
333         (WebCore::FrameLoader::checkCompleted):
334         * page/EventHandler.cpp:
335         (WebCore::EventHandler::dispatchDragEvent):
336         (WebCore::EventHandler::dispatchMouseEvent):
337         (WebCore::EventHandler::keyEvent):
338         (WebCore::EventHandler::handleTextInputEvent):
339         * page/FrameView.cpp:
340         (WebCore::FrameView::FrameView):
341         (WebCore::FrameView::reset):
342         (WebCore::FrameView::repaintContentRectangle):
343         (WebCore::FrameView::beginDeferredRepaints):
344         (WebCore::FrameView::endDeferredRepaints):
345         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
346         (WebCore::FrameView::doDeferredRepaints):
347         (WebCore::FrameView::updateDeferredRepaintDelay):
348         (WebCore::FrameView::resetDeferredRepaintDelay):
349         (WebCore::FrameView::adjustedDeferredRepaintDelay):
350         (WebCore::FrameView::deferredRepaintTimerFired):
351         (WebCore::FrameView::paintContents):
352         * page/FrameView.h:
353
354 2009-03-04  Sam Weinig  <sam@webkit.org>
355
356         Rubber-stamped by Antti Koivisto.
357
358         Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
359
360         * dom/Document.cpp:
361         (WebCore::Document::Document):
362         * dom/Document.h:
363         (WebCore::Document::haveStylesheetsLoaded):
364         * html/HTMLTokenizer.cpp:
365         (WebCore::HTMLTokenizer::scriptHandler):
366         * loader/Cache.cpp:
367         (WebCore::Cache::requestResource):
368         * loader/CachedCSSStyleSheet.cpp:
369         (WebCore::CachedCSSStyleSheet::checkNotify):
370         * loader/DocLoader.h:
371         * loader/FrameLoader.cpp:
372         (WebCore::FrameLoader::FrameLoader):
373         (WebCore::FrameLoader::requestFrame):
374         (WebCore::FrameLoader::stopLoading):
375         (WebCore::FrameLoader::begin):
376         (WebCore::FrameLoader::write):
377         (WebCore::FrameLoader::endIfNotLoadingMainResource):
378         (WebCore::FrameLoader::checkCompleted):
379         (WebCore::FrameLoader::requestObject):
380         (WebCore::FrameLoader::loadItem):
381         * loader/FrameLoader.h:
382
383 2009-03-02  Xan Lopez  <xan@gnome.org>
384
385         Reviewed by Mark Rowe.
386
387         https://bugs.webkit.org/show_bug.cgi?id=24287
388         [GTK] Move auth dialog feature to WebKit/
389
390         Remove WebKitSoupAuthDialog files from build and stop using it.
391
392         * GNUmakefile.am:
393         * platform/network/soup/ResourceHandleSoup.cpp:
394         (WebCore::ensureSessionIsInitialized):
395         * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
396         * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
397
398 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
399
400         Reviewed by Dave Hyatt
401         
402         https://bugs.webkit.org/show_bug.cgi?id=24361
403         
404         Reinstate code that sets result.innerNode when hitTest() returns true,
405         but never filled in the innerNode. Fixes hit testing of generated content.
406
407         Test: fast/css-generated-content/hit-test-generated-content.html
408
409         * rendering/RenderLayer.cpp:
410         (WebCore::RenderLayer::hitTestContents):
411
412 2009-03-04  Adam Barth  <abath@webkit.org>
413
414         Reviewed by Alexey Proskuryakov.
415
416         https://bugs.webkit.org/show_bug.cgi?id=24356
417
418         Fix WebKit style for allowUniversalAccessFromFileURLs.
419
420         * WebCore.base.exp:
421         * dom/Document.cpp:
422         (WebCore::Document::initSecurityContext):
423         * page/Settings.cpp:
424         (WebCore::Settings::Settings):
425         (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
426         * page/Settings.h:
427         (WebCore::Settings::allowUniversalAccessFromFileURLs):
428
429 2009-03-04  Brady Eidson  <beidson@apple.com>
430
431         Reviewed by Darin Adler
432
433         <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
434
435         I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
436         consolidated some of the various decision making pieces of the Cache into the new method
437         FrameLoader::cachePolicy().
438
439         Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader 
440         is reloading.  If it is, we'd evict any existing resource then recreate it.  Quick looks uses the
441         same URL for this image every time and expects it to be reloaded with each new card.
442
443         The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
444         is "ReloadIgnoringCacheData".  This check was lost in the consolidation to the new method.  
445
446         * loader/FrameLoader.cpp:
447         (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
448           condition for returning CachePolicyReload.
449
450 2009-03-04  Timothy Hatcher  <timothy@apple.com>
451
452         * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
453         "LOCAL STORAGE" and "SESSION STORAGE".
454
455 2009-03-04  Timothy Hatcher  <timothy@apple.com>
456
457         Fix a regression where the Web Inspector console would not animate
458         in or out correctly.
459
460         Reviewed by Anders Carlsson.
461
462         * inspector/front-end/inspector.css: Move a z-index to a child element
463         to get the correct stacking order during the animation.
464
465 2009-03-03  David Hyatt  <hyatt@apple.com>
466
467         https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
468
469         Make sure to factor clear deltas into y position estimates.  Also avoid doing the comparison of
470         the final position against the y position estimate until after the clear has happened.  This gets rid
471         of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
472
473         Reviewed by Dan Bernstein
474
475         Added fast/block/float/nested-clearance.html
476
477         * rendering/RenderBlock.cpp:
478         (WebCore::RenderBlock::collapseMargins):
479         (WebCore::RenderBlock::clearFloatsIfNeeded):
480         (WebCore::RenderBlock::estimateVerticalPosition):
481         (WebCore::RenderBlock::layoutBlockChildren):
482         (WebCore::RenderBlock::getClearDelta):
483         * rendering/RenderBlock.h:
484
485 2009-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
486
487         Reviewed by Simon Hausmann.
488
489         Improvement to 3d transformations rendering in QtWebKit. QTransform is used
490         instead of QMatrix. This allows perspective transformations since QTransform is
491         a true 3x3 matrix.
492
493         * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
494         (WebCore::GraphicsContext::getCTM):
495         (WebCore::GraphicsContext::restorePlatformState):
496         (WebCore::GraphicsContext::fillPath):
497         (WebCore::GraphicsContext::strokePath):
498         (WebCore::GraphicsContext::fillRect):
499         (WebCore::GraphicsContext::translate):
500         (WebCore::GraphicsContext::rotate):
501         (WebCore::GraphicsContext::scale):
502         (WebCore::GraphicsContext::concatCTM):
503         * platform/graphics/qt/ImageQt.cpp:
504         (WebCore::Image::drawPattern):
505         * platform/graphics/qt/PathQt.cpp:
506         (WebCore::Path::translate):
507         (WebCore::Path::transform):
508         * platform/graphics/qt/PatternQt.cpp:
509         (WebCore::Pattern::createPlatformPattern):
510         * platform/graphics/qt/TransformationMatrixQt.cpp:
511         (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
512         to QMatrix with one to QTransform.
513         * platform/graphics/transforms/TransformationMatrix.h:
514         * platform/graphics/qt/FontQt.cpp:
515
516 2009-02-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
517
518         Reviewed by Simon Hausmann.
519
520         https://bugs.webkit.org/show_bug.cgi?id=24151
521         Fix Qt/S60 build break
522
523         * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
524         * platform/qt/FileSystemQt.cpp: Ditto
525         (WebCore::unloadModule):
526
527 2009-03-03  Mike Belshe  <mike@belshe.com>
528
529         Reviewed by Alexey Proskuryakov.
530
531         https://bugs.webkit.org/show_bug.cgi?id=21939
532         Uninitialized ExceptionCode in DOMWindow::postMessage
533
534         * dom/MessagePort.cpp:
535         (WebCore::MessagePort::postMessage):
536
537 2009-03-03  David Kilzer  <ddkilzer@apple.com>
538
539         <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
540
541         Reviewed by Mark Rowe.
542
543         The fix is to add INSTALLHDRS_COPY_PHASE = YES and
544         INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
545         sure various build phase scripts work with the installhdrs build
546         phase.
547
548         * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
549         based on PLATFORM_NAME to work around the missing definition on
550         Tiger.
551         * Configurations/WebCore.xcconfig: Added
552         JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
553         the "Generate Derived Sources" script.  Added
554         INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
555
556         * WebCore.xcodeproj/project.pbxproj:
557         - Added shell code to prevent running "Check For Global
558           Initializers", "Check For Exit Time Destructors" and "Check
559           For Weak VTables" scripts during the installhdrs build phase.
560         - Made "Generate Derived Sources" work for the installhdrs build
561           phase.  Also simplified setting of CREATE_HASH_TABLE by using
562           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
563
564 2009-03-02  Adam Langley  <agl@google.com>
565
566         Reviewed by Darin Fisher.
567
568         Chromium Linux: Switch to using Skia to render widgets.
569
570         In order to sandbox the Chromium renderer on Linux we need to remove
571         the X connection. GTK cannot render without an X connection so, for
572         now, we render widgets ourselves.
573
574         Previously didn't use anti-alias fonts in order to match Windows font
575         rendering exactly. This was helpful when bootstrapping our layout
576         tests. Now, however, we are ready to enable it.
577
578         https://bugs.webkit.org/show_bug.cgi?id=24244
579
580         * platform/chromium/ScrollbarThemeChromium.cpp:
581         (WebCore::ScrollbarThemeChromium::buttonSize):
582         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
583         (WebCore::ScrollbarThemeChromium::scrollbarThickness):
584         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
585         (WebCore::ScrollbarThemeChromium::paintButton):
586         (WebCore::ScrollbarThemeChromium::paintThumb):
587         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
588         (WebCore::FontPlatformData::setupPaint):
589         * platform/graphics/skia/PlatformContextSkia.cpp:
590         (PlatformContextSkia::PlatformContextSkia):
591         (PlatformContextSkia::~PlatformContextSkia):
592         * platform/graphics/skia/PlatformContextSkia.h:
593         * rendering/RenderThemeChromiumGtk.cpp: Removed.
594         * rendering/RenderThemeChromiumGtk.h: Removed.
595         * rendering/RenderThemeChromiumLinux.cpp: Added.
596         * rendering/RenderThemeChromiumLinux.h: Added.
597
598 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
599
600         Reviewed by Darin Fisher.
601
602         https://bugs.webkit.org/show_bug.cgi?id=24261
603         Fix return types.
604
605         Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
606
607         * bindings/v8/V8Binding.h:
608         (WebCore::toInt32): change return type to int
609         (WebCore::toFloat): change return type to float.
610
611 2009-03-03  Anders Carlsson  <andersca@apple.com>
612
613         Reviewed by John Sullivan.
614
615         https://bugs.webkit.org/show_bug.cgi?id=22884
616         <rdar://problem/6449783>
617         modified layout test crashes Safari
618
619         Null check NPStream before dereferencing it.
620         
621         * plugins/PluginView.cpp:
622         (WebCore::PluginView::destroyStream):
623
624 2009-03-03  Eric Carlson  <eric.carlson@apple.com>
625
626         Reviewed by Simon Fraser.
627
628         Fix for <rdar://problem/6641045>
629         Don't call QTKit to get movie properties until movie metadata has been loaded.
630
631         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
632         (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
633         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
634         (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
635         (WebCore::MediaPlayerPrivate::play): Ditto.
636         (WebCore::MediaPlayerPrivate::pause): Ditto.
637         (WebCore::MediaPlayerPrivate::duration): Ditto.
638         (WebCore::MediaPlayerPrivate::currentTime): Ditto.
639         (WebCore::MediaPlayerPrivate::seek): Ditto.
640         (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
641         (WebCore::MediaPlayerPrivate::paused): Ditto.
642         (WebCore::MediaPlayerPrivate::seeking): Ditto.
643         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
644         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
645         (WebCore::MediaPlayerPrivate::setVolume): Ditto.
646         (WebCore::MediaPlayerPrivate::setRate): Ditto.
647         (WebCore::MediaPlayerPrivate::dataRate): Ditto.
648         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
649         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
650
651 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
652
653         - Spelling fix.
654
655         * page/Console.cpp:
656         (WebCore::Console::profile):
657
658 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
659
660         Reviewed by Darin Fisher.
661
662         https://bugs.webkit.org/show_bug.cgi?id=23657
663         Remove Database API callback IDLs from the project. 
664         They were removed in r40633.
665
666         * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
667
668 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
669
670         Reviewed by Oliver Hunt.
671
672         <rdar://problem/6639110> console.profile() doesn't work without a title
673
674         * page/Console.cpp:
675         (WebCore::Console::profile): If there is no title assume this is a user
676         initiated profile and give it the next incremented title name.
677
678 2009-03-03  Timothy Hatcher  <timothy@apple.com>
679
680         Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
681         the console code and refactored things to have fewer code paths and duplication.
682
683         rdar://problem/6367127
684         https://bugs.webkit.org/show_bug.cgi?id=24329
685
686         Reviewed by Kevin McCullough.
687
688         Test: manual-tests/inspector/console-dir.html
689
690         * bindings/js/JSInspectedObjectWrapper.cpp:
691         (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
692         to fix an ASSERT about using a wrapper from the wrong ExecState.
693         * bindings/js/JSQuarantinedObjectWrapper.cpp:
694         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
695         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
696         * inspector/front-end/Console.js:
697         (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
698         When forceObjectFormat is true, the only formatter used is _formatobject.
699         (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
700         (WebInspector.Console.prototype._formatstring): Ditto.
701         (WebInspector.Console.prototype._formatregexp): Ditto.
702         (WebInspector.Console.prototype._formatarray): Ditto.
703         (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
704         (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
705         (WebInspector.Console.prototype._formaterror): Remove the inline argument.
706         (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
707         simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
708         (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
709         (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
710         (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
711         (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
712         * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
713         * inspector/front-end/utilities.js:
714         (Object.type): Return "node" for Node objects.
715         (Object.describe): Handle the "node" type.
716         * page/Console.cpp:
717         (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
718         (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
719         * page/Console.h:
720         (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
721
722 2009-03-03  Scott Violet  <sky@google.com>
723
724         Reviewed by Eric Seidel.
725
726         https://bugs.webkit.org/show_bug.cgi?id=24325
727         Crash on replacing document contents during drop.
728
729         Makes sure a node is in the document during a move before using it.
730
731         Test: fast/events/crash-on-mutate-during-drop.html
732
733         * editing/MoveSelectionCommand.cpp:
734         (WebCore::MoveSelectionCommand::doApply):
735
736 2009-03-03  Jungshik Shin <jshin@chromium.org>
737
738         Reviewed by Eric Seidel.
739
740         https://bugs.webkit.org/show_bug.cgi?id=23028
741         Enable dynamic web font support to Chromium on Windows.
742         Files that were omitted by mistake in the latest patch
743         that was landed.
744
745         * loader/CachedFont.cpp:
746         (WebCore::CachedFont::~CachedFont):
747         (WebCore::CachedFont::ensureCustomFontData):
748         (WebCore::CachedFont::platformDataFromCustomData):
749         (WebCore::CachedFont::allClientsRemoved):
750         * platform/graphics/chromium/FontCustomPlatformData.cpp:
751         (WebCore::EOTStream::EOTStream):
752         (WebCore::createFontCustomPlatformData):
753         * platform/graphics/win/FontCustomPlatformData.cpp:
754         (WebCore::EOTStream::EOTStream):
755         (WebCore::createFontCustomPlatformData):
756
757 2009-03-03  Gustavo Noronha Silva  <gns@gnome.org>
758
759         Reviewed by Alexey Proskuryakov.
760
761         https://bugs.webkit.org/show_bug.cgi?id=16826
762         [Gtk] Implement WebKitDownload
763
764         Make the Soup backend able to handle requests without a frame,
765         since we may have such things now that we support downloads.
766
767         * platform/network/ResourceHandleInternal.h:
768         * platform/network/soup/ResourceHandleSoup.cpp:
769         (WebCore::ResourceHandle::start):
770
771 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
772
773         Reviewed by Eric Seidel.
774
775         https://bugs.webkit.org/show_bug.cgi?id=24331
776         Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
777
778         * bindings/v8/custom/V8AttrCustom.cpp: Added.
779         * bindings/v8/custom/V8CustomBinding.cpp: Added.
780         * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
781         * bindings/v8/custom/V8ElementCustom.cpp: Added.
782         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
783         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
784
785 2009-03-03  Brady Eidson  <beidson@apple.com>
786
787         Reviewed by Darin Adler
788
789         <rdar://problem/6616664> - Quick looks of various file types is broken
790
791         In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
792         for non-HTTP loads when the underlying ResourceRequest changed.  Unfortunately it was a little
793         overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
794
795         Partially reverted behavior to always set the mainDocumentURL in situations when we would've
796         before that patch.
797
798         * loader/FrameLoader.cpp:
799         (WebCore::FrameLoader::addExtraFieldsToRequest):
800
801         * platform/network/ResourceRequestBase.cpp:
802         (WebCore::ResourceRequestBase::setMainDocumentURL):
803
804 2009-03-03  Chris Marrin  <cmarrin@apple.com>
805
806         Reviewed by Simon Fraser.
807
808         https://bugs.webkit.org/show_bug.cgi?id=24256
809
810         Added a WebCoreForceSoftwareAnimation flag.
811
812         * platform/graphics/mac/GraphicsLayerCA.mm:
813         (WebCore::forceSoftwareAnimation):
814         (WebCore::GraphicsLayerCA::setOpacity):
815         (WebCore::GraphicsLayerCA::animateTransform):
816         (WebCore::GraphicsLayerCA::animateFloat):
817
818 2009-03-02  Chris Marrin  <cmarrin@apple.com>
819
820         Reviewed by Sam Weinig.
821
822         https://bugs.webkit.org/show_bug.cgi?id=24257
823
824         Added prototype properties for several classes with constructors that
825         were missing them, including the one mentioned in the bug.
826
827         Test: fast/dom/Window/custom-constructors.html
828
829         * bindings/js/JSAudioConstructor.cpp:
830         (WebCore::JSAudioConstructor::JSAudioConstructor):
831         * bindings/js/JSDOMWindowBase.cpp:
832         (jsDOMWindowBaseWebKitCSSMatrix):
833         * bindings/js/JSImageConstructor.cpp:
834         (WebCore::JSImageConstructor::JSImageConstructor):
835         * bindings/js/JSOptionConstructor.cpp:
836         (WebCore::JSOptionConstructor::JSOptionConstructor):
837         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
838         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
839         * bindings/js/JSWebKitCSSMatrixConstructor.h:
840         * bindings/js/JSWebKitPointConstructor.cpp:
841         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
842         * bindings/js/JSWorkerConstructor.cpp:
843         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
844
845 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
846
847         Reviewed by Darin Fisher.
848
849         https://bugs.webkit.org/show_bug.cgi?id=24321
850         Add V8 bindings headers.
851
852         * bindings/v8/V8Binding.h: Added.
853         * bindings/v8/V8Proxy.h: Added.
854         * bindings/v8/custom/V8CustomBinding.h: Added.
855         * bindings/v8/custom/V8CustomEventListener.h: Added.
856
857 2009-03-03  Jungshik Shin <jshin@chromium.org>
858
859         Reviewed by Eric Seidel.
860
861         https://bugs.webkit.org/show_bug.cgi?id=23803
862         Fix an 'off-by-1' error in ChromiumWin's font fallback.
863
864         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
865         (WebCore::FontCache::getFontDataForCharacters):
866
867 2009-03-03  Jungshik Shin  <jshin@chromium.org>
868
869         Reviewed by Eric Seidel.
870
871         http://bugs.webkit.org/show_bug.cgi?id=23028
872         Enable dynamic web font support to Chromium on Windows: Part 1
873         - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
874           from platform/graphics/win because both Windows port and Chromium Windows
875           port will use them.
876         - Adjust WebCore.vcproj accordingly.
877
878         * WebCore.vcproj/WebCore.vcproj:
879         * platform/graphics/opentype: Added.
880         * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
881         * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
882         * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
883         * platform/graphics/win/OpenTypeUtilities.h: Removed.
884
885 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
886
887         Reviewed by Dave Hyatt
888
889         https://bugs.webkit.org/show_bug.cgi?id=24312
890         
891         Take 3D transforms into account when hit testing:
892         
893         1. Maintain a bit on each RenderLayer that is set when the layer
894            has 3d descendants, so that we know when to fall into the slow
895            hit testing path.
896            
897         2. Make a ref-counted HitTestingTransformState, which is used to store
898            an accumulated transform, and the hit test point, and hitTestRect
899            in the plane of the ancestor non-3d ('flattening') layer.
900            
901            It's ref-counted so we can heap allocate it (to avoid stack bloat),
902            and avoid copying when hitTestLayer calls itself after applying the transform.
903            
904         3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
905            3D transforms, or to do deep depth-testing when traversing a preserves-3d
906            hierarchy. When hit, layers compute a z-offset from the ancestor flattening
907            layer, which allows for correct depth testing.
908            
909            The existing early-return codepath is unaffected when there are no 3d transforms
910            and no preserve-3d.
911
912         * rendering/RenderLayer.cpp:
913         (WebCore::RenderLayer::RenderLayer):
914         (WebCore::RenderLayer::updateTransform):
915         (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
916         (WebCore::RenderLayer::update3DTransformedDescendantStatus):
917         (WebCore::RenderLayer::hitTest):
918         (WebCore::computeZOffset):
919         (WebCore::RenderLayer::createLocalTransformState):
920         (WebCore::RenderLayer::hitTestLayer):
921         (WebCore::RenderLayer::hitTestContents):
922         * rendering/RenderLayer.h:
923         (WebCore::RenderLayer::preserves3D):
924         (WebCore::RenderLayer::has3DTransform):
925         (WebCore::RenderLayer::setHas3DTransformedDescendant):
926         (WebCore::RenderLayer::has3DTransformedDescendant):
927         * rendering/RenderLayerBacking.cpp:
928         * rendering/TransformState.cpp:
929         (WebCore::TransformState::flatten):
930         (WebCore::TransformState::mappedPoint):
931         (WebCore::HitTestingTransformState::move):
932         (WebCore::HitTestingTransformState::applyTransform):
933         (WebCore::HitTestingTransformState::flatten):
934         (WebCore::HitTestingTransformState::mappedPoint):
935         (WebCore::HitTestingTransformState::mappedQuad):
936         * rendering/TransformState.h:
937         (WebCore::TransformState::TransformState):
938         (WebCore::HitTestingTransformState::create):
939         (WebCore::HitTestingTransformState::move):
940         (WebCore::HitTestingTransformState::HitTestingTransformState):
941
942 2009-03-03  Brett Wilson  <brettw@chromium.org>
943
944         Fix uninitialized memory reads in the Chromium Windows transparency
945         code that were identified by Purify,
946
947         Reviewed by Darin Fisher.
948
949         * platform/graphics/chromium/TransparencyWin.cpp:
950         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
951         (WebCore::TransparencyWin::initializeNewContext):
952
953 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
954
955         Reviewed by Dave Hyatt
956
957         https://bugs.webkit.org/show_bug.cgi?id=24312
958         
959         Factor the code that compute a transform relative to the container
960         into RenderObject::transformFromContainer().
961         
962         * rendering/RenderBox.cpp:
963         (WebCore::RenderBox::mapLocalToAbsolutePoint):
964         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
965         * rendering/RenderObject.cpp:
966         (WebCore::RenderObject::transformFromContainer):
967         * rendering/RenderObject.h:
968
969 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
970
971         Reviewed by Dave Hyatt
972
973         https://bugs.webkit.org/show_bug.cgi?id=24317
974         
975         Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
976         the superclass found a node, otherwise we set the innerNode of the
977         HitTestResult, but don't actually report that we found a hit.
978
979         * rendering/RenderTextControlMultiLine.cpp:
980         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
981
982 2009-03-03  Onne Gorter  <onne.gorter@avinity.net>
983
984         Reviewed by Anders Carlsson.
985
986         https://bugs.webkit.org/show_bug.cgi?id=23707
987         resizing plugins does not work, because the plugin never gets informed
988
989         Make gtk plugins resize correctly, by sending them the setwindow event
990         correctly. Also ensure that all plugin eventing is done with correct
991         locking/calling. Mostly copied from mac implementation.
992
993         manual test: manual-tests/gtk/plugin-resize-scroll.html
994
995         * plugins/PluginView.h:
996         * plugins/gtk/PluginViewGtk.cpp:
997         (WebCore::PluginView::dispatchNPEvent):
998         ensure locking/calling for NPEvents
999         (WebCore::PluginView::updatePluginWidget):
1000         if something changed, let setNPWindowIfNeeded handle it
1001         (WebCore::PluginView::paint):
1002         (WebCore::PluginView::handleKeyboardEvent):
1003         (WebCore::PluginView::handleMouseEvent):
1004         ensure calling conventions
1005         (WebCore::PluginView::setNPWindowRect):
1006         just pass control to setNPWindowIfNeeded
1007         (WebCore::PluginView::setNPWindowIfNeeded):
1008         event the plugin correctly of new window
1009         (WebCore::PluginView::init):
1010         init through the new setup
1011
1012 2009-03-03  Mike Belshe  <mike@belshe.com>
1013
1014         Reviewed by Darin Fisher.
1015
1016         https://bugs.webkit.org/show_bug.cgi?id=24311
1017         Make IDL returning DOMObject use [V8Custom]
1018
1019         * dom/Document.idl:
1020         * html/HTMLCanvasElement.idl:
1021
1022 2009-03-02  Simon Fraser  <simon.fraser@apple.com>
1023
1024         Reviewed by Adele Peterson
1025
1026         https://bugs.webkit.org/show_bug.cgi?id=24313
1027         
1028         If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
1029         HitTestResult, then it had better well return |true|. And m_innerBlock
1030         could never have been set as the hit node by the superclass, because
1031         the superclass knows nothing about m_innerBlock.
1032         
1033         Test: fast/forms/input-hit-test-border.html
1034
1035         * rendering/RenderTextControlSingleLine.cpp:
1036         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1037
1038 2009-03-02  Sam Weinig  <sam@webkit.org>
1039
1040         Reviewed by Mark Rowe.
1041
1042         Enable Geolocation (except on Tiger and Leopard).
1043
1044         * Configurations/WebCore.xcconfig:
1045
1046 2009-03-02  Ojan Vafai  <ojan@chromium.org>
1047
1048         Reviewed by Adele Peterson.
1049
1050         Fix https://bugs.webkit.org/show_bug.cgi?id=24307
1051         Null out m_highlightedNode on hideHighlight().
1052         Ran WebCore/manual-tests/inspector/highlight-nodes.html.
1053
1054         * inspector/InspectorController.cpp:
1055         (WebCore::InspectorController::hideHighlight):
1056
1057 2009-03-02  Sam Weinig  <sam@webkit.org>
1058
1059         Reviewed by Geoffrey Garen.
1060
1061         Fix for <rdar://problem/6507404> Add Geolocation support.
1062
1063         This is not yet turned on for any Mac platform.
1064
1065         * WebCore.xcodeproj/project.pbxproj:
1066         * page/Chrome.cpp:
1067         (WebCore::Chrome::shouldAllowGeolocationForFrame):
1068         * page/Chrome.h:
1069         * page/ChromeClient.h:
1070         (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
1071         * page/Geolocation.cpp:
1072         (WebCore::Geolocation::Geolocation):
1073         (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
1074         will not be alive at this point.
1075         (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
1076         return a PERMISSION_DENIED if not.
1077         (WebCore::Geolocation::watchPosition): Ditto.
1078         (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
1079         to allow geolocation and cache the result. 
1080         * page/Geolocation.h:
1081         (WebCore::Geolocation::):
1082         * platform/GeolocationService.cpp:
1083         * platform/GeolocationService.h:
1084         (WebCore::GeolocationService::~GeolocationService):
1085         (WebCore::GeolocationService::stopUpdating):
1086         * platform/mac/GeolocationServiceMac.h: Added.
1087         (WebCore::GeolocationServiceMac::lastPosition):
1088         (WebCore::GeolocationServiceMac::lastError):
1089         * platform/mac/GeolocationServiceMac.mm: Added.
1090         (WebCore::GeolocationService::create):
1091         (WebCore::GeolocationServiceMac::GeolocationServiceMac):
1092         (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
1093         (WebCore::GeolocationServiceMac::startUpdating):
1094         (WebCore::GeolocationServiceMac::stopUpdating):
1095         (WebCore::GeolocationServiceMac::suspend):
1096         (WebCore::GeolocationServiceMac::resume):
1097         (WebCore::GeolocationServiceMac::positionChanged):
1098         (WebCore::GeolocationServiceMac::errorOccurred):
1099         (-[WebCoreCoreLocationObserver initWithCallback:]):
1100         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
1101         (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
1102
1103 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1104
1105         Build fixes for wxWidgets Mac trunk build.
1106
1107         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1108         (wxFontProperties::wxFontProperties):
1109         (GetTextExtent):
1110         * webcore-wx.bkl:
1111
1112 2009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1113
1114         wxGTK missing header build fix.
1115
1116         * platform/wx/wxcode/gtk/fontprops.cpp:
1117
1118 2009-03-02  Dan Bernstein  <mitz@apple.com>
1119
1120         Reviewed by Adam Roben.
1121
1122         - fix https://bugs.webkit.org/show_bug.cgi?id=21811
1123           REGRESSION: Windows Build Not Selecting Proper Font
1124
1125         * platform/graphics/win/FontCacheWin.cpp:
1126         (WebCore::createGDIFont): Added back code to verify that the created
1127         HFONT has the requested face name.
1128
1129 2009-03-02  Timothy Hatcher  <timothy@apple.com>
1130
1131         Fixes a regression caused by splitting the input and output of console commands.
1132
1133         https://bugs.webkit.org/show_bug.cgi?id=24293
1134
1135         Reviewed by Kevin McCullough.
1136
1137         * inspector/front-end/Console.js:
1138         (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
1139         normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
1140
1141 2009-03-02  Timothy Hatcher  <timothy@apple.com>
1142
1143         Make exception messages and logged Error objects display consistently.
1144
1145         https://bugs.webkit.org/show_bug.cgi?id=18983
1146
1147         Reviewed by Adam Roben.
1148
1149         * English.lproj/localizedStrings.js: Remove a string for line numbers.
1150         * inspector/front-end/Console.js:
1151         (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
1152         boolean to the ConsoleCommandResult constructor and don't pass level.
1153         (WebInspector.Console.prototype._formatnode): Fix a className typo.
1154         (WebInspector.Console.prototype._formaterror): Add an error-message
1155         classed span around the message to show in red and remove the
1156         console-message-url class from the link so it doesn't float right.
1157         Instead enclose the link in parentheses and use displayNameForURL
1158         to shorten the URL in the link.
1159         (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
1160         how line numbers are shown since link underlining a string with
1161         parentheses looks bad.
1162         (WebInspector.ConsoleCommandResult): Take an exception boolean flag
1163         instead of a level and get line and URL based on that flag.
1164         * inspector/front-end/inspector.css: Tweaks to the styles.
1165
1166 2009-03-02  Ojan Vafai  <ojan@chromium.org>
1167
1168         Reviewed by Adele Peterson.
1169
1170         Bug 24048: extra windows button padding doesn't apply when there's no appearance
1171         <https://bugs.webkit.org/show_bug.cgi?id=24048>
1172
1173         Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
1174
1175         No tests added as existing tests already cover this behavior.
1176
1177         * rendering/RenderButton.cpp:
1178         (WebCore::RenderButton::setupInnerStyle):
1179         * rendering/RenderTheme.cpp:
1180         * rendering/RenderTheme.h:
1181         (WebCore::RenderTheme::buttonInternalPaddingLeft):
1182         (WebCore::RenderTheme::buttonInternalPaddingRight):
1183         (WebCore::RenderTheme::buttonInternalPaddingTop):
1184         * rendering/RenderThemeChromiumGtk.cpp:
1185         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
1186         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
1187         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
1188         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
1189         * rendering/RenderThemeChromiumGtk.h:
1190         * rendering/RenderThemeChromiumWin.cpp:
1191         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
1192         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
1193         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
1194         (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
1195         * rendering/RenderThemeChromiumWin.h:
1196         * rendering/RenderThemeWin.cpp:
1197         (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
1198         (WebCore::RenderThemeWin::buttonInternalPaddingRight):
1199         (WebCore::RenderThemeWin::buttonInternalPaddingTop):
1200         (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
1201         * rendering/RenderThemeWin.h:
1202
1203 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
1204
1205         Build fix for Qt port.  Remove unnecessary assert.
1206
1207         * platform/graphics/qt/ImageBufferQt.cpp:
1208         (WebCore::ImageBuffer::putImageData):
1209
1210 2009-03-02  Adam Treat  <adam.treat@torchmobile.com>
1211
1212         Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
1213
1214         https://bugs.webkit.org/show_bug.cgi?id=24227
1215         Ensure that the checkForSolidColor() optimization is correctly triggered
1216         for all cases of drawPattern.  Currently, the optimization was not triggered
1217         when the check had not been previously performed via a request for the
1218         image's NativeImagePtr.
1219
1220         Implement the Qt version of the checkForSolidColor() method.  Combined with
1221         the bug fix this reduces the time it takes to draw a repeating background
1222         of a 1x1 image from ~50msecs to ~0msecs on my machine.
1223
1224         * platform/graphics/BitmapImage.cpp:
1225         (WebCore::BitmapImage::BitmapImage):
1226         * platform/graphics/BitmapImage.h:
1227         (WebCore::BitmapImage::mayFillWithSolidColor):
1228         * platform/graphics/Image.h:
1229         (WebCore::Image::mayFillWithSolidColor):
1230         * platform/graphics/cairo/ImageCairo.cpp:
1231         (WebCore::BitmapImage::BitmapImage):
1232         (WebCore::BitmapImage::checkForSolidColor):
1233         * platform/graphics/cg/ImageCG.cpp:
1234         (WebCore::BitmapImage::BitmapImage):
1235         (WebCore::BitmapImage::checkForSolidColor):
1236         * platform/graphics/qt/ImageQt.cpp:
1237         (WebCore::BitmapImage::checkForSolidColor):
1238         * platform/graphics/skia/ImageSkia.cpp:
1239         (WebCore::BitmapImage::checkForSolidColor):
1240         * platform/graphics/wx/ImageWx.cpp:
1241         (WebCore::BitmapImage::checkForSolidColor):
1242
1243 2009-03-02  Gustavo Noronha Silva  <gns@gnome.org>
1244
1245         Unreviewed build fix; adding missing files to EXTRA_DIST, so that
1246         they show up in the tarball.
1247
1248         * GNUmakefile.am:
1249
1250 2009-03-02  Dirk Schulze  <krit@webkit.org>
1251
1252         Reviewed by Holger Freyther.
1253
1254         Added putImageData to Qt. Discussed with Ariya Hidayat.
1255
1256         [Qt] lacks putImageData support in Canvas
1257         https://bugs.webkit.org/show_bug.cgi?id=22186
1258
1259         * platform/graphics/qt/ImageBufferQt.cpp:
1260         (WebCore::ImageBuffer::putImageData):
1261
1262 2009-03-02  Timothy Hatcher  <timothy@apple.com>
1263
1264         Show exception messages again when evaluating bad expressions in the
1265         Web Inspector's console.
1266
1267         https://bugs.webkit.org/show_bug.cgi?id=19890
1268
1269         Reviewed by Oliver Hunt.
1270
1271         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1272         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
1273         Fix the order in which the exception is set and cleared now that the
1274         exception is stored in the shared GlobalData, not per ExecState.
1275
1276 2009-02-28  Timothy Hatcher  <timothy@apple.com>
1277
1278         Make input in the Web Inspector console print before any output
1279         that might be added by the called function.
1280
1281         https://bugs.webkit.org/show_bug.cgi?id=19931
1282
1283         Reviewed by Oliver Hunt.
1284
1285         * inspector/front-end/Console.js:
1286         (WebInspector.Console.prototype._enterKeyPressed): Add the command
1287         message before evaluating the result. Associate the originating
1288         command to the result, so if they are adjacent there is no divider.
1289         (WebInspector.ConsoleCommand): No longer take a result.
1290         (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
1291         code removed since it isn't used now.
1292         (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
1293         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
1294         Call the ConsoleMessage toMessageElement and add a style class.
1295         * inspector/front-end/inspector.css: Add a new style class for
1296         adjacent results to hide the divider. Also tweak the position of
1297         the disclosure triangle for objects to not use the left margin.
1298
1299 2009-03-01  Chris Fleizach  <cfleizach@apple.com>
1300
1301         Reviewed by Oliver Hunt.
1302
1303         Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
1304         <https://bugs.webkit.org/show_bug.cgi?id=24282>
1305
1306         When fetching an array of elements with a range, attachment views need to be returned
1307         instead of the actual attachment.
1308
1309         * page/mac/AccessibilityObjectWrapper.mm:
1310         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1311         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1312
1313 2009-03-01  Ojan Vafai  <ojan@chromium.org>
1314
1315         Reviewed by Eric Seidel.
1316
1317         Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
1318         <https://bugs.webkit.org/show_bug.cgi?id=24251>
1319         
1320         Make RenderObject::positionForCoordinate non-virtual and
1321         RenderObject::positionForPoint virtual in preparation for
1322         removing positionFor* from RenderObject/RenderText.
1323
1324         * page/Frame.cpp:
1325         (WebCore::Frame::visiblePositionForPoint):
1326         * rendering/RenderBR.cpp:
1327         (WebCore::RenderBR::positionForPoint):
1328         * rendering/RenderBR.h:
1329         * rendering/RenderBlock.cpp:
1330         (WebCore::RenderBlock::positionForPoint):
1331         * rendering/RenderBlock.h:
1332         * rendering/RenderBox.cpp:
1333         (WebCore::RenderBox::positionForPoint):
1334         * rendering/RenderBox.h:
1335         * rendering/RenderInline.cpp:
1336         (WebCore::RenderInline::positionForPoint):
1337         * rendering/RenderInline.h:
1338         * rendering/RenderObject.cpp:
1339         (WebCore::RenderObject::positionForCoordinates):
1340         (WebCore::RenderObject::positionForPoint):
1341         * rendering/RenderObject.h:
1342         * rendering/RenderReplaced.cpp:
1343         (WebCore::RenderReplaced::positionForPoint):
1344         * rendering/RenderReplaced.h:
1345         * rendering/RenderSVGInlineText.cpp:
1346         (WebCore::RenderSVGInlineText::positionForPoint):
1347         * rendering/RenderSVGInlineText.h:
1348         * rendering/RenderText.cpp:
1349         (WebCore::RenderText::positionForPoint):
1350         * rendering/RenderText.h:
1351
1352 2009-03-01  Larry Ewing  <lewing@novell.com>
1353
1354         Reviewed by Alexey Proskuryakov.
1355
1356         https://bugs.webkit.org/show_bug.cgi?id=24080
1357         NPN_GetValue casting to the wrong type and writing outside bounds
1358
1359         Make sure to cast the value to the correct type so that only
1360         memory owned by the value is written to.
1361
1362         * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): 
1363         * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
1364         * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): 
1365         (PluginView::getValue):
1366
1367 2009-03-01  Jeremy Moskovich  <jeremy@chromium.org>
1368
1369         Reviewed by Simon Fraser.
1370
1371         https://bugs.webkit.org/show_bug.cgi?id=24197 and
1372         https://bugs.webkit.org/show_bug.cgi?id=23512
1373
1374         The Windows version of cgColor() is conditionally compiled using
1375         !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
1376         can use the OS X version instead of the Windows version.
1377
1378         Also rename cgColor() -> createCGColor()
1379
1380         No observable change in behavior, so no test.
1381
1382         * platform/graphics/Color.h:
1383         * platform/graphics/cg/ColorCG.cpp:
1384         (WebCore::createCGColor):
1385         * platform/graphics/cg/GraphicsContextCG.cpp:
1386         (WebCore::GraphicsContext::setPlatformShadow):
1387         * platform/graphics/mac/ColorMac.mm:
1388         (WebCore::createCGColor):
1389         * platform/graphics/mac/GraphicsContextMac.mm:
1390         (WebCore::GraphicsContext::drawFocusRing):
1391         * platform/graphics/mac/GraphicsLayerCA.mm:
1392         (WebCore::setLayerBorderColor):
1393         (WebCore::setLayerBackgroundColor):
1394         (WebCore::GraphicsLayerCA::setBackgroundColor):
1395         * platform/graphics/win/GraphicsContextCGWin.cpp:
1396         (WebCore::GraphicsContext::drawFocusRing):
1397         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1398         (WebCore::ciColor):
1399
1400 2009-03-01  David Levin  <levin@chromium.org>
1401
1402         Reviewed by Alexey Proskuryakov.
1403
1404         Bug 24271: XMLHttpRequest needs js bindings for Workers.
1405         <https://bugs.webkit.org/show_bug.cgi?id=24271>
1406
1407         Tests: http/tests/xmlhttprequest/workers/methods-async.html
1408                http/tests/xmlhttprequest/workers/methods.html
1409
1410         * bindings/js/JSWorkerContextBase.cpp:
1411         (WebCore::JSWorkerContextBase::getOwnPropertySlot):
1412         (jsWorkerContextBaseXMLHttpRequest):
1413         (setJSWorkerContextBaseXMLHttpRequest):
1414         Expose XMLHttpRequest to Workers.
1415
1416         * bindings/js/JSWorkerContextBase.h:
1417
1418         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1419         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1420         (WebCore::constructXMLHttpRequest):
1421         (WebCore::JSXMLHttpRequestConstructor::mark):
1422         Removed the dependencies on Document.
1423
1424         * bindings/js/JSXMLHttpRequestConstructor.h:
1425         (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
1426         * dom/EventException.idl:
1427         * dom/EventListener.idl:
1428         Change to have the NoStaticTables attribute since they are used from XHR.
1429
1430         * loader/WorkerThreadableLoader.cpp:
1431         (WebCore::workerContextDidFinishLoading):
1432         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1433         Fixed identifier to be unsigned long.
1434
1435         * loader/WorkerThreadableLoader.h:
1436         * workers/WorkerThread.cpp:
1437         (WebCore::WorkerThread::workerThread):
1438         Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
1439
1440         * xml/XMLHttpRequestUpload.cpp:
1441
1442         * xml/XMLHttpRequest.idl:
1443         * xml/XMLHttpRequestException.idl:
1444         * xml/XMLHttpRequestProgressEvent.idl:
1445         * xml/XMLHttpRequestUpload.idl:
1446         Change to have the NoStaticTables attribute since they are used from XHR.
1447
1448 2009-03-01  Horia Olaru  <olaru@adobe.com>
1449
1450         Adding manual debugger test cases for bug.
1451
1452         https://bugs.webkit.org/show_bug.cgi?id=21073
1453
1454         Reviewed by Kevin McCullough.
1455
1456         * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
1457         * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
1458         * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
1459         * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
1460         * manual-tests/inspector/resources/loop-statements.js: Added.
1461
1462 2009-03-01  Dan Bernstein  <mitz@apple.com>
1463
1464         Reviewed by Darin Adler.
1465
1466         - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
1467
1468         Test: fast/events/scroll-during-zoom-change.html
1469
1470         * dom/Document.cpp:
1471         (WebCore::Document::recalcStyle): Pause scheduled events during style
1472         reclaculation. Changes to the zoom property result in scroll events
1473         being generated during style recalc, and those events need to be
1474         deferred until the render tree is consistent.
1475         * page/FrameView.cpp:
1476         (WebCore::FrameView::layout): Changed to account for a case in which the
1477         post-layout tasks trigger a nested layout, which reactivates the
1478         post-layout task timer.
1479
1480 2009-03-01  Ross Boucher  <rboucher@gmail.com>
1481
1482         Alphabetically sort scripts in the Script's panel file popup menu.
1483
1484         https://bugs.webkit.org/show_bug.cgi?id=23395
1485
1486         Reviewed by Timothy Hatcher.
1487
1488         * inspector/front-end/ScriptsPanel.js:
1489         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1490         * inspector/front-end/utilities.js:
1491         (insertionIndexForObjectInListSortedByFunction):
1492         (indexOfObjectInListSortedByFunction):
1493
1494 2009-03-01  Yael Aharon  <yael.aharon@nokia.com>
1495
1496         Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
1497         when creating databases, localStorage or sessionStorage. Changing document.domain
1498         should have no affect on databases, localStorage and sessionStorage in Web Inspector.
1499
1500         https://bugs.webkit.org/show_bug.cgi?id=23844
1501
1502         Reviewed by Timothy Hatcher.
1503
1504         * inspector/InspectorController.cpp:
1505         (WebCore::InspectorController::addDOMStorageScriptResource):
1506         (WebCore::InspectorController::didUseDOMStorage):
1507         * storage/Database.cpp:
1508         (WebCore::Database::openDatabase):
1509
1510 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
1511
1512         Reviewed by Holger Freyther.
1513
1514         Avoid leaking errors when reporting GIO errors.
1515
1516         * platform/network/soup/ResourceHandleSoup.cpp:
1517         (WebCore::readCallback):
1518         (WebCore::openCallback):
1519         (WebCore::queryInfoCallback):
1520
1521 2009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
1522
1523         Reviewed by Holger Freyther.
1524
1525         Fixes crash when the GIO backend is given the URI for a directory.
1526
1527         * platform/network/soup/ResourceHandleSoup.cpp:
1528         (WebCore::networkErrorForFile):
1529
1530 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
1531
1532         Reviewed by Darin Fisher.
1533
1534         https://bugs.webkit.org/show_bug.cgi?id=24261
1535         Fix V8 custom binding scrubbing error.
1536
1537         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
1538         Test: traversal/exception-forwarding.html
1539         TesT: traversal/stay-within-root.html
1540
1541         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1542         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1543         (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
1544         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1545         (WebCore::toV8): Ditto.
1546
1547 2009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
1548
1549         Reviewed by Darin Fisher.
1550
1551         https://bugs.webkit.org/show_bug.cgi?id=24261
1552         Fix V8 custom binding scrubbing error.
1553
1554         Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
1555
1556         * WebCore.xcodeproj/project.pbxproj:
1557         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1558         (WebCore::cssPropertyName):  Remove dubious checks, left over from
1559             incomplete conversion of parameter from pointer to pass-by-ref.
1560         (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
1561         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1562
1563 2009-02-28  Xan Lopez  <xan@gnome.org>
1564
1565         Reviewed by Holger Freyther.
1566
1567         https://bugs.webkit.org/show_bug.cgi?id=24263
1568         [GTK] ref ResourceHandle until we are finished with it
1569
1570         Add a ref to the ResourceHandle in startHttp so we can keep it
1571         alive untill all callbacks have been executed, and unref it when
1572         soup tells us it's done with the SoupMessage (in
1573         finishedCallback). Fixes a number of crashes when calling
1574         didReceiveData whould crash because of the handle dying.
1575
1576         * platform/network/soup/ResourceHandleSoup.cpp:
1577         (WebCore::finishedCallback):
1578         (WebCore::ResourceHandle::startHttp):
1579
1580 2009-02-28  Adam Bergkvist <adam.bergkvist@ericsson.com>
1581
1582         Reviewed by Alexey Proskuryakov.
1583
1584         https://bugs.webkit.org/show_bug.cgi?id=24226
1585         [SOUP] HTTP status text is never set
1586
1587         Set HTTP status text to SoupMessage reason_phrase.
1588
1589         * platform/network/soup/ResourceHandleSoup.cpp:
1590         (WebCore::fillResponseFromMessage):
1591
1592 2009-02-28  Dan Bernstein  <mitz@apple.com>
1593
1594         - fix malformed project file
1595
1596         * WebCore.xcodeproj/project.pbxproj:
1597
1598 2009-02-28  Dan Bernstein  <mitz@apple.com>
1599
1600         Reviewed by Oliver Hunt.
1601
1602         - fix https://bugs.webkit.org/show_bug.cgi?id=23848
1603           <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
1604
1605         Test: fast/layers/inline-dirty-z-order-lists.html
1606
1607         * rendering/RenderBox.cpp:
1608         (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
1609         layer's and its stacking context's z-order lists when the layer's
1610         z-index or visibility change from here...
1611         * rendering/RenderBoxModelObject.cpp:
1612         (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
1613         it will apply to RenderInline too.
1614
1615 2009-02-27  Alexey Proskuryakov  <ap@webkit.org>
1616
1617         Reviewed by David Hyatt.
1618
1619         Don't include TextResourceDecoder.h in Document.h
1620
1621         This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
1622         when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
1623
1624         * dom/Document.cpp:
1625         (WebCore::Document::displayStringModifiedByEncoding):
1626         (WebCore::Document::displayBufferModifiedByEncoding):
1627         * dom/Document.h:
1628         * WebCore.base.exp:
1629
1630 2009-02-27  Matt Pennig  <pennig@apple.com>
1631
1632         Reviewed by David Hyatt.
1633
1634         Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
1635         "Fixed elements have 0 as an offsetLeft property"
1636         
1637         Code also brings offsetLeft/Top in full conformance with the spec.
1638         Added two tests, one for fixed-position elements, and one for <html>.
1639         
1640         Tests: fast/dom/Element/fixed-position-offset-parent.html
1641                fast/dom/Element/offsetLeft-offsetTop-html.html
1642
1643         * rendering/RenderBoxModelObject.cpp:
1644         (WebCore::RenderBoxModelObject::offsetLeft):
1645         (WebCore::RenderBoxModelObject::offsetTop):
1646
1647 2009-02-27  Dean Jackson  <dino@apple.com>
1648
1649         Reviewed by Simon Fraser.
1650
1651         renderer()->hasTransform() returns true for elements
1652         with perspective, but no transform, so test for transform
1653         when hit testing. This fixes ASSERT from
1654         https://bugs.webkit.org/show_bug.cgi?id=24252
1655
1656         Test: transforms/no_transform_hit_testing.html
1657
1658         * rendering/RenderLayer.cpp:
1659         (WebCore::RenderLayer::hitTestLayer):
1660
1661 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
1662
1663         Reviewed by Darin Fisher.
1664
1665         Fix scrubbing error -- a reversed condition.
1666
1667         * bindings/v8/ScriptValue.h:
1668         (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
1669
1670 2009-02-27  Jian Li  <jianli@chromium.org>
1671
1672         Reviewed by Alexey Proskuryakov.
1673
1674         Add confirmMessageFromWorkerObject to WorkerObjectProxy.
1675         https://bugs.webkit.org/show_bug.cgi?id=24152
1676
1677         * workers/WorkerMessagingProxy.cpp:
1678         (WebCore::MessageWorkerContextTask::performTask):
1679         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1680         * workers/WorkerMessagingProxy.h:
1681         * workers/WorkerObjectProxy.h:
1682
1683 2009-02-27  Anders Carlsson  <andersca@apple.com>
1684
1685         Reviewed by David Hyatt.
1686
1687         Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 
1688         because it leads to assertion failures in the Mac port.
1689         
1690         * platform/graphics/BitmapImage.cpp:
1691         (WebCore::BitmapImage::BitmapImage):
1692         * platform/graphics/BitmapImage.h:
1693         (WebCore::BitmapImage::mayFillWithSolidColor):
1694         * platform/graphics/Image.h:
1695         (WebCore::Image::mayFillWithSolidColor):
1696         * platform/graphics/cairo/ImageCairo.cpp:
1697         (WebCore::BitmapImage::BitmapImage):
1698         * platform/graphics/cg/ImageCG.cpp:
1699         (WebCore::BitmapImage::BitmapImage):
1700         (WebCore::BitmapImage::checkForSolidColor):
1701         * platform/graphics/qt/ImageQt.cpp:
1702         (WebCore::BitmapImage::checkForSolidColor):
1703         * platform/graphics/skia/ImageSkia.cpp:
1704         (WebCore::BitmapImage::checkForSolidColor):
1705         * platform/graphics/wx/ImageWx.cpp:
1706         (WebCore::BitmapImage::checkForSolidColor):
1707
1708 2009-02-27  Adam Barth  <abarth@webkit.org>
1709
1710         Reviewed by Eric Seidel.
1711
1712         https://bugs.webkit.org/show_bug.cgi?id=20249
1713
1714         Add a preference to allow universal access from local URLs to mitigate
1715         some attacks.  Some clients still want to allow this access, so we
1716         expose this as a preference.
1717
1718         * WebCore.base.exp:
1719         * dom/Document.cpp:
1720         (WebCore::Document::initSecurityContext):
1721         * page/SecurityOrigin.cpp:
1722         (WebCore::SecurityOrigin::SecurityOrigin):
1723         * page/Settings.cpp:
1724         (WebCore::Settings::Settings):
1725         (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
1726         * page/Settings.h:
1727         (WebCore::Settings::allowUniversalAccessFromFileUrls):
1728
1729 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
1730
1731         Reviewed by Eric Seidel.
1732
1733         https://bugs.webkit.org/show_bug.cgi?id=24229
1734         If an image has no alpha channel there is no reason to use SourceOver.
1735
1736         * platform/graphics/qt/ImageQt.cpp:
1737         (WebCore::Image::drawPattern):
1738         (WebCore::BitmapImage::draw):
1739
1740 2009-02-27  Adam Treat  <adam.treat@torchmobile.com>
1741
1742         Reviewed by Eric Seidel and Simon Fraser.
1743
1744         https://bugs.webkit.org/show_bug.cgi?id=24227
1745         Ensure that the checkForSolidColor() optimization is correctly triggered
1746         for all cases of drawPattern.  Currently, the optimization was not triggered
1747         when the check had not been previously performed via a request for the
1748         image's NativeImagePtr.
1749
1750         Implement the Qt version of the checkForSolidColor() method.  Combined with
1751         the bug fix this reduces the time it takes to draw a repeating background
1752         of a 1x1 image from ~50msecs to ~0msecs on my machine.
1753
1754         * platform/graphics/BitmapImage.cpp:
1755         (WebCore::BitmapImage::BitmapImage):
1756         * platform/graphics/BitmapImage.h:
1757         (WebCore::BitmapImage::mayFillWithSolidColor):
1758         * platform/graphics/Image.h:
1759         (WebCore::Image::mayFillWithSolidColor):
1760         * platform/graphics/cairo/ImageCairo.cpp:
1761         (WebCore::BitmapImage::BitmapImage):
1762         * platform/graphics/cg/ImageCG.cpp:
1763         (WebCore::BitmapImage::BitmapImage):
1764         (WebCore::BitmapImage::checkForSolidColor):
1765         * platform/graphics/qt/ImageQt.cpp:
1766         (WebCore::BitmapImage::checkForSolidColor):
1767         * platform/graphics/skia/ImageSkia.cpp:
1768         (WebCore::BitmapImage::checkForSolidColor):
1769         * platform/graphics/wx/ImageWx.cpp:
1770         (WebCore::BitmapImage::checkForSolidColor):
1771
1772 2009-02-27  Dirk Schulze  <krit@webkit.org>
1773
1774         Reviewed by Zack Rusin.
1775
1776         Added support for gradients and pattern on Fonts for Qt.
1777
1778         [Qt] gradients and patterns for FontQt
1779         https://bugs.webkit.org/show_bug.cgi?id=24243
1780
1781         * platform/graphics/qt/FontQt.cpp:
1782         (WebCore::Font::drawComplexText):
1783
1784 2009-02-27  Jian Li  <jianli@chromium.org>
1785
1786         Reviewed by Alexey Proskuryakov.
1787
1788         WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
1789         https://bugs.webkit.org/show_bug.cgi?id=24113
1790
1791         * workers/WorkerMessagingProxy.cpp:
1792
1793 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
1794
1795         Added a refresh button to storage views.
1796
1797         https://bugs.webkit.org/show_bug.cgi?id=24040
1798
1799         Reviewed by Timothy Hatcher.
1800
1801         * inspector/front-end/DOMStorageItemsView.js:
1802         (WebInspector.DOMStorageItemsView):
1803         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
1804         (WebInspector.DOMStorageItemsView.prototype.update):
1805         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1806         * inspector/front-end/DatabaseTableView.js:
1807         (WebInspector.DatabaseTableView):
1808         (WebInspector.DatabaseTableView.prototype.get statusBarItems):
1809         (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
1810         * inspector/front-end/DatabasesPanel.js:
1811         (WebInspector.DatabasesPanel):
1812         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
1813         (WebInspector.DatabasesPanel.prototype.reset):
1814         (WebInspector.DatabasesPanel.prototype.showDatabase):
1815         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
1816         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
1817         * inspector/front-end/inspector.css:
1818
1819 2009-02-27  Yael Aharon  <yael.aharon@nokia.com>
1820
1821         Added support for editing/deleting localStorage and sessionStorage items
1822         directly from Web Inspector.
1823
1824         https://bugs.webkit.org/show_bug.cgi?id=23866.
1825
1826         Reviewed by Timothy Hatcher.
1827
1828         * WebCore.vcproj/WebCore.vcproj:
1829         * inspector/front-end/DOMStorageDataGrid.js: Added.
1830         (WebInspector.DOMStorageDataGrid):
1831         (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
1832         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
1833         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
1834         (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
1835         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
1836         * inspector/front-end/DOMStorageItemsView.js:
1837         (WebInspector.DOMStorageItemsView):
1838         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
1839         (WebInspector.DOMStorageItemsView.prototype.hide):
1840         (WebInspector.DOMStorageItemsView.prototype.update):
1841         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1842         * inspector/front-end/DatabasesPanel.js:
1843         (WebInspector.DatabasesPanel):
1844         (WebInspector.DatabasesPanel.prototype.get statusBarItems):
1845         (WebInspector.DatabasesPanel.prototype.reset):
1846         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
1847         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
1848         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
1849         * inspector/front-end/WebKit.qrc:
1850         * inspector/front-end/inspector.css:
1851         * inspector/front-end/inspector.html:
1852
1853 2009-02-26  Brett Wilson  <brettw@chromium.org>
1854
1855         Fix Windows transparency for the Chromium port. Implement a helper
1856         class for handling transparency on Windows. It allows semitransparent
1857         ClearType and semitransparent form controls by making new layers in the
1858         background.
1859
1860         It also replaces the "ThemeHelper" which allows better
1861         scaling and transforms on Windows form controls. In addition to the
1862         functionality that the ThemeHelper did, but additionally handles the
1863         antialiasing properly so that the form controls aren't composited on a
1864         white square.
1865
1866         https://bugs.webkit.org/show_bug.cgi?id=24101
1867
1868         Reviewed by Eric Seidel.
1869
1870         * platform/graphics/chromium/FontChromiumWin.cpp:
1871         (WebCore::):
1872         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
1873         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1874         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1875         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
1876         (WebCore::Font::drawGlyphs):
1877         * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
1878         * platform/graphics/chromium/ThemeHelperChromiumWin.h:
1879         * platform/graphics/chromium/TransparencyWin.cpp: Added.
1880         (WebCore::):
1881         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
1882         (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
1883         (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
1884         (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
1885         (WebCore::TransparencyWin::TransparencyWin):
1886         (WebCore::TransparencyWin::~TransparencyWin):
1887         (WebCore::TransparencyWin::init):
1888         (WebCore::TransparencyWin::computeLayerSize):
1889         (WebCore::TransparencyWin::setupLayer):
1890         (WebCore::TransparencyWin::setupLayerForNoLayer):
1891         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
1892         (WebCore::TransparencyWin::setupLayerForTextComposite):
1893         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
1894         (WebCore::TransparencyWin::setupTransform):
1895         (WebCore::TransparencyWin::setupTransformForKeepTransform):
1896         (WebCore::TransparencyWin::setupTransformForUntransform):
1897         (WebCore::TransparencyWin::setupTransformForScaleTransform):
1898         (WebCore::TransparencyWin::setTextCompositeColor):
1899         (WebCore::TransparencyWin::initializeNewContext):
1900         (WebCore::TransparencyWin::compositeOpaqueComposite):
1901         (WebCore::TransparencyWin::compositeTextComposite):
1902         (WebCore::TransparencyWin::makeLayerOpaque):
1903         * platform/graphics/chromium/TransparencyWin.h: Added.
1904         (WebCore::TransparencyWin::):
1905         (WebCore::TransparencyWin::context):
1906         (WebCore::TransparencyWin::platformContext):
1907         (WebCore::TransparencyWin::drawRect):
1908         * platform/graphics/skia/GraphicsContextSkia.cpp:
1909         (WebCore::GraphicsContext::endTransparencyLayer):
1910         * platform/graphics/skia/ImageSkia.cpp:
1911         (WebCore::paintSkBitmap):
1912         * rendering/RenderThemeChromiumWin.cpp:
1913         (WebCore::):
1914         (WebCore::RenderThemeChromiumWin::paintButton):
1915         (WebCore::RenderThemeChromiumWin::paintMenuList):
1916         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1917
1918 2009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
1919
1920         Reviewed by Eric Seidel.
1921
1922         https://bugs.webkit.org/show_bug.cgi?id=24211
1923         Add ScheduledAction for V8.
1924
1925         * bindings/v8/ScheduledAction.cpp: Added.
1926         (WebCore::ScheduledAction::ScheduledAction):
1927         (WebCore::ScheduledAction::~ScheduledAction):
1928         (WebCore::ScheduledAction::execute):
1929         * bindings/v8/ScheduledAction.h: Added.
1930         (WebCore::ScheduledAction::ScheduledAction):
1931
1932 2009-02-27  Zack Rusin  <zack@kde.org>
1933
1934         Reviewed by Nikolas Zimmermann.
1935
1936         Qt: be more reasonable about scrolled lines
1937
1938         cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
1939         match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
1940         irritating. so lets scroll vertically by the Qt set number of lines * Qt default
1941         single step scroll
1942
1943         * platform/qt/WheelEventQt.cpp:
1944
1945 2009-02-27  Xan Lopez  <xan@gnome.org>
1946
1947         Rubber-stamped by Alexey Proskuryakov.
1948
1949         https://bugs.webkit.org/show_bug.cgi?id=24222
1950         [GTK] Remove checks for old glib versions
1951
1952         libsoup, which is a hard dependency, needs at least glib 2.15.3,
1953         so remove all glib checks for versions older than that.
1954
1955         * platform/gtk/ContextMenuGtk.cpp:
1956         (WebCore::ContextMenu::ContextMenu):
1957         * platform/gtk/ContextMenuItemGtk.cpp:
1958         (WebCore::ContextMenuItem::setSubMenu):
1959         * platform/gtk/PopupMenuGtk.cpp:
1960         (WebCore::PopupMenu::show):
1961         * platform/gtk/WidgetGtk.cpp:
1962         (WebCore::Widget::retainPlatformWidget):
1963         * platform/network/soup/ResourceHandleSoup.cpp:
1964
1965 2009-02-26  Dirk Schulze  <krit@webkit.org>
1966
1967         Reviewed by Oliver Hunt.
1968
1969         Added support for Gradients and Patterns on filled or stroked Fonts
1970         in Cairo. I also added support for globalAlpha on FontCairo.
1971
1972         [CAIRO] SVG/Canvas fonts miss gradients/pattern support
1973         https://bugs.webkit.org/show_bug.cgi?id=18617
1974
1975         * html/CanvasRenderingContext2D.cpp:
1976         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1977         * platform/graphics/cairo/FontCairo.cpp:
1978         (WebCore::Font::drawGlyphs):
1979
1980 2009-02-26  Stephen White  <senorblanco@chromium.org>
1981
1982         Reviewed by Eric Seidel.
1983
1984         https://bugs.webkit.org/show_bug.cgi?id=23957
1985
1986         Fix for SVG gradient and pattern text for Chromium/skia. 
1987         Added accessors for the fill and stroke gradients to
1988         GraphicsContext.  Changed the paintSkiaText function to take a
1989         GraphicsContext, so we can check for gradients/patterns. 
1990         Changed the skiaDrawText function to set the SkPaint shader
1991         correctly, and to scale up the gradient shader matrix to
1992         encompass the entire text string.  Also offset each glyph
1993         separately, rather than transforming the canvas, so that the
1994         gradient/pattern stays fixed relative to the text origin.
1995
1996         * platform/graphics/GraphicsContext.cpp:
1997         (WebCore::GraphicsContext::getFillGradient):
1998         (WebCore::GraphicsContext::getStrokeGradient):
1999         (WebCore::GraphicsContext::getFillPattern):
2000         (WebCore::GraphicsContext::getStrokePattern):
2001         * platform/graphics/GraphicsContext.h:
2002         * platform/graphics/chromium/FontChromiumWin.cpp:
2003         (WebCore::Font::drawGlyphs):
2004         * platform/graphics/chromium/UniscribeHelper.cpp:
2005         (WebCore::UniscribeHelper::draw):
2006         * platform/graphics/skia/SkiaFontWin.cpp:
2007         (WebCore::windowsCanHandleTextDrawing):
2008         (WebCore::skiaDrawText):
2009         (WebCore::paintSkiaText):
2010         * platform/graphics/skia/SkiaFontWin.h:
2011
2012 2009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
2013
2014         Reviewed by Eric Seidel.
2015
2016         https://bugs.webkit.org/show_bug.cgi?id=24208
2017         Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
2018
2019         * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
2020         (WebCore::ACCESSOR_GETTER):
2021         (WebCore::CALLBACK_FUNC_DECL):
2022         * bindings/v8/custom/V8DocumentCustom.cpp: Added.
2023         (WebCore::CALLBACK_FUNC_DECL):
2024         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2025         (WebCore::ACCESSOR_GETTER):
2026         * bindings/v8/custom/V8NodeCustom.cpp: Added.
2027         (WebCore::CALLBACK_FUNC_DECL):
2028
2029 2009-02-26  Gustavo Noronha Silva  <gns@gnome.org>
2030
2031         Unreviewed build fix for building with GNOME Keyring enabled.
2032
2033         * platform/network/soup/webkit-soup-auth-dialog.c:
2034         (show_auth_dialog):
2035
2036 2009-02-26  Xan Lopez  <xan@gnome.org>
2037
2038         Reviewed by Holger Freyther.
2039
2040         https://bugs.webkit.org/show_bug.cgi?id=16947
2041         [GTK] Missing HTTP Auth challenge
2042
2043         Add HTTP authentication dialog with optional GNOME Keyring
2044         storage.
2045
2046         * GNUmakefile.am:
2047         * platform/network/ResourceHandleInternal.h:
2048         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2049         * platform/network/soup/ResourceHandleSoup.cpp:
2050         (WebCore::currentToplevelCallback):
2051         (WebCore::ResourceHandle::startHttp):
2052         (WebCore::ResourceHandle::start):
2053         * platform/network/soup/webkit-soup-auth-dialog.c: Added.
2054         (webkit_soup_auth_dialog_class_init):
2055         (webkit_soup_auth_dialog_init):
2056         (webkit_soup_auth_dialog_session_feature_init):
2057         (free_authData):
2058         (set_password_callback):
2059         (response_callback):
2060         (show_auth_dialog):
2061         (find_password_callback):
2062         (session_authenticate):
2063         (attach):
2064         * platform/network/soup/webkit-soup-auth-dialog.h: Added.
2065
2066 2009-02-25  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
2067
2068         Reviewed by Dave Hyatt.
2069
2070         After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
2071         svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
2072         started failing because Ojan's new code was now *correctly* calling through to
2073         SVG asking for the closest text offset in the last line box, instead of
2074         just returning the offset at the end of the last line box when clicking below a box.
2075
2076         But!  The SVG code was wrong, in that it returned the character offset of the last
2077         character when you asked for a character offset after the end of the box, instead
2078         it should return the offset *after* the last character.  This patch fixes
2079         that behavior by reordering the last two clauses in svgCharacterHitsPosition.
2080
2081         The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
2082         to document what's wrong.  I've also cleaned up the code a bit so it's clearer
2083         what it is doing (which also makes more obvious what's wrong with it).
2084
2085         * rendering/RenderSVGInlineText.cpp:
2086         (WebCore::RenderSVGInlineText::positionForCoordinates):
2087         * rendering/SVGInlineTextBox.cpp:
2088         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
2089         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2090         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
2091         (WebCore::SVGInlineTextBox::closestCharacterToPosition):
2092         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
2093
2094 2009-02-26  Darin Fisher  <darin@chromium.org>
2095
2096         Reviewed by Eric Seidel.
2097
2098         Minor cleanup of ChromiumBridge:
2099         Removing unused matchesMIMEType method and s/Javascript/JavaScript/
2100
2101         * platform/chromium/ChromiumBridge.h:
2102         * platform/chromium/MimeTypeRegistryChromium.cpp:
2103         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2104         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2105         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2106
2107 2009-02-26  David Hyatt  <hyatt@apple.com>
2108
2109         Reviewed by Sam Weinig
2110
2111         Fix text-bottom vertical alignment.  It was incorrectly aligning the bottom of the descent instead of including
2112         the line-height below the descent.
2113
2114         Added fast/inline/vertical-align-text-bottom.html
2115
2116         * rendering/RenderBoxModelObject.cpp:
2117         (WebCore::RenderBoxModelObject::verticalPosition):
2118
2119 2009-02-26  Dirk Schulze  <krit@webkit.org>
2120
2121         Reviewed by Eric Seidel.
2122
2123         Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
2124         ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
2125         just to implement this three methods to support SVG Masking now.
2126  
2127         Make SVG Masking platform aware
2128         https://bugs.webkit.org/show_bug.cgi?id=19243
2129
2130         * GNUmakefile.am:
2131         * WebCore.pro:
2132         * WebCore.vcproj/WebCore.vcproj:
2133         * WebCore.xcodeproj/project.pbxproj:
2134         * svg/graphics/SVGResourceMasker.cpp:
2135         (WebCore::SVGResourceMasker::applyMask):
2136         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
2137         * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
2138         * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
2139         * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
2140         * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
2141
2142 2009-02-26  Yong Li  <yong.li@torchmobile.com>
2143
2144         Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
2145
2146         Test: http/tests/misc/slow-preload-cancel.html
2147
2148         https://bugs.webkit.org/show_bug.cgi?id=24133
2149         Clear all pending preloads in the DocLoader object when we decide to
2150         cancel its all requests.
2151
2152         * loader/DocLoader.cpp:
2153         (WebCore::DocLoader::clearPendingPreloads):
2154         * loader/DocLoader.h:
2155         * loader/loader.cpp:
2156         (WebCore::Loader::cancelRequests):
2157
2158 2009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
2159
2160         Reviewed by Eric Seidel.
2161
2162         https://bugs.webkit.org/show_bug.cgi?id=24182
2163         Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
2164
2165         * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
2166         (WebCore::CALLBACK_FUNC_DECL):
2167         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
2168         (WebCore::toV8):
2169         (WebCore::CALLBACK_FUNC_DECL):
2170         * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
2171         (WebCore::toV8):
2172         (WebCore::CALLBACK_FUNC_DECL):
2173
2174 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
2175
2176         Reviewed by Darin Adler.
2177
2178         https://bugs.webkit.org/show_bug.cgi?id=23500
2179         KURL::parse() incorrectly compares its result to original string
2180
2181         * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
2182
2183 2009-02-26  Ojan Vafai  <ojan@chromium.org>
2184
2185         Reviewed by Kevin McCullough.
2186
2187         Manual test for inspector node highlighting.
2188
2189         * manual-tests/inspector/highlight-nodes.html: Added.
2190
2191 2009-02-16  Anantanarayanan Iyengar  <ananta@chromium.org>
2192
2193         Reviewed by Darin Fisher.
2194
2195         https://bugs.webkit.org/show_bug.cgi?id=23973
2196         ScrollView::scrollContents can be invoked during view shutdown.  In
2197         this scenario the FrameView::hostWindow method can return NULL, which
2198         indicates that the frame/page is being destroyed. This causes a crash
2199         when we try to dereference a NULL hostWindow pointer.  Fix is to add a
2200         NULL check for this.  
2201
2202         * platform/ScrollView.cpp:
2203         (WebCore::ScrollView::scrollContents):
2204
2205 2009-02-26  Rahul Kuchhal  <kuchhal@chromium.org>
2206
2207         Reviewed by Dave Hyatt.
2208
2209         https://bugs.webkit.org/show_bug.cgi?id=24003
2210         Fix a crash caused by unsafe type conversion.
2211
2212         Test: fast/block/positioning/absolute-in-inline-rtl-4.html
2213
2214         * rendering/RenderBox.cpp:
2215         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2216
2217 2009-02-26  Ojan Vafai  <ojan@chromium.org>
2218
2219         Reviewed by Adam Roben.
2220
2221         https://bugs.webkit.org/show_bug.cgi?id=24202
2222         Have drawNodeHighlight clip instead of clearing. This makes it work for
2223         both Safari and Chromium since Chromium draws the inspector highlighting
2224         in the same buffer as the page.
2225
2226         * inspector/InspectorController.cpp:
2227         (WebCore::quadToPath):
2228         (WebCore::drawOutlinedQuad):
2229         (WebCore::drawOutlinedQuadWithClip):
2230         (WebCore::drawHighlightForBox):
2231
2232 2009-02-26  David Hyatt  <hyatt@apple.com>
2233
2234         Reviewed by Dan Bernstein & Darin Adler
2235
2236         Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
2237         
2238         Added fast/inline/inline-continuation-borders.html
2239
2240         * rendering/InlineFlowBox.cpp:
2241         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2242
2243 2009-02-26  Simon Fraser  <simon.fraser@apple.com>
2244
2245         Build fix, no review.
2246         
2247         Try to fix the wx build after r41218.
2248
2249         * WebCoreSources.bkl:
2250
2251 2009-02-26  Alexey Proskuryakov  <ap@webkit.org>
2252
2253         Reviewed by Darin Adler.
2254
2255         https://bugs.webkit.org/show_bug.cgi?id=19527
2256         ASSERTION FAILED: containerA && containerB
2257
2258         Test: fast/dom/Range/bug-19527.html
2259
2260         * dom/Range.cpp:
2261         (WebCore::Range::isPointInRange):
2262         (WebCore::Range::comparePoint):
2263         Bring the behavior in line with current Firefox, making it impossible for these methods
2264         to pass a null container to compareBoundaryPoints().
2265
2266 2009-02-26  Jonathon Jongsma  <jonathon@quotidian.org>
2267
2268         Reviewed by Holger Freyther.
2269
2270         https://bugs.webkit.org/show_bug.cgi?id=20358
2271
2272         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2273         (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
2274         should set the computed size rather than the specified size, otherwise
2275         the caps just get rendered normal size.
2276
2277 2009-02-26  Benjamin Meyer  <benjamin.meyer@torchmobile.com>
2278
2279         Reviewed by George Staikos.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=24062
2282         QNetworkCookieJar expects the url and not the policy url.  Sending the
2283         policy url will cause QNetworkCookieJar to behave incorrectly.  One
2284         example would be a cookie that does not have a path or domain.
2285         QNetworkCookieJar will use the url it is given to fill in default values.
2286         This allows setting cookies on the url of the main frame from an iFrame
2287         when the cookie should be set on the url of the iFrame.
2288
2289         Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
2290
2291         * platform/qt/CookieJarQt.cpp:
2292         (WebCore::setCookies):
2293
2294 2009-02-26  Charles Wei  <charles.wei@torchmobile.com.cn>
2295
2296         Reviewed by George Staikos.
2297
2298         make WebKit/Qt compile with SVG disabled
2299
2300         * WebCore.pro:
2301         * platform/graphics/qt/FontPlatformDataQt.cpp:
2302
2303 2009-02-25  Gustavo Noronha Silva  <gns@gnome.org>
2304
2305         Unreviewed build fix. Add WebCore/workers to the list of paths
2306         searched by the bindings generator perl script.
2307
2308         * GNUmakefile.am:
2309
2310 2009-02-25  Sam Weinig  <sam@webkit.org>
2311
2312         Reviewed by Geoffrey Garen.
2313
2314         Add canvas to the list of RenderObjects that can mark a page as
2315         visually not empty.
2316
2317         * rendering/RenderHTMLCanvas.cpp:
2318         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
2319
2320 2009-02-25  Eric Carlson  <eric.carlson@apple.com>
2321
2322         Reviewed by Dave Hyatt.
2323
2324         * rendering/RenderBox.cpp:
2325         (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
2326         as RenderMedia with controls always has a layer.
2327
2328 2009-02-25  Dan Bernstein  <mitz@apple.com>
2329
2330         Reviewed by Simon Fraser.
2331
2332         - fix https://bugs.webkit.org/show_bug.cgi?id=24130
2333           <rdar://problem/6618196> Paint very slow when horizontally resizing
2334
2335         Test: fast/gradients/background-clipped.html
2336
2337         * rendering/RenderBoxModelObject.cpp:
2338         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
2339         destination rectangle passed to drawTiledImage() with the dirty
2340         rectangle. This makes it more likely for the destination rect to be
2341         contained in a single tile rect, which results in a faster code path
2342         being taken down the road (just drawing a single tile instead of
2343         tiling).
2344
2345 2009-02-25  Ojan Vafai  <ojan@chromium.org>
2346
2347         Reviewed by Eric Seidel.
2348
2349         Fix test regressions from positionForCoordinates patch.
2350         https://bugs.webkit.org/show_bug.cgi?id=24148
2351
2352         * rendering/RenderBlock.cpp:
2353         (WebCore::positionForPointWithInlineChildren):
2354         Remove ASSERT that placeholder text codepath is hitting.
2355
2356 2009-02-25  Chris Fleizach  <cfleizach@apple.com>
2357
2358         Reviewed by Beth Dakin.
2359
2360         Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
2361         https://bugs.webkit.org/show_bug.cgi?id=24143
2362
2363         When an AX object is marked dirty, do not create AX elements while going up the parent chain.
2364         Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
2365         Make sure the AXObjectWrapper's have an object before calling them
2366         In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
2367
2368         Test: platform/mac-snowleopard/accessibility/table-updating.html
2369
2370         * WebCore.base.exp:
2371         * page/AXObjectCache.cpp:
2372         (WebCore::AXObjectCache::~AXObjectCache):
2373         (WebCore::AXObjectCache::get):
2374         (WebCore::AXObjectCache::getOrCreate):
2375         (WebCore::AXObjectCache::removeAXID):
2376         (WebCore::AXObjectCache::handleActiveDescendantChanged):
2377         (WebCore::AXObjectCache::handleAriaRoleChanged):
2378         * page/AXObjectCache.h:
2379         * page/AccessibilityImageMapLink.cpp:
2380         (WebCore::AccessibilityImageMapLink::parentObject):
2381         * page/AccessibilityListBox.cpp:
2382         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
2383         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2384         * page/AccessibilityListBoxOption.cpp:
2385         (WebCore::AccessibilityListBoxOption::elementRect):
2386         (WebCore::AccessibilityListBoxOption::parentObject):
2387         * page/AccessibilityObject.cpp:
2388         (WebCore::AccessibilityObject::detach):
2389         (WebCore::AccessibilityObject::parentObjectIfExists):
2390         (WebCore::replacedNodeNeedsCharacter):
2391         (WebCore::AccessibilityObject::accessibilityObjectForPosition):
2392         * page/AccessibilityObject.h:
2393         * page/AccessibilityRenderObject.cpp:
2394         (WebCore::AccessibilityRenderObject::firstChild):
2395         (WebCore::AccessibilityRenderObject::lastChild):
2396         (WebCore::AccessibilityRenderObject::previousSibling):
2397         (WebCore::AccessibilityRenderObject::nextSibling):
2398         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
2399         (WebCore::AccessibilityRenderObject::parentObject):
2400         (WebCore::AccessibilityRenderObject::isAttachment):
2401         (WebCore::AccessibilityRenderObject::headingLevel):
2402         (WebCore::AccessibilityRenderObject::anchorElement):
2403         (WebCore::AccessibilityRenderObject::menuForMenuButton):
2404         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
2405         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
2406         (WebCore::AccessibilityRenderObject::internalLinkElement):
2407         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
2408         (WebCore::AccessibilityRenderObject::titleUIElement):
2409         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2410         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
2411         (WebCore::AccessibilityRenderObject::getDocumentLinks):
2412         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2413         (WebCore::AccessibilityRenderObject::focusedUIElement):
2414         (WebCore::AccessibilityRenderObject::activeDescendant):
2415         (WebCore::AccessibilityRenderObject::observableObject):
2416         (WebCore::AccessibilityRenderObject::childrenChanged):
2417         (WebCore::AccessibilityRenderObject::addChildren):
2418         * page/AccessibilityRenderObject.h:
2419         (WebCore::AccessibilityRenderObject::setRenderObject):
2420         * page/AccessibilityTable.cpp:
2421         (WebCore::AccessibilityTable::addChildren):
2422         (WebCore::AccessibilityTable::headerContainer):
2423         (WebCore::AccessibilityTable::cellForColumnAndRow):
2424         * page/AccessibilityTableCell.cpp:
2425         (WebCore::AccessibilityTableCell::isTableCell):
2426         (WebCore::AccessibilityTableCell::titleUIElement):
2427         * page/AccessibilityTableColumn.cpp:
2428         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2429         * page/AccessibilityTableRow.cpp:
2430         (WebCore::AccessibilityTableRow::isTableRow):
2431         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2432         * page/mac/AXObjectCacheMac.mm:
2433         (WebCore::AXObjectCache::postNotification):
2434         (WebCore::AXObjectCache::postNotificationToElement):
2435         * page/mac/AccessibilityObjectWrapper.mm:
2436         (textMarkerForVisiblePosition):
2437         (AXLinkElementForNode):
2438         (nsStringForReplacedNode):
2439         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
2440         (-[AccessibilityObjectWrapper accessibilityActionNames]):
2441         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2442         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
2443         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
2444         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2445         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
2446         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2447         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
2448         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
2449         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2450         (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
2451         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
2452         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
2453         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2454
2455 2009-02-25  Beth Dakin  <bdakin@apple.com>
2456
2457         Reviewed by Geoff Garen.
2458
2459         Re-working of <rdar://problem/6487249> repro crash in 
2460         WebCore::CSSParser::parseFillImage copying entire contents of this 
2461         page
2462         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
2463
2464         Fixes a bunch of layout test failures I caused!
2465
2466         * css/CSSParser.cpp:
2467         (WebCore::CSSParser::parseValue):
2468         (WebCore::CSSParser::parseContent):
2469         (WebCore::CSSParser::parseFillImage):
2470         (WebCore::CSSParser::parseFontFaceSrc):
2471         (WebCore::CSSParser::parseBorderImage):
2472
2473 2009-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
2474
2475         Reviewed by Eric Seidel.
2476
2477         https://bugs.webkit.org/show_bug.cgi?id=24174
2478         Add more V8 custom bindings.
2479
2480         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
2481         (WebCore::hasCSSPropertyNamePrefix):
2482         (WebCore::cssPropertyName):
2483         (WebCore::NAMED_PROPERTY_GETTER):
2484         (WebCore::NAMED_PROPERTY_SETTER):
2485         * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
2486         (WebCore::INDEXED_PROPERTY_GETTER):
2487         (WebCore::CALLBACK_FUNC_DECL):
2488         * bindings/v8/custom/V8EventCustom.cpp: Added.
2489         (WebCore::ACCESSOR_SETTER):
2490         (WebCore::ACCESSOR_GETTER):
2491         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
2492         (WebCore::NAMED_PROPERTY_DELETER):
2493         (WebCore::NAMED_PROPERTY_SETTER):
2494         (WebCore::NAMED_PROPERTY_GETTER):
2495         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
2496         (WebCore::NAMED_PROPERTY_GETTER):
2497         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
2498         (WebCore::INDEXED_PROPERTY_GETTER):
2499         (WebCore::NAMED_PROPERTY_GETTER):
2500         * bindings/v8/custom/V8NodeListCustom.cpp: Added.
2501         (WebCore::NAMED_PROPERTY_GETTER):
2502         * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
2503         (WebCore::NAMED_PROPERTY_GETTER):
2504
2505 2009-02-25  Scott Violet  <sky@google.com>
2506
2507         Reviewed by Dave Hyatt.
2508
2509         https://bugs.webkit.org/show_bug.cgi?id=24171
2510         Provides a RenderTheme method for getting the scroll bar size and
2511         changes RenderListBox to use it. RenderTheme returns a size of regular,
2512         and Mac's override to return small. Changes ScrollbarThemeChromium to
2513         use the scrollbarsize of the scrollbar when getting the size
2514         instead of passing in no-args.
2515
2516         * platform/chromium/ScrollbarThemeChromium.cpp:
2517         (WebCore::ScrollbarThemeChromium::trackRect):
2518         (WebCore::ScrollbarThemeChromium::buttonSize):
2519         * rendering/RenderListBox.cpp:
2520         (WebCore::RenderListBox::createScrollbar):
2521         * rendering/RenderTheme.h:
2522         (WebCore::RenderTheme::scrollbarControlSizeForPart):
2523         * rendering/RenderThemeChromiumMac.h:
2524         (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
2525         * rendering/RenderThemeMac.h:
2526         (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
2527
2528 2009-02-25  Beth Dakin  <bdakin@apple.com>
2529
2530         Reviewed by Darin Adler.
2531
2532         Fix for <rdar://problem/6487249> repro crash in 
2533         WebCore::CSSParser::parseFillImage copying entire contents of this 
2534         page
2535         -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
2536
2537         * css/CSSParser.cpp:
2538         (WebCore::CSSParser::parseValue): Null-check m_styleSheet
2539
2540 2009-02-25  Adam Treat  <adam.treat@torchmobile.com>
2541
2542         Fix the Qt build.
2543
2544         * WebCore.pro:
2545
2546 2009-02-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
2547
2548         Gtk build fix. Not reviewed.
2549
2550         Add files to the build per r41218.
2551         Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
2552
2553         * GNUmakefile.am:
2554         * page/DOMWindow.cpp:
2555
2556 2009-02-25  Zan Dobersek  <zandobersek@gmail.com>
2557
2558         Reviewed by Alexey Proskuryakov.
2559
2560         https://bugs.webkit.org/show_bug.cgi?id=24043
2561         When faced with URLs with unsupported protocol on Gtk port,
2562         report the error through an idle function and return true, so
2563         a proper resource handle is created.
2564
2565         * platform/network/soup/ResourceHandleSoup.cpp:
2566         (WebCore::reportUnknownProtocolError):
2567         (WebCore::ResourceHandle::start):
2568
2569 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
2570
2571         Windows build fix.
2572         Use struct to forward declare ResourceRequest.
2573
2574         * history/HistoryItem.h:
2575         * inspector/InspectorController.h:
2576         * loader/DocumentThreadableLoader.h:
2577         * loader/FrameLoaderClient.h:
2578         * loader/MainResourceLoader.h:
2579         * loader/SubresourceLoader.h:
2580         * loader/SubresourceLoaderClient.h:
2581         * loader/ThreadableLoader.h:
2582         * loader/WorkerThreadableLoader.h:
2583         * platform/CrossThreadCopier.h:
2584         * platform/network/ResourceHandle.h:
2585         * platform/network/ResourceHandleClient.h:
2586         * platform/network/ResourceRequestBase.h:
2587         * platform/network/cf/ResourceRequestCFNet.h:
2588         * xml/XMLHttpRequest.h:
2589
2590 2009-02-25  Steve Falkenburg  <sfalken@apple.com>
2591
2592         Partial Windows build fix.
2593         
2594         * DerivedSources.cpp:
2595         * WebCore.vcproj/WebCore.vcproj:
2596
2597 2009-02-25  Dirk Schulze  <krit@webkit.org>
2598
2599         Reviewed by Oliver Hunt.
2600
2601         Ported arcTo to Qt. Qt has no native support for arcTo. This changes
2602         calculate the behavior of arcTo and draws it with lineTo and arc.
2603
2604         [QT] implement Canvas arcTo
2605         https://bugs.webkit.org/show_bug.cgi?id=23873
2606
2607         * platform/graphics/qt/PathQt.cpp:
2608         (WebCore::Path::addArcTo):
2609
2610 2009-02-25  Simon Fraser  <simon.fraser@apple.com>
2611
2612         Reviewed by Dan Bernstein
2613
2614         Remove idl files from Resources, and sort.
2615         
2616         * WebCore.xcodeproj/project.pbxproj:
2617
2618 2009-02-25  Chris Marrin  <cmarrin@apple.com>
2619
2620         Reviewed by Simon Fraser.
2621
2622         https://bugs.webkit.org/show_bug.cgi?id=23943
2623
2624         Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
2625         the window object. Also added WebKitPoint object, which is passed in and out
2626         of these functions.
2627
2628         Test: fast/dom/Window/webkitConvertPoint.html
2629
2630         * DerivedSources.make:
2631         * WebCore.pro:
2632         * WebCore.vcproj/WebCore.vcproj:
2633         * WebCore.xcodeproj/project.pbxproj:
2634         * WebCoreSources.bkl:
2635         * bindings/js/JSDOMWindowBase.cpp:
2636         (jsDOMWindowBaseWebKitPoint):
2637         (setJSDOMWindowBaseWebKitPoint):
2638         * bindings/js/JSWebKitPointConstructor.cpp: Added.
2639         (WebCore::):
2640         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2641         (WebCore::constructWebKitPoint):
2642         (WebCore::JSWebKitPointConstructor::getConstructData):
2643         * bindings/js/JSWebKitPointConstructor.h: Added.
2644         (WebCore::JSWebKitPointConstructor::classInfo):
2645         * dom/Node.cpp:
2646         (WebCore::Node::convertToPage):
2647         (WebCore::Node::convertFromPage):
2648         * dom/Node.h:
2649         * page/DOMWindow.cpp:
2650         (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
2651         (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
2652         * page/DOMWindow.h:
2653         * page/DOMWindow.idl:
2654         * page/WebKitPoint.h: Added.
2655         (WebCore::WebKitPoint::create):
2656         (WebCore::WebKitPoint::x):
2657         (WebCore::WebKitPoint::y):
2658         (WebCore::WebKitPoint::setX):
2659         (WebCore::WebKitPoint::setY):
2660         (WebCore::WebKitPoint::WebKitPoint):
2661         * page/WebKitPoint.idl: Added.
2662
2663 2009-02-25  Jian Li  <jianli@chromium.org>
2664
2665         Reviewed by Alexey Proskuryakov.
2666
2667         Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
2668         https://bugs.webkit.org/show_bug.cgi?id=24145
2669
2670         * platform/CrossThreadCopier.cpp:
2671         * platform/CrossThreadCopier.h:
2672
2673 2009-02-25  David Levin  <levin@chromium.org>
2674
2675         Reviewed by Alexey Proskuryakov.
2676
2677         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2678         <https://bugs.webkit.org/show_bug.cgi?id=23688>
2679
2680         No observable change in behavior, so no test.
2681
2682         * loader/ThreadableLoader.cpp:
2683         (WebCore::ThreadableLoader::loadResourceSynchronously):
2684         * loader/ThreadableLoaderClientWrapper.h:
2685         (WebCore::ThreadableLoaderClientWrapper::clearClient):
2686         (WebCore::ThreadableLoaderClientWrapper::done):
2687         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2688         (WebCore::ThreadableLoaderClientWrapper::didFail):
2689         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2690         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2691         Expose whether the loader is done (based on what callbacks were done).
2692
2693         * loader/WorkerThreadableLoader.cpp:
2694         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2695         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2696         Each loader is given its own mode so that only its callbacks get through the run loop.
2697
2698         The xhr spec says that the readystatechange events are synchronous, so in the case of a
2699         nested sync xhr no readystatechange events should be fired for the outer xhr.
2700
2701         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2702
2703         * loader/WorkerThreadableLoader.h:
2704         (WebCore::WorkerThreadableLoader::create):
2705         (WebCore::WorkerThreadableLoader::done):
2706
2707         * workers/WorkerRunLoop.cpp:
2708         (WebCore::WorkerRunLoop::WorkerRunLoop):
2709         * workers/WorkerRunLoop.h:
2710         (WebCore::WorkerRunLoop::createUniqueId):
2711         Simple method to create a uniqueId on demand with respect to the run loop.
2712
2713         * workers/WorkerThread.h:
2714
2715 2009-02-25  David Levin  <levin@chromium.org>
2716
2717         Reviewed by Alexey Proskuryakov.
2718
2719         Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
2720         <https://bugs.webkit.org/show_bug.cgi?id=24089>
2721
2722         Make threadable loader callbacks to happen during the sync load call.
2723
2724         Changes the behavior of sync xhr for insecure redirects in two ways:
2725         + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
2726         + Throws a network exception which is what other browsers do and what the spec
2727         says to do (http://www.w3.org/TR/XMLHttpRequest/).
2728
2729         * loader/DocumentThreadableLoader.cpp:
2730         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
2731         * loader/DocumentThreadableLoader.h:
2732         * loader/ThreadableLoader.cpp:
2733         (WebCore::ThreadableLoader::loadResourceSynchronously):
2734         * loader/ThreadableLoader.h:
2735         * xml/XMLHttpRequest.cpp:
2736         (WebCore::XMLHttpRequest::XMLHttpRequest):
2737         (WebCore::XMLHttpRequest::loadRequestSynchronously):
2738         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2739         (WebCore::XMLHttpRequest::didFail):
2740         (WebCore::XMLHttpRequest::didFailRedirectCheck):
2741         * xml/XMLHttpRequest.h:
2742
2743 2009-02-24  Chris Marrin  <cmarrin@apple.com>
2744
2745         Reviewed by David Hyatt.
2746
2747         https://bugs.webkit.org/show_bug.cgi?id=23368
2748
2749         Added logic to correctly hit test accelerated layers.
2750
2751         Tests: animations/animation-hit-test-transform.html
2752                animations/animation-hit-test.html
2753                transitions/transition-hit-test-transform.html
2754                transitions/transition-hit-test.html
2755
2756         * page/animation/KeyframeAnimation.cpp:
2757         (WebCore::KeyframeAnimation::animate):
2758         * rendering/RenderLayer.cpp:
2759         (WebCore::RenderLayer::hitTestLayer):
2760         (WebCore::RenderLayer::updateClipRects):
2761         * rendering/RenderLayerBacking.cpp:
2762         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2763
2764 2009-02-25  Alexey Proskuryakov  <ap@webkit.org>
2765
2766         Reviewed by Darin Adler.
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=24067
2769         REGRESSION: Crash in WebCore::Document::initSecurityContext
2770
2771         The crash started to happen when we removed a check for frame->document() being null.
2772         However, the original document shouldn't be null here, because it is needed to alias
2773         security origins. So, this patch fixes the crash by correcting security origin behavior.
2774
2775         Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
2776         This tests for not crashing, and for inheriting the domain from the document being replaced.
2777         Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
2778         domain to remove a prefix from.
2779
2780         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
2781         clearing the frame, so that Document::initSecurityContext() could access the old one.
2782
2783 2009-02-25  Jay Campan  <jcampan@google.com>
2784
2785         Reviewed by Darin Fisher.
2786
2787         https://bugs.webkit.org/show_bug.cgi?id=24066
2788
2789         Items in drop-downs were not painted correctly.  Makes sure the
2790         PopupListBox invalidates in the coordinates of the window as this is
2791         FramelessScrollView::invalidateRect paints to.
2792
2793         * platform/chromium/PopupMenuChromium.cpp:
2794         (WebCore::PopupListBox::invalidateRow):
2795
2796 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
2797
2798         Reviewed by Anders Carlsson
2799
2800         https://bugs.webkit.org/show_bug.cgi?id=15081
2801         
2802         Make display:none work for applet, emebed and object elements
2803         by calling rendererIsNeeded() on superclasses.
2804
2805         Tests: fast/replaced/applet-display-none.html
2806                fast/replaced/embed-display-none.html
2807                fast/replaced/object-display-none.html
2808
2809         * html/HTMLAppletElement.cpp:
2810         (WebCore::HTMLAppletElement::rendererIsNeeded):
2811         * html/HTMLElement.cpp:
2812         (WebCore::HTMLElement::rendererIsNeeded):
2813         * html/HTMLEmbedElement.cpp:
2814         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2815         * html/HTMLObjectElement.cpp:
2816         (WebCore::HTMLObjectElement::rendererIsNeeded):
2817
2818 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
2819
2820         Reviewed by Dave Hyatt
2821
2822         https://bugs.webkit.org/show_bug.cgi?id=24137
2823         
2824         Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
2825         taking perspective and transform-style: preserve-3d into account.
2826         
2827         In order to support transform-style: preserve-3d, which keeps elements in a
2828         3d space, we have to carry along an accumulated matrix in TransformState.
2829         We also need to apply the perspective from the parent, if any, with the
2830         appropriate origin.
2831
2832         * GNUmakefile.am:
2833         * WebCore.base.exp:
2834         * WebCore.pro:
2835         * WebCore.scons:
2836         * WebCore.vcproj/WebCore.vcproj:
2837         * WebCore.xcodeproj/project.pbxproj:
2838         * WebCoreSources.bkl:
2839         * css/CSSComputedStyleDeclaration.cpp:
2840         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2841         * platform/graphics/transforms/TransformationMatrix.cpp:
2842         (WebCore::TransformationMatrix::translate):
2843         (WebCore::TransformationMatrix::translate3d):
2844         (WebCore::TransformationMatrix::translateRight3d):
2845         * platform/graphics/transforms/TransformationMatrix.h:
2846         * rendering/RenderBox.cpp:
2847         (WebCore::RenderBox::mapLocalToAbsolutePoint):
2848         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2849         * rendering/RenderBox.h:
2850         * rendering/RenderLayer.cpp:
2851         (WebCore::RenderLayer::updateTransform):
2852         (WebCore::RenderLayer::perspectiveTransform):
2853         (WebCore::RenderLayer::perspectiveOrigin):
2854         * rendering/RenderLayer.h:
2855         * rendering/RenderLayerBacking.cpp:
2856         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2857         * rendering/RenderLayerCompositor.cpp:
2858         (WebCore::requiresCompositingLayerForTransform):
2859         (WebCore::RenderLayerCompositor::layerHas3DContent):
2860         * rendering/RenderObject.cpp:
2861         (WebCore::RenderObject::localToAbsolute):
2862         (WebCore::RenderObject::absoluteToLocal):
2863         (WebCore::RenderObject::mapLocalToAbsolutePoint):
2864         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
2865         * rendering/RenderObject.h:
2866         * rendering/RenderTableCell.cpp:
2867         (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
2868         (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
2869         * rendering/RenderTableCell.h:
2870         * rendering/RenderView.cpp:
2871         (WebCore::RenderView::mapLocalToAbsolutePoint):
2872         (WebCore::RenderView::mapAbsoluteToLocalPoint):
2873         * rendering/RenderView.h:
2874         * rendering/TransformState.cpp: Added.
2875         (WebCore::TransformState::move):
2876         (WebCore::TransformState::applyTransform):
2877         (WebCore::TransformState::flatten):
2878         * rendering/TransformState.h: Added.
2879         (WebCore::TransformState::):
2880         (WebCore::TransformState::TransformState):
2881         (WebCore::TransformState::move):
2882         * rendering/style/RenderStyle.h:
2883         (WebCore::InheritedFlags::hasPerspective):
2884
2885 2009-02-24  Sam Weinig  <sam@webkit.org>
2886
2887         Reviewed by David Hyatt.
2888
2889         Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
2890         Regression (r40837): JavaScript image popup doesn't work
2891
2892         Make the getClientRects and getBoundingClientRect methods return rects
2893         relative to the viewport.
2894
2895         Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
2896
2897         * dom/Element.cpp:
2898         (WebCore::Element::getClientRects):
2899         (WebCore::Element::getBoundingClientRect):
2900
2901 2009-02-24  Ojan Vafai  <ojan@chromium.org>
2902
2903         Reviewed by Eric Seidel.
2904
2905         SVG pages don't have a body or an html element! 
2906         Don't return early if there is no body.
2907
2908         * editing/VisiblePosition.cpp:
2909         (WebCore::VisiblePosition::canonicalPosition):
2910
2911 2009-02-23  David Hyatt  <hyatt@apple.com>
2912
2913         Reviewed by Eric Seidel
2914
2915         https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
2916         
2917         This patch reworks the painting of overflow.  There is now the concept of a "self-painting layer."  All
2918         layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
2919         reflections or masks).
2920         
2921         If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
2922         The only difference is that the clip has to be pushed and popped when painting the object's children.
2923         
2924         The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case.  With
2925         the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
2926         use the new functions.
2927         
2928         Hit testing has also been patched to check the overflow clip rect first before recurring into children.
2929         
2930         Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
2931         yet, and scrollbar hit testing was already there anyway.  Now the two code paths are more symmetrical.
2932         
2933         Masks are now treated like normal flow layers (just like reflections).
2934
2935         A couple of test cases have been added to fast/overflow to test the stacking order. 
2936
2937         * rendering/InlineFlowBox.cpp:
2938         (WebCore::InlineFlowBox::nodeAtPoint):
2939         (WebCore::InlineFlowBox::paint):
2940         * rendering/RenderBlock.cpp:
2941         (WebCore::RenderBlock::repaintOverhangingFloats):
2942         (WebCore::RenderBlock::paint):
2943         (WebCore::RenderBlock::paintChildren):
2944         (WebCore::RenderBlock::paintObject):
2945         (WebCore::RenderBlock::paintFloats):
2946         (WebCore::RenderBlock::insertFloatingObject):
2947         (WebCore::RenderBlock::floatRect):
2948         (WebCore::RenderBlock::lowestPosition):
2949         (WebCore::RenderBlock::rightmostPosition):
2950         (WebCore::RenderBlock::leftmostPosition):
2951         (WebCore::RenderBlock::addOverhangingFloats):
2952         (WebCore::RenderBlock::nodeAtPoint):
2953         (WebCore::RenderBlock::hitTestContents):
2954         * rendering/RenderBox.cpp:
2955         (WebCore::RenderBox::nodeAtPoint):
2956         (WebCore::RenderBox::pushContentsClip):
2957         (WebCore::RenderBox::popContentsClip):
2958         * rendering/RenderBox.h:
2959         (WebCore::RenderBox::paintObject):
2960         * rendering/RenderBoxModelObject.cpp:
2961         (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
2962         * rendering/RenderBoxModelObject.h:
2963         * rendering/RenderLayer.cpp:
2964         (WebCore::RenderLayer::paintLayer):
2965         (WebCore::RenderLayer::hitTestLayer):
2966         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2967         (WebCore::RenderLayer::isSelfPaintingLayer):
2968         * rendering/RenderLayer.h:
2969         * rendering/RenderTable.cpp:
2970         (WebCore::RenderTable::paint):
2971         (WebCore::RenderTable::paintObject):
2972         (WebCore::RenderTable::nodeAtPoint):
2973         * rendering/RenderTable.h:
2974         * rendering/RenderTableCell.cpp:
2975         (WebCore::RenderTableCell::paint):
2976         * rendering/RenderTableRow.cpp:
2977         (WebCore::RenderTableRow::nodeAtPoint):
2978         (WebCore::RenderTableRow::paint):
2979         * rendering/RenderTableRow.h:
2980         * rendering/RenderTableSection.cpp:
2981         (WebCore::RenderTableSection::paint):
2982         (WebCore::RenderTableSection::paintObject):
2983         (WebCore::RenderTableSection::nodeAtPoint):
2984         * rendering/RenderTableSection.h:
2985         * rendering/RenderTreeAsText.cpp:
2986         (WebCore::write):
2987         (WebCore::writeLayers):
2988
2989 2009-02-24  David Levin  <levin@chromium.org>
2990
2991         Reviewed by NOBODY (build fix).
2992
2993         Attempted build fix for wx-mac.
2994
2995         * WebCoreSources.bkl:
2996
2997 2009-02-24  David Levin  <levin@chromium.org>
2998
2999         Reviewed by NOBODY (build fix).
3000
3001         Attempted build fixes for qt-linux and wx-mac.
3002
3003         * WebCore.pro:
3004         * webcore-base.bkl:
3005
3006 2009-02-24  Ojan Vafai  <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
3007
3008         Reviewed by Sam Weinig.
3009
3010         Fix null pointer error. If the node is the Document, then ownerDocument() 
3011         returns null, document() does not.
3012
3013         * editing/VisiblePosition.cpp:
3014         (WebCore::VisiblePosition::canonicalPosition):
3015
3016 2009-02-24  Jian Li  <jianli@chromium.org>
3017
3018         Reviewed by NOBODY (attempted build fixes).
3019
3020         Fix build break for Windows and Linux.
3021
3022         * GNUmakefile.am:
3023         * WebCore.vcproj/WebCore.vcproj:
3024
3025 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
3026
3027         Reviewed by Eric Seidel.
3028
3029         https://bugs.webkit.org/show_bug.cgi?id=24131
3030         Fix-up COM/RefCounted dichotomy in Chromium port.
3031
3032         * page/chromium/AccessibilityObjectWrapper.h:
3033         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
3034         explicit setting of recount.
3035
3036 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
3037
3038         Reviewed by Eric Seidel.
3039
3040         https://bugs.webkit.org/show_bug.cgi?id=24141
3041         Add clarity to V8 interceptor helper function.
3042
3043         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3044         (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
3045         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
3046         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
3047         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
3048
3049 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
3050
3051         Reviewed by Eric Seidel
3052
3053         Minor numeric cleanup: convert float literals to doubles.
3054         
3055         * platform/graphics/transforms/RotateTransformOperation.cpp:
3056         (WebCore::RotateTransformOperation::blend):
3057
3058 2009-02-24  Mark Mentovai  <mark@chromium.org>
3059
3060         Reviewed by Eric Seidel.
3061
3062         https://bugs.webkit.org/show_bug.cgi?id=24139
3063         Add missing include.
3064
3065         * bindings/v8/ScriptInstance.h:
3066
3067 2009-02-24  Jian Li  <jianli@chromium.org>
3068
3069         Reviewed by Alexey Proskuryakov.
3070
3071         Move worker related files from dom directory to worker directory under WebCore.
3072         https://bugs.webkit.org/show_bug.cgi?id=24123
3073
3074         * DerivedSources.make:
3075         * GNUmakefile.am:
3076         * WebCore.pro:
3077         * WebCore.scons:
3078         * WebCore.vcproj/MigrateIDLAndScripts:
3079         * WebCore.vcproj/WebCore.vcproj:
3080         * WebCore.xcodeproj/project.pbxproj:
3081         * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
3082         * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
3083         * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
3084         * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
3085         * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
3086         * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
3087         * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
3088         * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
3089         * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
3090         * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
3091         * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
3092         * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
3093         * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
3094         * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
3095         * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
3096         * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
3097         * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
3098         * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
3099         * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
3100         * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
3101
3102 2009-02-05  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
3103
3104         Reviewed by Dave Hyatt.
3105
3106         Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
3107         around divs inside editable regions.
3108         https://bugs.webkit.org/show_bug.cgi?id=23605
3109
3110         Fix clicks outside editable regions from focusing the editable region.
3111         https://bugs.webkit.org/show_bug.cgi?id=23607
3112
3113         Removed editing/selection/contenteditable-click-outside.html as it's
3114         not as useful as our new tests.
3115
3116         Clean up RenderBlock::positionForCoordinates to remove dead code,
3117         duplicate code, and generally make it more readable.
3118
3119         Tests: editing/selection/click-in-margins-inside-editable-div.html
3120                editing/selection/click-in-padding-with-multiple-line-boxes.html
3121                editing/selection/click-outside-editable-div.html
3122
3123         * editing/VisiblePosition.cpp:
3124         (WebCore::VisiblePosition::canonicalPosition):
3125         * rendering/RenderBlock.cpp:
3126         (WebCore::positionForPointRespectingEditingBoundaries):
3127         (WebCore::positionForPointWithInlineChildren):
3128         (WebCore::RenderBlock::positionForCoordinates):
3129         (WebCore::RenderBlock::updateFirstLetter):
3130
3131 2009-02-24  Sam Weinig  <sam@webkit.org>
3132
3133         Reviewed by Geoffrey Garen.
3134
3135         Related to <rdar://problem/6590295>
3136         Allow disabling javascript: urls.
3137
3138         * WebCore.base.exp:
3139         * html/HTMLAnchorElement.cpp:
3140         (WebCore::HTMLAnchorElement::parseMappedAttribute):
3141         * loader/FrameLoader.cpp:
3142         (WebCore::FrameLoader::executeIfJavaScriptURL):
3143         * page/Page.cpp:
3144         (WebCore::Page::Page):
3145         (WebCore::Page::setJavaScriptURLsAreAllowed):
3146         (WebCore::Page::javaScriptURLsAreAllowed):
3147         * page/Page.h:
3148
3149 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
3150
3151         Fix build when ACCELERATED_COMPOSITING is turned on
3152         (overflowList() -> normalFlowList()).
3153     
3154         * rendering/RenderLayerBacking.cpp:
3155         (WebCore::RenderLayerBacking::hasNonCompositingContent):
3156         (WebCore::RenderLayerBacking::paintIntoLayer):
3157         * rendering/RenderLayerCompositor.cpp:
3158         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3159         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3160         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3161         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
3162         (WebCore::RenderLayerCompositor::layerHas3DContent):
3163
3164 2009-02-24  Simon Fraser  <simon.fraser@apple.com>
3165
3166         Reviewed by Darin Adler
3167         
3168         https://bugs.webkit.org/show_bug.cgi?id=24135
3169         
3170         Round the FloatPoint returned by absoluteToLocal(), rather than
3171         truncating it.
3172
3173         * dom/MouseRelatedEvent.cpp:
3174         (WebCore::MouseRelatedEvent::receivedTarget):
3175
3176 2009-02-24  Beth Dakin  <bdakin@apple.com>
3177
3178         Reviewed by Sam Weinig.
3179
3180         Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 
3181         Ordered list item marker misaligned when line height is not 1.2 
3182         -and corresponding <rdar://problem/6602506>
3183
3184         This is a regression from http://trac.webkit.org/changeset/40880 
3185         where createInlineBox was taken off of RenderObject and moved to 
3186         RenderBox. The problem was that the RenderBox version still needs 
3187         to be virtual because there is still an existing implementation in 
3188         RenderListMarker. 
3189
3190         * rendering/RenderBox.h:
3191         * rendering/RenderListMarker.cpp:
3192         (WebCore::RenderListMarker::createInlineBox):
3193         * rendering/RenderListMarker.h:
3194
3195 2009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
3196
3197         Reviewed by Eric Seidel.
3198
3199         https://bugs.webkit.org/show_bug.cgi?id=24128
3200         Upstream more V8 custom bindings: constructors, XSLTProcessor.
3201
3202         * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
3203         (WebCore::CALLBACK_FUNC_DECL):
3204         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
3205         (WebCore::CALLBACK_FUNC_DECL):
3206         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
3207         (WebCore::CALLBACK_FUNC_DECL):
3208         * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
3209         (WebCore::CALLBACK_FUNC_DECL):
3210         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
3211         (WebCore::CALLBACK_FUNC_DECL):
3212         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
3213         (WebCore::CALLBACK_FUNC_DECL):
3214
3215 2009-02-24  David Levin  <levin@chromium.org>
3216
3217         Reviewed by Alexey Proskuryakov.
3218
3219         Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
3220         <https://bugs.webkit.org/show_bug.cgi?id=24090>
3221
3222         No observable change in behavior, so no test.
3223
3224         * dom/WorkerMessagingProxy.cpp:
3225         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
3226         (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
3227         Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
3228
3229         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
3230
3231         * dom/WorkerMessagingProxy.h:
3232         * loader/ThreadableLoader.cpp:
3233         (WebCore::ThreadableLoader::create):
3234         * loader/WorkerThreadableLoader.cpp:
3235         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
3236         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
3237         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
3238         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
3239         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
3240         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
3241         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
3242         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
3243         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
3244         Changed these methods to post task using a mode.
3245
3246         * loader/WorkerThreadableLoader.h:
3247         (WebCore::WorkerThreadableLoader::create):
3248
3249 2009-02-24  Alexey Proskuryakov  <ap@webkit.org>
3250
3251         Reviewed by Darin Adler.
3252
3253         https://bugs.webkit.org/show_bug.cgi?id=24091
3254         <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
3255
3256         Test: http/tests/appcache/access-via-redirect.php
3257
3258         * loader/appcache/ApplicationCacheGroup.cpp:
3259         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
3260         not the original one.
3261
3262 2009-02-24  Jian Li  <jianli@chromium.org>
3263
3264         Reviewed by Alexey Proskuryakov.
3265
3266         Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
3267         https://bugs.webkit.org/show_bug.cgi?id=24112
3268
3269         * bindings/js/WorkerScriptController.cpp:
3270         * dom/WorkerContext.cpp:
3271
3272 2009-02-23  Antti Koivisto  <antti@apple.com>
3273
3274         Reviewed by Oliver Hunt.
3275
3276         <rdar://problem/6613796> Extended text codecs registered on webview creation
3277
3278         Comparing a text encoding with string "GBK" ended up constructing
3279         TextEncoding("GBK") which in turn initialized all extended
3280         text codecs.
3281
3282         * platform/text/TextCodecICU.cpp:
3283         (WebCore::TextCodecICU::decode):
3284
3285 2009-02-23  Sam Weinig  <sam@webkit.org>
3286
3287         Fix Qt build.
3288
3289         * bridge/qt/qt_runtime.cpp:
3290         (JSC::Bindings::valueRealType):
3291
3292 2009-02-23  Julien Chaffraix  <jchaffraix@webkit.org>
3293
3294         Reviewed by Darin Adler.
3295
3296         Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
3297
3298         The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
3299         element created with createElement could have a wrong nodeName (createElement sets the string as the
3300         localName without checking for a prefix).
3301
3302         The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
3303         and will always succeed.
3304         Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
3305         to ensure that).
3306
3307         Test: fast/dom/cloneNode.html
3308
3309         * dom/Element.cpp:
3310         (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
3311         always return an element.
3312
3313         * html/HTMLElement.cpp:
3314         * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
3315
3316 2009-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
3317
3318         Reviewed by Eric Seidel.
3319
3320         https://bugs.webkit.org/show_bug.cgi?id=24109
3321         Upstream V8 Script abstractions, all except ScriptController.
3322
3323         * bindings/v8/ScriptCachedFrameData.h: Added.
3324         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3325         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
3326         (WebCore::ScriptCachedFrameData::restore):
3327         (WebCore::ScriptCachedFrameData::clear):
3328         (WebCore::ScriptCachedFrameData::domWindow):
3329         * bindings/v8/ScriptCallFrame.cpp: Added.
3330         (WebCore::ScriptCallFrame::ScriptCallFrame):
3331         (WebCore::ScriptCallFrame::~ScriptCallFrame):
3332         (WebCore::ScriptCallFrame::argumentAt):
3333         * bindings/v8/ScriptCallFrame.h: Added.
3334         (WebCore::ScriptCallFrame::functionName):
3335         (WebCore::ScriptCallFrame::sourceURL):
3336         (WebCore::ScriptCallFrame::lineNumber):
3337         (WebCore::ScriptCallFrame::argumentCount):
3338         * bindings/v8/ScriptCallStack.cpp: Added.
3339         (WebCore::ScriptCallStack::ScriptCallStack):
3340         (WebCore::ScriptCallStack::~ScriptCallStack):
3341         (WebCore::ScriptCallStack::at):
3342         * bindings/v8/ScriptCallStack.h: Added.
3343         (WebCore::ScriptCallStack::size):
3344         * bindings/v8/ScriptInstance.cpp: Added.
3345         (WebCore::V8ScriptInstance::V8ScriptInstance):
3346         (WebCore::V8ScriptInstance::~V8ScriptInstance):
3347         (WebCore::V8ScriptInstance::instance):
3348         (WebCore::V8ScriptInstance::clear):
3349         (WebCore::V8ScriptInstance::set):
3350         * bindings/v8/ScriptInstance.h: Added.
3351         (WebCore::V8ScriptInstance::create):
3352         * bindings/v8/ScriptSourceCode.h: Added.
3353         (WebCore::ScriptSourceCode::ScriptSourceCode):
3354         (WebCore::ScriptSourceCode::isEmpty):
3355         (WebCore::ScriptSourceCode::source):
3356         (WebCore::ScriptSourceCode::url):
3357         (WebCore::ScriptSourceCode::startLine):
3358         * bindings/v8/ScriptState.h: Added.
3359         (WebCore::ScriptState::hadException):
3360         (WebCore::ScriptState::setException):
3361         (WebCore::ScriptState::exception):
3362         * bindings/v8/ScriptString.h: Added.
3363         (WebCore::ScriptString::ScriptString):
3364         (WebCore::ScriptString::operator String):
3365         (WebCore::ScriptString::isNull):
3366         (WebCore::ScriptString::size):
3367         (WebCore::ScriptString::operator=):
3368         (WebCore::ScriptString::operator+=):
3369         * bindings/v8/ScriptValue.cpp: Added.
3370         (WebCore::ScriptValue::getString):
3371         * bindings/v8/ScriptValue.h: Added.
3372         (WebCore::ScriptValue::ScriptValue):
3373         (WebCore::ScriptValue::operator=):
3374         (WebCore::ScriptValue::operator==):
3375         (WebCore::ScriptValue::operator!=):
3376         (WebCore::ScriptValue::isNull):
3377         (WebCore::ScriptValue::isUndefined):
3378         (WebCore::ScriptValue::clear):
3379         (WebCore::ScriptValue::~ScriptValue):
3380         (WebCore::ScriptValue::v8Value):
3381
3382 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
3383
3384         Reviewed by Timothy Hatcher.
3385
3386         https://bugs.webkit.org/show_bug.cgi?id=24106
3387         The Qt port is crashing on exit because the tear down procedure involves
3388         the WebCore::InspectorController trying to access the JS execution context
3389         for a page that is being deleted.  This patch amends the inspector so
3390         that it does not try and access the execution context of the WebCore::Page
3391         in the midst of deletion.
3392
3393         * inspector/InspectorController.cpp:
3394         (WebCore::InspectorController::inspectedPageDestroyed):
3395         (WebCore::InspectorController::stopUserInitiatedProfiling):
3396
3397 2009-02-23  David Levin  <levin@chromium.org>
3398
3399         Reviewed by Alexey Proskuryakov.
3400
3401         Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
3402         <https://bugs.webkit.org/show_bug.cgi?id=24088>
3403
3404         No observable change in behavior, so no test.
3405
3406         * loader/DocumentThreadableLoader.cpp:
3407         (WebCore::DocumentThreadableLoader::create):
3408         * loader/ThreadableLoaderClient.h:
3409         (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
3410         * loader/ThreadableLoaderClientWrapper.h:
3411         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
3412         * loader/WorkerThreadableLoader.cpp:
3413         (WebCore::workerContextDidFailRedirectCheck):
3414         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
3415         * loader/WorkerThreadableLoader.h:
3416         * xml/XMLHttpRequest.cpp:
3417         (WebCore::XMLHttpRequest::didFinishLoading):
3418         * xml/XMLHttpRequest.h:
3419
3420 2009-02-23  David Levin  <levin@chromium.org>
3421
3422         Reviewed by Alexey Proskuryakov.
3423
3424         Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
3425         <https://bugs.webkit.org/show_bug.cgi?id=24047>
3426
3427         Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
3428         using only MessageQueue::waitForMessageFilteredWithTimeout instead
3429         of three different MessageQueue methods.
3430
3431         No observable change in behavior, so no test.
3432
3433         * dom/WorkerRunLoop.cpp:
3434         (WebCore::ModePredicate::operator()):
3435         Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
3436         (WebCore::WorkerRunLoop::runInMode):
3437         * dom/WorkerRunLoop.h:
3438
3439 2009-02-23  David Hyatt  <hyatt@apple.com>
3440
3441         In preparation for making layers for multicol objects (so that they can properly split child layers
3442         into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
3443         of RenderLayer to use the term "normal flow" instead.
3444
3445         Reviewed by Cameron Zwarich
3446
3447         * rendering/RenderLayer.cpp:
3448         (WebCore::RenderLayer::RenderLayer):
3449         (WebCore::RenderLayer::~RenderLayer):
3450         (WebCore::RenderLayer::setHasVisibleContent):
3451         (WebCore::RenderLayer::enclosingCompositingLayer):
3452         (WebCore::RenderLayer::addChild):
3453         (WebCore::RenderLayer::removeChild):
3454         (WebCore::RenderLayer::paintLayer):
3455         (WebCore::RenderLayer::hitTestLayer):
3456         (WebCore::RenderLayer::dirtyNormalFlowList):
3457         (WebCore::RenderLayer::updateNormalFlowList):
3458         (WebCore::RenderLayer::collectLayers):
3459         (WebCore::RenderLayer::updateLayerListsIfNeeded):
3460         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3461         (WebCore::RenderLayer::styleChanged):
3462         * rendering/RenderLayer.h:
3463         (WebCore::RenderLayer::isNormalFlowOnly):
3464         (WebCore::RenderLayer::normalFlowList):
3465         * rendering/RenderTreeAsText.cpp:
3466         (WebCore::writeLayers):
3467
3468 2009-02-23  David Hyatt  <hyatt@apple.com>
3469
3470         Fix the stacking order for column rules in multi-column layout.  Column rules should paint as part of the background of an element, just
3471         after all other components of the background have been painted.  This allows negative z-index children to still paint on top of the
3472         column rules (rather than ending up above the background of the box but behind the column rules).
3473
3474         Reviewed by Eric Seidel
3475
3476         Added fast/multicol/column-rules-stacking.html
3477
3478         * rendering/RenderBlock.cpp:
3479         (WebCore::RenderBlock::paintColumnRules):
3480         (WebCore::RenderBlock::paintColumnContents):
3481         (WebCore::RenderBlock::paintObject):
3482         * rendering/RenderBlock.h:
3483
3484 2009-02-23  Adam Treat  <adam.treat@torchmobile.com>
3485
3486         Reviewed by David Hyatt.
3487
3488         No testcases have been added or modified since this patch should not result in
3489         a behavior change for ports that have layout tests enabled.
3490
3491         Currently, the implementation of GraphicsContext::drawLineForText amongst
3492         the various ports differ in that some of them are honoring the context's
3493         strokeStyle when drawing a text-decoration and some of them are not.
3494         For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
3495         but the Cairo implementation does and has an explicit workaround that
3496         sets the strokeStyle() temporarily.
3497
3498         This patch fixes so that all ports are consistent by explicitly making sure
3499         to set the GraphicsContext strokeStyle to SolidStroke whenever
3500         painting the text-decoration of an InlineFlowBox or InlineTextBox as these
3501         should always use a solid stroke.
3502
3503         This patch addresses these bugs:
3504         https://bugs.webkit.org/show_bug.cgi?id=19364
3505         https://bugs.webkit.org/show_bug.cgi?id=15659
3506
3507         * rendering/InlineFlowBox.cpp:
3508         (WebCore::InlineFlowBox::paintTextDecorations):
3509         * rendering/InlineTextBox.cpp:
3510         (WebCore::InlineTextBox::paintDecoration):
3511
3512 2009-02-23  Scott Violet  <sky@google.com>
3513
3514         Reviewed by Eric Seidel.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=24098
3517         Bugs in ClipboardChromium
3518
3519         Fixes the following bugs in ClipboardChromium:
3520         * It's possible for the extension to be empty, resulting in a bad file
3521           name, for example, 'foo.' or just '.'.
3522         * We weren't restricting the size of the file to MAX_PATH.
3523         * We weren't removing characters that are invalid for file system names.
3524
3525         * platform/chromium/ClipboardChromium.cpp:
3526         (WebCore::writeImageToDataObject):
3527         * platform/chromium/ClipboardChromium.h:
3528         * platform/chromium/ClipboardChromiumLinux.cpp: Added.
3529         (WebCore::ClipboardChromium::validateFileName):
3530         * platform/chromium/ClipboardChromiumMac.cpp: Added.
3531         (WebCore::ClipboardChromium::validateFileName):
3532         * platform/chromium/ClipboardChromiumWin.cpp: Added.
3533         (WebCore::isInvalidFileCharacter):
3534         (WebCore::ClipboardChromium::validateFileName):
3535
3536 2009-02-23  Thiago Macieira  <thiago.macieira@nokia.com>
3537
3538         Reviewed by Simon Hausmann.
3539
3540         Fix the Copyright notices in a few files
3541
3542         * platform/qt/RenderThemeQt.h:
3543
3544 2009-02-23  Xan Lopez  <xan@gnome.org>
3545
3546         Reviewed by Alexey Proskuryakov.
3547
3548         https://bugs.webkit.org/show_bug.cgi?id=22624
3549         [SOUP][GTK] Need API to get SoupSession from WebKit.
3550
3551         Allow to retrieve the Soup session and modify the code to take
3552         into account users changing features on it.
3553
3554         * platform/network/ResourceHandle.h:
3555         * platform/network/soup/CookieJarSoup.cpp:
3556         (WebCore::defaultCookieJar):
3557         (WebCore::setDefaultCookieJar):
3558         * platform/network/soup/CookieJarSoup.h:
3559         * platform/network/soup/ResourceHandleSoup.cpp:
3560         (WebCore::createSoupSession):
3561         (WebCore::ensureSessionIsInitialized):
3562         (WebCore::ResourceHandle::startHttp):
3563         (WebCore::ResourceHandle::cancel):
3564         (WebCore::ResourceHandle::defaultSession):
3565
3566 2009-02-23  Xan Lopez  <xan@gnome.org>
3567
3568         Reviewed by Alexey Proskuryakov.
3569
3570         https://bugs.webkit.org/show_bug.cgi?id=22624
3571         [SOUP][GTK] Need API to get SoupSession from WebKit.
3572
3573         Remove CURL support.
3574
3575         * GNUmakefile.am:
3576
3577 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
3578
3579         Reviewed by Mark Rowe.
3580
3581         Test: fast/dom/empty-hash-and-search.html
3582
3583         https://bugs.webkit.org/show_bug.cgi?id=21147
3584         hash property returns incorrect value for links w/o hash
3585
3586         Make hash() and search() behavior for empty and missing parts match IE and Firefox.
3587
3588         * platform/KURL.cpp:
3589         (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
3590         (WebCore::KURL::prettyURL): Append the query with the question mark.
3591
3592         * page/Location.cpp:
3593         (WebCore::Location::search): Return an empty string if query is empty or missing.
3594         (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
3595
3596         * dom/WorkerLocation.cpp:
3597         (WebCore::WorkerLocation::search):
3598         (WebCore::WorkerLocation::hash):
3599         Match document.location fixes above.
3600
3601         * html/HTMLAnchorElement.cpp:
3602         (WebCore::HTMLAnchorElement::hash):
3603         (WebCore::HTMLAnchorElement::search):
3604         Return an empty string for empty and missing parts.
3605
3606 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
3607
3608         Reviewed by Darin Adler.
3609
3610         https://bugs.webkit.org/show_bug.cgi?id=20184
3611         SELECT with no name generates invalid query string
3612
3613         Test: fast/forms/select-no-name.html
3614
3615         * html/HTMLSelectElement.cpp:
3616         (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
3617
3618 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
3619
3620         Apply review comments for the previous check-in (forgot to save the file, oops).
3621
3622         * dom/ContainerNode.cpp: (We