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