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