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