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