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