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