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