b06c5043d4639ccaf5d41be91dbc3dcb40d15137
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-06  Ojan Vafai  <ojan@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Fix crash when indenting in an empty table cell.
6         https://bugs.webkit.org/show_bug.cgi?id=26872
7
8         The crash is that we would call splitTreeToNode where the node
9         and the nodeToSplitTo were the same node.
10
11         Test: editing/execCommand/indent-empty-table-cell.html
12
13         * editing/CompositeEditCommand.cpp:
14         (WebCore::CompositeEditCommand::splitTreeToNode):
15         Added an assert in that node and nodeToSplitTo
16         are different nodes to make this assumption explicit.
17
18         * editing/IndentOutdentCommand.cpp:
19         (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
20         (WebCore::IndentOutdentCommand::indentRegion):
21         * editing/IndentOutdentCommand.h:
22
23 2009-07-06  Nate Chapin  <japhet@chromium.org>
24
25         Reviewed by David Levin.
26
27         Upstream V8Binding and update some function names.
28
29         https://bugs.webkit.org/show_bug.cgi?id=26857
30
31         * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
32         * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
33         * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
34         * bindings/v8/V8LazyEventListener.cpp:
35         (WebCore::V8LazyEventListener::getListenerFunction):
36         * bindings/v8/V8Proxy.cpp:
37         (WebCore::handleConsoleMessage):
38         (WebCore::V8Proxy::compileScript):
39         (WebCore::V8Proxy::sourceName):
40         * bindings/v8/WorkerContextExecutionProxy.cpp:
41         (WebCore::handleConsoleMessage):
42         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
43         (WebCore::NAMED_PROPERTY_SETTER):
44         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
45         (WebCore::CALLBACK_FUNC_DECL):
46         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
47         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
48         * bindings/v8/custom/V8DOMWindowCustom.cpp:
49         (WebCore::CALLBACK_FUNC_DECL):
50         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
51         (WebCore::CALLBACK_FUNC_DECL):
52         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
53         (WebCore::ACCESSOR_SETTER):
54         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
55         (WebCore::CALLBACK_FUNC_DECL):
56         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
57         (WebCore::removeElement):
58         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
59         (WebCore::CALLBACK_FUNC_DECL):
60         * bindings/v8/custom/V8WorkerContextCustom.cpp:
61         (WebCore::SetTimeoutOrInterval):
62         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
63         (WebCore::CALLBACK_FUNC_DECL):
64
65 2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
66
67         Reviewed by Jan Alonzo.
68
69         Use soup's content sniffing
70         https://bugs.webkit.org/show_bug.cgi?id=26982
71
72         Drop our hackish content sniffing code, and use the new libsoup
73         feature to do that job for us.
74
75         Testing this is in a cross-platform way is not obvious or possible
76         while we are using platform-specific code for sniffing.
77
78         * platform/network/ResourceHandleInternal.h:
79         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
80         * platform/network/soup/ResourceHandleSoup.cpp:
81         (WebCore::gotHeadersCallback):
82         (WebCore::contentSniffedCallback):
83         (WebCore::gotChunkCallback):
84         (WebCore::ResourceHandle::startHttp):
85
86 2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
87
88         Reviewed by Darin Adler.
89
90         REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
91         https://bugs.webkit.org/show_bug.cgi?id=20342
92
93         Re-added code removed by commit r40499.
94         Without this, both Qt and Mac were crashing while running the test.
95
96         Note that this does not entirely fix the bug. It fixes the WebCore
97         crash, but the test no longer seems to work due to loader changes.
98         So this patch does not reenable the test. The test probably has to
99         be rewritten.
100
101         * dom/ContainerNode.cpp:
102         (WebCore::ContainerNode::removedFromDocument): Re-added code to
103         set the CSS target of the document to 0.
104
105 2009-07-05  Chris Marrin  <cmarrin@apple.com>
106
107         Reviewed by Simon Fraser.
108
109         https://bugs.webkit.org/show_bug.cgi?id=26943
110
111         When one transition finishes slightly before another the longer
112         one will fire a second time. This is because the second
113         ImplicitAnmation object is culled too early, before its final
114         RenderStyle is in place. This is done by cleanupFinishedAnimations()
115         so I got rid of that method completely and now cleanup each
116         transition or animation at the point where I am setting the final
117         style, or when I detect that the transition or animation has been
118         terminated early (which happens when you remove it from the style).
119
120         Test: transitions/extra-transition.html
121
122         * page/animation/AnimationController.cpp:
123         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
124         * page/animation/CompositeAnimation.cpp:
125         (WebCore::CompositeAnimation::updateTransitions):
126         (WebCore::CompositeAnimation::updateKeyframeAnimations):
127         (WebCore::CompositeAnimation::animate):
128         * page/animation/CompositeAnimation.h:
129
130         * page/animation/AnimationBase.cpp:
131         (WebCore::AnimationBase::getTimeToNextEvent):
132         Avoid a divide by zero if m_animation->duration() is zero, which can happen
133         if the duration is changed to zero while the animation is running.
134
135 2009-07-05  Simon Fraser  <simon.fraser@apple.com>
136
137         Revert the previous commit because it broke the
138         animations/transition-and-animation-1.html
139         testcase.
140
141         * page/animation/AnimationBase.cpp:
142         (WebCore::AnimationBase::getTimeToNextEvent):
143         * page/animation/AnimationController.cpp:
144         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
145         * page/animation/CompositeAnimation.cpp:
146         (WebCore::CompositeAnimation::updateTransitions):
147         (WebCore::CompositeAnimation::updateKeyframeAnimations):
148         (WebCore::CompositeAnimation::animate):
149         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
150         * page/animation/CompositeAnimation.h:
151
152 2009-07-05  Chris Marrin  <cmarrin@apple.com>
153
154         Reviewed by Simon Fraser.
155
156         https://bugs.webkit.org/show_bug.cgi?id=26943
157
158         When one transition finishes slightly before another the longer
159         one will fire a second time. This is because the second 
160         ImplicitAnmation object is culled too early, before its final
161         RenderStyle is in place. This is done by cleanupFinishedAnimations()
162         so I got rid of that method completely and now cleanup each 
163         transition or animation at the point where I am setting the final
164         style, or when I detect that the transition or animation has been
165         terminated early (which happens when you remove it from the style).
166
167         Test: transitions/extra-transition.html
168
169         * page/animation/AnimationController.cpp:
170         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
171         * page/animation/CompositeAnimation.cpp:
172         (WebCore::CompositeAnimation::updateTransitions):
173         (WebCore::CompositeAnimation::updateKeyframeAnimations):
174         (WebCore::CompositeAnimation::animate):
175         * page/animation/CompositeAnimation.h:
176
177         * page/animation/AnimationBase.cpp:
178         (WebCore::AnimationBase::getTimeToNextEvent):
179         Avoid a divide by zero if m_animation->duration() is zero, which can happen
180         if the duration is changed to zero while the animation is running.
181
182 2009-07-05  Lars Knoll  <lars.knoll@nokia.com>
183
184         Reviewed by Maciej Stachowiak.
185
186         https://bugs.webkit.org/show_bug.cgi?id=26843
187
188         Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
189
190         The Metrowerks compiler on the Symbian platform moves the globally
191         defined Hashtables into read-only memory, despite one of the members
192         being mutable. This causes crashes at run-time due to write access to
193         read-only memory.
194
195         Avoid the use of const with this compiler by introducing the
196         JSC_CONST_HASHTABLE macro.
197
198         Based on idea by Norbert Leser.
199
200         * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
201         define in the bindings.
202
203 2009-07-05  Rob Buis  <rwlbuis@gmail.com>
204
205         Reviewed by Maciej Stachowiak.
206
207         Bug 26897 - Dynamic SVG images do not display correctly
208         https://bugs.webkit.org/show_bug.cgi?id=26897
209
210         Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
211
212         Test: svg/custom/createImageElement2.xhtml
213
214         * rendering/RenderSVGImage.cpp:
215         (WebCore::RenderSVGImage::imageChanged):
216
217 2009-07-05  Xan Lopez  <xlopez@igalia.com>
218
219         Reviewed by Jan Alonzo.
220
221         https://bugs.webkit.org/show_bug.cgi?id=26960
222         [Gtk] caret offset not updated when selecting text
223
224         Report the caret offset from the end of the selection so it works
225         correctly for multi-char selections too (ie, anything that is not
226         the zero width caret).
227
228         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
229         (webkit_accessible_text_get_caret_offset):
230
231 2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
232
233         Unreviewed link fix for Qt.
234
235         Fix Qt link error by adding two new localized strings
236
237         In r45474 two new strings got added to LocalizedStrings.h add
238         the definition of them to Qt.
239
240         * platform/qt/Localizations.cpp:
241         (WebCore::mediaElementLoadingStateText):
242         (WebCore::mediaElementLiveBroadcastStateText):
243
244 2009-07-03  Darin Adler  <darin@apple.com>
245
246         Reviewed by Adele Peterson.
247
248         REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
249         https://bugs.webkit.org/show_bug.cgi?id=26959
250         rdar://problem/7029882
251
252         The code to handle iteration boundaries was malfunctioning when the boundary was
253         at the edge of a shadow tree. This happens all the time with <input> elements.
254
255         It's not immediately obvious how to make a regression test for this since the
256         symptom was a performance problem, not incorrect behavior. I'll add a test if I
257         figure out a way to make one.
258
259         * editing/TextIterator.cpp:
260         (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
261         (WebCore::depthCrossingShadowBoundaries): Updated for name change.
262         (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
263         (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
264         (WebCore::setUpFullyClippedStack): Updated for name change.
265         (WebCore::TextIterator::TextIterator): Updated for name change. Use
266         nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
267         (WebCore::TextIterator::advance): Updated for name change.
268         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
269         Tweaked formatting.
270         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
271         initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
272         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
273         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
274
275 2009-07-03  Simon Fraser  <simon.fraser@apple.com>
276
277         Reviewed by Sam Weinig.
278
279         Background audio stops playing when JS GC runs
280         https://bugs.webkit.org/show_bug.cgi?id=26956
281         
282         Ensure we keep the Audio object around while it is playing, so that it
283         doesn't get collected.
284         
285         Not testable because there's no way to know whether the audio keeps
286         playing without holding a reference to it.
287
288         * bindings/js/JSDOMBinding.cpp:
289         (WebCore::isObservableThroughDOM):
290
291 2009-07-02  Xan Lopez  <xlopez@igalia.com>
292
293         Reviewed by Jan Alonzo.
294
295         https://bugs.webkit.org/show_bug.cgi?id=26814
296         [Gtk] Caret-moved events are not issued for the correct offset
297         when text is selected forward
298
299         Report the caret offset from the end of the selection, otherwise
300         we'll report the same offset when moving the caret while
301         modififying the selection (eg, with Shift + Right).
302
303         * editing/gtk/SelectionControllerGtk.cpp:
304         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
305
306 2009-07-02  Xan Lopez  <xlopez@igalia.com>
307
308         Reviewed by Jan Alonzo.
309
310         https://bugs.webkit.org/show_bug.cgi?id=26815
311         [Gtk] text-selection-changed events are not issued for the correct
312         object when the selection spans multiple objects
313
314         Get the focused node from the end of the selection, not the start,
315         so we can detect when we cross object boundaries.
316
317         * editing/gtk/SelectionControllerGtk.cpp:
318         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
319
320 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
321
322         Reviewed by Simon Fraser.
323
324         https://bugs.webkit.org/show_bug.cgi?id=26947
325
326         Fix the media controls hit tests. They may lose click events.
327
328         Test cases already covered in the video-controls-zoomed tests.
329
330         Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
331
332         * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
333         * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
334
335 2009-07-02  Roland Steiner  <rolandsteiner@google.com>
336
337         Reviewed by Eric Seidel.
338
339         RenderBlock and RenderInline have confusingly named object creation methods:
340         RenderBlock::createRootBox/createRootInlineBox
341         RenderInline::createFlowBox/createInlineFlowBox
342         where the 2nd method in both cases just calls the first and then appends the created object.
343         I therefore renamed those methods to something IMHO more informative:
344         
345         createRootBox()         -> createRootInlineBox()
346         createRootInlineBox()   -> createAndAppendRootInlineBox();
347         createFlowBox()         -> createInlineFlowBox();
348         createInlineFlowBox()   -> createAndAppendInlineFlowBox();
349
350         https://bugs.webkit.org/show_bug.cgi?id=26828
351
352         * rendering/RenderBlock.cpp:
353         (WebCore::RenderBlock::createRootInlineBox):
354         (WebCore::RenderBlock::createAndAppendRootInlineBox):
355         * rendering/RenderBlock.h:
356         * rendering/RenderInline.cpp:
357         (WebCore::RenderInline::createInlineFlowBox):
358         (WebCore::RenderInline::createAndAppendInlineFlowBox):
359         * rendering/RenderInline.h:
360         * rendering/RenderSVGInline.cpp:
361         (WebCore::RenderSVGInline::createInlineFlowBox):
362         * rendering/RenderSVGInline.h:
363         * rendering/RenderSVGText.cpp:
364         (WebCore::RenderSVGText::createRootInlineBox):
365         * rendering/RenderSVGText.h:
366         * rendering/bidi.cpp:
367         (WebCore::createInlineBoxForRenderer):
368
369 2009-07-02  Pavel Feldman  <pfeldman@chromium.org>
370
371         Reviewed by Timothy Hatcher.
372
373         WebInspector: Fix typo in the resource panel enabler caption.
374
375         https://bugs.webkit.org/show_bug.cgi?id=26753
376
377         * English.lproj/localizedStrings.js:
378         * inspector/front-end/ResourcesPanel.js:
379         (WebInspector.ResourcesPanel):
380
381 2009-07-02  Erik Arvidsson  <arv@chromium.org>
382
383         Reviewed by Adam Roben.
384
385         [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
386         https://bugs.webkit.org/show_bug.cgi?id=26699
387
388         * manual-tests/drag-escape.html: Added.
389         * page/EventHandler.cpp:
390         (WebCore::EventHandler::dragSourceEndedAt):
391
392 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
393
394         Reviewed by Simon Fraser. 
395         
396         https://bugs.webkit.org/show_bug.cgi?id=26944
397
398         Make sure we support full page zoom in video controls.
399
400         This is tracked by a the video-controls-zoom test case.
401
402         * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
403         * rendering/MediaControlElements.cpp:
404         (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
405         * rendering/RenderThemeMac.mm: Adjust the painting rect.
406         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
407         (WebCore::RenderThemeMac::paintMediaSliderTrack):
408         (WebCore::RenderThemeMac::paintMediaCurrentTime):
409         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
410
411 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
412
413         Fix the Gtk build after r45474. The localized strings should
414         have been added there.
415
416         * platform/gtk/LocalizedStringsGtk.cpp:
417         (WebCore::mediaElementLoadingStateText):
418         (WebCore::mediaElementLiveBroadcastStateText):
419
420 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
421
422         Reviewed by Simon Fraser.
423
424         https://bugs.webkit.org/show_bug.cgi?id=26939
425
426         Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
427
428         We fix two things:
429         - We use px instead of em, because px is used everywhere else
430         and because 0.09em hit the font size limit.
431         - We use -webkit-box instead of inline-block because in strict mode
432         inline-block has a different behavior.
433
434         Test: media/controls-strict.html
435
436         * css/mediaControlsQT.css:
437
438 2009-07-02  David Hyatt  <hyatt@apple.com>
439
440         Reviewed by Dan Bernstein.
441
442         TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
443         https://bugs.webkit.org/show_bug.cgi?id=26942
444
445         * editing/TextIterator.cpp:
446         (WebCore::fullyClipsContents):
447
448 2009-07-02  Sam Weinig  <sam@webkit.org>
449
450         Reviewed by Dave Hyatt.
451
452         Fix for <rdar://problem/5230700>
453         Remove local .xhtml file workaround
454
455         * platform/network/mac/ResourceResponseMac.mm:
456         (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
457
458 2009-07-02  Anders Carlsson  <andersca@apple.com>
459
460         Reviewed by Dan Bernstein.
461
462         Sort, add functions used by WebKit.
463         
464         * WebCore.base.exp:
465
466 2009-07-02  Brady Eidson  <beidson@apple.com>
467
468         Rubberstamped by Sam Weinig.
469
470         More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
471
472         * platform/network/mac/WebCoreURLResponse.mm:
473         (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
474
475 2009-07-02  Adam Langley  <agl@google.com>
476
477         Reviewed by Eric Seidel.
478
479         Chromium Linux: fix complex text rendering with line break characters.
480
481         https://bugs.webkit.org/show_bug.cgi?id=26935
482
483         If the CSS white-space property is inhibiting line breaking, we might
484         find end-of-line characters rendered via the complex text path. Fonts
485         don't provide glyphs for these code points so, if we find one, we
486         simulate the space glyph being interposed in this case.  Because the
487         input is variable-length per code point, we walk the input in step
488         with the output.
489
490         Covered by:
491             LayoutTests/fast/text/international/bidi-linebreak-002.html
492             LayoutTests/fast/text/international/bidi-linebreak-003.html
493             LayoutTests/fast/text/international/hindi-whitespace.html
494
495         * platform/graphics/chromium/HarfbuzzSkia.cpp:
496         (WebCore::stringToGlyphs):
497
498 2009-07-02  Victor Wang  <victorw@chromium.org>
499
500         Reviewed by Darin Fisher.
501
502         https://bugs.webkit.org/show_bug.cgi?id=26521
503         Expose file size to chromium.
504
505         Implement getFileSize() for Chromium.
506
507         * platform/chromium/ChromiumBridge.h:
508         * platform/chromium/FileSystemChromium.cpp:
509         (WebCore::getFileSize):
510
511 2009-07-02  Nate Chapin  <japhet@chromium.org>
512
513         Unreviewed, build fix.
514
515         * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
516
517 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
518
519         Build fix: add missing #include.
520
521         * platform/mac/ThemeMac.mm:
522
523 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
524
525         Reviewed by Dave Hyatt.
526
527         <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
528
529         Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
530         that can possibly throw Objective-C exceptions when drawing Mac form controls.
531
532         * platform/mac/ThemeMac.mm:
533         (WebCore::paintCheckbox):
534         (WebCore::paintRadio):
535         (WebCore::paintButton):
536         (WebCore::ThemeMac::inflateControlPaintRect):
537
538 2009-07-02  Nate Chapin  <japhet@chromium.org>
539
540         Reviewed by David Levin.
541
542         Upstream V8SVGPODTypeWrapper.
543
544         https://bugs.webkit.org/show_bug.cgi?id=26907
545
546         * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
547         * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
548
549 2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
550
551         Reviewed by Dimitri Glazkov.
552
553         Adds an abstraction layer between the DB classes and the file
554         system, which allows us to add our own logic for storing, opening,
555         deleting, etc. databases.
556
557         The patch was tested using the tests in WebCore/storage.
558
559         https://bugs.webkit.org/show_bug.cgi?id=26054
560
561         * GNUmakefile.am:
562         * WebCore.pro:
563         * WebCore.vcproj/WebCore.vcproj:
564         * WebCore.xcodeproj/project.pbxproj:
565         * platform/sql/SQLiteDatabase.cpp:
566         (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
567         * platform/sql/SQLiteFileSystem.cpp: Added.
568         * platform/sql/SQLiteFileSystem.h: Added.
569         * platform/win/FileSystemWin.cpp:
570         (WebCore::directoryName): Implemented.
571         * storage/Database.cpp:
572         (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
573         * storage/DatabaseTracker.cpp:
574         (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
575         (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
576         (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
577         (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
578         (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
579         (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
580         (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
581         (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
582         * storage/OriginUsageRecord.cpp:
583         (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
584
585 2009-07-02  David Hyatt  <hyatt@apple.com>
586
587         Reviewed by Simon Fraser.
588
589         Always clip replaced elements to border radii.
590         https://bugs.webkit.org/show_bug.cgi?id=26933
591
592         Make sure to always clip replaced elements to border radii, even when overflow is visible.
593         Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
594         necessary.
595
596         Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
597
598         * css/html.css:
599         * rendering/RenderReplaced.cpp:
600         (WebCore::RenderReplaced::paint):
601         * rendering/RenderWidget.cpp:
602         (WebCore::RenderWidget::paint):
603
604 2009-07-02  Jeremy Orlow  <jorlow@chromium.org>
605
606         Reviewed by Simon Fraser.
607
608         convertFromScrollbarToContainingView and friends should be in ScrollView
609         https://bugs.webkit.org/show_bug.cgi?id=26929
610
611         This is breaking Chromium's build because PopupMenuChromium inherits
612         from ScrollView, but these functions are pure virtual in it.  I could
613         put it directly in PopupMenuChromium, but that seems a bit silly since
614         the functions are fairly generic.
615
616         Passes existing layout tests.
617
618         * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
619         (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
620         (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
621         (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
622         (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
623         * page/FrameView.h: ditto
624         * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
625         (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
626         (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
627         (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
628         (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
629         * platform/ScrollView.h: ditto
630
631 2009-07-02  Dirk Pranke  <dpranke@chromium.org>
632
633         Reviewed by Darin Fisher.
634
635         Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
636         doesn't handle errors well at all; revise it to fail silently 
637         (drawing nothing), and bulletproof FontChromiumWin to handle the
638         failure accordingly.
639
640         Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
641                fast/text/text-letter-spacing.html
642
643         * platform/graphics/chromium/FontChromiumWin.cpp:
644         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
645         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
646         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
647         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
648         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
649         (WebCore::Font::drawGlyphs):
650         (WebCore::Font::drawComplexText):
651         * platform/graphics/chromium/TransparencyWin.cpp:
652         (WebCore::TransparencyWin::TransparencyWin):
653         (WebCore::TransparencyWin::setupLayerForNoLayer):
654         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
655         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
656         (WebCore::TransparencyWin::setupTransformForKeepTransform):
657         (WebCore::TransparencyWin::setupTransformForScaleTransform):
658         (WebCore::TransparencyWin::initializeNewContext):
659         (WebCore::TransparencyWin::compositeOpaqueComposite):
660         (WebCore::TransparencyWin::compositeTextComposite):
661         (WebCore::TransparencyWin::makeLayerOpaque):
662         * platform/graphics/chromium/TransparencyWin.h:
663         (WebCore::TransparencyWin::platformContext):
664
665 2009-07-02  Eric Carlson  <eric.carlson@apple.com>
666
667         Change #import to #include to fix non-ObjC builds.
668
669         * rendering/MediaControlElements.cpp:
670
671 2009-07-02  Anders Carlsson  <andersca@apple.com>
672
673         Build fix.
674         
675         * platform/network/mac/WebCoreURLResponse.mm:
676         (mimeTypeFromUTITree):
677
678 2009-07-02  David Hyatt  <hyatt@apple.com>
679
680         Reviewed by Simon Fraser.
681
682         Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
683         conversion methods for going across parent/child widget boundaries that can be implemented
684         by the FrameView and ScrollbarClient to be transform-aware.
685
686         Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
687
688         * WebCore.base.exp:
689         * page/EventHandler.cpp:
690         (WebCore::EventHandler::handleMouseMoveEvent):
691         * page/FrameView.cpp:
692         (WebCore::FrameView::convertFromScrollbarToContainingView):
693         (WebCore::FrameView::convertFromContainingViewToScrollbar):
694         (WebCore::FrameView::convertFromRenderer):
695         (WebCore::FrameView::convertToRenderer):
696         (WebCore::FrameView::convertToContainingView):
697         (WebCore::FrameView::convertFromContainingView):
698         * page/FrameView.h:
699         * platform/ScrollView.h:
700         * platform/Scrollbar.cpp:
701         (WebCore::Scrollbar::convertToContainingView):
702         (WebCore::Scrollbar::convertFromContainingView):
703         * platform/Scrollbar.h:
704         * platform/ScrollbarClient.h:
705         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
706         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
707         * platform/Widget.cpp:
708         (WebCore::Widget::convertFromContainingWindow):
709         (WebCore::Widget::convertToContainingWindow):
710         (WebCore::Widget::convertFromRootToContainingWindow):
711         (WebCore::Widget::convertFromContainingWindowToRoot):
712         (WebCore::Widget::convertToContainingView):
713         (WebCore::Widget::convertFromContainingView):
714         * platform/Widget.h:
715         * platform/graphics/IntPoint.h:
716         (WebCore::IntPoint::move):
717         * platform/mac/WidgetMac.mm:
718         (WebCore::Widget::convertFromRootToContainingWindow):
719         (WebCore::Widget::convertFromContainingWindowToRoot):
720         * rendering/RenderBlock.cpp:
721         (WebCore::RenderBlock::isPointInOverflowControl):
722         * rendering/RenderDataGrid.cpp:
723         (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
724         (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
725         * rendering/RenderDataGrid.h:
726         * rendering/RenderLayer.cpp:
727         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
728         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
729         (WebCore::RenderLayer::scrollbarOffset):
730         (WebCore::RenderLayer::hitTestOverflowControls):
731         * rendering/RenderLayer.h:
732         * rendering/RenderListBox.cpp:
733         (WebCore::RenderListBox::isPointInOverflowControl):
734         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
735         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
736         * rendering/RenderListBox.h:
737
738 2009-07-02  Dan Bernstein  <mitz@apple.com>
739
740         Reviewed by Dave Hyatt and Simon Fraser.
741
742         - fix <rdar://problem/6933052> SPOD playing video in a div with a box
743           shadow
744
745         Test: fast/box-shadow/transform-fringing.html
746
747         * rendering/RenderBoxModelObject.cpp:
748         (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
749         box even if it has an opaque background, but in that case, inset the
750         clip path by 1 pixel, to avoid antialiasing artifacts.
751         Do not inset the clip rect by 1 pixel if the CTM is purely a
752         translation.
753         Move the shadow-casting path away in the non-rounded-rect case (it
754         was already being done in the rounded-rect case), to avoid a black
755         fringe when the CTM is not purely a translation.
756
757 2009-07-02  Brady Eidson  <beidson@apple.com>
758
759         Reviewed by Sam Weinig.
760
761         <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
762
763         Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
764
765         For many types of text files (such as source code files) this ends up being text/plain.
766
767         * platform/network/mac/ResourceHandleMac.mm:
768         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
769
770         * platform/network/mac/WebCoreURLResponse.h:
771         * platform/network/mac/WebCoreURLResponse.mm:
772         (mimeTypeFromUTITree): 
773         (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
774         (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
775
776 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
777
778         Reviewed by Simon Fraser.
779
780         <rdar://problem/6518119>
781
782         Add a rewind button and hide the timeline for live broadcasts when
783         in MediaUI mode.
784
785         * css/CSSPrimitiveValueMappings.h: 
786         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
787
788         * css/CSSSelector.cpp:
789         (WebCore::CSSSelector::extractPseudoType): Ditto.
790         * css/CSSSelector.h: 
791
792         * css/CSSStyleSelector.cpp:
793         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
794
795         * css/CSSValueKeywords.in: Ditto.
796         * css/mediaControls.css: Ditto.
797         * css/mediaControlsQT.css: Ditto.
798
799         * html/HTMLMediaElement.cpp:
800         (WebCore::HTMLMediaElement::rewind): New.
801         (WebCore::HTMLMediaElement::returnToRealTime): New.
802         (WebCore::HTMLMediaElement::isStreaming): New.
803         * html/HTMLMediaElement.h:
804
805         * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
806
807         * platform/LocalizedStrings.h: Add localized media state messages.
808
809         * platform/ThemeTypes.h: Add the new pseudo element.
810
811         * platform/mac/LocalizedStringsMac.mm: 
812         (WebCore::mediaElementLoadingStateText): Add localized media state.
813         (WebCore::mediaElementLiveBroadcastStateText): Ditto.
814
815         * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
816            multiple states.
817         * platform/mac/WebCoreSystemInterface.mm: Ditto.
818
819         * rendering/MediaControlElements.cpp: 
820         (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
821         (WebCore::MediaControlElement::attachToParent): Ditto.
822         (WebCore::MediaControlElement::update): Ditto.
823         (WebCore::MediaControlElement::updateStyle): Ditto.
824         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
825         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
826         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
827         (WebCore::MediaControlStatusDisplayElement::update): Ditto.
828         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
829         (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
830         (WebCore::MediaControlInputElement::attachToParent): Ditto.
831         (WebCore::MediaControlInputElement::updateStyle): Ditto.
832         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
833         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
834         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
835         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
836         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
837         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
838         (WebCore::MediaControlTimelineElement::update): Ditto.
839         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
840         * rendering/MediaControlElements.h: Ditto.
841
842         * rendering/RenderMedia.cpp: 
843         (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
844         (WebCore::RenderMedia::createPanel): Ditto.
845         (WebCore::RenderMedia::createRewindButton): Ditto.
846         (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
847         (WebCore::RenderMedia::createStatusDisplay): Ditto.
848         (WebCore::RenderMedia::createTimelineContainer): Ditto.
849         (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
850         (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
851         (WebCore::RenderMedia::updateControls): Ditto.
852         (WebCore::RenderMedia::forwardEvent): Ditto.
853         * rendering/RenderMedia.h:
854
855         * rendering/RenderTheme.cpp:
856         (WebCore::RenderTheme::paint): Deal with the new elements.
857
858         * rendering/RenderTheme.h:
859         (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
860         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
861         (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
862
863         * rendering/RenderThemeMac.h:
864         * rendering/RenderThemeMac.mm:
865         (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
866         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
867         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
868
869         * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
870
871 2009-07-01  John Abd-El-Malek  <jam@chromium.org>
872
873         Reviewed by Darin Fisher.
874
875         Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
876         may be defined at the WebKit layer.
877
878         https://bugs.webkit.org/show_bug.cgi?id=26905
879
880         * dom/MessageChannel.cpp:
881         (WebCore::MessageChannel::MessageChannel):
882         * dom/MessagePortChannel.cpp:
883         * dom/MessagePortChannel.h:
884         * dom/default/PlatformMessagePortChannel.cpp:
885         (WebCore::MessagePortChannel::createChannel):
886         (WebCore::MessagePortChannel::create):
887         (WebCore::MessagePortChannel::MessagePortChannel):
888         (WebCore::MessagePortChannel::~MessagePortChannel):
889
890 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
891
892         Reviewed by Dan Bernstein.
893
894         <video> fails to show on http://camendesign.com/code/video_for_everybody
895         <rdar://problem/7026010>
896         https://bugs.webkit.org/show_bug.cgi?id=26919
897
898         Fix an issue introduced in r44961. In that revision we changed to only update
899         compositing layer geometry when all siblings had been laid out (i.e. we pushed
900         the updates one level down). However, that left out the root layer, so this
901         fix ensures that the root layer geometry gets updated at the end.
902
903         Test: compositing/geometry/root-layer-update.html
904
905         * rendering/RenderLayerBacking.cpp:
906         (WebCore::RenderLayerBacking::updateAfterLayout):
907
908 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
909
910         Reviewed by Dan Bernstein
911         
912         <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
913
914         First part of fix: when outline width changes, don't to a synchronous
915         layer update right away, but just set the flag to say that compositing
916         layers need updating. The synchronous layer update left the layer geometries
917         out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
918         
919         Test: compositing/geometry/outline-change.html
920
921         * rendering/RenderView.cpp:
922         (WebCore::RenderView::setMaximalOutlineSize):
923
924 2009-07-01  Kwang Yul Seo  <skyul@company100.net>
925
926         Reviewed by Eric Seidel.
927
928         https://bugs.webkit.org/show_bug.cgi?id=26842
929         Build fix when ENABLE_DATABASE is off
930
931         Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
932         off does not break builds.
933
934         * bindings/js/ScriptObjectQuarantine.cpp:
935
936 2009-07-01  Daniel Bates  <dbates@intudata.com>
937
938         Reviewed by Adam Barth.
939         
940         https://bugs.webkit.org/show_bug.cgi?id=26899
941         
942         Modified XSSAuditor::decodeURL to only remove null characters so that 
943         it is consistent with the behavior of HTMLTokenizer and prevents 
944         injected scripts that contain control characters. 
945
946         Tests: http/tests/security/xssAuditor/script-tag-control-char.html
947                http/tests/security/xssAuditor/script-tag-null-char.html
948
949         * page/XSSAuditor.cpp:
950         (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
951         * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
952         from allowControlCharacters back to allowNullCharacters.
953         * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
954         (WebCore::isControlCharacter):
955         * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
956
957 2009-07-01  Yury Semikhatsky  <yurys@chromium.org>
958
959         Reviewed by Timothy Hatcher.
960
961         - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
962         F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
963         F10, Ctrl+' (win, lin), Command+' (mac) - step over
964         F11, Ctrl+; (win, lin), Command+; (mac) - step into
965         Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
966
967         - added call stack navigation shortcuts:
968         Ctrl+. - next call frame
969         Ctrl+, - previouse call frame
970
971         https://bugs.webkit.org/show_bug.cgi?id=23849
972
973         * inspector/front-end/CallStackSidebarPane.js:
974         (WebInspector.CallStackSidebarPane):
975         (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
976         (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
977         (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
978         (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
979         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
980         * inspector/front-end/KeyboardShortcut.js: Added.
981         (WebInspector.KeyboardShortcut):
982         (WebInspector.KeyboardShortcut.makeKey):
983         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
984         (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
985         * inspector/front-end/ScriptsPanel.js:
986         (WebInspector.ScriptsPanel):
987         (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
988         * inspector/front-end/WebKit.qrc:
989         * inspector/front-end/inspector.html:
990
991 2009-07-01  Daniel Erat  <derat@google.com>
992
993         Reviewed by David Levin.
994
995         Chromium Linux: Move the scrollbar thumb on middle-click.
996
997         https://bugs.webkit.org/show_bug.cgi?id=26910
998         http://code.google.com/p/chromium/issues/detail?id=11976
999
1000         Tested by building Chrome and checking that the scrollbar moves as expected.
1001
1002         * platform/chromium/ScrollbarThemeChromium.cpp:
1003         * platform/chromium/ScrollbarThemeChromium.h:
1004         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1005         * platform/chromium/ScrollbarThemeChromiumLinux.h:
1006         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1007         * platform/chromium/ScrollbarThemeChromiumWin.h:
1008
1009 2009-07-01  Brady Eidson  <beidson@apple.com>
1010
1011         Reviewed by Sam Weinig.
1012
1013         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
1014
1015         * WebCore.base.exp:
1016
1017         * page/Settings.cpp:
1018         (WebCore::Settings::setLocalFileContentSniffingEnabled):
1019         * page/Settings.h:
1020         (WebCore::Settings::localFileContentSniffingEnabled):
1021
1022         * platform/network/mac/ResourceHandleMac.mm:
1023         (WebCore::ResourceHandle::start):
1024         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1025
1026 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
1027
1028         Reviewed by Oliver Hunt.
1029
1030         Bug 26909: aria-label needs to be supported
1031         https://bugs.webkit.org/show_bug.cgi?id=26909
1032
1033         Test: accessibility/aria-label.html
1034
1035         * accessibility/AccessibilityRenderObject.cpp:
1036         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1037         * html/HTMLAttributeNames.in:
1038
1039 2009-07-01  David Hyatt  <hyatt@apple.com>
1040
1041         Reviewed by Oliver Hunt.
1042
1043         More datagrid columns work.  Make sure columns cache both a style for the column header as well
1044         as a style for the column background (behind the cells).
1045
1046         Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
1047         unimplemented).
1048
1049         * css/CSSStyleSelector.cpp:
1050         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
1051         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
1052         * css/CSSStyleSelector.h:
1053         * html/DataGridColumn.h:
1054         (WebCore::DataGridColumn::setColumnList):
1055         (WebCore::DataGridColumn::columnStyle):
1056         (WebCore::DataGridColumn::setColumnStyle):
1057         (WebCore::DataGridColumn::headerStyle):
1058         (WebCore::DataGridColumn::setHeaderStyle):
1059         * rendering/RenderDataGrid.cpp:
1060         (WebCore::RenderDataGrid::recalcStyleForColumn):
1061         (WebCore::RenderDataGrid::columnStyle):
1062         (WebCore::RenderDataGrid::headerStyle):
1063         (WebCore::RenderDataGrid::paintColumnHeaders):
1064         * rendering/RenderDataGrid.h:
1065
1066 2009-07-01  Eric Carlson  <eric.carlson@apple.com>
1067
1068         Reviewed by Oliver Hunt.
1069         
1070         <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
1071         back to Play button
1072
1073         Grab onto the current time when QTKit "ended" notification fires and use it as 
1074         duration from that point on as QuickTime sometimes refuses to play all the way to
1075         the time it reports for duration and buffered. HTMLMediaElement assumes that there
1076         more to play in this situation and tries to restart playback, endlessly.
1077
1078         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1079             Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
1080         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1081         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1082             Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
1083         (WebCore::MediaPlayerPrivate::duration):
1084             Return m_cachedDuration once it has been set.
1085         (WebCore::MediaPlayerPrivate::updateStates):
1086             Rename m_duration to m_reportedDuration.
1087         (WebCore::MediaPlayerPrivate::didEnd):
1088             Set m_cachedDuration to currentTime().
1089
1090 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
1091
1092         Reviewed by Beth Dakin.
1093
1094         Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
1095         https://bugs.webkit.org/show_bug.cgi?id=26900
1096
1097         Editable web areas should have a clickpoint that uses where the selection is.
1098
1099         Test: accessibility/editable-webarea-context-menu-point.html
1100
1101         * accessibility/AccessibilityObject.h:
1102         * accessibility/AccessibilityRenderObject.cpp:
1103         (WebCore::AccessibilityRenderObject::clickPoint):
1104         * accessibility/AccessibilityRenderObject.h:
1105         * accessibility/mac/AccessibilityObjectWrapper.mm:
1106         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1107
1108 2009-07-01  David Levin  <levin@chromium.org>
1109
1110         Reviewed by Eric Seidel.
1111
1112         Remove unused code in SVGTransformList and SVGTransformDistance
1113         <https://bugs.webkit.org/show_bug.cgi?id=26891>
1114
1115         * svg/SVGTransformDistance.cpp:
1116         (WebCore::SVGTransformDistance::SVGTransformDistance):
1117         * svg/SVGTransformList.cpp:
1118         * svg/SVGTransformList.h:
1119
1120 2009-07-01  David Hyatt  <hyatt@apple.com>
1121
1122         Reviewed by Anders Carlsson.
1123
1124         Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
1125         is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
1126
1127         * html/DataGridColumn.cpp:
1128         (WebCore::DataGridColumn::columnChanged):
1129         * html/DataGridColumn.h:
1130         (WebCore::DataGridColumn::setId):
1131         (WebCore::DataGridColumn::setLabel):
1132         (WebCore::DataGridColumn::setType):
1133         (WebCore::DataGridColumn::setSortable):
1134         (WebCore::DataGridColumn::setSortDirection):
1135         (WebCore::DataGridColumn::setColumnList):
1136         (WebCore::DataGridColumn::style):
1137         (WebCore::DataGridColumn::setStyle):
1138         (WebCore::DataGridColumn::rect):
1139         (WebCore::DataGridColumn::setRect):
1140         * html/DataGridColumnList.cpp:
1141         (WebCore::DataGridColumnList::DataGridColumnList):
1142         (WebCore::DataGridColumnList::setDataGridNeedsLayout):
1143         (WebCore::DataGridColumnList::add):
1144         (WebCore::DataGridColumnList::remove):
1145         (WebCore::DataGridColumnList::move):
1146         (WebCore::DataGridColumnList::clear):
1147         (WebCore::DataGridColumnList::primaryColumnChanged):
1148         * html/DataGridColumnList.h:
1149         (WebCore::DataGridColumnList::create):
1150         (WebCore::DataGridColumnList::dataGrid):
1151         (WebCore::DataGridColumnList::clearDataGrid):
1152         * html/HTMLDataGridColElement.cpp:
1153         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
1154         (WebCore::HTMLDataGridColElement::findDataGridAncestor):
1155         (WebCore::HTMLDataGridColElement::insertedIntoTree):
1156         (WebCore::HTMLDataGridColElement::removedFromTree):
1157         * html/HTMLDataGridColElement.h:
1158         (WebCore::HTMLDataGridColElement::dataGrid):
1159         * html/HTMLDataGridElement.cpp:
1160         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
1161         (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
1162         * rendering/RenderDataGrid.cpp:
1163         (WebCore::RenderDataGrid::styleDidChange):
1164         (WebCore::RenderDataGrid::recalcStyleForColumns):
1165         (WebCore::RenderDataGrid::recalcStyleForColumn):
1166         (WebCore::RenderDataGrid::styleForColumn):
1167         (WebCore::RenderDataGrid::layout):
1168         (WebCore::RenderDataGrid::layoutColumns):
1169         (WebCore::RenderDataGrid::paintColumnHeaders):
1170         (WebCore::RenderDataGrid::paintColumnHeader):
1171         * rendering/RenderDataGrid.h:
1172         (WebCore::RenderDataGrid::renderName):
1173         (WebCore::RenderDataGrid::canHaveChildren):
1174
1175 2009-07-01  Daniel Bates  <dbates@intudata.com>
1176
1177         Reviewed by Adam Barth.
1178
1179         https://bugs.webkit.org/show_bug.cgi?id=26807
1180         
1181         Fixes this address by checking whether frame->document()->decoder() is null. 
1182
1183         * page/XSSAuditor.cpp:
1184         (WebCore::XSSAuditor::findInRequest):
1185
1186 2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1187
1188         Reviewed by George Staikos.
1189
1190         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
1191
1192         Correctly reset history length to '0', not '1'. Old relict from early WML days.
1193         Add some new WML testcases covering the use of history length (by onenterforward event handling)
1194
1195         Tests: wml/onenterforward-event.html
1196                wml/onenterforward-inline-event.html
1197                wml/ontimer-event.html
1198  
1199         * wml/WMLPageState.cpp:
1200         (WebCore::WMLPageState::reset):
1201
1202 2009-07-01  David Hyatt  <hyatt@apple.com>
1203
1204         Reviewed by Simon Fraser.
1205
1206         Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
1207
1208         Added new test in fast/dom/HTMLDataGridElement.
1209
1210         * html/HTMLDataGridColElement.cpp:
1211         (WebCore::HTMLDataGridColElement::parseMappedAttribute):
1212         * html/HTMLDataGridColElement.h:
1213
1214 2009-07-01  David Hyatt  <hyatt@apple.com>
1215
1216         Reviewed by Tim Hatcher.
1217
1218         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
1219         even though the field is not actually focused for keyboard input
1220         
1221         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
1222         focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
1223         actually happen to have focus at that time.
1224
1225         * WebCore.base.exp:
1226         * page/FocusController.cpp:
1227         (WebCore::FocusController::FocusController):
1228         (WebCore::FocusController::setFocusedFrame):
1229         (WebCore::FocusController::setFocused):
1230         (WebCore::FocusController::setActive):
1231         * page/FocusController.h:
1232         (WebCore::FocusController::isFocused):
1233
1234 2009-07-01  Jakub Wieczorek  <faw217@gmail.com>
1235
1236         Reviewed by Simon Hausmann.
1237
1238         [Qt] Move some API headers from WebCore.pro to headers.pri so that they
1239         get installed when running make install from the build directory.
1240
1241         * WebCore.pro:
1242
1243 2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
1244
1245         Rubber-stamped by Ariya Hidayat.
1246
1247         Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
1248         qrc file with new png files from the web inspector.
1249
1250         * inspector/front-end/WebKit.qrc:
1251
1252 2009-06-30  Mark Rowe  <mrowe@apple.com>
1253
1254         Land some code that has a hope of compiling.
1255
1256         * platform/graphics/cg/ImageSourceCG.cpp:
1257         (WebCore::imageSourceOptions):
1258
1259 2009-06-30  Stephanie Lewis  <slewis@apple.com>
1260
1261         Reviewed by Simon Fraser.
1262
1263         Flip back on block caching. Throwing away block data, while 
1264         a perceived memory win, is a performance hit in cases where we 
1265         are repainting large images (i.e. backgrounds) frequently 
1266         (i.e. a flash video playing on top).  
1267         <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
1268         decoded on drawing, slowing down painting of sites that frequently 
1269         repaint e.g. because of Flash (pandora.com, Starcraft 2)
1270
1271         * platform/graphics/cg/ImageSourceCG.cpp:
1272         (WebCore::imageSourceOptions):
1273
1274 2009-06-30  Maciej Stachowiak  <mjs@apple.com>
1275
1276         Reviewed by Sam Weinig.
1277
1278         - Rename html4.css to html.css, since we target HTML5 now
1279         https://bugs.webkit.org/show_bug.cgi?id=26873
1280
1281         * DerivedSources.make:
1282         * GNUmakefile.am:
1283         * WebCore.pro:
1284         * WebCore.vcproj/WebCore.vcproj:
1285         * WebCore.xcodeproj/project.pbxproj:
1286         * css/CSSStyleSelector.cpp:
1287         (WebCore::loadFullDefaultStyle):
1288         * css/html.css: Copied from css/html4.css.
1289         * css/html4.css: Removed.
1290         * css/themeWin.css:
1291         * platform/Theme.h:
1292         * platform/qt/RenderThemeQt.cpp:
1293         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1294         * rendering/RenderTheme.h:
1295
1296 2009-06-30  Zan Dobersek  <zandobersek@gmail.com>
1297
1298         Reviewed by Gustavo Noronha.
1299
1300         [GTK] Drag and drop support
1301         https://bugs.webkit.org/show_bug.cgi?id=23642
1302
1303         Define DragImageRef as GdkPixbuf and implement essential
1304         functions which manipulate drag images.
1305
1306         * platform/DragImage.h:
1307         * platform/gtk/DragImageGtk.cpp:
1308         (WebCore::dragImageSize):
1309         (WebCore::deleteDragImage):
1310         (WebCore::scaleDragImage):
1311         (WebCore::createDragImageFromImage):
1312
1313 2009-06-30  Maxime Simon  <simon.maxime@gmail.com>
1314
1315         Reviewed by Eric Seidel.
1316
1317         StorageNamespace.cpp build issue
1318         https://bugs.webkit.org/show_bug.cgi?id=26859
1319
1320         Moved #endif //ENABLE(DOM_STORAGE) position
1321         so that the build doesn't fail.
1322         The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
1323         but closed after the #endif.
1324
1325         * storage/StorageNamespace.cpp:
1326
1327 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
1328
1329         Reviewed by Oliver Hunt.
1330
1331         <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
1332         buffered time ranges
1333
1334         * html/HTMLMediaElement.cpp:
1335             Don't ASSERT if the network state goes to Idle when when the ready state is 
1336             HaveEnoughData or higher, it is perfectly legal.
1337         (WebCore::HTMLMediaElement::setReadyState): 
1338             Don't clear m_seeking after posting a 'seeking' event.
1339
1340         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1341         (WebCore::MediaPlayerPrivate::seek):
1342             Do nothing when asked to seek to the same time we are already seeking to. Check requested
1343             seek time against maxTimeSeekable, not maxTimeLoaded.
1344         (WebCore::MediaPlayerPrivate::doSeek):
1345             Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
1346         (WebCore::MediaPlayerPrivate::seekTimerFired):
1347             Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
1348         (WebCore::MediaPlayerPrivate::updateStates):
1349             A streaming movie has as much data as it needs once it reaches "playable", so 
1350             set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
1351             to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
1352         (WebCore::MediaPlayerPrivate::timeChanged):
1353             It may not be possible to seek to a specific time in a streamed movie but when seeking 
1354             in a streaming movie QuickTime sets the time to closest time possible and posts a  
1355             timechanged notification, so update m_seekTo so we can detect when the seek completes.
1356
1357 2009-06-30  Steve Falkenburg  <sfalken@apple.com>
1358
1359         https://bugs.webkit.org/show_bug.cgi?id=26860
1360
1361         Reviewed by Sam Weinig.
1362
1363         Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
1364         Earlier versions cause corruption crashes.
1365
1366         * plugins/win/PluginPackageWin.cpp:
1367         (WebCore::PluginPackage::isPluginBlacklisted):
1368
1369 2009-06-30  Dean Jackson  <dino@apple.com>
1370
1371         Reviewed by Simon Fraser.
1372
1373         <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
1374         
1375         Fix drawImage of video in CanvasRenderingContext2D when
1376         accelerated compositing is enabled. This is done by
1377         adding a new paint method to HTMLVideoElement that
1378         is only called from canvas, which will create the software
1379         renderer if necessary, but otherwise calls the regular
1380         paint method. Meanwhile, add logic to the software video
1381         renderer so that it can be created without calling repaint
1382         every time it sees a new frame.
1383         
1384         * html/CanvasRenderingContext2D.cpp:
1385         (WebCore::CanvasRenderingContext2D::drawImage):
1386         * html/HTMLVideoElement.cpp:
1387         (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
1388         * html/HTMLVideoElement.h:
1389         * platform/graphics/MediaPlayer.cpp:
1390         (WebCore::MediaPlayer::paintCurrentFrameInContext):
1391         * platform/graphics/MediaPlayer.h:
1392         * platform/graphics/MediaPlayerPrivate.h:
1393         (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
1394         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1395         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1396         (WebCore::MediaPlayerPrivate::createQTMovie):
1397         (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
1398         (WebCore::MediaPlayerPrivate::currentRenderingMode):
1399         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
1400         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
1401         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
1402
1403 2009-06-30  David Hyatt  <hyatt@apple.com>
1404
1405         Reviewed by Beth Dakin.
1406
1407         https://bugs.webkit.org/show_bug.cgi?id=26858
1408
1409         Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
1410         properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
1411
1412         Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
1413
1414         * html/DataGridColumn.h:
1415         (WebCore::DataGridColumn::create):
1416         (WebCore::DataGridColumn::setColumnList):
1417         (WebCore::DataGridColumn::DataGridColumn):
1418         * html/DataGridColumnList.cpp:
1419         (WebCore::DataGridColumnList::add):
1420         (WebCore::DataGridColumnList::remove):
1421         (WebCore::DataGridColumnList::clear):
1422         * html/DataGridColumnList.h:
1423         * html/HTMLDataGridColElement.cpp:
1424         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
1425         (WebCore::HTMLDataGridColElement::findDatagridAncestor):
1426         (WebCore::HTMLDataGridColElement::ensureColumn):
1427         (WebCore::HTMLDataGridColElement::insertedIntoTree):
1428         (WebCore::HTMLDataGridColElement::removedFromTree):
1429         (WebCore::HTMLDataGridColElement::sortable):
1430         (WebCore::HTMLDataGridColElement::setSortable):
1431         * html/HTMLDataGridColElement.h:
1432         (WebCore::HTMLDataGridColElement::column):
1433         (WebCore::HTMLDataGridColElement::setColumn):
1434         (WebCore::HTMLDataGridColElement::datagrid):
1435         * html/HTMLDataGridElement.cpp:
1436         (WebCore::HTMLDataGridElement::setDataSource):
1437         (WebCore::HTMLDataGridElement::dataSource):
1438
1439 2009-06-30  Jeremy Orlow (jorlow@chromium.org)
1440
1441         Reviewed by David Levin.
1442
1443         https://bugs.webkit.org/show_bug.cgi?id=26852
1444
1445         Fix some minor build issues in the v8 bindings.
1446
1447         * bindings/v8/custom/V8StorageCustom.cpp:
1448         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
1449         (WebCore::storageGetter):
1450         (WebCore::storageSetter):
1451         (WebCore::storageDeleter):
1452         * storage/StorageArea.cpp:
1453
1454 2009-06-30  Adam Langley  <agl@google.com>
1455
1456         Reviewed by Eric Seidel.
1457
1458         Chromium Linux: use different fonts for each script run.
1459
1460         https://bugs.webkit.org/show_bug.cgi?id=26853
1461
1462         Previously, when rendering complex text, we picked a single font which
1463         could render all the glyphs needed for the run. However, this meant
1464         that sometimes lines were rendered with, for example, [LATIN, THAI,
1465         LATIN] and we could end up with a different font for the Latin parts
1466         than for lines without Thai in them.
1467
1468         With this patch, we pick a font for each script run.
1469
1470         This change is covered by existing layout tests.
1471
1472         * platform/graphics/chromium/FontLinux.cpp:
1473         (WebCore::Font::drawGlyphs):
1474         (WebCore::TextRunWalker::TextRunWalker):
1475         (WebCore::TextRunWalker::~TextRunWalker):
1476         (WebCore::TextRunWalker::nextScriptRun):
1477         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
1478         (WebCore::TextRunWalker::setupFontForScriptRun):
1479         (WebCore::TextRunWalker::allocHarfbuzzFont):
1480         (WebCore::setupForTextPainting):
1481         (WebCore::Font::drawComplexText):
1482         (WebCore::Font::floatWidthForComplexText):
1483         (WebCore::Font::offsetForPositionForComplexText):
1484         (WebCore::Font::selectionRectForComplexText):
1485         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1486         (WebCore::FontPlatformData::setupPaint):
1487
1488 2009-06-30  Simon Fraser  <simon.fraser@apple.com>
1489
1490         Reviewed by Dave Hyatt, Dan Bernstein.
1491         
1492         <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
1493
1494         There are two parts to this fix. First, if a compositing layer has overflow clipping
1495         or a mask, then the compositing layer does not need to be sized to encompass all
1496         non-composited children.
1497         
1498         Second, when scrolling, we have to back up to the compositing ancestor and have
1499         it reposition descendant compositing layers, because overflow doesn't follow
1500         the z-order tree.
1501         
1502         Test: compositing/overflow/overflow-scroll.html
1503
1504         * page/FrameView.cpp:
1505         (WebCore::FrameView::layout):
1506         Pass the UpdateCompositingLayers flag when updating layers after layout, so that
1507         we can reposition compositing layers if we're not about to do a layer rebuild.
1508         
1509         * rendering/RenderLayer.cpp:
1510         (WebCore::RenderLayer::updateLayerPositions):
1511         Only update compositing layers if the flag is set.
1512         
1513         (WebCore::RenderLayer::scrollToOffset):
1514         Do compositing layer updates from the compositing ancestor in one fell swoop.
1515
1516         * rendering/RenderLayer.h:
1517         Replace the unused FullUpdate flag with one that allows us to specify whether
1518         compositing layers should be updated.
1519         
1520         * rendering/RenderLayerBacking.cpp:
1521         (WebCore::RenderLayerBacking::updateAfterLayout):
1522         * rendering/RenderLayerBacking.h:
1523         New param that we can pass to updateCompositingDescendantGeometry to control
1524         whether the update goes deep.
1525
1526         * rendering/RenderLayerCompositor.cpp:
1527         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1528         We can return earlier if this is not a self-painting layer.
1529         If the layer has overflow clip or a mask, then the composited bounds are just the
1530         local bounds, excluding descendants.
1531         
1532         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
1533         * rendering/RenderLayerCompositor.h:
1534         Renamed from updateCompositingChildrenGeometry, and added a flag that allows
1535         us to do a deep update.
1536
1537 2009-06-30  Alexey Proskuryakov  <ap@webkit.org>
1538
1539         Reviewed by Dan Bernstein.
1540
1541         https://bugs.webkit.org/show_bug.cgi?id=26764
1542         Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
1543
1544         Test: fast/parser/empty-text-resource.html
1545
1546         * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
1547         hasn't been created yet.
1548
1549 2009-06-30  Brian Weinstein  <bweinstein@apple.com>
1550
1551         Reviewed by Adam Roben.
1552
1553         Renamed scrollbarUnderPoint to scrollbarAtPoint.
1554
1555         * page/EventHandler.cpp:
1556         (WebCore::EventHandler::hitTestResultAtPoint):
1557         (WebCore::EventHandler::handleMousePressEvent):
1558         (WebCore::EventHandler::handleMouseMoveEvent):
1559         * platform/ScrollView.cpp:
1560         (WebCore::ScrollView::scrollbarAtPoint):
1561         * platform/ScrollView.h:
1562         * platform/chromium/PopupMenuChromium.cpp:
1563         (WebCore::PopupListBox::handleMouseDownEvent):
1564         (WebCore::PopupListBox::handleMouseMoveEvent):
1565
1566 2009-06-30  Oliver Hunt  <oliver@apple.com>
1567
1568         Reviewed by Geoff Garen.
1569
1570         <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
1571
1572         <select> elements and other elements the produce popups can keep their popups
1573         live across a page load.  If this occurs and the <select> element has an
1574         onchange handler it is possible to get into a state where we try to execute
1575         JS on a page that no longer has an execution context. 
1576
1577         * bindings/js/JSLazyEventListener.cpp:
1578         (WebCore::JSLazyEventListener::parseCode):
1579           Be paranoid and add a null check, but assert as well because we shouldn't
1580           actually get to this point.
1581         * rendering/RenderMenuList.cpp:
1582         (WebCore::RenderMenuList::valueChanged):
1583
1584 2009-06-30  Drew Wilson  <atwilson@google.com>
1585
1586         Reviewed by David Levin.
1587
1588         <https://bugs.webkit.org/show_bug.cgi?id=25435>
1589
1590         Added support for sending MessagePorts to/from Workers via postMessage().
1591
1592         * bindings/js/JSWorkerContextCustom.cpp:
1593         (WebCore::JSWorkerContext::messageChannel):
1594         Exposes MessageChannel constructor WorkerContext.
1595         * bindings/js/JSWorkerCustom.cpp:
1596         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1597         (WebCore::CALLBACK_FUNC_DECL):
1598         Now correctly handles being instantiated from within a Worker.
1599        * platform/CrossThreadCopier.h:
1600         (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
1601         Added support for passing PassOwnPtr as argument to GenericWorkerTask
1602        * workers/GenericWorkerTask.h:
1603         (WebCore::):
1604         * workers/Worker.cpp:
1605         (WebCore::Worker::postMessage):
1606         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
1607         (WebCore::Worker::dispatchMessage):
1608         * workers/Worker.h:
1609         * workers/Worker.idl:
1610         Added an optional MessagePort argument to postMessage()
1611         * workers/WorkerContext.cpp:
1612         (WebCore::WorkerContext::hasPendingActivity):
1613         Workers now report pending activity whenever there are remotely entangled ports.
1614         (WebCore::WorkerContext::postMessage):
1615         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
1616         (WebCore::WorkerContext::dispatchMessage):
1617         * workers/WorkerContext.h:
1618         * workers/WorkerContext.idl:
1619         Added an optional MessagePort argument to postMessage()
1620         * workers/WorkerContextProxy.h:
1621         * workers/WorkerMessagingProxy.cpp:
1622         Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
1623         (WebCore::MessageWorkerContextTask::create):
1624         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
1625         (WebCore::MessageWorkerContextTask::performTask):
1626         (WebCore::MessageWorkerTask::create):
1627         (WebCore::MessageWorkerTask::MessageWorkerTask):
1628         (WebCore::MessageWorkerTask::performTask):
1629         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1630         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1631         * workers/WorkerMessagingProxy.h:
1632         Added additional postMessage() API that accepts a MessagePort
1633         * workers/WorkerObjectProxy.h:
1634         Added additional postMessage() API that accepts a MessagePort
1635
1636 2009-06-30  Adam Langley  <agl@google.com>
1637
1638         Reviewed by Eric Seidel.
1639
1640         Chromium: Add complex text support on Linux.
1641
1642         https://bugs.webkit.org/show_bug.cgi?id=25068
1643
1644         This patch adds complex text support on Linux using Harfbuzz. It's not
1645         the fastest code possible: some caching of font tables will certainly
1646         be required. However, it's probably the simplest code that works.
1647
1648         This will require checking in new baselines in the Chromium tree for
1649         those layout tests which now pass.
1650
1651         * platform/graphics/chromium/FontLinux.cpp:
1652         (WebCore::Font::drawGlyphs):
1653         (WebCore::truncateFixedPointToInteger):
1654         (WebCore::TextRunWalker::TextRunWalker):
1655         (WebCore::TextRunWalker::~TextRunWalker):
1656         (WebCore::TextRunWalker::reset):
1657         (WebCore::TextRunWalker::setXOffsetToZero):
1658         (WebCore::TextRunWalker::rtl):
1659         (WebCore::TextRunWalker::setBackwardsIteration):
1660         (WebCore::TextRunWalker::nextScriptRun):
1661         (WebCore::TextRunWalker::glyphs):
1662         (WebCore::TextRunWalker::length):
1663         (WebCore::TextRunWalker::xPositions):
1664         (WebCore::TextRunWalker::advances):
1665         (WebCore::TextRunWalker::width):
1666         (WebCore::TextRunWalker::logClusters):
1667         (WebCore::TextRunWalker::numCodePoints):
1668         (WebCore::TextRunWalker::widthOfFullRun):
1669         (WebCore::TextRunWalker::allocHarfbuzzFont):
1670         (WebCore::TextRunWalker::deleteGlyphArrays):
1671         (WebCore::TextRunWalker::createGlyphArrays):
1672         (WebCore::TextRunWalker::expandGlyphArrays):
1673         (WebCore::TextRunWalker::shapeGlyphs):
1674         (WebCore::TextRunWalker::setGlyphXPositions):
1675         (WebCore::setupForTextPainting):
1676         (WebCore::fontPlatformDataForTextRun):
1677         (WebCore::Font::drawComplexText):
1678         (WebCore::Font::floatWidthForComplexText):
1679         (WebCore::glyphIndexForXPositionInScriptRun):
1680         (WebCore::Font::offsetForPositionForComplexText):
1681         (WebCore::Font::selectionRectForComplexText):
1682         * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
1683         (WebCore::SkiaScalarToHarfbuzzFixed):
1684         (WebCore::stringToGlyphs):
1685         (WebCore::glyphsToAdvances):
1686         (WebCore::canRender):
1687         (WebCore::getOutlinePoint):
1688         (WebCore::getGlyphMetrics):
1689         (WebCore::getFontMetric):
1690         (WebCore::harfbuzzSkiaGetTable):
1691
1692 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
1693
1694         Reviewed by Simon Fraser.
1695
1696         <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
1697
1698         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1699         (WebCore::MediaPlayerPrivate::updateStates):
1700             Always fall back to a plug-in if m_hasUnsupportedTracks is set.
1701         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1702             Set m_hasUnsupportedTracks if we disable a track.
1703
1704 2009-06-30  Nate Chapin  <japhet@chromium.org>
1705
1706         Reviewed by Dimitri Glazkov.
1707
1708         Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
1709
1710         https://bugs.webkit.org/show_bug.cgi?id=26820
1711
1712         * bindings/v8/V8Proxy.cpp:
1713         (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
1714
1715 2009-06-30  Dan Bernstein  <mitz@apple.com>
1716
1717         Reviewed by Dave Hyatt.
1718
1719         - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
1720           to Grid" window is clipping
1721
1722         Added an app-specific quirk to revert the behavior of <link> elements
1723         to the way it was before r30673, namely that if the rel attribute
1724         is not "stylesheet" but the type attribute contains "text/css", the
1725         link behaves as a stylesheet link.
1726
1727         * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
1728         * html/HTMLLinkElement.cpp:
1729         (WebCore::HTMLLinkElement::process): Check
1730             Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
1731             style sheet link if the type contains "text/css".
1732         * page/Settings.cpp:
1733         (WebCore::Settings::Settings):
1734             Initialize m_treatsAnyTextCSSLinkAsStylesheet.
1735         (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
1736         * page/Settings.h:
1737         (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
1738
1739 2009-06-30  Adrien Nader  <camaradetux@gmail.com>
1740
1741         Reviewed by Xan Lopez.
1742
1743         Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
1744
1745         * GNUmakefile.am:
1746
1747 2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
1748
1749         Reviewed by Xan Lopez.
1750
1751         [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
1752
1753         * GNUmakefile.am:
1754
1755 2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
1756
1757         Reviewed by Simon Hausmann.
1758
1759         <https://bugs.webkit.org/show_bug.cgi?id=26752>
1760
1761         [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 
1762
1763         * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
1764
1765 2009-06-30  Xan Lopez  <xlopez@igalia.com>
1766
1767         Reviewed by Jan Alonzo.
1768
1769         Initialize member variables in the right order. Fixes compiler
1770         warning.
1771
1772         * platform/image-decoders/bmp/BMPImageReader.cpp:
1773         (WebCore::BMPImageReader::BMPImageReader):
1774
1775 2009-06-29  Xan Lopez  <xlopez@igalia.com>
1776
1777         Reviewed by David Levin.
1778
1779         https://bugs.webkit.org/show_bug.cgi?id=26831
1780         Fix compiler warning in WorkerLoaderProxy.h
1781
1782         Forward declaration of a class within a class is not allowed,
1783         since the compiler can't know if the declaration is legal at that
1784         point. This gives the following compiler warning:
1785
1786         ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
1787         "class WebCore::ScriptExecutionContext::Task" does not declare
1788         anything
1789
1790         Include the full ScriptExecutionHeader header instead.
1791
1792         * workers/WorkerLoaderProxy.h:
1793
1794 2009-06-29  Xan Lopez  <xlopez@igalia.com>
1795
1796         Reviewed by Jan Alonzo.
1797
1798         Remove unused function.
1799
1800         * plugins/gtk/PluginPackageGtk.cpp:
1801
1802 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
1803
1804         Reviewed by Dan Bernstein.
1805
1806         Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
1807         boolean arguments. FullUpdate is unused at present, but will be used soon.
1808
1809         * page/FrameView.cpp:
1810         (WebCore::FrameView::layout):
1811         * rendering/RenderLayer.cpp:
1812         (WebCore::RenderLayer::updateLayerPositions):
1813         (WebCore::RenderLayer::scrollToOffset):
1814         * rendering/RenderLayer.h:
1815         (WebCore::RenderLayer::):
1816
1817 2009-06-29  Nate Chapin  <japhet@chromium.org>
1818
1819         Reviewed by Dimitri Glazkov.
1820
1821         Fix one more bad merge in V8Proxy.
1822
1823         https://bugs.webkit.org/show_bug.cgi?id=26819
1824
1825         * bindings/v8/V8Proxy.cpp:
1826         (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
1827
1828 2009-06-29  Sam Weinig  <sam@webkit.org>
1829
1830         Reviewed by Mark Rowe.
1831
1832         Remove more unused scons support.
1833
1834         * SConstruct: Removed.
1835
1836 2009-06-29  Sam Weinig  <sam@webkit.org>
1837
1838         Reviewed by Dave Hyatt.
1839
1840         Fix some incorrect create functions.
1841
1842         * html/DataGridColumn.h:
1843         (WebCore::DataGridColumn::create):
1844         * html/DataGridColumnList.h:
1845         (WebCore::DataGridColumnList::create):
1846
1847 2009-06-29  Sam Weinig  <sam@webkit.org>
1848
1849         Reviewed by Dave Hyatt.
1850
1851         Remove initialize method from DataGridDataSource and add
1852         DOMDataGridDataSource.
1853
1854         * GNUmakefile.am:
1855         * WebCore.pro:
1856         * WebCore.vcproj/WebCore.vcproj:
1857         * WebCore.xcodeproj/project.pbxproj:
1858         * WebCoreSources.bkl:
1859         * bindings/js/JSDataGridDataSource.cpp:
1860         * bindings/js/JSDataGridDataSource.h:
1861         * bindings/js/JSHTMLDataGridElementCustom.cpp:
1862         (WebCore::JSHTMLDataGridElement::setDataSource):
1863         * html/DOMDataGridDataSource.cpp: Added.
1864         (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
1865         (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
1866         * html/DOMDataGridDataSource.h: Added.
1867         (WebCore::DOMDataGridDataSource::create):
1868         (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
1869         (WebCore::asDOMDataGridDataSource):
1870         * html/DataGridDataSource.h:
1871         (WebCore::DataGridDataSource::isDOMDataGridDataSource):
1872         (WebCore::DataGridDataSource::isJSDataGridDataSource):
1873         * html/HTMLDataGridElement.cpp:
1874         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
1875         (WebCore::HTMLDataGridElement::setDataSource):
1876         (WebCore::HTMLDataGridElement::dataSource):
1877         * html/HTMLDataGridElement.h:
1878
1879 2009-06-29  Nate Chapin  <japhet@chromium.org>
1880
1881         Reviewed by Dimitri Glazkov.
1882
1883         Fix a couple of bad merge items from my previous V8Proxy patch.
1884
1885         https://bugs.webkit.org/show_bug.cgi?id=26813
1886
1887         * bindings/v8/V8Collection.h:
1888         (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
1889         * bindings/v8/V8Proxy.cpp:
1890         (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
1891
1892 2009-06-29  Chris Marrin  <cmarrin@apple.com>
1893
1894         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
1895
1896         https://bugs.webkit.org/show_bug.cgi?id=26706
1897
1898         Fixed crash due to dereference of m_toStyle
1899
1900         * page/animation/ImplicitAnimation.cpp:
1901         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
1902
1903 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
1904
1905         Reviewed by Simon Fraser.
1906
1907         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
1908
1909         * WebCore.base.exp: 
1910             Export _wkQTMovieGetType
1911
1912         * platform/graphics/MediaPlayer.cpp:
1913         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
1914             Move to keep with other non-callback functions.
1915         (WebCore::MediaPlayer::movieLoadType):
1916             New, returns the movie type.
1917         * platform/graphics/MediaPlayer.h:
1918             Declare MovieLoadType enum and movieLoadType method.
1919
1920         * platform/graphics/MediaPlayerPrivate.h:
1921         (WebCore::MediaPlayerPrivateInterface::movieLoadType):
1922             Default implementation of movieLoadType
1923
1924         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1925         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1926         (WebCore::MediaPlayerPrivate::createQTMovie):
1927             Don't base m_isStreaming on protocol, there are other types of streaming movies.
1928         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
1929             Don't assume all streams are unbuffered.
1930         (WebCore::MediaPlayerPrivate::updateStates):
1931             Update m_isStreaming once we have metadata.
1932         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1933             Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
1934         (WebCore::MediaPlayerPrivate::movieLoadType):
1935             New, return movie type.
1936
1937         * platform/mac/WebCoreSystemInterface.h:
1938         * platform/mac/WebCoreSystemInterface.mm:
1939             Add wkQTMovieGetType.
1940
1941 2009-06-29  Alice Liu  <alice.liu@apple.com>
1942
1943         Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
1944
1945         Reviewed by Anders Carlsson.
1946
1947         No test added because the crash requires a flash plugin
1948
1949         * plugins/win/PluginMessageThrottlerWin.cpp:
1950         Rely on the hWnd of the plugin to tell us whether the PluginView has 
1951         been deleted during execution of its wndProc.
1952         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
1953
1954 2009-06-29  Dmitry Titov  <dimich@chromium.org>
1955
1956         Reviewed by David Levin.
1957
1958         https://bugs.webkit.org/show_bug.cgi?id=26811
1959          [Chromium] Remove a flag and functions used to enable workers in runtime.
1960
1961         * bindings/v8/WorkerContextExecutionProxy.cpp:
1962         * bindings/v8/WorkerContextExecutionProxy.h:
1963
1964 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
1965
1966         Reviewed by Dave Hyatt.
1967         
1968         <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
1969         
1970         Improve the appearance of text in compositing layers by making use of
1971         CA's layer geometry flipping, rather that doing it ourselves with a flip
1972         transform. This allows CG to use font autohinting in the layer text.
1973
1974         * platform/graphics/GraphicsLayer.h:
1975         (WebCore::GraphicsLayer::setGeometryOrientation):
1976         (WebCore::GraphicsLayer::geometryOrientation):
1977         New methods to set whether this layer uses flipped geometry.
1978         
1979         * platform/graphics/mac/GraphicsLayerCA.h:
1980         * platform/graphics/mac/GraphicsLayerCA.mm:
1981         (WebCore::GraphicsLayerCA::setGeometryOrientation):
1982         (WebCore::GraphicsLayerCA::geometryOrientation):
1983         Subclass in order to call into CA
1984         
1985         (WebCore::GraphicsLayerCA::setContentsLayer):
1986         Now that CA is doing the geometry flipping, we no longer need to flip the content
1987         layers for image and video manually
1988         
1989         * rendering/RenderLayerCompositor.cpp:
1990         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1991         Turn on flipping on the root layer.
1992
1993 2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1994
1995         Reviewed by Adam Treat.
1996
1997         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
1998
1999         Implement most WML specific <select> element features.
2000         Add 'iname' / 'ivalue' support and support variable references.
2001
2002         Add two tests covering most select/variable related functionality.
2003         Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
2004
2005         Tests: http/tests/wml/post-data-to-server.html
2006                wml/select-element-variables.html
2007
2008         * dom/SelectElement.cpp:
2009         (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
2010         * dom/SelectElement.h:
2011         * html/HTMLSelectElement.cpp:
2012         (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
2013         * wml/WMLCardElement.cpp:
2014         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
2015         * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
2016         (WebCore::WMLSelectElement::title):
2017         (WebCore::WMLSelectElement::formControlName):
2018         (WebCore::WMLSelectElement::defaultEventHandler):
2019         (WebCore::WMLSelectElement::selectInitialOptions):
2020         (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
2021         (WebCore::WMLSelectElement::selectDefaultOptions):
2022         (WebCore::WMLSelectElement::initializeVariables):
2023         (WebCore::WMLSelectElement::updateVariables):
2024         (WebCore::WMLSelectElement::parseIndexValueString):
2025         (WebCore::WMLSelectElement::valueStringToOptionIndices):
2026         (WebCore::WMLSelectElement::optionIndicesToValueString):
2027         (WebCore::WMLSelectElement::optionIndicesToString):
2028         (WebCore::WMLSelectElement::name):
2029         (WebCore::WMLSelectElement::value):
2030         (WebCore::WMLSelectElement::iname):
2031         (WebCore::WMLSelectElement::ivalue):
2032         * wml/WMLSelectElement.h:
2033
2034 2009-06-29  David Hyatt  <hyatt@apple.com>
2035
2036         Reviewed by Adam Roben.
2037
2038         Put <datagrid> behind an ifdef.
2039
2040         * Configurations/FeatureDefines.xcconfig:
2041         * bindings/js/JSDataGridColumnListCustom.cpp:
2042         * bindings/js/JSDataGridDataSource.cpp:
2043         * bindings/js/JSDataGridDataSource.h:
2044         * bindings/js/JSHTMLDataGridElementCustom.cpp:
2045         * html/DataGridColumn.cpp:
2046         * html/DataGridColumn.h:
2047         * html/DataGridColumn.idl:
2048         * html/DataGridColumnList.cpp:
2049         * html/DataGridColumnList.h:
2050         * html/DataGridColumnList.idl:
2051         * html/DataGridDataSource.h:
2052         * html/HTMLDataGridCellElement.cpp:
2053         * html/HTMLDataGridCellElement.h:
2054         * html/HTMLDataGridCellElement.idl:
2055         * html/HTMLDataGridColElement.cpp:
2056         * html/HTMLDataGridColElement.h:
2057         * html/HTMLDataGridColElement.idl:
2058         * html/HTMLDataGridElement.cpp:
2059         * html/HTMLDataGridElement.h:
2060         * html/HTMLDataGridElement.idl:
2061         * html/HTMLDataGridRowElement.cpp:
2062         * html/HTMLDataGridRowElement.h:
2063         * html/HTMLDataGridRowElement.idl:
2064         * html/HTMLTagNames.in:
2065         * page/DOMWindow.idl:
2066         * rendering/RenderDataGrid.cpp:
2067         * rendering/RenderDataGrid.h:
2068
2069 2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
2070
2071         Reviewed by Ariya Hidayat and Adam Roben.
2072
2073         Fix compilation with MINGW. Ported MSVC inline assembly to
2074         GNU inline assembly. Also fixed casting errors where gcc
2075         refused to cast a pointer-to-function to a pointer-to-object,
2076         without an intermediate cast to a non-pointer type.
2077
2078         * plugins/win/PluginViewWin.cpp:
2079         (WebCore::PluginView::hookedBeginPaint):
2080         (WebCore::PluginView::hookedEndPaint):
2081         (WebCore::hook):
2082         (WebCore::setUpOffscreenPaintingHooks):
2083
2084 2009-06-26  John Sullivan  <sullivan@apple.com>
2085
2086         Added Speech submenu to context menu on Mac when there's a non-editable selection
2087         (it was already present when there's an editable selection). 
2088         Also added support for disabling "Stop Speaking" when there is no speaking to stop.
2089
2090         Reviewed by Tim Hatcher.
2091
2092         * loader/EmptyClients.h:
2093         (WebCore::EmptyContextMenuClient::isSpeaking):
2094         implemented this new virtual function to return false
2095         
2096         * page/ContextMenuClient.h:
2097         declared this new pure virtual function
2098         
2099         * platform/ContextMenu.cpp:
2100         (WebCore::ContextMenu::populate):
2101         insert Speech item (after a separator) on Mac when there's selected non-editable text
2102         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2103         enable Stop Speaking item only if the context menu client returns true for isSpeaking()
2104
2105 2009-06-28  Dan Bernstein  <mitz@apple.com>
2106
2107         Reviewed by Simon Fraser.
2108
2109         - fix https://bugs.webkit.org/show_bug.cgi?id=26783
2110           <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
2111           in MobileMe iDisk Web App
2112
2113         Test: added a case to fast/dom/Element/scrollWidth.html
2114
2115         Ensure that scroll{Width, Height} is greater or equal to
2116         client{Width, Height}.
2117
2118         * rendering/RenderBox.cpp:
2119         (WebCore::RenderBox::scrollWidth):
2120         (WebCore::RenderBox::scrollHeight):
2121
2122 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2123
2124         Reviewed by Eric Seidel.
2125
2126         https://bugs.webkit.org/show_bug.cgi?id=26780
2127         
2128         Do not make compositing layers for non-self-painting RenderLayers,
2129         since these exist only to push a clip onto the clipping stack. If such
2130         a layer gets compositied for some other reason, it should not paint.
2131         
2132         Also ensure that we update composited layer positions correctly
2133         inside overflow:scroll layers. We can't assume that the contents
2134         are child layers, so we have to go up to the compositing ancestor,
2135         and tell it to update all its child layer positions as we do 
2136         after layout.
2137
2138         Tests: compositing/layers-inside-overflow-scroll.html
2139                compositing/self-painting-layers.html
2140
2141         * rendering/RenderLayer.cpp:
2142         (WebCore::RenderLayer::scrollToOffset):
2143         * rendering/RenderLayerBacking.cpp:
2144         (WebCore::RenderLayerBacking::paintIntoLayer):
2145         * rendering/RenderLayerCompositor.cpp:
2146         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2147         (WebCore::RenderLayerCompositor::needsToBeComposited):
2148
2149 2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
2150
2151         Reviewed by Eric Seidel.
2152
2153         PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
2154         https://bugs.webkit.org/show_bug.cgi?id=23057
2155
2156         Define these functions for Gtk as well.
2157
2158         * platform/PurgeableBuffer.h:
2159
2160 2009-06-28  Nate Chapin  <japhet@chromium.org>
2161
2162         Reviewed by Dimitri Glazkov.
2163
2164         Update CodeGeneratorV8.pm to match the new api for V8Proxy.
2165
2166         https://bugs.webkit.org/show_bug.cgi?id=26765
2167
2168         * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
2169
2170 2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
2171
2172         Reviewed by Dimitri Glazkov.
2173
2174         If loading a font fails because of the sandbox, we ask the browser process to 
2175         try to load it by calling ensureFontLoaded. If it still fails after 
2176         ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
2177
2178         This case happens once in a while during browser shutdown. The browser will 
2179         queue a message to the renderer to shutdown, and will then stop answering sync 
2180         messages from the renderer. If the renderer is still loading a page during this 
2181         time, it might try to call the browser process to ask to load a font. The 
2182         browser process will ignore the request, and the font will fail to load, even 
2183         after the second try. 
2184
2185         This is unfortunate, but there is no real risk here, since the renderer will be 
2186         going away as soon as it processes another message. 
2187
2188         This can't be layout tested as it depends on the sandbox. 
2189
2190         https://bugs.webkit.org/show_bug.cgi?id=26743 
2191
2192         * platform/graphics/chromium/FontChromiumWin.cpp:
2193         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2194         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2195         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2196
2197 2009-06-28  John Abd-El-Malek  <jam@chromium.org>
2198
2199         Reviewed by Eric Seidel.
2200
2201         https://bugs.webkit.org/show_bug.cgi?id=15457
2202
2203         Test: plugins/netscape-plugin-map-data-to-src.html
2204
2205         Fix problems with Real or WMP plugins not displaying because "data" was set
2206         on the OBJECT tag instead of "src".  This is based on what Firefox does, see
2207         http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
2208
2209         * rendering/RenderPartObject.cpp:
2210         (WebCore::mapDataParamToSrc):
2211         (WebCore::RenderPartObject::updateWidget):
2212
2213 2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2214
2215         Reviewed by Jan Alonzo.
2216
2217         [Qt] Build fix after r45290
2218         https://bugs.webkit.org/show_bug.cgi?id=26769
2219
2220         * WebCore.pro:
2221
2222 2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
2223
2224         Reviewed by Jan Alonzo.
2225
2226         [GTK] Don't use deprecated GTK+ symbols.
2227         https://bugs.webkit.org/show_bug.cgi?id=26583
2228
2229         * plugins/gtk/gtk2xtbin.c:
2230         (gtk_xtbin_class_init):
2231         (gtk_xtbin_new):
2232         (gtk_xtbin_destroy):
2233
2234 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2235
2236         Reviewed by Dan Bernstein.
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=26780
2239         
2240         Fix up previous change. When computeCompositingRequirements() determines
2241         that the current layer is composited, it needs to inform its parent
2242         by setting compositingState.m_subtreeIsCompositing() to true. That didn't
2243         always happen after the previous patch. Clarified the logic here.
2244         
2245         * rendering/RenderLayerCompositor.cpp:
2246         (WebCore::CompositingState::CompositingState):
2247         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2248
2249 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2250
2251         Reviewed by Dan Bernstein.
2252
2253         https://bugs.webkit.org/show_bug.cgi?id=26780
2254         
2255         First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
2256         correctly.
2257
2258         * rendering/RenderLayerCompositor.cpp:
2259         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2260         Do not unconditionally set compositingState.m_subtreeIsCompositing, because
2261         that can clobber the value from an earlier sibling. Add some more comments.
2262         
2263         Remove a final use of Vector iterators.
2264         
2265         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2266         Move the normalFlowList() processing outside the test for isStackingContext().
2267
2268 2009-06-27  Dan Bernstein  <mitz@apple.com>
2269
2270         Reviewed by Simon Fraser and Antti Koivisto.
2271
2272         - make paintFillLayerExtended() non-virtual and remove its clipY and
2273           clipH parameters
2274
2275         These parameters were computed and passed along to
2276         paintFillLayerExtended in order to vertically constrain the rect fill to
2277         the damage rect, because Qt cannot paint tall rectangles (see
2278         <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
2279         is passed along in the PaintInfo, the extra parameters are redundant,
2280         and the intersection can just take place in paintFillLayerExtended().
2281
2282         * rendering/InlineFlowBox.cpp:
2283         (WebCore::InlineFlowBox::paintFillLayers):
2284         (WebCore::InlineFlowBox::paintFillLayer):
2285         (WebCore::InlineFlowBox::paintBoxDecorations):
2286         (WebCore::InlineFlowBox::paintMask):
2287         * rendering/InlineFlowBox.h:
2288         * rendering/RenderBox.cpp:
2289         (WebCore::RenderBox::paintRootBoxDecorations):
2290         (WebCore::RenderBox::paintBoxDecorations):
2291         (WebCore::RenderBox::paintMask):
2292         (WebCore::RenderBox::paintMaskImages):
2293         (WebCore::RenderBox::paintFillLayers):
2294         (WebCore::RenderBox::paintFillLayer):
2295         * rendering/RenderBox.h:
2296         * rendering/RenderBoxModelObject.cpp:
2297         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2298         * rendering/RenderBoxModelObject.h:
2299         * rendering/RenderFieldset.cpp:
2300         (WebCore::RenderFieldset::paintBoxDecorations):
2301         (WebCore::RenderFieldset::paintMask):
2302         * rendering/RenderTable.cpp:
2303         (WebCore::RenderTable::paintBoxDecorations):
2304         (WebCore::RenderTable::paintMask):
2305         * rendering/RenderTableCell.cpp:
2306         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2307         (WebCore::RenderTableCell::paintMask):
2308
2309 2009-06-27  Ryosuke Niwa  <rniwa@google.com>
2310
2311         Reviewed by Eric Seidel.
2312
2313         https://bugs.webkit.org/show_bug.cgi?id=26762
2314
2315         Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
2316         https://bugs.webkit.org/show_bug.cgi?id=21712
2317
2318         Added few utility functions to htmlediting.h/cpp
2319
2320         isVisibilyAdjacent checks whether the first position is visibly next to the second position.
2321         i.e. there is no visible node between the first and second positions
2322
2323         canMergeLists checks whether two lists can be merged.
2324         It checks the type of list, the editing boundary, and adjacency of the lists.
2325
2326         Tests: editing/execCommand/indent-nested-lists-1.html
2327                editing/execCommand/indent-nested-lists-2.html
2328                editing/execCommand/indent-nested-lists-3.html
2329                editing/execCommand/indent-nested-lists-4.html
2330                editing/execCommand/indent-nested-lists-5.html
2331                editing/execCommand/indent-nested-lists-6.html
2332                editing/execCommand/indent-nested-lists-7.html
2333                editing/execCommand/outdent-nested-lists-1.html
2334                editing/execCommand/outdent-nested-lists-2.html
2335                editing/execCommand/outdent-nested-lists-3.html
2336                editing/execCommand/outdent-nested-lists-4.html
2337
2338         * editing/IndentOutdentCommand.cpp:
2339         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
2340         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
2341         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
2342         (WebCore::IndentOutdentCommand::indentRegion):
2343         * editing/IndentOutdentCommand.h:
2344         * editing/htmlediting.cpp:
2345         (WebCore::enclosingListChild):
2346         (WebCore::canMergeLists):
2347         (WebCore::isVisibilyAdjacent):
2348         * editing/htmlediting.h:
2349
2350 2009-06-27  Pavel Feldman  <pfeldman@chromium.org>
2351
2352         Reviewed by Timothy Hatcher.
2353
2354         WebInspector: Fix completion when iterating options using Tab.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=26722
2357
2358         * inspector/front-end/TextPrompt.js:
2359         (WebInspector.TextPrompt.prototype._completionsReady):
2360
2361 2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
2362
2363         Reviewed by Holger Freyther.
2364
2365         https://bugs.webkit.org/show_bug.cgi?id=25889
2366         [GTK] scrollbar policy for main frame is not implementable
2367
2368         Override visibleContentRect to handle GTK+'s case, in which
2369         scrollbars or equivalent decoration are painted by the parent
2370         widget.
2371
2372         * platform/ScrollView.cpp:
2373         * platform/gtk/ScrollViewGtk.cpp:
2374         (WebCore::ScrollView::visibleContentRect):
2375
2376 2009-06-27  Daniel Bates  <dbates@intudata.com>
2377
2378         Reviewed by Adam Barth.
2379
2380         https://bugs.webkit.org/show_bug.cgi?id=26708
2381         
2382         Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
2383         and UTF-7 encoded payloads.   
2384
2385         Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
2386                http/tests/security/xssAuditor/iframe-javascript-url.html
2387                http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
2388                http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
2389
2390         * html/HTMLTokenizer.cpp:
2391         (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
2392         (WebCore::HTMLTokenizer::parseTag):
2393         * loader/FrameLoader.cpp:
2394         (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
2395         as to compare against iFrame javascript URL.
2396         * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
2397         isControlCharacter in ResourceResponseBase.cpp.
2398         (WebCore::XSSAuditor::XSSAuditor):
2399         (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
2400         (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
2401         of iFrame javascript URL.
2402         * page/XSSAuditor.h: Added field m_parentFrame.
2403         * platform/network/ResourceResponseBase.cpp:
2404         (WebCore::isControlCharacter):
2405         * platform/network/ResourceResponseBase.h:
2406
2407 2009-06-27  Oliver Hunt  <oliver@apple.com>
2408
2409         Reviewed by Maciej Stachowiak.
2410
2411         Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
2412
2413         The drawImage(<video>) logic naively assumes that it just needs
2414         to check the src attribute of the video element when in fact it
2415         needs to look at the url that is being played instead.  Failure
2416         to do this means that video provided through source elements 
2417         taints the canvas.
2418
2419         Test: media/video-canvas-source.html
2420
2421         * html/CanvasRenderingContext2D.cpp:
2422         (WebCore::CanvasRenderingContext2D::checkOrigin):
2423         (WebCore::CanvasRenderingContext2D::drawImage):
2424         * html/CanvasRenderingContext2D.h:
2425
2426 2009-06-26  Brian Weinstein  <bweinstein@apple.com>
2427
2428         Reviewed by Simon Fraser.
2429
2430         https://bugs.webkit.org/show_bug.cgi?id=26695
2431         
2432         Added the ability to do scrollbar hit testing in EventHandler, changed the
2433         signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
2434         to scrollbarUnderPoint, and updated all calls to that function.        
2435
2436         * page/EventHandler.cpp:
2437         (WebCore::EventHandler::hitTestResultAtPoint):
2438         (WebCore::EventHandler::handleMousePressEvent):
2439         (WebCore::EventHandler::handleMouseMoveEvent):
2440         * page/EventHandler.h:
2441         (WebCore::):
2442         * platform/PlatformWheelEvent.h:
2443         * platform/ScrollView.cpp:
2444         (WebCore::ScrollView::scrollbarUnderPoint):
2445         * platform/ScrollView.h:
2446         * platform/chromium/PopupMenuChromium.cpp:
2447         (WebCore::PopupListBox::handleMouseDownEvent):
2448         (WebCore::PopupListBox::handleMouseMoveEvent):
2449         * platform/win/WheelEventWin.cpp:
2450         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2451
2452
2453 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2454
2455         Reviewed by Dan Bernstein.
2456
2457         <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
2458         
2459         Don't go into compositing mode just for opacity transitions, but they will be
2460         hardware acclerated if we're already compositing.
2461
2462         * rendering/RenderLayerCompositor.cpp:
2463         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2464         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
2465         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2466         * rendering/RenderLayerCompositor.h:
2467
2468 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2469
2470         Rubber-stamped by Dave Levin
2471
2472         Rename ioCompState to compositingState to better match WebCore coding style.
2473         
2474         * rendering/RenderLayerCompositor.cpp:
2475         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2476         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2477
2478 2009-06-26  Dan Bernstein  <mitz@apple.com>
2479
2480         Reviewed by Mark Rowe.
2481
2482         - revert unintentional project changes from r45277
2483
2484         * WebCore.xcodeproj/project.pbxproj:
2485
2486 2009-06-26  Mark Rowe  <mrowe@apple.com>
2487
2488         Fix the Windows build.
2489
2490         * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
2491         the file was deleted from SVN.
2492
2493 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2494
2495         Reviewed by Dan Bernstein.
2496
2497         https://bugs.webkit.org/show_bug.cgi?id=26766
2498
2499         Change to use array indexing rather than Vector enumerators; the former
2500         are preferred style.
2501
2502         * rendering/RenderLayerBacking.cpp:
2503         (WebCore::RenderLayerBacking::hasNonCompositingContent):
2504         * rendering/RenderLayerCompositor.cpp:
2505         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2506         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2507         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2508         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
2509         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2510         (WebCore::RenderLayerCompositor::layerHas3DContent):
2511
2512 2009-06-26  Dan Bernstein  <mitz@apple.com>
2513
2514         Reviewed by Oliver Hunt.
2515
2516         - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
2517           as 1 px
2518
2519         Test: fast/dom/Element/scrollWidth.html
2520
2521         Changed scrollWidth and scrollHeight to use the same logic for
2522         visible overflow boxes that is used for clipped overflow boxes. In
2523         particular, borders are not included and
2524         {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
2525
2526         * rendering/RenderBox.cpp:
2527         (WebCore::RenderBox::scrollWidth):
2528         (WebCore::RenderBox::scrollHeight):
2529
2530 2009-06-26  Chris Fleizach  <cfleizach@apple.com>
2531
2532         Reviewed by Oliver Hunt.
2533
2534         Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
2535         https://bugs.webkit.org/show_bug.cgi?id=26725
2536
2537         Tests: accessibility/aria-disabled.html
2538                accessibility/aria-hidden.html
2539                accessibility/aria-readonly.html
2540
2541         * accessibility/AccessibilityRenderObject.cpp:
2542         (WebCore::AccessibilityRenderObject::ariaIsHidden):
2543         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2544         (WebCore::AccessibilityRenderObject::isEnabled):
2545         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2546         * accessibility/AccessibilityRenderObject.h:
2547         * html/HTMLAttributeNames.in:
2548
2549 2009-06-26  Brett Wilson  <brettw@chromium.org>
2550
2551         Reviewed by David Levin.
2552
2553         https://bugs.webkit.org/show_bug.cgi?id=26759
2554
2555         GIFImageDecoder is broken.
2556
2557         Make the GIFImageDecoder.repetitionCount function const to match the
2558         base class. The mismatched definitions were causing the function to not
2559         get called.
2560
2561         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2562         (WebCore::GIFImageDecoder::repetitionCount):
2563         * platform/image-decoders/gif/GIFImageDecoder.h:
2564
2565 2009-06-26  Chris Marrin  <cmarrin@apple.com>
2566
2567         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
2568
2569         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
2570
2571         The flag should always default to true to avoid it getting set
2572         to false in a build with accelerated compositing turned off
2573         and then disabling accelerated compositing when subsequently
2574         running a build with it turned on.
2575
2576         * page/Settings.cpp:
2577         (WebCore::Settings::Settings):
2578
2579 2009-06-26  Brady Eidson  <beidson@apple.com>
2580
2581         Reviewed by Sam Weinig.
2582
2583         Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
2584
2585         Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
2586
2587         * platform/network/mac/ResourceHandleMac.mm:
2588         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2589         * platform/network/mac/WebCoreURLResponse.h:
2590
2591 2009-06-26  Jeremy Orlow  <jorlow@chromium.org>
2592
2593         Reviewed by Darin Fisher.
2594
2595         https://bugs.webkit.org/show_bug.cgi?id=26732
2596
2597         For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
2598         combine LocalStorage and SessionStorage into StorageNamespace. The
2599         synching code (for LocalStorage) has already been removed, so these
2600         classes are now very similar.  All they do is essentially contain a
2601         logical grouping of origins that are attached to specific contexts
2602         (be it PageGroups for LocalStorage and Page for SessionStorage).
2603
2604         * GNUmakefile.am:
2605         * WebCore.vcproj/WebCore.vcproj:
2606         * WebCore.xcodeproj/project.pbxproj:
2607         * WebCoreSources.bkl:
2608         * page/Chrome.cpp:
2609         (WebCore::Chrome::createWindow):
2610         * page/DOMWindow.cpp:
2611         (WebCore::DOMWindow::localStorage):
2612         * page/DOMWindow.h:
2613         * page/Page.cpp:
2614         (WebCore::Page::sessionStorage):
2615         (WebCore::Page::setSessionStorage):
2616         * page/Page.h:
2617         * page/PageGroup.cpp:
2618         (WebCore::PageGroup::localStorage):
2619         * page/PageGroup.h:
2620         * storage/LocalStorage.cpp: Removed.
2621         * storage/LocalStorage.h: Removed.
2622         * storage/LocalStorageTask.cpp:
2623         * storage/LocalStorageThread.cpp:
2624         * storage/SessionStorage.cpp: Removed.
2625         * storage/SessionStorage.h: Removed.
2626         * storage/StorageArea.cpp:
2627         (WebCore::StorageArea::create):
2628         (WebCore::StorageArea::StorageArea):
2629         (WebCore::StorageArea::copy):
2630         (WebCore::StorageArea::length):
2631         (WebCore::StorageArea::key):
2632         (WebCore::StorageArea::getItem):
2633         (WebCore::StorageArea::setItem):
2634         (WebCore::StorageArea::removeItem):
2635         (WebCore::StorageArea::clear):
2636         (WebCore::StorageArea::contains):
2637         (WebCore::StorageArea::importItem):
2638         (WebCore::StorageArea::close):
2639         (WebCore::StorageArea::dispatchStorageEvent):
2640         * storage/StorageArea.h:
2641         (WebCore::):
2642         * storage/StorageAreaSync.cpp:
2643         (WebCore::StorageAreaSync::scheduleFinalSync):
2644         * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
2645         (WebCore::localStorageNamespaceMap):
2646         (WebCore::StorageNamespace::localStorageNamespace):
2647         (WebCore::StorageNamespace::sessionStorageNamespace):
2648         (WebCore::StorageNamespace::StorageNamespace):
2649         (WebCore::StorageNamespace::~StorageNamespace):
2650         (WebCore::StorageNamespace::copy):
2651         (WebCore::StorageNamespace::storageArea):
2652         (WebCore::StorageNamespace::close):
2653         * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
2654
2655 2009-06-26  Nate Chapin  <japhet@chromium.org>
2656
2657         Reviewed by David Levin.
2658
2659         Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
2660
2661         https://bugs.webkit.org/show_bug.cgi?id=26623
2662
2663         * bindings/v8/ScheduledAction.cpp:
2664         (WebCore::ScheduledAction::ScheduledAction):
2665         (WebCore::ScheduledAction::~ScheduledAction):
2666         (WebCore::ScheduledAction::execute):
2667         * bindings/v8/ScriptCallStack.cpp:
2668         (WebCore::ScriptCallStack::ScriptCallStack):
2669         * bindings/v8/ScriptController.cpp:
2670         (WebCore::ScriptController::isSafeScript):
2671         (WebCore::ScriptController::gcProtectJSWrapper):
2672         (WebCore::ScriptController::gcUnprotectJSWrapper):
2673         (WebCore::ScriptController::processingUserGesture):
2674         (WebCore::ScriptController::evaluate):
2675         (WebCore::ScriptController::setEventHandlerLineNumber):
2676         (WebCore::ScriptController::bindToWindowObject):
2677         (WebCore::ScriptController::collectGarbage):
2678         (WebCore::ScriptController::haveInterpreter):
2679         (WebCore::createScriptObject):
2680         (WebCore::ScriptController::createScriptObjectForPluginElement):
2681         * bindings/v8/ScriptInstance.cpp:
2682         (WebCore::V8ScriptInstance::clear):
2683         (WebCore::V8ScriptInstance::set):
2684         * bindings/v8/ScriptObject.cpp:
2685         (WebCore::ScriptGlobalObject::set):
2686         * bindings/v8/ScriptObjectQuarantine.cpp:
2687         (WebCore::getQuarantinedScriptObject):
2688         * bindings/v8/ScriptScope.cpp:
2689         (WebCore::ScriptScope::ScriptScope):
2690         * bindings/v8/ScriptValue.h:
2691         (WebCore::ScriptValue::ScriptValue):
2692         (WebCore::ScriptValue::operator=):
2693         (WebCore::ScriptValue::clear):
2694         * bindings/v8/V8AbstractEventListener.cpp:
2695         (WebCore::V8AbstractEventListener::invokeEventHandler):
2696         (WebCore::V8AbstractEventListener::handleEvent):
2697         (WebCore::V8AbstractEventListener::disposeListenerObject):
2698         (WebCore::V8AbstractEventListener::getReceiverObject):
2699         * bindings/v8/V8Collection.cpp:
2700         (WebCore::toOptionsCollectionSetter):
2701         * bindings/v8/V8Collection.h:
2702         (WebCore::getV8Object):
2703         (WebCore::getNamedPropertyOfCollection):
2704         (WebCore::nodeCollectionNamedPropertyGetter):
2705         (WebCore::getIndexedPropertyOfCollection):
2706         (WebCore::nodeCollectionIndexedPropertyGetter):
2707         (WebCore::nodeCollectionIndexedPropertyEnumerator):
2708         (WebCore::collectionIndexedPropertyEnumerator):
2709         (WebCore::collectionStringOrNullIndexedPropertyGetter):
2710         * bindings/v8/V8DOMMap.cpp:
2711         (WebCore::weakDOMObjectCallback):
2712         (WebCore::DOMData::removeObjectsFromWrapperMap):
2713         * bindings/v8/V8Helpers.cpp:
2714         (WebCore::wrapNPObject):
2715         (WebCore::toV8Context):
2716         * bindings/v8/V8LazyEventListener.cpp:
2717         (WebCore::V8LazyEventListener::~V8LazyEventListener):
2718         (WebCore::V8LazyEventListener::getListenerFunction):
2719         (WebCore::V8LazyEventListener::callListenerFunction):
2720         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
2721         * bindings/v8/V8NodeFilterCondition.cpp:
2722         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
2723         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
2724         (WebCore::V8NodeFilterCondition::acceptNode):
2725         * bindings/v8/V8ObjectEventListener.cpp:
2726         (WebCore::weakObjectEventListenerCallback):
2727         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
2728         * bindings/v8/V8Proxy.cpp: Added.
2729         * bindings/v8/V8Proxy.h:
2730         (WebCore::):
2731         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
2732         (WebCore::V8Proxy::):
2733         (WebCore::V8Proxy::V8Proxy):
2734         (WebCore::V8Proxy::frame):
2735         (WebCore::V8Proxy::inlineCode):
2736         (WebCore::V8Proxy::setInlineCode):
2737         (WebCore::V8Proxy::timerCallback):
2738         (WebCore::V8Proxy::setTimerCallback):
2739         (WebCore::V8Proxy::setEventHandlerLineNumber):
2740         (WebCore::V8Proxy::finishedWithEvent):
2741         (WebCore::V8Proxy::wrapCPointer):
2742         (WebCore::V8Proxy::extractCPointer):
2743         (WebCore::V8Proxy::convertDOMWrapperToNative):
2744         (WebCore::V8Proxy::convertDOMWrapperToNode):
2745         (WebCore::V8Proxy::convertToV8Object):
2746         (WebCore::V8Proxy::convertToNativeObject):
2747         (WebCore::V8Proxy::convertToNativeEvent):
2748         (WebCore::V8Proxy::context):
2749         (WebCore::V8Proxy::extractCPointerImpl):
2750         (WebCore::V8Proxy::utilityContext):
2751         (WebCore::V8Proxy::constructDOMObject):
2752         (WebCore::throwError):
2753         (WebCore::toV8):
2754         * bindings/v8/V8Utilities.h:
2755         * bindings/v8/WorkerContextExecutionProxy.cpp:
2756         (WebCore::WorkerContextExecutionProxy::retrieve):
2757         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2758         (WebCore::WorkerContextExecutionProxy::GetConstructor):
2759         (WebCore::WorkerContextExecutionProxy::ToV8Object):
2760         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
2761         (WebCore::WorkerContextExecutionProxy::toV8):
2762         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
2763         (WebCore::WorkerContextExecutionProxy::evaluate):
2764         (WebCore::WorkerContextExecutionProxy::runScript):
2765         * bindings/v8/custom/V8AttrCustom.cpp:
2766         (WebCore::ACCESSOR_SETTER):
2767         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2768         (WebCore::NAMED_PROPERTY_GETTER):
2769         (WebCore::NAMED_PROPERTY_SETTER):
2770         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
2771         (WebCore::INDEXED_PROPERTY_GETTER):
2772         (WebCore::INDEXED_PROPERTY_SETTER):
2773         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2774         (WebCore::toV8):
2775         (WebCore::toCanvasStyle):
2776         (WebCore::ACCESSOR_GETTER):
2777         (WebCore::ACCESSOR_SETTER):
2778         (WebCore::CALLBACK_FUNC_DECL):
2779         * bindings/v8/custom/V8ClientRectListCustom.cpp:
2780         (WebCore::INDEXED_PROPERTY_GETTER):
2781         * bindings/v8/custom/V8ClipboardCustom.cpp:
2782         (WebCore::ACCESSOR_GETTER):
2783         (WebCore::CALLBACK_FUNC_DECL):
2784         * bindings/v8/custom/V8CustomBinding.cpp:
2785         (WebCore::allowSettingFrameSrcToJavascriptUrl):
2786         (WebCore::ACCESSOR_GETTER):
2787         (WebCore::INDEXED_ACCESS_CHECK):
2788         (WebCore::NAMED_ACCESS_CHECK):
2789         (WebCore::V8Custom::GetTargetFrame):
2790         * bindings/v8/custom/V8CustomEventListener.cpp:
2791         (WebCore::V8EventListener::V8EventListener):
2792         (WebCore::V8EventListener::~V8EventListener):
2793         (WebCore::V8EventListener::callListenerFunction):
2794         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
2795         (WebCore::V8CustomSQLStatementCallback::handleEvent):
2796         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2797         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
2798         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
2799         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
2800         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2801         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
2802         * bindings/v8/custom/V8CustomVoidCallback.cpp:
2803         (WebCore::V8CustomVoidCallback::handleEvent):
2804         (WebCore::invokeCallback):
2805         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2806         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2807         * bindings/v8/custom/V8DOMParserConstructor.cpp:
2808         (WebCore::CALLBACK_FUNC_DECL):
2809         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2810         (WebCore::V8Custom::WindowSetTimeoutImpl):
2811         (WebCore::convertBase64):
2812         (WebCore::ACCESSOR_SETTER):
2813         (WebCore::CALLBACK_FUNC_DECL):
2814         (WebCore::ACCESSOR_GETTER):
2815         (WebCore::createWindow):
2816         (WebCore::INDEXED_PROPERTY_GETTER):
2817         (WebCore::NAMED_PROPERTY_GETTER):
2818         (WebCore::V8Custom::ClearTimeoutImpl):
2819         (WebCore::NAMED_ACCESS_CHECK):
2820         (WebCore::INDEXED_ACCESS_CHECK):
2821         * bindings/v8/custom/V8DatabaseCustom.cpp:
2822         (WebCore::CALLBACK_FUNC_DECL):
2823         * bindings/v8/custom/V8DocumentCustom.cpp:
2824         (WebCore::CALLBACK_FUNC_DECL):
2825         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2826         (WebCore::ACCESSOR_GETTER):
2827         (WebCore::ACCESSOR_SETTER):
2828         * bindings/v8/custom/V8ElementCustom.cpp:
2829         (WebCore::CALLBACK_FUNC_DECL):
2830         (WebCore::ACCESSOR_SETTER):
2831         (WebCore::ACCESSOR_GETTER):
2832         * bindings/v8/custom/V8EventCustom.cpp:
2833         (WebCore::ACCESSOR_SETTER):
2834         (WebCore::ACCESSOR_GETTER):
2835         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2836         (WebCore::CALLBACK_FUNC_DECL):
2837         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2838         (WebCore::getNamedItems):
2839         (WebCore::getItem):
2840         (WebCore::NAMED_PROPERTY_GETTER):
2841         (WebCore::CALLBACK_FUNC_DECL):
2842         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2843         (WebCore::NAMED_PROPERTY_GETTER):
2844         (WebCore::CALLBACK_FUNC_DECL):
2845         (WebCore::ACCESSOR_GETTER):
2846         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2847         (WebCore::INDEXED_PROPERTY_GETTER):
2848         (WebCore::NAMED_PROPERTY_GETTER):
2849         (WebCore::CALLBACK_FUNC_DECL):
2850         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2851         (WebCore::ACCESSOR_SETTER):
2852         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2853         (WebCore::NAMED_PROPERTY_GETTER):
2854         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2855         (WebCore::ACCESSOR_SETTER):
2856         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2857         (WebCore::CALLBACK_FUNC_DECL):
2858         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2859         (WebCore::ACCESSOR_GETTER):
2860         (WebCore::ACCESSOR_SETTER):
2861         (WebCore::CALLBACK_FUNC_DECL):
2862         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2863         (WebCore::CALLBACK_FUNC_DECL):
2864         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2865         (WebCore::CALLBACK_FUNC_DECL):
2866         (WebCore::ACCESSOR_GETTER):
2867         (WebCore::ACCESSOR_SETTER):
2868         (WebCore::INDEXED_PROPERTY_GETTER):
2869         (WebCore::INDEXED_PROPERTY_SETTER):
2870         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2871         (WebCore::NAMED_PROPERTY_GETTER):
2872         (WebCore::NAMED_PROPERTY_SETTER):
2873         (WebCore::INDEXED_PROPERTY_GETTER):
2874         (WebCore::INDEXED_PROPERTY_SETTER):
2875         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
2876         (WebCore::NAMED_PROPERTY_GETTER):
2877         (WebCore::INDEXED_PROPERTY_SETTER):
2878         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2879         (WebCore::CALLBACK_FUNC_DECL):
2880         (WebCore::removeElement):
2881         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2882         (WebCore::CALLBACK_FUNC_DECL):
2883         * bindings/v8/custom/V8LocationCustom.cpp:
2884         (WebCore::ACCESSOR_SETTER):
2885         (WebCore::ACCESSOR_GETTER):
2886         (WebCore::CALLBACK_FUNC_DECL):
2887         (WebCore::INDEXED_ACCESS_CHECK):
2888         (WebCore::NAMED_ACCESS_CHECK):
2889         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2890         (WebCore::CALLBACK_FUNC_DECL):
2891         * bindings/v8/custom/V8MessagePortCustom.cpp:
2892         (WebCore::ACCESSOR_GETTER):
2893         (WebCore::ACCESSOR_SETTER):
2894         (WebCore::CALLBACK_FUNC_DECL):
2895         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2896         (WebCore::INDEXED_PROPERTY_GETTER):
2897         (WebCore::NAMED_PROPERTY_GETTER):
2898         * bindings/v8/custom/V8NavigatorCustom.cpp:
2899         (WebCore::ACCESSOR_GETTER):
2900         * bindings/v8/custom/V8NodeCustom.cpp:
2901         (WebCore::CALLBACK_FUNC_DECL):
2902         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
2903         (WebCore::toV8):
2904         (WebCore::CALLBACK_FUNC_DECL):
2905         * bindings/v8/custom/V8NodeListCustom.cpp:
2906         (WebCore::NAMED_PROPERTY_GETTER):
2907         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2908         (WebCore::CALLBACK_FUNC_DECL):
2909         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2910         (WebCore::CALLBACK_FUNC_DECL):
2911         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
2912         (WebCore::CALLBACK_FUNC_DECL):
2913         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2914         (WebCore::ACCESSOR_GETTER):
2915         (WebCore::CALLBACK_FUNC_DECL):
2916         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2917         (WebCore::CALLBACK_FUNC_DECL):
2918         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2919         (WebCore::NAMED_PROPERTY_GETTER):
2920         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
2921         (WebCore::toV8):
2922         (WebCore::CALLBACK_FUNC_DECL):
2923         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
2924         (WebCore::CALLBACK_FUNC_DECL):
2925         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
2926         (WebCore::CALLBACK_FUNC_DECL):
2927         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2928         (WebCore::ACCESSOR_GETTER):
2929         (WebCore::ACCESSOR_SETTER):
2930         (WebCore::SetTimeoutOrInterval):
2931         (WebCore::CALLBACK_FUNC_DECL):
2932         * bindings/v8/custom/V8WorkerCustom.cpp:
2933         (WebCore::CALLBACK_FUNC_DECL):
2934         (WebCore::getEventListener):
2935         (WebCore::ACCESSOR_GETTER):
2936         (WebCore::ACCESSOR_SETTER):
2937         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2938         (WebCore::CALLBACK_FUNC_DECL):
2939         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2940         (WebCore::getEventListener):
2941         (WebCore::ACCESSOR_GETTER):
2942         (WebCore::ACCESSOR_SETTER):
2943         (WebCore::CALLBACK_FUNC_DECL):
2944         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
2945         (WebCore::ACCESSOR_GETTER):
2946         (WebCore::ACCESSOR_SETTER):
2947         (WebCore::CALLBACK_FUNC_DECL):
2948         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
2949         (WebCore::CALLBACK_FUNC_DECL):
2950         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
2951         (WebCore::CALLBACK_FUNC_DECL):
2952         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2953         (WebCore::CALLBACK_FUNC_DECL):
2954
2955 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
2956
2957         Reviewed by Tim Hatcher.
2958
2959         <rdar://problem/7011047> Profiler shows the record button 'on' even
2960         though it's finished
2961
2962         I consolidated the creation of the user initiated profile name into
2963         its own function and then called it from console::profile instead of
2964         calling startUserInitiatedProfiling().  This way we don't call
2965         toggleRecordButton() which turns on the record button.
2966
2967         * inspector/InspectorController.cpp:
2968         (WebCore::InspectorController::didCommitLoad):
2969         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2970         (WebCore::InspectorController::startUserInitiatedProfiling):
2971         (WebCore::InspectorController::stopUserInitiatedProfiling):
2972         * inspector/InspectorController.h:
2973         * page/Console.cpp:
2974         (WebCore::Console::profile):
2975         (WebCore::Console::profileEnd):
2976
2977 2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
2978
2979         Reviewed by Eric Seidel.
2980
2981         https://bugs.webkit.org/show_bug.cgi?id=26691
2982
2983         Cleanup: Move focusRingColor to RenderTheme.
2984
2985         Most of this CL involves deleting files and removing dead code.
2986
2987         focusRingColor() is now defined in RenderTheme rather than in
2988         misc. places on each port.  The default color is specified as
2989         black in renderTheme and ports can override it in their own
2990         custom renderThemes.
2991
2992         Behavior should be identical except for the following cases,
2993         this lists platform and what the focus ring color used to be
2994         before this cl and the file where it used to be defined:
2995
2996         Android - red
2997         WebCore/platform/android/TemporaryLinkStubs.cpp
2998
2999         Cairo - aqua focus ring color - 0xFF7DADD9
3000         WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
3001
3002         wx - red
3003         WebCore/platform/wx/TemporaryLinkStubs.cpp
3004
3005         QT - black
3006         WebCore/platform/graphics/qt/GraphicsContextQt.cpp
3007
3008         Manual test: manual-tests/focusringcolor-change-on-theme-change.html
3009
3010         * css/CSSStyleSelector.cpp:
3011         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3012         * manual-tests/focusringcolor-change-on-theme-change.html: Added.
3013         * platform/android/TemporaryLinkStubs.cpp:
3014         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3015         * platform/graphics/chromium/ColorChromium.cpp: Removed.
3016         * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
3017         * platform/graphics/mac/ColorMac.h:
3018         * platform/graphics/mac/ColorMac.mm:
3019         (WebCore::oldAquaFocusRingColor):
3020         (WebCore::setUsesTestModeFocusRingColor):
3021         (WebCore::usesTestModeFocusRingColor):
3022         * platform/graphics/qt/GraphicsContextQt.cpp:
3023         * platform/graphics/skia/GraphicsContextSkia.cpp:
3024         (WebCore::GraphicsContext::drawFocusRing):
3025         * platform/graphics/win/ColorSafari.cpp: Removed.
3026         * platform/wx/TemporaryLinkStubs.cpp:
3027         * rendering/RenderTheme.cpp:
3028         (WebCore::RenderTheme::focusRingColor):
3029         * rendering/RenderTheme.h:
3030         * rendering/RenderThemeChromiumMac.h:
3031         * rendering/RenderThemeChromiumMac.mm:
3032         (WebCore::RenderThemeChromiumMac::focusRingColor):
3033         (WebCore::RenderThemeChromiumMac::systemColor):
3034         * rendering/RenderThemeChromiumSkia.cpp:
3035         (WebCore::RenderThemeChromiumSkia::focusRingColor):
3036         * rendering/RenderThemeChromiumSkia.h:
3037         * rendering/RenderThemeMac.h:
3038         * rendering/RenderThemeMac.mm:
3039         (WebCore::RenderThemeMac::focusRingColor):
3040         (WebCore::RenderThemeMac::systemColor):
3041         * rendering/RenderThemeSafari.cpp:
3042         (WebCore::makeRGBAFromCGColor):
3043         (WebCore::RenderThemeSafari::focusRingColor):
3044         * rendering/RenderThemeSafari.h:
3045
3046 2009-06-26  Dmitry Titov  <dimich@chromium.org>
3047
3048         Reviewed by David Levin.
3049
3050         https://bugs.webkit.org/show_bug.cgi?id=26761
3051         [Chromium] Enable Dedicated Workers in Chromium.
3052
3053         * bindings/v8/custom/V8WorkerCustom.cpp:
3054         (WebCore::CALLBACK_FUNC_DECL):
3055         Remove the check that prevented workers from being created w/o a command-line switch.
3056         The flag itself and methods will be removed in a subsequent patch, after
3057         corresponding change in Chromium.
3058
3059 2009-06-26  Jessie Berlin  <jberlin@apple.com>
3060
3061         Reviewed by Mark Rowe.
3062         
3063         Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
3064         Where the m_mouseDown event was never being set on windows, so the
3065         client X and Y coordinates were always being reported as zero in a
3066         dragstart handler.
3067
3068         Test: editing/selection/drag-start-event-client-x-y.html
3069
3070         * page/EventHandler.cpp:
3071         (WebCore::EventHandler::handleMousePressEvent):
3072         Set the m_mouseDown event when the mouse press is handled.
3073         * page/mac/EventHandlerMac.mm:
3074         (WebCore::EventHandler::mouseDown):
3075         Removed now redundant setting of m_mouseDown.
3076
3077 2009-06-26  Brady Eidson  <beidson@apple.com>
3078
3079         Tiger build fix
3080
3081         * WebCore.xcodeproj/project.pbxproj:
3082         * platform/network/mac/WebCoreURLResponse.mm:
3083         (swizzleMIMETypeMethodIfNecessary):
3084
3085 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
3086
3087         Reviewed by Sam Weinig.
3088
3089         https://bugs.webkit.org/show_bug.cgi?id=26681
3090         Problem updating applicationCache when server returns 304
3091         
3092         Improve the fix, make the test pass on Tiger.
3093
3094         * loader/appcache/ApplicationCacheGroup.cpp:
3095         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
3096         current item from list.
3097
3098         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
3099         conditional requests that cannot be cached by network layer cause errors with default cache
3100         policy.
3101
3102 2009-06-26  Brady Eidson  <beidson@apple.com>
3103
3104         Reviewed by Sam Weinig
3105
3106         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
3107
3108         When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
3109         didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
3110         knew about.
3111
3112         By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
3113         type mappings that are missing in CoreType's database.
3114
3115         Test: platform/mac/fast/loader/file-url-mimetypes.html
3116
3117         * platform/network/mac/ResourceHandleMac.mm:
3118         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
3119           WebCoreURLResponse.
3120
3121         * platform/network/mac/ResourceResponseMac.mm:
3122         (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
3123           where we do all MIMEType correction.
3124
3125         * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
3126           implementation of MIMEType.
3127         * platform/network/mac/WebCoreURLResponse.mm:
3128         (createBinaryExtensionsSet):
3129         (createExtensionToMIMETypeMap):
3130         (swizzleMIMETypeMethodIfNecessary):
3131         (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
3132           extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
3133           implemented in _webcore_MIMEType.
3134
3135         * svg/graphics/SVGImage.cpp:
3136         (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
3137
3138 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3139
3140         Reviewed by Simon Fraser.
3141
3142         Show the fullscreen button only if the backend has support for it.
3143
3144         https://bugs.webkit.org/show_bug.cgi?id=26661
3145
3146         No test since this is not reachable via the DOM.
3147
3148         * html/HTMLMediaElement.h:
3149         (WebCore::HTMLMediaElement::supportsFullscreen): new
3150         * html/HTMLVideoElement.h:
3151         (WebCore::HTMLVideoElement::supportsFullscreen): new
3152         * platform/graphics/MediaPlayer.cpp:
3153         (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
3154         (WebCore::MediaPlayer::supportsFullscreen): new
3155         * platform/graphics/MediaPlayer.h: new
3156         * platform/graphics/MediaPlayerPrivate.h: new
3157         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
3158         * rendering/MediaControlElements.cpp:
3159         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
3160         * rendering/MediaControlElements.h:
3161
3162 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3163
3164         Reviewed by Simon Fraser.
3165
3166         <rdar://problem/7007776> Controller doesn't automatically update counters when file
3167         is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
3168
3169         Update the time display when the movie time changes.
3170
3171         * rendering/RenderMedia.cpp:
3172         (WebCore::RenderMedia::updateControls):
3173
3174 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3175
3176         Reviewed by Simon Fraser.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=26659
3179
3180         Support hidding a control bar element from the Media element controller.
3181
3182         Update layout tests since the fullscreen button no longer has a renderer.
3183
3184         * rendering/MediaControlElements.cpp:
3185         (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
3186         is updated properly.
3187         (WebCore::MediaControlInputElement::MediaControlInputElement):
3188         (WebCore::MediaControlInputElement::update): call updateStyle()
3189         (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
3190         or not depending on what rendererIsNeeded() return.
3191         * rendering/MediaControlElements.h:
3192
3193 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
3194
3195         Reviewed by Oliver Hunt.
3196
3197         <rdar://problem/6968137> Profiler title numbers increment even after a
3198         reload.
3199
3200         - Now the numbers are reset when the profiles are.
3201
3202         * inspector/InspectorController.cpp:
3203         (WebCore::InspectorController::didCommitLoad):
3204
3205 2009-06-26  Adele Peterson  <adele@apple.com>
3206
3207         Reviewed by Darin Adler.
3208
3209         Fix for <rdar://problem/7000796>
3210         REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
3211
3212         Test: editing/inserting/break-blockquote-after-delete.html
3213
3214         Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
3215         typing command, keep that flag up to date.
3216
3217         In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
3218         was following an open Delete command, which does preserve the typing style.  So we were applying the original
3219         typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
3220
3221         * editing/TypingCommand.cpp:
3222         (WebCore::TypingCommand::TypingCommand):
3223         (WebCore::TypingCommand::typingAddedToOpenCommand):
3224         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
3225         (WebCore::TypingCommand::insertLineBreak):
3226         (WebCore::TypingCommand::insertParagraphSeparator):
3227         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
3228         (WebCore::TypingCommand::deleteKeyPressed):
3229         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3230         (WebCore::TypingCommand::deleteSelection):
3231         (WebCore::TypingCommand::updatePreservesTypingStyle):
3232         * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
3233
3234 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
3235
3236         Reviewed by Simon Hausmann.
3237
3238         Add support for saving and loading of QWebHistory to and from a QByteArray.
3239
3240         This includes streaming operators for QWebHistory. for convenience.
3241
3242         New autotests that test QWebHistory and QWebHistoryItem serialization.
3243
3244         * WebCore.pro:
3245         * history/HistoryItem.h:
3246         (WebCore::HistoryItem::dailyVisitCounts):
3247         (WebCore::HistoryItem::weeklyVisitCounts):
3248         * history/qt/HistoryItemQt.cpp: Added.
3249         (WebCore::HistoryItem::restoreState):
3250         (WebCore::HistoryItem::saveState):
3251
3252 2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
3253
3254         Reviewed by Simon Hausmann.
3255
3256         Add support for QDataStream operators to String and IntPoint.
3257
3258         * platform/graphics/IntPoint.h:
3259         (WebCore::operator<<):
3260         (WebCore::operator>>):
3261         * platform/text/PlatformString.h:
3262         * platform/text/qt/StringQt.cpp:
3263         (WebCore::operator<<):
3264         (WebCore::operator>>):
3265
3266 2009-06-26  Ben Murdoch  <benm@google.com>
3267
3268         Reviewed by Darin Fisher.
3269
3270         Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
3271         https://bugs.webkit.org/show_bug.cgi?id=26757
3272
3273         * bindings/v8/custom/V8StorageCustom.cpp
3274
3275 2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
3276
3277         Reviewed by Eric Seidel.
3278
3279         Test: platform/qt/fast/events/event-sender-keydown-frame.html
3280
3281         Bug 20303: [Qt] Key events are not working in frames.
3282
3283         Merge scrolling handling code in qt and win port, move it to
3284         EventHandler.
3285
3286         * page/EventHandler.cpp:
3287         (WebCore::EventHandler::scrollRecursively):
3288         * page/EventHandler.h:
3289
3290 2009-06-26  Rob Buis  <rwlbuis@gmail.com>
3291
3292         Reviewed by Eric Seidel.
3293
3294         https://bugs.webkit.org/show_bug.cgi?id=26682
3295         Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
3296
3297         Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
3298
3299         Test: svg/custom/createImageElement.svg
3300
3301         * svg/SVGAnimatedProperty.h:
3302         (WebCore::synchronizeProperty):
3303
3304 2009-06-26  Takeshi Yoshino  <tyoshino@google.com>
3305
3306         Reviewed by Timothy Hatcher.
3307
3308         Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
3309         https://bugs.webkit.org/show_bug.cgi?id=26156
3310
3311         When in view-source mode, render the contents using HTMLViewSourceDocument
3312         regardless it's applicable for any plugin or not.
3313
3314         Chromium tells WebCore to render the contents of specified URL when
3315         view-source: prefix is added to the URL. But currently, DOMImplementation
3316         ignores inViewSourceMode() when the MIME type is indicating that the contents
3317         are neither texts nor HTML family documents.
3318
3319         For example, we can check the contents of asf file without launching media
3320         player. Rendering contents for view-source:-specified input is not what user
3321         expects.
3322
3323         http://code.google.com/p/chromium/issues/detail?id=10545
3324
3325         I want to fix this issue by this patch. IMHO, regardless of this Chromium
3326         specific issue, I think we should force use of HTMLViewSourceDocument when
3327         inViewSourceMode() is specified.
3328
3329         Test: fast/frames/viewsource-on-image-file.html
3330
3331         * dom/DOMImplementation.cpp:
3332         (WebCore::DOMImplementation::createDocument):
3333         * html/HTMLViewSourceDocument.cpp:
3334         (WebCore::HTMLViewSourceDocument::createTokenizer):
3335         * html/HTMLViewSourceDocument.h:
3336
3337 2009-06-26  Xan Lopez  <xlopez@igalia.com>
3338
3339         Reviewed by Jan Alonzo.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=25529
3342         [Gtk] Expected states not exposed to assistive technologies
3343
3344         Add support for VISIBLE, EDITABLE and SENSITIVE states.
3345
3346         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3347         (setAtkStateSetFromCoreObject):
3348
3349 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3350
3351         Reviewed by Darin Adler.
3352
3353         "Pointer to incomplete class type is not allowed" error with RVCT
3354         https://bugs.webkit.org/show_bug.cgi?id=26721
3355
3356         Based on Norbert Leser's work.
3357
3358         * dom/Document.cpp:
3359         (WebCore::Document::setFocusedNode):
3360         * dom/Node.cpp:
3361         (WebCore::Node::dispatchMouseEvent):
3362         * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
3363         to eliminate dependency on the Event class definition
3364
3365 2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3366
3367         Reviewed by Maciej Stachowiak.
3368
3369         [Qt] Build fix after r45183
3370         https://bugs.webkit.org/show_bug.cgi?id=26748
3371
3372         * WebCore.pro:
3373
3374 2009-06-25  Alexey Proskuryakov  <ap@webkit.org>
3375
3376         Reviewed by Darin Adler.
3377
3378         https://bugs.webkit.org/show_bug.cgi?id=26681
3379         <rdar://problem/7003461> Problem updating applicationCache when server returns 304
3380
3381         Test: http/tests/appcache/update-cache.html
3382
3383         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
3384         We're already done with the resource, don't try to load it again.
3385
3386 2009-06-25  Simon Fraser  <simon.fraser@apple.com>
3387
3388         Reviewed by Oliver Hunt.
3389         
3390         <rdar://problem/6990481>
3391         
3392         Handle perspective computation on non-layer objects.
3393
3394         Test: transforms/3d/general/perspective-non-layer.html
3395
3396         * rendering/RenderObject.cpp:
3397         (WebCore::RenderObject::getTransformFromContainer):
3398
3399 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3400
3401         Reviewed by Eric Seidel.
3402
3403         https://bugs.webkit.org/show_bug.cgi?id=26653
3404
3405         Use flex box in the mediaControls.css style, to nicely scale if a button gets
3406         dynamically added or removed.
3407
3408         Media tests results are affected by this changes.
3409
3410         * css/mediaControls.css:
3411         * css/mediaControlsQT.css:
3412
3413 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
3414
3415         Reviewed by Darin Fisher.
3416
3417         https://bugs.webkit.org/show_bug.cgi?id=26724
3418
3419         Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
3420         up into RenderThemeChromiumSkia.
3421
3422         * rendering/RenderThemeChromiumSkia.cpp:
3423         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
3424         * rendering/RenderThemeChromiumSkia.h:
3425         * rendering/RenderThemeChromiumWin.cpp:
3426         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
3427         * rendering/RenderThemeChromiumWin.h:
3428
3429 2009-06-25  Matt Perry  <mpcomplete@chromium.org>
3430
3431         Reviewed by Darin Fisher.
3432
3433         https://bugs.webkit.org/show_bug.cgi?id=26733
3434
3435         Add V8-only methods to FrameLoaderClient that V8 can use to send
3436         out notifications when it creates/destroys a script context.
3437
3438         * loader/EmptyClients.h:
3439         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
3440         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
3441         * loader/FrameLoaderClient.h:
3442         (WebCore::FrameLoaderClient::didCreateScriptContext):
3443         (WebCore::FrameLoaderClient::didDestroyScriptContext):
3444
3445 2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
3446
3447         Reviewed by David Levin.
3448
3449         Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
3450         to match WebKit style.
3451
3452         * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
3453
3454 2009-06-25  Adam Langley  <agl@google.com>
3455
3456         TBRed: fix for Chromium tree.
3457
3458         Add missing include for r45199.
3459
3460         https://bugs.webkit.org/show_bug.cgi?id=26736
3461
3462         r45199 added a reference to throwError without including V8Proxy.h
3463
3464         * bindings/v8/WorkerScriptController.cpp:
3465
3466 2009-06-25  Adam Langley  <agl@google.com>
3467
3468         TBRed: fix for Chromium tree.
3469
3470         https://bugs.webkit.org/show_bug.cgi?id=26735
3471
3472         Fix V8IsolatedWorld to point to the correct include file.
3473
3474         The deprecated v8_index.h was removed from the Chromium tree in r19291
3475         and upstreamed into WebKit with r45193. However V8IsolatedWorld
3476         slipped in between the cracks and broke the build.
3477
3478         * bindings/v8/V8IsolatedWorld.h: update with new header location.
3479
3480 2009-06-25  Chris Marrin  <cmarrin@apple.com>
3481
3482         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
3483
3484         https://bugs.webkit.org/show_bug.cgi?id=26651
3485         
3486         Preference is named "WebKitAcceleratedCompositingEnabled"
3487         and is a boolean value. When false, prevents compositing layers from
3488         being created, which prevents hardware animation from running.
3489         Also forces video to do software rendering. Added a cache for
3490         the flag in RenderLayerCompositing and made it all work
3491         on-the-fly when the flag is changed while a page is loaded.
3492
3493         * WebCore.base.exp:
3494         * page/FrameView.cpp:
3495         (WebCore::FrameView::updateCompositingLayers):
3496         * page/Settings.cpp:
3497         (WebCore::setNeedsReapplyStylesInAllFrames):
3498         (WebCore::Settings::Settings):
3499         (WebCore::Settings::setAcceleratedCompositingEnabled):
3500         * page/Settings.h:
3501         (WebCore::Settings::acceleratedCompositingEnabled):
3502         * rendering/RenderLayer.cpp:
3503         (WebCore::RenderLayer::hasAcceleratedCompositing):
3504         (WebCore::RenderLayer::updateTransform):
3505         (WebCore::RenderLayer::currentTransform):
3506         * rendering/RenderLayer.h:
3507         * rendering/RenderLayerBacking.cpp:
3508         (WebCore::RenderLayerBacking::updateLayerTransform):
3509         * rendering/RenderLayerCompositor.cpp:
3510         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3511         (WebCore::RenderLayerCompositor::enableCompositingMode):
3512         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
3513         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3514         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
3515         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3516         (WebCore::RenderLayerCompositor::needsToBeComposited):
3517         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
3518         * rendering/RenderLayerCompositor.h:
3519         (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
3520         * rendering/RenderObject.h:
3521         (WebCore::makeMatrixRenderable):
3522
3523 2009-06-25  Jian Li  <jianli@chromium.org>
3524
3525         Reviewed by Dimitri Glazkov.
3526
3527         Bug 26701: Implement the missing code for "FIXME: Need to return an
3528         exception" in WorkerScriptController::evaluate for v8 bindings.
3529         https://bugs.webkit.org/show_bug.cgi?id=26701
3530
3531         * bindings/v8/WorkerScriptController.cpp:
3532         (WebCore::WorkerScriptController::evaluate):
3533
3534 2009-06-25  Nate Chapin  <japhet@chromium.org>
3535
3536         Reviewed by Dimitri Glazkov.
3537
3538         Upstream V8Index.
3539
3540         https://bugs.webkit.org/show_bug.cgi?id=26495
3541
3542         * bindings/v8/V8Index.cpp: Added.
3543         (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
3544         (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
3545         * bindings/v8/V8Index.h:
3546         (WebCore::V8ClassIndex::): Moved from src.chromium.org.
3547         (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
3548         (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
3549
3550 2009-06-25  Adam Langley  <agl@google.com>
3551
3552         Reviewed by Darin Fisher.
3553
3554         https://bugs.webkit.org/show_bug.cgi?id=26529
3555
3556         This is hopefully the last step before our renderers can run
3557         cleanly in a chroot.
3558
3559         WebKit needs to be able to ask for the correct font to use in
3560         the case that the current font doesn't include glyphs for
3561         certain code points. Currently we make a fontconfig call in our
3562         WebKit port to handle this.
3563
3564         This patch changes this so that the call is sent our via
3565         ChromiumBridge.
3566
3567         http://codereview.chromium.org/132007
3568
3569         This should not affect any layout tests.
3570
3571         * platform/chromium/ChromiumBridge.h:
3572         * platform/graphics/chromium/FontCacheLinux.cpp:
3573         (WebCore::FontCache::getFontDataForCharacters):
3574
3575 2009-06-25  Albert J. Wong  <ajwong@chromium.org>
3576
3577         Reviewed by David Levin.
3578
3579         https://bugs.webkit.org/show_bug.cgi?id=26566
3580         Upstream these files from the chromium v8 code.  No tests were
3581         affected because this is essentially a code move.
3582
3583         * bindings/v8/NPV8Object.cpp: Added.
3584         (allocV8NPObject):
3585         (freeV8NPObject):
3586         (listFromVariantArgs):
3587         (npIdentifierToV8Identifier):
3588         (npCreateV8ScriptObject):
3589         (NPN_Invoke):
3590         (NPN_InvokeDefault):
3591         (NPN_Evaluate):
3592         (NPN_EvaluateHelper):
3593         (NPN_GetProperty):
3594         (NPN_SetProperty):
3595         (NPN_RemoveProperty):
3596         (NPN_HasProperty):
3597         (NPN_HasMethod):
3598         (NPN_SetException):
3599         (NPN_Enumerate):
3600         (NPN_Construct):
3601         * bindings/v8/NPV8Object.h: Added.
3602         (PrivateIdentifier::):
3603         * bindings/v8/V8NPUtils.cpp: Added.
3604         (convertV8ObjectToNPVariant):