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