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