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