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