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