2009-06-22 Jian Li <jianli@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-06-22  Jian Li  <jianli@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
6         objects.
7         https://bugs.webkit.org/show_bug.cgi?id=26626
8
9         * bindings/v8/WorkerContextExecutionProxy.cpp:
10         (WebCore::WorkerContextExecutionProxy::ToV8Object):
11
12 2009-06-22  David Hyatt  <hyatt@apple.com>
13
14         Reviewed by Sam Weinig.
15
16         Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
17         of 300x150.
18
19         * GNUmakefile.am:
20         * WebCore.pro:
21         * WebCore.vcproj/WebCore.vcproj:
22         * WebCore.xcodeproj/project.pbxproj:
23         * WebCoreSources.bkl:
24         * css/html4.css:
25         * html/HTMLDataGridElement.cpp:
26         (WebCore::HTMLDataGridElement::createRenderer):
27         * html/HTMLDataGridElement.h:
28         * html/HTMLDataGridElement.idl:
29         * rendering/RenderDataGrid.cpp: Added.
30         (WebCore::RenderDataGrid::RenderDataGrid):
31         (WebCore::RenderDataGrid::~RenderDataGrid):
32         (WebCore::RenderDataGrid::calcPrefWidths):
33         (WebCore::RenderDataGrid::paintObject):
34         (WebCore::RenderDataGrid::valueChanged):
35         (WebCore::RenderDataGrid::invalidateScrollbarRect):
36         (WebCore::RenderDataGrid::isActive):
37         * rendering/RenderDataGrid.h: Added.
38         (WebCore::RenderDataGrid::renderName):
39         (WebCore::RenderDataGrid::canHaveChildren):
40         (WebCore::RenderDataGrid::scrollbarCornerPresent):
41
42 2009-06-22  Simon Fraser  <simon.fraser@apple.com>
43
44         Reviewed by Dave Hyatt.
45
46         https://bugs.webkit.org/show_bug.cgi?id=26430
47         <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
48         <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
49             during window resize when using hardware layers
50         
51         Fix an ordering dependency which caused the compositing position of a layer
52         to be affected by some later sibling, which affected the compositing ancestor's
53         composited bounds.
54         
55         The fix is to only update the compositing positions of layers in some subtree
56         when updateAfterLayout() has been called on all the layers in that subtree,
57         from the ancestor down.
58         
59         Also cache the composited bounds of a RenderLayerBacking, now that we can
60         guarantee that those bounds are accurate.
61         
62         Test: compositing/sibling-positioning.html
63
64         * rendering/RenderLayer.cpp:
65         (WebCore::RenderLayer::updateLayerPositions):
66         (WebCore::RenderLayer::hitTestLayer):
67         * rendering/RenderLayerBacking.cpp:
68         (WebCore::RenderLayerBacking::RenderLayerBacking):
69         (WebCore::RenderLayerBacking::updateAfterLayout):
70         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
71         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
72         (WebCore::RenderLayerBacking::paintContents):
73         (WebCore::RenderLayerBacking::compositedBounds):
74         (WebCore::RenderLayerBacking::setCompositedBounds):
75         * rendering/RenderLayerBacking.h:
76         * rendering/RenderLayerCompositor.cpp:
77         (WebCore::RenderLayerCompositor::updateBacking):
78         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
79         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
80         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
81         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
82         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
83         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
84         * rendering/RenderLayerCompositor.h:
85
86 2009-06-22  Jeremy Orlow  <jorlow@chromium.org>
87
88         Reviewed by Darin Fisher.
89
90         First step in https://bugs.webkit.org/show_bug.cgi?id=25376
91
92         Add StorageSyncManager.cpp/h
93
94         * GNUmakefile.am:
95         * WebCore.pro:
96         * WebCore.vcproj/WebCore.vcproj:
97         * WebCore.xcodeproj/project.pbxproj:
98         * WebCoreSources.bkl:
99
100         In preparation for combining SessionStorage and LocalStorage into a
101         single StorageManager, move the syncing bits out of LocalStorage and
102         into its own class.
103
104         The next step is to combine LocalStorageArea and SessionStorageArea
105         into one.  Then SessionStorage and LocalStorage can be combined.
106
107         Note that combining them will cut down on code paths that must be
108         proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
109         write historical sessionStorage to disk when memory is getting tight.
110
111         Also remove a couple bits of cruft including code for quotas which is
112         unnecessary (since a meta-data db is unnecessary since you can just
113         count bytes as you read the local storage databases into memory).
114
115         * storage/LocalStorage.cpp:
116         (WebCore::LocalStorage::LocalStorage):
117         (WebCore::LocalStorage::storageArea):
118         (WebCore::LocalStorage::close):
119         * storage/LocalStorage.h:
120         * storage/LocalStorageArea.cpp:
121         (WebCore::LocalStorageArea::LocalStorageArea):
122         (WebCore::LocalStorageArea::scheduleFinalSync):
123         (WebCore::LocalStorageArea::syncTimerFired):
124         (WebCore::LocalStorageArea::performImport):
125         * storage/LocalStorageArea.h:
126         (WebCore::LocalStorageArea::create):
127         * storage/LocalStorageTask.cpp:
128         (WebCore::LocalStorageTask::performTask):
129         * storage/LocalStorageTask.h:
130         (WebCore::LocalStorageTask::):
131         (WebCore::LocalStorageTask::createImport):
132         * storage/LocalStorageThread.cpp:
133         * storage/LocalStorageThread.h:
134         * storage/SessionStorage.h:
135         * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
136         (WebCore::StorageSyncManager::create):
137         (WebCore::StorageSyncManager::StorageSyncManager):
138         (WebCore::StorageSyncManager::fullDatabaseFilename):
139         (WebCore::StorageSyncManager::close):
140         (WebCore::StorageSyncManager::scheduleImport):
141         (WebCore::StorageSyncManager::scheduleSync):
142         * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
143         (WebCore::):
144
145 2009-06-22  Darin Fisher  <darin@chromium.org>
146
147         Reviewed by Dimitri Glazkov.
148
149         https://bugs.webkit.org/show_bug.cgi?id=26622
150         Add ChromiumDataObject::copy()
151
152         * platform/chromium/ChromiumDataObject.cpp:
153         * platform/chromium/ChromiumDataObject.h:
154
155 2009-06-22  Timothy Hatcher  <timothy@apple.com>
156
157         Add a silhouette image for the enable view of the Resource panel.
158
159         Reviewed by Kevin McCullough.
160
161         * inspector/front-end/Images/resourcesSilhouette.png: Added.
162         * inspector/front-end/inspector.css:
163
164 2009-06-22  Kyle Prete  <kylep@chromium.org>
165
166         Reviewed by Dimitri Glazkov.
167
168         https://bugs.webkit.org/show_bug.cgi?id=26552
169         Add V8 JS bindings for Audio Constructor.
170
171         * bindings/v8/custom/V8CustomBinding.h:
172         Added a callback declaration for audio ctor to macro.
173         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
174         Added the whole file.
175
176 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
177
178         Reviewed by David Levin.
179
180         https://bugs.webkit.org/show_bug.cgi?id=26600
181         StringImpl::copy() no longer copies empty string correctly
182
183         * platform/text/StringImpl.cpp:
184         (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
185         static method.
186         (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
187
188 2009-06-22  Xiaomei Ji  <xji@chromium.org>
189
190         Reviewed by Eric Seidel
191
192         Not auto-testable since it involves sending a keyboard event to
193         the popup, which is not possible (eventSender sends the key
194         events through webview, we want to go through the webwidget).
195
196         This patch is one part of the fix for issue "keyboard selection in
197         Hebrew select element does not work in Windows". The other part of the
198         fix is in chromium's webkit/glue layer.
199         https://bugs.webkit.org/show_bug.cgi?id=25899
200
201         * manual-tests/keyboard_select_non_english.html: Added.
202         * platform/chromium/PopupMenuChromium.cpp:
203         (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
204         character type event. "Char" in Windows or "KeyDown" in Mac is character
205         type event.
206         (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
207         indicate whether user types multiple characters continuely as a search
208         prefix or not, it should be only assigned when the event is character 
209         type event. 
210
211 2009-06-22  Kevin McCullough  <kmccullough@apple.com>
212
213         Reviewed by Darin Adler.
214
215         <rdar://problem/6115819> Notify of profile start in console
216
217         Put a message in the console that announces that a profile has started,
218         similar to how a console message announces that a profile has finished.
219
220         * inspector/InspectorController.cpp:
221         (WebCore::InspectorController::addProfile): Use renamed function.
222         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
223         Renamed.
224         (WebCore::InspectorController::addStartProfilingMessageToConsole):
225         New function that logs the message about the profile starting.
226         (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
227         * inspector/InspectorController.h:
228         * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
229         title if there are multiple profiles, and take into account the fact
230         that titles are displayed twice as much now.
231         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
232         * page/Console.cpp:
233         (WebCore::Console::profile): Call new function.
234
235 2009-06-22  David Hyatt  <hyatt@apple.com>
236
237         Reviewed by Sam Weinig.
238
239         https://bugs.webkit.org/show_bug.cgi?id=26615
240
241         Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
242         correspond to ones you find on <select> elements.
243
244         Add an expanded property to row elements.
245
246         * DerivedSources.cpp:
247         * DerivedSources.make:
248         * GNUmakefile.am:
249         * WebCore.pro:
250         * WebCore.vcproj/WebCore.vcproj:
251         * WebCore.xcodeproj/project.pbxproj:
252         * WebCoreSources.bkl:
253         * html/HTMLAttributeNames.in:
254         * html/HTMLDataGridCellElement.cpp: Added.
255         (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
256         (WebCore::HTMLDataGridCellElement::label):
257         (WebCore::HTMLDataGridCellElement::setLabel):
258         (WebCore::HTMLDataGridCellElement::focused):
259         (WebCore::HTMLDataGridCellElement::setFocused):
260         (WebCore::HTMLDataGridCellElement::checked):
261         (WebCore::HTMLDataGridCellElement::setChecked):
262         (WebCore::HTMLDataGridCellElement::indeterminate):
263         (WebCore::HTMLDataGridCellElement::setIndeterminate):
264         (WebCore::HTMLDataGridCellElement::progress):
265         (WebCore::HTMLDataGridCellElement::setProgress):
266         * html/HTMLDataGridCellElement.h: Added.
267         (WebCore::HTMLDataGridCellElement::endTagRequirement):
268         (WebCore::HTMLDataGridCellElement::tagPriority):
269         * html/HTMLDataGridCellElement.idl: Added.
270         * html/HTMLDataGridElement.cpp:
271         (WebCore::HTMLDataGridElement::autofocus):
272         (WebCore::HTMLDataGridElement::setAutofocus):
273         (WebCore::HTMLDataGridElement::disabled):
274         (WebCore::HTMLDataGridElement::setDisabled):
275         (WebCore::HTMLDataGridElement::size):
276         (WebCore::HTMLDataGridElement::setSize):
277         * html/HTMLDataGridElement.h:
278         * html/HTMLDataGridElement.idl:
279         * html/HTMLDataGridRowElement.cpp:
280         (WebCore::HTMLDataGridRowElement::checkDTD):
281         (WebCore::HTMLDataGridRowElement::expanded):
282         (WebCore::HTMLDataGridRowElement::setExpanded):
283         * html/HTMLDataGridRowElement.h:
284         * html/HTMLDataGridRowElement.idl:
285         * html/HTMLElementsAllInOne.cpp:
286         * html/HTMLTagNames.in:
287
288 2009-06-22  Sam Weinig  <sam@webkit.org>
289
290         Reviewed by Mark Rowe.
291
292         Add event handler attribute getter/setters to HTMLBodyElement
293         as specified in HTML 5.
294
295         - Removes erroneous inclusion of the onresize and onunload event
296         handler attributes in Element and Document.
297
298         * dom/Document.cpp:
299         (WebCore::Document::getWindowAttributeEventListener):
300         * dom/Document.h:
301         * dom/Document.idl:
302         * dom/Element.idl:
303         * dom/Node.cpp:
304         * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
305         virtual, since their behavior for HTMLBodyElement differs from the base
306         implementation.
307         * html/HTMLBodyElement.cpp:
308         (WebCore::HTMLBodyElement::onblur):
309         (WebCore::HTMLBodyElement::setOnblur):
310         (WebCore::HTMLBodyElement::onerror):
311         (WebCore::HTMLBodyElement::setOnerror):
312         (WebCore::HTMLBodyElement::onfocus):
313         (WebCore::HTMLBodyElement::setOnfocus):
314         (WebCore::HTMLBodyElement::onload):
315         (WebCore::HTMLBodyElement::setOnload):
316         (WebCore::HTMLBodyElement::onbeforeunload):
317         (WebCore::HTMLBodyElement::setOnbeforeunload):
318         (WebCore::HTMLBodyElement::onmessage):
319         (WebCore::HTMLBodyElement::setOnmessage):
320         (WebCore::HTMLBodyElement::onoffline):
321         (WebCore::HTMLBodyElement::setOnoffline):
322         (WebCore::HTMLBodyElement::ononline):
323         (WebCore::HTMLBodyElement::setOnonline):
324         (WebCore::HTMLBodyElement::onresize):
325         (WebCore::HTMLBodyElement::setOnresize):
326         (WebCore::HTMLBodyElement::onstorage):
327         (WebCore::HTMLBodyElement::setOnstorage):
328         (WebCore::HTMLBodyElement::onunload):
329         (WebCore::HTMLBodyElement::setOnunload):
330         * html/HTMLBodyElement.h:
331         * html/HTMLBodyElement.idl:
332
333 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
334
335         Reviewed by Darin Adler.
336
337         https://bugs.webkit.org/show_bug.cgi?id=26601
338         Remove disabled code for appcache dynamic entries
339
340         This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
341
342         * DerivedSources.cpp:
343         * DerivedSources.make:
344         * GNUmakefile.am:
345         * WebCore.pro:
346         * WebCore.vcproj/WebCore.vcproj:
347         * WebCore.xcodeproj/project.pbxproj:
348         * WebCoreSources.bkl:
349         * bindings/js/JSDOMStringListCustom.cpp: Removed.
350         * bindings/v8/custom/V8CustomBinding.h:
351         * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
352         * dom/DOMStringList.cpp: Removed.
353         * dom/DOMStringList.h: Removed.
354         * dom/DOMStringList.idl: Removed.
355         * dom/StaticStringList.cpp: Removed.
356         * dom/StaticStringList.h: Removed.
357         * loader/DocumentLoader.cpp:
358         (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
359         * loader/appcache/ApplicationCache.cpp:
360         (WebCore::ApplicationCache::addResource):
361         * loader/appcache/ApplicationCache.h:
362         * loader/appcache/ApplicationCacheGroup.cpp:
363         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
364         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
365         * loader/appcache/ApplicationCacheResource.cpp:
366         (WebCore::ApplicationCacheResource::dumpType):
367         * loader/appcache/ApplicationCacheResource.h:
368         (WebCore::ApplicationCacheResource::):
369         * loader/appcache/ApplicationCacheStorage.cpp:
370         (WebCore::ApplicationCacheStorage::storeUpdatedType):
371         * loader/appcache/DOMApplicationCache.cpp:
372         * loader/appcache/DOMApplicationCache.h:
373         * loader/appcache/DOMApplicationCache.idl:
374         * page/DOMWindow.idl:
375
376 2009-06-22  Steve Falkenburg  <sfalken@apple.com>
377
378         Windows build fix.
379
380         * DerivedSources.cpp:
381         * html/HTMLElementsAllInOne.cpp:
382
383 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
384
385         Reviewed by John Sullivan.
386
387         <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
388         Japanese can't be input.
389
390         WebKit uses a per-frame input context for most editable fields, and application's global
391         context for password fields, manually controlling secure input state and the list of available
392         input sources.
393
394         We were setting TSMDocument property to disable non-Roman input methods after focus changed
395         to a password field, but before selection was updated. This resulted in the property being
396         applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
397         context cached by +[NSApplication updateWindows], we change context based on selection,
398         not on focus.
399
400         * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
401         context that we use for password fields - the global one - there is no need to get the active
402         one.
403
404 2009-06-22  David Levin  <levin@chromium.org>
405
406         Reviewed by David Hyatt and Eric Seidel.
407
408         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
409         https://bugs.webkit.org/show_bug.cgi?id=26326
410
411         Test: scrollbars/scrollbar-crash-on-refresh.html
412
413         * dom/Document.cpp:
414         (WebCore::Document::detach):
415         Gives the FrameView a change to do any necessary cleanup on
416         Document::detach() which is where the renderArena gets detroyed.
417         * page/FrameView.cpp:
418         (WebCore::FrameView::detachCustomScrollbars):
419         Gets rid of any custom scrollbars (if the docment supplied them).
420         * page/FrameView.h:
421         * platform/Scrollbar.h:
422         (WebCore::Scrollbar::isCustomScrollbar):
423         * rendering/RenderObject.cpp:
424         (WebCore::RenderObject::destroy):
425         Removed the check for document()->frame().  If frame() is 0 in this code,
426         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
427         * rendering/RenderScrollbar.h:
428         (WebCore::RenderScrollbar::isCustomScrollbar):
429
430 2009-06-22  Dan Bernstein  <mitz@apple.com>
431
432         Reviewed by Simon Fraser.
433
434         - fix https://bugs.webkit.org/show_bug.cgi?id=23606
435           <rdar://problem/6537777> CSS gradient not repainted when image load
436           completes
437
438         Test: fast/repaint/background-generated.html
439
440         * rendering/RenderObject.cpp:
441         (WebCore::mustRepaintFillLayers): Return true if the layer does not
442         specify a size and the image uses the container size.
443
444 2009-06-22  David Hyatt  <hyatt@apple.com>
445
446         Reviewed by Sam Weinig.
447
448         https://bugs.webkit.org/show_bug.cgi?id=26607
449
450         Add IDL for HTMLDataGridRowElement.
451
452         * DerivedSources.make:
453         * GNUmakefile.am:
454         * WebCore.pro:
455         * WebCore.vcproj/WebCore.vcproj:
456         * WebCore.xcodeproj/project.pbxproj:
457         * WebCoreSources.bkl:
458         * html/HTMLAttributeNames.in:
459         * html/HTMLDataGridColElement.cpp:
460         (WebCore::HTMLDataGridColElement::primary):
461         (WebCore::HTMLDataGridColElement::setPrimary):
462         * html/HTMLDataGridColElement.h:
463         * html/HTMLDataGridColElement.idl:
464         * html/HTMLDataGridElement.cpp:
465         (WebCore::HTMLDataGridElement::checkDTD):
466         (WebCore::HTMLDataGridElement::multiple):
467         (WebCore::HTMLDataGridElement::setMultiple):
468         * html/HTMLDataGridElement.h:
469         * html/HTMLDataGridElement.idl:
470         * html/HTMLDataGridRowElement.cpp: Added.
471         (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
472         (WebCore::HTMLDataGridRowElement::selected):
473         (WebCore::HTMLDataGridRowElement::setSelected):
474         (WebCore::HTMLDataGridRowElement::focused):
475         (WebCore::HTMLDataGridRowElement::setFocused):
476         * html/HTMLDataGridRowElement.h: Added.
477         (WebCore::HTMLDataGridRowElement::tagPriority):
478         * html/HTMLDataGridRowElement.idl: Added.
479         * html/HTMLTagNames.in:
480
481 2009-06-19  Yael Aharon <yael.aharon@nokia.com>
482
483         Reviewed by Holger Freyther.
484
485         https://bugs.webkit.org/show_bug.cgi?id=26556
486
487         Fix a crash in case that the QNetworkReply::readReady signal is
488         "stuck" in deferred mode due to JavaScript alert, and in the meantime,
489         QNetworkreply::finished signal is received and processed before
490         QNetworkReply::readReady is processed.
491
492         * manual-tests/qt/unload-alert.html: Added.
493         * platform/network/qt/QNetworkReplyHandler.cpp:
494         (WebCore::QNetworkReplyHandler::setLoadMode):
495         (WebCore::QNetworkReplyHandler::finish):
496         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
497         (WebCore::QNetworkReplyHandler::forwardData):
498         (WebCore::QNetworkReplyHandler::start):
499         (WebCore::QNetworkReplyHandler::sendQueuedItems):
500         * platform/network/qt/QNetworkReplyHandler.h:
501         (WebCore::QNetworkReplyHandler::):
502
503 2009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
504
505         Fix the Qt build.
506
507         * WebCore.pro:
508
509 2009-06-21  Darin Adler  <darin@apple.com>
510
511         Reviewed by Sam Weinig.
512
513         Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
514         https://bugs.webkit.org/show_bug.cgi?id=25425
515
516         * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
517         more consistent and to make SVGElement.h be included in the header rather than in
518         every implementation file that includes the header. Added code to use getAttribute
519         and setAttribute directly when the [Reflect] extended attribute is used.
520
521         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
522
523         * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
524         reflect content attributes. Restricting this to one class for now to keep the
525         patch small and start out slowly.
526
527 2009-06-21  Sam Weinig  <sam@webkit.org>
528
529         Reviewed by Oliver Hunt.
530
531         Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
532         Only expose event handler attributes to elements and documents.
533
534         Test: fast/dom/event-attribute-availability.html
535
536         * dom/Document.idl:
537         * dom/Element.idl:
538         * dom/Node.cpp:
539         * dom/Node.h:
540         * dom/Node.idl:
541
542 2009-06-21  Daniel Bates  <dbates@intudata.com>
543
544         Reviewed by Adam Barth.
545
546         https://bugs.webkit.org/show_bug.cgi?id=26580
547         
548         Fix to enable XSSAuditor on child windows.
549         
550         Test: http/tests/security/xssAuditor/link-opens-new-window.html
551         
552         * page/XSSAuditor.cpp:
553         (WebCore::XSSAuditor::XSSAuditor):
554         (WebCore::XSSAuditor::isEnabled):
555         (WebCore::XSSAuditor::canEvaluate):
556         (WebCore::XSSAuditor::canCreateInlineEventListener):
557         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
558         (WebCore::XSSAuditor::canLoadObject):
559         * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
560         Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
561         to query Settings.
562
563 2009-06-21  David Levin  <levin@chromium.org>
564
565         Reviewed by NOBODY.
566
567         Speculative windows build fix (idea by Mark Rowe).
568
569         * WebCore.vcproj/WebCore.vcproj:
570
571 2009-06-21  David Levin  <levin@chromium.org>
572
573         Reviewed by NOBODY (Speculative gtk build fix).
574
575         * GNUmakefile.am:
576
577 2009-06-21  David Levin  <levin@chromium.org>
578
579         Reviewed by NOBODY.
580
581         Speculative tiger build fix and a windows build fix.
582         More fixes may still be in order.
583
584         * WebCore.vcproj/WebCoreCommon.vsprops:
585         * dom/default/PlatformMessagePortChannel.h:
586         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
587
588 2009-06-21  David Levin  <levin@chromium.org>
589
590         Reviewed by NOBODY (Speculative tiger build fix).
591
592         * dom/default/PlatformMessagePortChannel.h:
593         (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
594
595 2009-06-21  Drew Wilson  <atwilson@google.com>
596
597         Reviewed by David Levin.
598
599         <https://bugs.webkit.org/show_bug.cgi?id=26448>
600         
601         Added optimized GC for MessagePorts when the entangled port is run by the same thread.
602         Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
603
604         * bindings/js/JSDOMBinding.cpp:
605         (WebCore::markActiveObjectsForContext):
606         Now marks remotely entangled ports as in-use, in addition to those with pending activity.
607         * bindings/js/JSMessagePortCustom.cpp:
608         (WebCore::JSMessagePort::mark):
609         Now checks if the entangled port is local (run by same thread) and if so mark()s it.
610         * dom/MessagePort.cpp:
611         (WebCore::MessagePort::postMessage):
612         (WebCore::MessagePort::disentangle):
613         Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
614         (WebCore::MessagePort::start):
615         (WebCore::MessagePort::locallyEntangledPort):
616         Added API for fetching the entangled port if it is run by the same thread
617         * dom/MessagePort.h:
618         * dom/MessagePortProxyWrapper.h:
619         * dom/default/MessagePortProxy.cpp:
620         (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
621         Added API for fetching the entangled port if it is run by the same thread        
622         (WebCore::MessagePortProxy::hasPendingActivity):
623         Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
624         (WebCore::MessagePortProxy::locallyEntangledPort):
625         * dom/default/MessagePortProxy.h:
626
627 2009-06-21  Drew Wilson  <atwilson@google.com>
628
629         Reviewed by David Levin.
630
631         <https://bugs.webkit.org/show_bug.cgi?id=25043>
632         Removed obsolete MessagePort.startConversation(), active and onclose APIs.
633
634         Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
635         implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
636         entirely into the platform-dependent proxy.
637
638         Created a thread-safe default PlatformMessagePortChannel implementation.
639
640         Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
641         cross-thread MessagePorts work.
642         
643         * GNUMakefile.am:
644         * WebCore.vcproj/WebCore.vcproj:
645         * WebCore.xcodeproj/project.pbxproj:
646             Added MessagePortChannel/PlatformMessagePortChannel files.
647         * bindings/js/JSMessagePortCustom.cpp:
648         (WebCore::JSMessagePort::mark):
649             Changed ports to not mark their entangled pair as reachable, per the spec.
650         * bindings/v8/custom/V8MessagePortCustom.cpp:
651         * dom/MessageChannel.cpp:
652         (WebCore::MessageChannel::MessageChannel):
653             Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
654         * dom/MessagePort.cpp:
655         (WebCore::MessagePort::MessagePort):
656         (WebCore::MessagePort::~MessagePort):
657         (WebCore::MessagePort::postMessage):
658         (WebCore::MessagePort::disentangle):
659         (WebCore::MessagePort::messageAvailable):
660         (WebCore::MessagePort::start):
661         (WebCore::MessagePort::close):
662         (WebCore::MessagePort::entangle):
663         (WebCore::MessagePort::contextDestroyed):
664         (WebCore::MessagePort::dispatchMessages):
665         (WebCore::MessagePort::setOnmessage):
666         (WebCore::MessagePort::hasPendingActivity):
667             Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
668         * dom/MessagePort.h:
669             Renamed isQueueOpen() to started().
670         * dom/MessagePort.idl:
671             Removed startConversation and onclose.
672         * dom/MessagePortProxy.h: Removed.
673         * dom/MessagePortChannel.cpp: Added.
674         (WebCore::MessagePortChannel::EventData::create):
675         (WebCore::MessagePortChannel::EventData::EventData):
676         (WebCore::MessagePortChannel::~MessagePortChannel):
677         * dom/MessagePortChannel.h: Added.
678         (WebCore::MessagePortChannel::EventData::message):
679         (WebCore::MessagePortChannel::EventData::channel):
680             Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
681         (WebCore::MessagePortChannel::MessagePortChannel):
682         (WebCore::MessagePortChannel::create):        
683         * dom/ScriptExecutionContext.cpp:
684         (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
685             Renamed isQueueOpen() to started().
686         * dom/default/PlatformMessagePortChannel.cpp: Added.
687         (WebCore::MessagePortChannel::entangleIfOpen):
688         (WebCore::MessagePortChannel::disentangle):
689         (WebCore::MessagePortChannel::postMessageToRemote):
690         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
691         (WebCore::MessagePortChannel::close):
692         (WebCore::MessagePortChannel::isConnectedTo):
693         (WebCore::MessagePortChannel::hasPendingActivity):
694         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
695         (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
696         (WebCore::PlatformMessagePortChannel::createChannel):
697         (WebCore::PlatformMessagePortChannel::entangleIfOpen):
698         (WebCore::PlatformMessagePortChannel::disentangle):
699         (WebCore::PlatformMessagePortChannel::setRemotePort):
700         (WebCore::PlatformMessagePortChannel::remotePort):
701         (WebCore::PlatformMessagePortChannel::entangledChannel):
702         (WebCore::PlatformMessagePortChannel::setEntangledChannel):
703         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
704         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
705         (WebCore::PlatformMessagePortChannel::isConnectedTo):
706         (WebCore::PlatformMessagePortChannel::close):
707         (WebCore::PlatformMessagePortChannel::closeInternal):
708         (WebCore::PlatformMessagePortChannel::hasPendingActivity):
709         * dom/default/PlatformMessagePortChannel.h: Added.
710         (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
711         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
712         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
713         (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
714         (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
715         * page/DOMWindow.cpp:
716         (WebCore::PostMessageTimer::PostMessageTimer):
717             Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
718         (WebCore::PostMessageTimer::event):
719         (WebCore::DOMWindow::postMessage):
720         (WebCore::DOMWindow::postMessageTimerFired):
721
722 2009-06-21  Dan Bernstein  <mitz@apple.com>
723
724         Reviewed by Sam Weinig.
725
726         - fix https://bugs.webkit.org/show_bug.cgi?id=15383
727           <rdar://problem/5682745> resize: vertical does not restrict to vertical
728           resize
729
730         Test: fast/css/resize-single-axis.html
731
732         * rendering/RenderLayer.cpp:
733         (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
734         axis.
735
736 2009-06-21  Sam Weinig  <sam@webkit.org>
737
738         Reviewed by Eric Seidel
739
740         Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
741         event.currentTarget for listener registered on window should point to the window object like in Firefox
742
743         Test: fast/events/event-trace.html
744
745         * dom/Node.cpp:
746         (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
747         to it. We previously used the document because DOMWindow was not yet an EventTarget.
748
749 2009-06-21  Dan Bernstein  <mitz@apple.com>
750
751         Reviewed by Sam Weinig.
752
753         - fix https://bugs.webkit.org/show_bug.cgi?id=9694
754           resize value not compared
755
756         Test: fast/css/resize-value-compared.html
757
758         * rendering/style/StyleRareInheritedData.cpp:
759         (WebCore::StyleRareInheritedData::operator==): Compare the resize
760         member.
761
762 2009-06-19  Alice Liu  <alice.liu@apple.com>
763
764         Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
765         Repro crash animating GIF if previously used in a closed window's back/forward list
766         Also filed as <rdar://problem/6978362>
767
768         Reviewed by Maciej Stachowiak.
769
770         Can't test this bug with an automated layout test since it requires b/f caching 
771         * manual-tests/animated-gif-bfcache-crash.html: Added.
772         * manual-tests/resources/containsAnimatedGif.html: Added.
773
774         Adding checks for hostWindow() since there is no guarantee that the Page is alive
775         * platform/ScrollView.cpp:
776         (WebCore::ScrollView::scrollRectIntoViewRecursively):
777         (WebCore::ScrollView::contentsToScreen):
778         (WebCore::ScrollView::screenToContents):
779         (WebCore::ScrollView::wheelEvent):
780
781 2009-06-20  Sam Weinig  <sam@webkit.org>
782
783         Reviewed by Adam Barth.
784
785         Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
786         Shadowing of top and parent
787
788         * page/DOMWindow.idl:
789
790 2009-06-20  Mark Rowe  <mrowe@apple.com>
791
792         Reviewed by Dan Bernstein.
793
794         Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
795         Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
796
797         We allow selections to begin within an element that has -webkit-user-select: none set,
798         unless the element is draggable as dragging should take priority over starting a selection.
799
800         Test: editing/selection/user-drag-element-and-user-select-none.html
801
802         * dom/Node.cpp:
803         (WebCore::Node::canStartSelection):
804
805 2009-06-20  Darin Adler  <darin@apple.com>
806
807         Reviewed by Dan Bernstein.
808
809         Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
810         https://bugs.webkit.org/show_bug.cgi?id=26528
811         rdar://problem/6985329
812
813         * editing/TextIterator.cpp:
814         (WebCore::TextIterator::handleReplacedElement): When entering a text control,
815         start at the top of the shadow tree (by calling shadowTreeRootNode). Also
816         remove assumption that innerTextElement will never be 0 since RenderTextControl
817         doesn't really guarantee this.
818
819 2009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
820
821         Reviewed by NOBODY.
822
823         Speculative Qt build fix - add HTMLDataGridColElement to the build script.
824
825         * WebCore.pro:
826
827 2009-06-19  Adam Barth  <abarth@webkit.org>
828
829         Reviewed by Darin Adler.
830
831         https://bugs.webkit.org/show_bug.cgi?id=26561
832
833         Remove a memcpy by retrieving the already existing copy of a string
834         instead of making a new one.
835
836         * bindings/js/ScriptSourceCode.h:
837         (WebCore::ScriptSourceCode::ScriptSourceCode):
838         (WebCore::ScriptSourceCode::source):
839         * bindings/js/StringSourceProvider.h:
840         (WebCore::StringSourceProvider::source):
841
842 2009-06-19  Brian Weinstein  <bweinstein@apple.com>
843
844         Reviewed by Steve Falkenburg.
845         
846         https://bugs.webkit.org/show_bug.cgi?id=26488
847         No Support for Single Finger or Two Finger Panning in Windows 7
848         
849         The code in WebCore allows us to interpret a Pan gesture as
850         a mousewheel event, and we are able to reuse the scrolling code.
851         Another constructor was created in WheelEventWin which takes data
852         better suited to the pan guesture than what was currently there. 
853         
854         Unable to add tests to simulate touch behavior/gestures.
855
856         * platform/PlatformWheelEvent.h:
857         * platform/win/WheelEventWin.cpp:
858
859 2009-06-19  Chris Marrin  <cmarrin@apple.com>
860
861         Fixed a build error, which only shows up in the i386 compile
862
863         * platform/graphics/mac/GraphicsLayerCA.mm:
864         (WebCore::GraphicsLayerCA::animateTransform):
865
866 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
867
868         Reviewed by Oliver Hunt.
869
870         <rdar://problem/6988385> REGRESSION: In full page video player, movie's
871         video track becomes detached from its controller.
872         
873         When in the media document, the MediaPlayer should not report that it
874         is capable of hardware acceleration, because it renders via a QTMovieView
875         which is already accelerated.
876
877         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
878         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
879
880 2009-06-19  Kevin Ollivier  <kevino@theolliviers.com>
881
882         Adding XSSAuditor.cpp to the wx build.
883
884         * WebCoreSources.bkl:
885
886 2009-06-19  Chris Marrin  <cmarrin@apple.com>
887
888         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
889
890         https://bugs.webkit.org/show_bug.cgi?id=26544
891
892         If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
893         This is not really testable, since we can't see what the hardware animation is doing.
894
895         * platform/graphics/mac/GraphicsLayerCA.mm:
896         (WebCore::GraphicsLayerCA::animateTransform):
897
898 2009-06-19  Geoffrey Garen  <ggaren@apple.com>
899
900         Reviewed by Maciej Stachowiak.
901         
902         An additional fix for Bug 26532: Native functions do not correctly unlink
903         from optimised callsites when they're collected
904         <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
905
906         Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
907         accessors, so the type of object you get to wrap a function is the same,
908         regardless of whether the access to the function is cross-frame.
909         
910         This is faster and more idiomatic than what we had before. It also would
911         have avoided Bug 26532 because it would have prevented a conflicting
912         PrototypeFunction from being allocated to wrap postMessage, where a
913         NativeFunctionWrapper had been allocated previously.
914         
915         * bindings/js/JSDOMBinding.cpp:
916         (WebCore::objectToStringFunctionGetter):
917         * bindings/js/JSDOMWindowCustom.cpp:
918         (WebCore::nonCachingStaticFunctionGetter):
919         * bindings/js/JSHistoryCustom.cpp:
920         (WebCore::nonCachingStaticBackFunctionGetter):
921         (WebCore::nonCachingStaticForwardFunctionGetter):
922         (WebCore::nonCachingStaticGoFunctionGetter):
923         * bindings/js/JSLocationCustom.cpp:
924         (WebCore::nonCachingStaticReplaceFunctionGetter):
925         (WebCore::nonCachingStaticReloadFunctionGetter):
926         (WebCore::nonCachingStaticAssignFunctionGetter):
927
928 2009-06-19  Simon Fraser  <simon.fraser@apple.com>
929
930         Reviewed by John Sullivan
931
932         <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
933         
934         Fix a crash that could occur in complex content due to timing issues
935         when doing a partial layer tree rebuild which is required when painting;
936         setCompositingParent() could be called with a parent which has not been made
937         compositing yet.
938
939 2009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
940
941         Build fix. Adding missing HTMLDataGrid* files to the build.
942
943         * GNUmakefile.am:
944
945 2009-06-19  Peter Kasting  <pkasting@google.com>
946
947         Reviewed by Eric Seidel.
948
949         https://bugs.webkit.org/show_bug.cgi?id=26460 part three
950         Make BMPImageReader a standalone class that is used by ICOImageDecoder
951         and BMPImageDecoder to decode individual BMPs within a file.  These
952         decoders now inherit directly from ImageDecoder.
953         
954         This also makes these decoders decode on-demand in isSizeAvailable() and
955         frameBufferAtIndex(), like the other decoders, instead of when setData()
956         is called, like before.  This should provide a speedup on pages
957         containing BMPs that aren't immediately onscreen.
958
959         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
960         (WebCore::BMPImageDecoder::BMPImageDecoder):
961         (WebCore::BMPImageDecoder::setData):
962         (WebCore::BMPImageDecoder::isSizeAvailable):
963         (WebCore::BMPImageDecoder::frameBufferAtIndex):
964         (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
965         (WebCore::BMPImageDecoder::decode):
966         (WebCore::BMPImageDecoder::processFileHeader):
967         * platform/image-decoders/bmp/BMPImageDecoder.h:
968         (WebCore::BMPImageDecoder::readUint32):
969         * platform/image-decoders/bmp/BMPImageReader.cpp:
970         (WebCore::BMPImageReader::BMPImageReader):
971         (WebCore::BMPImageReader::decodeBMP):
972         (WebCore::BMPImageReader::readInfoHeaderSize):
973         (WebCore::BMPImageReader::processInfoHeader):
974         (WebCore::BMPImageReader::readInfoHeader):
975         (WebCore::BMPImageReader::processBitmasks):
976         (WebCore::BMPImageReader::processColorTable):
977         (WebCore::BMPImageReader::processRLEData):
978         (WebCore::BMPImageReader::processNonRLEData):
979         (WebCore::BMPImageReader::setFailed):
980         * platform/image-decoders/bmp/BMPImageReader.h:
981         (WebCore::BMPImageReader::readUint16):
982         (WebCore::BMPImageReader::readUint32):
983         (WebCore::BMPImageReader::setBuffer):
984         (WebCore::BMPImageReader::setData):
985         (WebCore::BMPImageReader::):
986         (WebCore::BMPImageReader::pastEndOfImage):
987         (WebCore::BMPImageReader::readCurrentPixel):
988         (WebCore::BMPImageReader::setRGBA):
989         * platform/image-decoders/ico/ICOImageDecoder.cpp:
990         (WebCore::ICOImageDecoder::ICOImageDecoder):
991         (WebCore::ICOImageDecoder::setData):
992         (WebCore::ICOImageDecoder::isSizeAvailable):
993         (WebCore::ICOImageDecoder::size):
994         (WebCore::ICOImageDecoder::frameBufferAtIndex):
995         (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
996         (WebCore::ICOImageDecoder::decode):
997         (WebCore::ICOImageDecoder::processDirectory):
998         (WebCore::ICOImageDecoder::processDirectoryEntries):
999         (WebCore::ICOImageDecoder::readDirectoryEntry):
1000         (WebCore::ICOImageDecoder::processImageType):
1001         * platform/image-decoders/ico/ICOImageDecoder.h:
1002         (WebCore::ICOImageDecoder::readUint16):
1003         (WebCore::ICOImageDecoder::readUint32):
1004
1005 2009-06-19  Adam Barth  <abarth@webkit.org>
1006
1007         Reviewed by Dimitri Glazkov.
1008
1009         https://bugs.webkit.org/show_bug.cgi?id=26555
1010
1011         Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
1012         the same API in V8 and JSC.
1013
1014         * WebCore/bindings/js/ScriptController.cpp:
1015         * WebCore/bindings/js/ScriptSourceCode.h:
1016         * WebCore/bindings/v8/ScriptController.cpp:
1017         * WebCore/page/XSSAuditor.cpp:
1018         * WebCore/page/XSSAuditor.h:
1019
1020 2009-06-19  David Hyatt  <hyatt@apple.com>
1021
1022         Reviewed by Anders Carlsson.
1023
1024         https://bugs.webkit.org/show_bug.cgi?id=26547
1025         
1026         Implement the IDL interface for HTMLDataGridColElement.
1027
1028         * DerivedSources.cpp:
1029         * DerivedSources.make:
1030         * GNUmakefile.am:
1031         * WebCore.pro:
1032         * WebCore.vcproj/WebCore.vcproj:
1033         * WebCore.xcodeproj/project.pbxproj:
1034         * WebCoreSources.bkl:
1035         * html/HTMLAttributeNames.in:
1036         * html/HTMLDataGridColElement.cpp: Added.
1037         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
1038         (WebCore::HTMLDataGridColElement::label):
1039         (WebCore::HTMLDataGridColElement::setLabel):
1040         (WebCore::HTMLDataGridColElement::type):
1041         (WebCore::HTMLDataGridColElement::setType):
1042         (WebCore::HTMLDataGridColElement::sortable):
1043         (WebCore::HTMLDataGridColElement::setSortable):
1044         (WebCore::HTMLDataGridColElement::sortDirection):
1045         (WebCore::HTMLDataGridColElement::setSortDirection):
1046         (WebCore::HTMLDataGridColElement::selected):
1047         (WebCore::HTMLDataGridColElement::setSelected):
1048         * html/HTMLDataGridColElement.h: Added.
1049         (WebCore::HTMLDataGridColElement::endTagRequirement):
1050         (WebCore::HTMLDataGridColElement::tagPriority):
1051         * html/HTMLDataGridColElement.idl: Added.
1052         * html/HTMLDataGridElement.h:
1053         * html/HTMLElementsAllInOne.cpp:
1054         * html/HTMLTagNames.in:
1055         * page/DOMWindow.idl:
1056
1057 2009-06-19  Chris Evans  <scarybeasts@gmail.com>
1058
1059         Reviewed by Eric Seidel.
1060
1061         There is no new test because this cannot be tested deterministically.
1062         I've not been able to cause a crash at all in the test framework, but
1063         I have verified that this is happening in the wild and that the patch
1064         fixes the likely cause in the debugger.
1065
1066         * loader/TextResourceDecoder.cpp: careful not to iterate off the end
1067           of our input buffer looking for the end of the comment.
1068
1069 2009-06-19  Adam Barth  <abarth@webkit.org>
1070
1071         Reviewed by Dimitri Glazkov.
1072
1073         https://bugs.webkit.org/show_bug.cgi?id=26536
1074
1075         Fix external-script-URL-location.html and
1076         write-external-script-open.html LayoutTests.
1077
1078         implicitOpen is called from several places.  We need to setXSSAuditor
1079         each time, so I moved the call inside implicitOpen.
1080
1081         * dom/Document.cpp:
1082         (WebCore::Document::open):
1083         (WebCore::Document::implicitOpen):
1084         * loader/FrameLoader.cpp:
1085         (WebCore::FrameLoader::begin):
1086
1087 2009-06-19  Kent Tamura  <tkent@chromium.org>
1088
1089         Reviewed by David Levin.
1090
1091         Use WebCore::multipleFileUploadText() in Chromium to fix a problem
1092         that Chromium shows only the first filename even if a user selects
1093         multiple files for <input type=file multiple>.
1094         <https://bugs.webkit.org/show_bug.cgi?id=26502>
1095
1096         * platform/chromium/FileChooserChromium.cpp:
1097         (WebCore::FileChooser::basenameForWidth):
1098
1099 2009-06-19  Dan Bernstein  <mitz@apple.com>
1100
1101         Reviewed by Dave Hyatt.
1102
1103         - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
1104           to look up a word in Dictionary using command-control-d
1105
1106         Test: editing/selection/move-by-line-005.html
1107
1108         The root cause of this bug was searchAheadForBetterMatch() continuing
1109         past the first rendered text object after the given object. While we
1110         want to skip non-rendered text and empty containers, when we encounter
1111         rendered text object, we must return a text box for that object.
1112
1113         * dom/Position.cpp:
1114         (WebCore::searchAheadForBetterMatch):
1115
1116 2009-06-19  Jungshik Shin  <jshin@chromium.org>
1117
1118         Reviewed by David Levin
1119
1120         https://bugs.webkit.org/show_bug.cgi?id=25657
1121
1122         Chromium Linux port does not handle non-BMP characters properly.
1123         It's fixed with a 'UTF-16 iterator macro' to extract Unicode
1124         codepoints out of a UTF-16 input string.
1125
1126         A manual test is added for non-BMP character rendering,
1127         which we can use until a small freely-distributable font
1128         covering non-BMP is added to the Webkit source tree.
1129
1130
1131         * platform/graphics/chromium/FontCacheLinux.cpp:
1132         (WebCore::FontCache::getFontDataForCharacters):
1133         * manual-tests/non-bmp.html: Added.
1134
1135 2009-06-19  Pavel Feldman  <pfeldman@chromium.org>
1136
1137         Reviewed by Dimitri Glazkov.
1138
1139         V8 Bindings: return proper state from the script stack.
1140
1141         https://bugs.webkit.org/show_bug.cgi?id=26512
1142
1143         * bindings/v8/ScriptCallStack.cpp:
1144         (WebCore::ScriptCallStack::ScriptCallStack):
1145         * bindings/v8/ScriptCallStack.h:
1146         (WebCore::ScriptCallStack::state):
1147
1148 2009-06-19  Jessie Berlin  <jberlin@apple.com>
1149
1150         Reviewed by Simon Fraser.
1151
1152         Windows build fix.
1153         
1154         * platform/graphics/cg/PatternCG.cpp:
1155         (WebCore::Pattern::createPlatformPattern):
1156
1157 2009-06-19  Yael Aharon  <yael.aharon@nokia.com>
1158
1159         Reviewed by Simon Hausmann.
1160         Build fix after 44825.
1161
1162         * platform/graphics/qt/ImageDecoderQt.cpp:
1163         (WebCore::ImageDecoderQt::isSizeAvailable):
1164         * platform/graphics/qt/ImageDecoderQt.h:
1165
1166 2009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>
1167
1168         Reviewed by Oliver Hunt.
1169
1170         Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
1171         <https://bugs.webkit.org/show_bug.cgi?id=26426>
1172
1173         Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
1174         The original number cannot be represented by mantissa of float
1175         (23bit) so that it caused some error.
1176
1177         Test: fast/canvas/image-object-in-canvas.html:
1178
1179         * platform/graphics/cg/PatternCG.cpp:
1180         (WebCore::Pattern::createPlatformPattern):
1181
1182 2009-06-19  Adam Barth  <abarth@webkit.org>
1183
1184         Unreviewed attempt to fix the Chromium build.
1185
1186         * bindings/v8/ScriptController.cpp:
1187         (WebCore::ScriptController::ScriptController):
1188         (WebCore::ScriptController::evaluate):
1189         * bindings/v8/ScriptController.h:
1190         (WebCore::ScriptController::xssAuditor):
1191         * bindings/v8/ScriptEventListener.cpp:
1192         (WebCore::createAttributeEventListener):
1193
1194 2009-06-18  Adam Barth  <abarth@webkit.org>
1195
1196         Reviewed by Sam Weinig.
1197
1198         https://bugs.webkit.org/show_bug.cgi?id=26199
1199
1200         Added an experimental reflective XSS filter.  The filter is disabled by
1201         default.
1202
1203         Test: http/tests/security/xssAuditor/script-tag.html
1204
1205         * GNUmakefile.am:
1206         * WebCore.base.exp:
1207         * WebCore.pro:
1208         * WebCore.vcproj/WebCore.vcproj:
1209         * WebCore.xcodeproj/project.pbxproj:
1210         * bindings/js/ScriptController.cpp:
1211         (WebCore::ScriptController::ScriptController):
1212         (WebCore::ScriptController::evaluate):
1213         * bindings/js/ScriptController.h:
1214         (WebCore::ScriptController::xssAuditor):
1215         * bindings/js/ScriptEventListener.cpp:
1216         (WebCore::createAttributeEventListener):
1217         * dom/Tokenizer.h:
1218         (WebCore::Tokenizer::xssAuditor):
1219         (WebCore::Tokenizer::setXSSAuditor):
1220         (WebCore::Tokenizer::Tokenizer):
1221         * html/HTMLTokenizer.cpp:
1222         (WebCore::HTMLTokenizer::scriptHandler):
1223         * loader/FrameLoader.cpp:
1224         (WebCore::FrameLoader::begin):
1225         (WebCore::FrameLoader::requestObject):
1226         * page/Settings.cpp:
1227         (WebCore::Settings::Settings):
1228         (WebCore::Settings::setXSSAuditorEnabled):
1229         * page/Settings.h:
1230         (WebCore::Settings::xssAuditorEnabled):
1231         * page/XSSAuditor.cpp: Added.
1232         (WebCore::isControlCharacter):
1233         (WebCore::XSSAuditor::XSSAuditor):
1234         (WebCore::XSSAuditor::~XSSAuditor):
1235         (WebCore::XSSAuditor::canEvaluate):
1236         (WebCore::XSSAuditor::canCreateInlineEventListener):
1237         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1238         (WebCore::XSSAuditor::canLoadObject):
1239         (WebCore::XSSAuditor::decodeURL):
1240         (WebCore::XSSAuditor::findInRequest):
1241         * page/XSSAuditor.h: Added.
1242         (WebCore::XSSAuditor::isEnabled):
1243         (WebCore::XSSAuditor::setXSSAuditorEnabled):
1244
1245 2009-06-18  Dirk Schulze  <krit@webkit.org>
1246
1247         Reviewed by Oliver Hunt.
1248
1249         feOffset and objectBoundingBox
1250         [https://bugs.webkit.org/show_bug.cgi?id=26441]
1251
1252         If we use objectBoundingBox for primitiveUnits, the fractions given
1253         to dx or dy of feOffset must be multiplied with the referenced objects
1254         objectBoundingBox size.
1255
1256         Test: svg/filters/feOffset.svg
1257
1258         * svg/graphics/filters/SVGFEOffset.cpp:
1259         (WebCore::FEOffset::apply):
1260
1261 2009-06-18  Dirk Schulze  <krit@webkit.org>
1262
1263         Reviewed by Oliver Hunt.
1264
1265         feTile implementation missing
1266         [https://bugs.webkit.org/show_bug.cgi?id=26419]
1267
1268         Implementation of feTile, a pattern effect for SVG filters. It was
1269         necessary to modify FilterEffect since source inputs need a secial
1270         logic and we have to identify if an effect is a source input.
1271
1272         Tests: svg/batik/filters/feTile.svg
1273                svg/filters/feTile.svg
1274
1275         * platform/graphics/filters/FilterEffect.h:
1276         (WebCore::FilterEffect::isSourceInput):
1277         * platform/graphics/filters/SourceAlpha.h:
1278         (WebCore::SourceAlpha::isSourceInput):
1279         * platform/graphics/filters/SourceGraphic.h:
1280         (WebCore::SourceGraphic::isSourceInput):
1281         * svg/graphics/filters/SVGFETile.cpp:
1282         (WebCore::FETile::apply):
1283
1284 2009-06-18  Dirk Schulze  <krit@webkit.org>
1285
1286         Reviewed by Oliver Hunt.
1287
1288         feMerge implementation
1289         [https://bugs.webkit.org/show_bug.cgi?id=26480]
1290
1291         Added feMerge to the SVG Filter system.
1292
1293         Test: svg/filters/feMerge.svg
1294
1295         * svg/graphics/filters/SVGFEMerge.cpp:
1296         (WebCore::FEMerge::uniteChildEffectSubregions):
1297         (WebCore::FEMerge::apply):
1298         * svg/graphics/filters/SVGFEMerge.h:
1299
1300 2009-06-18  Mark Rowe  <mrowe@apple.com>
1301
1302         Speculative Windows build fix.
1303
1304         * page/win/FrameCGWin.cpp: Add missing #include.
1305
1306 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1307
1308         Reviewed by Dave Levin.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=26425
1311         Final refactorings, picking up a few places where BitmapInfo
1312         could be used.
1313
1314         * page/win/FrameCGWin.cpp:
1315         (WebCore::imageFromRect):
1316         * platform/win/CursorWin.cpp:
1317         (WebCore::Cursor::Cursor):
1318         * platform/win/PopupMenuWin.cpp:
1319         (WebCore::PopupMenu::paint):
1320
1321 2009-06-18  Chris Fleizach  <cfleizach@apple.com>
1322
1323         Reviewed by Darin Adler.
1324
1325         Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
1326         https://bugs.webkit.org/show_bug.cgi?id=26522
1327
1328         Test: accessibility/non-data-table-cell-title-ui-element.html
1329
1330         * accessibility/AccessibilityTableCell.cpp:
1331         (WebCore::AccessibilityTableCell::titleUIElement):
1332
1333 2009-06-18  Kevin Ollivier  <kevino@theolliviers.com>
1334
1335         wx build fix after recent RenderTheme changes.
1336
1337         * platform/wx/RenderThemeWx.cpp:
1338         (WebCore::RenderThemeWx::~RenderThemeWx):
1339         (WebCore::RenderTheme::themeForPage):
1340
1341 2009-06-18  Peter Kasting  <pkasting@google.com>
1342
1343         Reviewed by Eric Seidel.
1344
1345         https://bugs.webkit.org/show_bug.cgi?id=26460 part two
1346         Attempt to minimize diff of following functional change by first landing
1347         non-functional change to:
1348         * Make readUintX() public and static (since they will need to be once
1349           BMPImageReader is included in *ImageDecoder via composition rather
1350           than inheritance).  Add wrappers in each class so callers can be
1351           simpler.  In the next patch, these wrappers will be beefed up slightly
1352           and the callers will get even simpler.
1353         * Change direct setting of m_failed to use setFailed(), since in the
1354           next patch much of this code won't even have direct access to m_failed
1355         * Add a helper function in ICOImageDecoder to determine the image type
1356           instead of simply doing it inline
1357         * Rewrap lines that used to be <=80 cols and slipped over it during the
1358           original landing of these decoders
1359         * Other misc. changes, e.g. adding constructor definitions, reordering
1360           functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
1361           functional effect but minimize the subsequent diff for readability
1362
1363
1364         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1365         (WebCore::BMPImageDecoder::BMPImageDecoder):
1366         (WebCore::BMPImageDecoder::processFileHeader):
1367         * platform/image-decoders/bmp/BMPImageDecoder.h:
1368         (WebCore::BMPImageDecoder::readUint32):
1369         * platform/image-decoders/bmp/BMPImageReader.cpp:
1370         (WebCore::BMPImageReader::decodeBMP):
1371         (WebCore::BMPImageReader::getInfoHeaderSize):
1372         (WebCore::BMPImageReader::processInfoHeader):
1373         (WebCore::BMPImageReader::readInfoHeader):
1374         (WebCore::BMPImageReader::processBitmasks):
1375         (WebCore::BMPImageReader::processColorTable):
1376         (WebCore::BMPImageReader::processRLEData):
1377         (WebCore::BMPImageReader::processNonRLEData):
1378         * platform/image-decoders/bmp/BMPImageReader.h:
1379         (WebCore::BMPImageReader::readUint16Helper):
1380         (WebCore::BMPImageReader::readUint32Helper):
1381         (WebCore::BMPImageReader::):
1382         (WebCore::BMPImageReader::readUint16):
1383         (WebCore::BMPImageReader::readUint32):
1384         (WebCore::BMPImageReader::readCurrentPixel):
1385         (WebCore::BMPImageReader::getComponent):
1386         (WebCore::BMPImageReader::setI):
1387         (WebCore::BMPImageReader::setRGBA):
1388         (WebCore::BMPImageReader::fillRGBA):
1389         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1390         (WebCore::ICOImageDecoder::ICOImageDecoder):
1391         (WebCore::ICOImageDecoder::isSizeAvailable):
1392         (WebCore::ICOImageDecoder::size):
1393         (WebCore::ICOImageDecoder::decodeImage):
1394         (WebCore::ICOImageDecoder::processDirectory):
1395         (WebCore::ICOImageDecoder::processDirectoryEntries):
1396         (WebCore::ICOImageDecoder::isBetterEntry):
1397         (WebCore::ICOImageDecoder::processImageType):
1398         * platform/image-decoders/ico/ICOImageDecoder.h:
1399         (WebCore::ICOImageDecoder::readUint16):
1400         (WebCore::ICOImageDecoder::readUint32):
1401
1402 2009-06-18  Peter Kasting  <pkasting@google.com>
1403
1404         Fix build bustage.
1405
1406         * platform/image-decoders/gif/GIFImageDecoder.h:
1407
1408 2009-06-18  Kevin McCullough  <kmccullough@apple.com>
1409
1410         Reviewed by Oliver Hunt.
1411
1412         <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
1413
1414         Convert intptr_t to Strings so that we don't loose bits in the
1415         conversion to JS.  Previously they were being put into 32bit ints.
1416
1417         * inspector/InspectorController.cpp: Convert the String back to an
1418         intptr_t.
1419         (WebCore::InspectorController::addBreakpoint):
1420         (WebCore::InspectorController::removeBreakpoint):
1421         * inspector/InspectorController.h:
1422         * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
1423         truncation.
1424         * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
1425         (WebCore::InspectorFrontend::parsedScriptSource):
1426         * platform/text/PlatformString.h: Implemented the necessary conversion
1427         functions to be able to convert to and from an intptr_t.
1428         * platform/text/String.cpp: Ditto.
1429         (WebCore::String::toIntPtrStrict):
1430         (WebCore::String::toIntPtr):
1431         (WebCore::charactersToIntPtrStrict):
1432         (WebCore::charactersToIntPtr):
1433         * platform/text/StringImpl.cpp: Ditto.
1434         (WebCore::StringImpl::toIntPtrStrict):
1435         (WebCore::StringImpl::toIntPtr):
1436         * platform/text/StringImpl.h: Ditto.
1437
1438 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1439
1440         Reviewed by Eric Seidel.
1441
1442         Final cleanups in this refactoring:
1443         (1) Move WindowsBitmap implementation from CG-specific file to
1444             the platform-common GraphicsContextWin.cpp, since it is
1445             equally useful on both platforms.
1446         (2) Revise the TransformationMatrix logic as suggested by
1447             Adam Roben in his review comments to Part #2 of this
1448             refactoring.
1449
1450         * platform/graphics/win/GraphicsContextCGWin.cpp:
1451         * platform/graphics/win/GraphicsContextWin.cpp:
1452         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
1453         (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
1454         (WebCore::GraphicsContext::createWindowsBitmap):
1455         (WebCore::GraphicsContext::getWindowsContext):
1456         (WebCore::GraphicsContextPlatformPrivate::scale):
1457         (WebCore::GraphicsContextPlatformPrivate::rotate):
1458         (WebCore::GraphicsContextPlatformPrivate::translate):
1459         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1460
1461 2009-06-18  Peter Kasting  <pkasting@google.com>
1462
1463         Reviewed by Eric Seidel.
1464
1465         https://bugs.webkit.org/show_bug.cgi?id=26460 part one
1466         Make isSizeAvailable non-const, since it's not logically const (it
1467         triggers lazy decoding), and simplify all the implementations (without
1468         changing behavior; just make less verbose).  Remove some other
1469         inappropriate consts, which enables the removal of all the mutable
1470         declarations in the decoders.
1471
1472         * platform/image-decoders/ImageDecoder.h:
1473         (WebCore::ImageDecoder::isSizeAvailable):
1474         (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
1475         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1476         (WebCore::GIFImageDecoder::isSizeAvailable):
1477         (WebCore::GIFImageDecoder::repetitionCount):
1478         (WebCore::GIFImageDecoder::decode):
1479         * platform/image-decoders/gif/GIFImageDecoder.h:
1480         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1481         (WebCore::ICOImageDecoder::isSizeAvailable):
1482         * platform/image-decoders/ico/ICOImageDecoder.h:
1483         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1484         (WebCore::JPEGImageDecoder::isSizeAvailable):
1485         (WebCore::JPEGImageDecoder::decode):
1486         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1487         * platform/image-decoders/png/PNGImageDecoder.cpp:
1488         (WebCore::PNGImageDecoder::isSizeAvailable):
1489         (WebCore::PNGImageDecoder::decode):
1490         * platform/image-decoders/png/PNGImageDecoder.h:
1491         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
1492         (WebCore::XBMImageDecoder::isSizeAvailable):
1493         (WebCore::XBMImageDecoder::frameBufferAtIndex):
1494         (WebCore::XBMImageDecoder::decode):
1495         * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
1496
1497 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1498
1499         Reviewed by Eric Seidel.
1500
1501         Move some common functions out of platform files and into
1502         the common implementation.
1503
1504         https://bugs.webkit.org/show_bug.cgi?id=26425.
1505         Add a new platform context method (flush) so that the
1506         getWindowsContext method can be consolidated into the common
1507         GraphicsContextWin.cpp file.
1508          
1509         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1510         (WebCore::GraphicsContextPlatformPrivate::flush):
1511         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1512         (WebCore::GraphicsContextPlatformPrivate::flush):
1513         * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
1514           getWindowContext method.
1515         * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
1516           getWindowContext method and fillWithClearColor methods.
1517         * platform/graphics/win/GraphicsContextWin.cpp:
1518         (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
1519         (WebCore::GraphicsContext::getWindowsContext): Moved
1520           from *CairoWin.cpp
1521
1522 2009-06-18  Ojan Vafai  <ojan@chromium.org>
1523
1524         Reviewed by Oliver Hunt.
1525
1526         Remove code that I accidentally committed in r44811.
1527
1528         * editing/markup.cpp:
1529         (WebCore::createMarkup):
1530
1531 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
1532
1533         Reviewed by Dan Bernstein.
1534
1535         <rdar://problem/6983207> Non-layer content is not re-rendered when transition
1536         starts sometimes (with hardware acceleration).
1537         
1538         When deciding which RenderLayers should be composited, when a layer goes into
1539         compositing mode we repaint the old location. However, we did that before
1540         we'd looked at all the factors that may force a layer to composite, so missed
1541         some cases. Fix by doing the repaint once we really know whether it's going
1542         to composite.
1543
1544         Test: compositing/repaint/become-overlay-composited-layer.html
1545
1546         * rendering/RenderLayerCompositor.cpp:
1547         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1548
1549 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
1550
1551         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
1552         the Tiger build where QTMovieLayer does not exist.
1553
1554         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1555         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1556         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
1557         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
1558         (WebCore::MediaPlayerPrivate::currentRenderingMode):
1559         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
1560         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
1561         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
1562
1563 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
1564
1565         Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
1566
1567         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1568         (WebCore::MediaPlayerPrivate::currentRenderingMode):
1569         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
1570         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
1571
1572 2009-06-17  Erik Arvidsson  <arv@chromium.org>
1573
1574         Reviewed by Adele Peterson.
1575
1576         https://bugs.webkit.org/show_bug.cgi?id=15189
1577         Adds the HTML5 input event support for textarea.
1578         
1579         Also, moves the oninput attribute parse handling to HTMLElement so that
1580         it can be set on any HTML element so that bubbling events can be handled
1581         using HTML attribute handlers.
1582
1583         Test: fast/forms/textarea-input-event.html
1584
1585         * html/HTMLElement.cpp:
1586         (WebCore::HTMLElement::parseMappedAttribute):
1587         * html/HTMLInputElement.cpp:
1588         (WebCore::HTMLInputElement::parseMappedAttribute):
1589         * rendering/RenderTextControlMultiLine.cpp:
1590         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
1591
1592 2009-06-18  Dirk Schulze  <krit@webkit.org>
1593
1594         Reviewed by Oliver Hunt.
1595
1596         Share code between filterEffects
1597         [https://bugs.webkit.org/show_bug.cgi?id=26479]
1598
1599         Share more code of filter effects. The imageBuffer creation can move to
1600         FilterEffect ant every effect asks for the GraphicsContext. Move the
1601         drawingRect calculation to FilterEffect.
1602
1603         * platform/graphics/filters/FilterEffect.cpp:
1604         (WebCore::FilterEffect::calculateDrawingRect):
1605         (WebCore::FilterEffect::getEffectContext):
1606         * platform/graphics/filters/FilterEffect.h:
1607         * platform/graphics/filters/SourceGraphic.cpp:
1608         (WebCore::SourceGraphic::apply):
1609         * svg/graphics/filters/SVGFEFlood.cpp:
1610         (WebCore::FEFlood::apply):
1611         * svg/graphics/filters/SVGFEOffset.cpp:
1612         (WebCore::FEOffset::apply):
1613
1614 2009-06-18  Simon Fraser  <simon.fraser@apple.com>
1615
1616         Reviewed by Dave Hyatt.
1617         
1618         https://bugs.webkit.org/show_bug.cgi?id=26499
1619         
1620         Support hardware-accelerationed rendering of video elements.
1621
1622         * html/HTMLMediaElement.cpp:
1623         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
1624         (WebCore::HTMLMediaElement::mediaPlayerRepaint):
1625         Just move these methods to group the render-related methods together.
1626         
1627         (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
1628         Call out method to ask the RenderLayerCompositor if presentation of this video
1629         can be acclerated. It might say no, if, for example, the video has a reflection.
1630         
1631         (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
1632         Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
1633         
1634         * html/HTMLMediaElement.h:
1635         Reordered the rendering-related methods, and added two methods related to video
1636         acceleration.
1637         
1638         * platform/graphics/MediaPlayer.cpp:
1639         (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
1640         Called by the rendering system when it determines that the video must go into, or
1641         fall off of the hardware-accelerated path.
1642         
1643         (WebCore::MediaPlayer::supportsAcceleratedRendering):
1644         Method to say whether the media engine supports accelerated rendering.
1645         
1646         * platform/graphics/MediaPlayer.h:
1647         (WebCore::MediaPlayerClient::mediaPlayerRepaint):
1648         (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
1649         Moved.
1650         
1651         (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
1652         (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
1653         New methods to ask the client if the rendering system can support accelerated
1654         rendering, and to get a GraphicsLayer to plug the movie layer into.
1655         
1656         * platform/graphics/MediaPlayerPrivate.h:
1657         (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
1658         (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
1659         Forwarding methods from MediaPlayer.
1660         
1661         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1662         Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
1663
1664         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1665         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
1666         (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
1667         Methods to create and destroy the QTMovieLayer.
1668         
1669         (WebCore::MediaPlayerPrivate::currentRenderingMode):
1670         (WebCore::MediaPlayerPrivate::preferredRenderingMode):
1671         Methods to clarify the code that decides which of the 3 rendering modes to use.
1672         
1673         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
1674         Changed to use the new rendering mode methods.
1675         
1676         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
1677         Destroy the layer if we have one.
1678         
1679         (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
1680         Small utility method.
1681         
1682         (WebCore::MediaPlayerPrivate::updateStates):
1683         Move the call to setUpVideoRendering() to before we send out the state notifications,
1684         so that we will have created the rendering objects already.
1685         
1686         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
1687         Return true if we have QTMovieLayer.
1688         
1689         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
1690         We've been told that we went into or out of accelerated mode; maybe reset
1691         the renderer, and set the layer if we have to.
1692         
1693         * rendering/RenderLayer.cpp:
1694         (WebCore::RenderLayer::rendererContentChanged):
1695         We may need to udpate compositing layers if the video went into accelerated mode.
1696         
1697         * rendering/RenderLayerBacking.cpp:
1698         (WebCore::RenderLayerBacking::canUseDirectCompositing):
1699         Add smarts to deal with video, which allows us to avoid extra backing store.
1700         
1701         (WebCore::RenderLayerBacking::contentsBox):
1702         Use the videoBox to use the content layer for video layers.
1703         
1704         * rendering/RenderLayerCompositor.cpp:
1705         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1706         Poke the RenderVideo if the state changed.
1707         
1708         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1709         Handle an edge case when the video element itself is a stacking context
1710         because of opacity or transform.
1711         
1712         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
1713         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1714         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
1715         Allow video to throw us into compositing mode if the media engine supports it.
1716         
1717         * rendering/RenderLayerCompositor.h:
1718         New methods related to video.
1719         
1720         * rendering/RenderVideo.h:
1721         * rendering/RenderVideo.cpp:
1722         (WebCore::RenderVideo::updatePlayer):
1723         Call rendererContentChanged() to give the compositor a change to throw the video into
1724         compositing mode.
1725         
1726         (WebCore::RenderVideo::supportsAcceleratedRendering):
1727         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
1728         (WebCore::RenderVideo::videoGraphicsLayer):
1729         Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
1730
1731 2009-06-18  Rob Buis  <rwlbuis@gmail.com>
1732
1733         Reviewed by Niko.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=26385
1736         Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
1737
1738         Also do the isValid check for outer <svg>.
1739
1740         Test: svg/custom/outer-svg-unknown-feature.svg
1741
1742         * svg/SVGDocument.cpp:
1743         (WebCore::SVGDocument::childShouldCreateRenderer):
1744         * svg/SVGDocument.h:
1745
1746 2009-06-18  Dan Bernstein  <mitz@apple.com>
1747
1748         Reviewed by Darin Adler.
1749
1750         - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
1751           apple.com cuts entered text
1752
1753         Test: fast/forms/search-vertical-alignment.html
1754
1755         * rendering/RenderTextControlSingleLine.cpp:
1756         (WebCore::RenderTextControlSingleLine::layout): Vertically center the
1757             the search field's inner block.
1758
1759 2009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>
1760
1761         Reviewed by Simon Hausmann.
1762
1763         Fix compilation with Symbian WINSCW compiler, which produced
1764         multiple definitions of the CSSPrimitiveValue conversion operators.
1765
1766         It turns out that they are defined inline but not declared inline.
1767
1768         Adding the inline keyword to the declaration fixes the build.
1769
1770         * css/CSSPrimitiveValue.h:
1771
1772 2009-06-18  Markus Goetz <Markus.Goetz@nokia.com>
1773
1774         Reviewed by Simon Hausman.
1775
1776         Clarify in docs how to compile with debug information.
1777
1778         * WebCore.pro:
1779
1780 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
1781
1782         Reviewed by Simon Hausmann.
1783
1784         [Qt] When writing an URL to the clipboard, save the corresponding title
1785         in the mime data as well.
1786
1787         * platform/qt/ClipboardQt.cpp:
1788         (WebCore::ClipboardQt::writeURL):
1789
1790 2009-06-18  Jakub Wieczorek  <faw217@gmail.com>
1791
1792         [Qt] Fix build. Add HTMLDataGridElement.
1793
1794         * WebCore.pro:
1795
1796 2009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
1797
1798         Gtk build fix.
1799
1800         Add HTMLDataGridElement header and IDL to the build script.
1801
1802         * GNUmakefile.am:
1803
1804 2009-06-18  Chris Evans  <scarybeasts@gmail.com>
1805
1806         Reviewed by Adam Barth.
1807
1808         Fix 8-digit long hex entities. Fixes bug 26454
1809         https://bugs.webkit.org/show_bug.cgi?id=26454
1810
1811         Test: fast/parser/eightdigithexentity.html
1812
1813         * html/HTMLTokenizer.cpp: fix off-by-ones.
1814
1815 2009-06-18  David Levin  <levin@chromium.org>
1816
1817         Fix chromium linux build.
1818
1819         Fixes a mistake that happened during the complicated merge for
1820         landing r44775, r44776, r44777.
1821
1822         * rendering/RenderThemeChromiumLinux.cpp:
1823         (WebCore::RenderThemeChromiumLinux::create):
1824
1825 2009-06-17  Simon Fraser  <simon.fraser@apple.com>
1826
1827         Reviewed by Darin Adler.
1828         
1829         https://bugs.webkit.org/show_bug.cgi?id=26499
1830         
1831         First step to making video rendering be hardware-accelerated:
1832         make <video> elements get self-painting RenderLayers, and add
1833         an isVideo() virtual method to RenderObject.
1834
1835         * html/HTMLMediaElement.cpp:
1836         (WebCore::HTMLMediaElement::setReadyState):
1837         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
1838         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
1839         * rendering/RenderLayer.cpp:
1840         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1841         (WebCore::RenderLayer::isSelfPaintingLayer):
1842         * rendering/RenderObject.h:
1843         (WebCore::RenderObject::isVideo):
1844         * rendering/RenderVideo.h:
1845         (WebCore::RenderVideo::requiresLayer):
1846         (WebCore::RenderVideo::isVideo):
1847
1848 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1849
1850         Reviewed by Adam Roben.
1851
1852         Refactor a few common routines in the various Windows ports
1853         and reduce some duplicated code.
1854
1855         (1) Create TransformationMatrix XFORM casting operator, and
1856             switch various XFORM structure uses to utilize it.
1857         (2) Push concatCTM call to GraphicsContextWin now that the
1858             TransformationMatrix can directly create XFORM (rather
1859             than converting to CGAffineTransform/cairo_matrix_t first.)
1860
1861         * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
1862         * platform/graphics/transforms/TransformationMatrix.h:
1863         * platform/graphics/win/GraphicsContextCGWin.cpp:
1864         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1865         * platform/graphics/win/GraphicsContextWin.cpp:
1866         (WebCore::GraphicsContextPlatformPrivate::scale):
1867         (WebCore::GraphicsContextPlatformPrivate::rotate):
1868         (WebCore::GraphicsContextPlatformPrivate::translate):
1869         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1870         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
1871         (WebCore::TransformationMatrix::operator XFORM): New operator
1872
1873 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1874
1875         Non-CG Windows build fix after @r44758.
1876
1877         * rendering/RenderThemeWin.cpp:
1878         (WebCore::RenderTheme::themeForPage):
1879
1880 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
1881
1882         Reviewed by Adam Roben.
1883
1884         Refactor a few common routines in the various Windows ports
1885         and reduce some duplicated code.
1886         https://bugs.webkit.org/show_bug.cgi?id=26425.
1887
1888         Refactor use of BITMAPINFO for the new BitmapInfo structure.
1889
1890         * WebCore.vcproj/WebCore.vcproj:
1891         * platform/win/BitmapInfo.cpp: Added.
1892         (WebCore::bitmapInfoForSize):
1893         (WebCore::BitmapInfo::create):
1894         (WebCore::BitmapInfo::createBottomUp):
1895         * platform/win/BitmapInfo.h: Added.
1896         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1897         * platform/graphics/win/GraphicsContextCGWin.cpp:
1898         * platform/graphics/win/TransformationMatrixWin.cpp: Added.
1899         (WebCore::TransformationMatrix::operator XFORM): New operator
1900         * platform/win/DragImageCGWin.cpp:
1901         (WebCore::allocImage):
1902         * platform/win/DragImageCairoWin.cpp:
1903         (WebCore::allocImage):
1904         * platform/win/PasteboardWin.cpp:
1905         (WebCore::Pasteboard::writeImage):
1906         * platform/win/PopupMenuWin.cpp:
1907         (WebCore::PopupMenu::paint):
1908
1909 2009-06-17  Adam Roben  <aroben@apple.com>
1910
1911         Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
1912
1913         Reviewed by Mark Rowe.
1914
1915         * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
1916         an unnecessary parameter name.
1917         * platform/win/SoftLinking.h: Removed the unused 6th parameter.
1918
1919 2009-06-17  Adam Roben  <aroben@apple.com>
1920
1921         Make Settings::shouldPaintNativeControls default to true
1922
1923         This matches the default up in WebKit (that was changed in r43318).
1924
1925         Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
1926         form controls
1927         <https://bugs.webkit.org/show_bug.cgi?id=26493>
1928
1929         Reviewed by Darin Adler and Dave Hyatt.
1930
1931         No test possible since DRT always uses Mac-style form controls.
1932
1933         * page/Settings.cpp: Changed the initial value of
1934         gShouldPaintNativeControls to true.
1935
1936         * rendering/RenderThemeSafari.cpp:
1937         (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
1938         flaw here involving querying Settings before it's been initialized.
1939
1940 2009-06-17  David Levin  <levin@chromium.org>
1941
1942         Fix chromium windows build.
1943
1944         A mistake that happened during the complicated merge for
1945         landing r44775, r44776, r44777.
1946
1947         * rendering/RenderThemeChromiumWin.h:
1948         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
1949         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
1950
1951 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
1952
1953         Reviewed by Simon Fraser.
1954
1955         <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
1956
1957         * rendering/MediaControlElements.cpp:
1958         (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
1959         (WebCore::MediaControlInputElement::attachToParent): Ditto.
1960
1961 2009-06-17  David Hyatt  <hyatt@apple.com>
1962
1963         Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.
1964
1965         * html/HTMLElementsAllInOne.cpp:
1966
1967 2009-06-17  David Hyatt  <hyatt@apple.com>
1968
1969         Reviewed by Adam Roben and Anders Carlsson.
1970
1971         Stub out the HTMLDataGridElement.
1972
1973         * DerivedSources.make:
1974         * WebCore.vcproj/WebCore.vcproj:
1975         * WebCore.xcodeproj/project.pbxproj:
1976         * WebCoreSources.bkl:
1977         * css/CSSStyleSelector.cpp:
1978         (WebCore::CSSStyleSelector::adjustRenderStyle):
1979         * editing/htmlediting.cpp:
1980         (WebCore::canHaveChildrenForEditing):
1981         * html/HTMLDataGridElement.h: Added.
1982         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
1983         (WebCore::HTMLDataGridElement::tagPriority):
1984         * html/HTMLDataGridElement.idl: Added.
1985         * html/HTMLElement.cpp:
1986         (WebCore::inlineTagList):
1987         * html/HTMLParser.cpp:
1988         (WebCore::HTMLParser::isAffectedByResidualStyle):
1989         * html/HTMLTagNames.in:
1990
1991 2009-06-17  David Levin  <levin@chromium.org>
1992
1993         Reviewed by NOBODY (chromium build fix).
1994
1995         Fix typo in previous changes.
1996
1997         * rendering/RenderThemeChromiumSkia.cpp:
1998         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
1999
2000 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
2001
2002         Reviewed by Eric Seidel.
2003
2004         https://bugs.webkit.org/show_bug.cgi?id=26148
2005         Remove common code from RenderThemeChromiumWin that is shared with
2006         RenderThemeChromiumSkia.
2007
2008         Also move supportsControlTints to RenderThemeChromiumLinux since it
2009         is linux specific.
2010
2011         There are no tests changed because this just removes functions with
2012         duplicate implementations between the base and derived classes.
2013
2014         * rendering/RenderThemeChromiumLinux.cpp:
2015         (WebCore::RenderThemeChromiumLinux::supportsControlTints):
2016         * rendering/RenderThemeChromiumLinux.h:
2017         * rendering/RenderThemeChromiumSkia.cpp:
2018         * rendering/RenderThemeChromiumSkia.h:
2019         * rendering/RenderThemeChromiumWin.cpp:
2020         (WebCore::):
2021         (WebCore::getNonClientMetrics):
2022         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
2023         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
2024         (WebCore::RenderThemeChromiumWin::systemFont):
2025         (WebCore::RenderThemeChromiumWin::paintCheckbox):
2026         (WebCore::RenderThemeChromiumWin::paintRadio):
2027         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
2028         (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
2029         * rendering/RenderThemeChromiumWin.h:
2030
2031 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
2032
2033         Reviewed by Eric Seidel.
2034
2035         https://bugs.webkit.org/show_bug.cgi?id=26148
2036         Move RenderThemeChromiumSkia into its own file.  This is purely a code move.
2037
2038         * rendering/RenderThemeChromiumLinux.cpp:
2039         * rendering/RenderThemeChromiumLinux.h:
2040         * rendering/RenderThemeChromiumSkia.cpp:
2041         (WebCore::):
2042         (WebCore::setSizeIfAuto):
2043         (WebCore::mediaElementParent):
2044         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
2045         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
2046         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
2047         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
2048         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
2049         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
2050         (WebCore::RenderThemeChromiumSkia::supportsHover):
2051         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
2052         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
2053         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
2054         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
2055         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
2056         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
2057         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2058         (WebCore::RenderThemeChromiumSkia::systemFont):
2059         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
2060         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2061         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
2062         (WebCore::RenderThemeChromiumSkia::paintRadio):
2063         (WebCore::RenderThemeChromiumSkia::setRadioSize):
2064         (WebCore::brightenColor):
2065         (WebCore::paintButtonLike):
2066         (WebCore::RenderThemeChromiumSkia::paintButton):
2067         (WebCore::RenderThemeChromiumSkia::paintTextField):
2068         (WebCore::RenderThemeChromiumSkia::paintTextArea):
2069         (WebCore::RenderThemeChromiumSkia::paintSearchField):
2070         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
2071         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2072         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
2073         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
2074         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2075         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
2076         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2077         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
2078         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2079         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
2080         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
2081         (WebCore::RenderThemeChromiumSkia::paintMenuList):
2082         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
2083         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
2084         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
2085         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
2086         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
2087         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
2088         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
2089         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
2090         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
2091         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
2092         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
2093         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
2094         * rendering/RenderThemeChromiumSkia.h:
2095         (WebCore::RenderThemeChromiumSkia::supportsControlTints):
2096
2097 2009-06-17  Albert J. Wong  <ajwong@chromium.org>
2098
2099         Reviewed by Eric Seidel.
2100
2101         https://bugs.webkit.org/show_bug.cgi?id=26148
2102         Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
2103         is mostly a code shuffle.  The non-suffle changes are:
2104            1) Creation of a caretBlinkIntervalInternal.
2105            2) Moving of some inline functions into the implementation files.
2106            3) Changing of defaultGUIFont into a static class constant from a
2107               static function.  Also the type is changed to String.
2108            4) Changing of defaultFontSize into a static class constant from a
2109               static variable in the file scope.
2110            5) The static supportsFocus function was collapsed into
2111               supportsFocusRing.
2112            6) Split the extraDefaultStyleSheet into Skia and Linux versions.
2113
2114         * rendering/RenderThemeChromiumLinux.cpp:
2115         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
2116         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
2117         (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
2118         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
2119         (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
2120         (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
2121         (WebCore::RenderThemeChromiumSkia::supportsHover):
2122         (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
2123         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
2124         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
2125         (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
2126         (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
2127         (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
2128         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2129         (WebCore::RenderThemeChromiumSkia::systemFont):
2130         (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
2131         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2132         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
2133         (WebCore::RenderThemeChromiumSkia::paintRadio):
2134         (WebCore::RenderThemeChromiumSkia::setRadioSize):
2135         (WebCore::RenderThemeChromiumSkia::paintButton):
2136         (WebCore::RenderThemeChromiumSkia::paintTextField):
2137         (WebCore::RenderThemeChromiumSkia::paintTextArea):
2138         (WebCore::RenderThemeChromiumSkia::paintSearchField):
2139         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
2140         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2141         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
2142         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
2143         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2144         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
2145         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2146         (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
2147         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2148         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
2149         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
2150         (WebCore::RenderThemeChromiumSkia::paintMenuList):
2151         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
2152         (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
2153         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
2154         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
2155         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
2156         (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
2157         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
2158         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
2159         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
2160         (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
2161         (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
2162         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
2163         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
2164         (WebCore::RenderThemeChromiumLinux::systemColor):
2165         (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
2166         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
2167         * rendering/RenderThemeChromiumLinux.h:
2168
2169 2009-06-17  Adam Roben  <aroben@apple.com>
2170
2171         Add a SOFT_LINK_OPTIONAL macro
2172
2173         This macro is useful when soft-linking functions that are present in
2174         only some versions of a particular library (e.g., APIs added in
2175         Windows Vista that aren't available on Windows XP).
2176
2177         Reviewed by Ada Chan.
2178
2179         * platform/graphics/win/ColorSafari.cpp:
2180         (WebCore::focusRingColor):
2181         Use the SoftLinking.h macros instead of doing the soft-link ourselves.
2182         Also removed an unused call to focusRingColor.isValid().
2183
2184         * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
2185
2186 2009-06-17  Brent Fulgham  <bfulgham@webkit.org>
2187
2188         Reviewed by Gustavo Noronha.
2189
2190         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
2191         The use of zero-width or zero-height rectangles in generating
2192         gradients caused Windows Cairo to crash, and webkitgtk to
2193         produce invalid images.
2194
2195         We now test for NaN in the phase argument, which is calculated
2196         using fmodf and can blow up when the width/height values passed
2197         are zero.
2198
2199         Test: fast/gradients/border-image-gradient-sides-and-corners.html
2200
2201         * platform/graphics/cairo/ImageCairo.cpp:
2202         (WebCore::Image::drawPattern):
2203
2204 2009-06-17  Ojan Vafai  <ojan@chromium.org>
2205
2206         Reviewed by Dimitri Glazkov.
2207
2208         If loading a font fails because of the sandbox, we ask the browser process to
2209         try to load it by calling ensureFontLoaded. If it still fails after
2210         ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
2211
2212         This case happens once in a while during browser shutdown. The browser will
2213         queue a message to the renderer to shutdown, and will then stop answering sync
2214         messages from the renderer. If the renderer is still loading a page during this
2215         time, it might try to call the browser process to ask to load a font. The
2216         browser process will ignore the request, and the font will fail to load, even
2217         after the second try.
2218
2219         This is unfortunate, but there is no real risk here, since the renderer will be
2220         going away as soon as it processes another message.
2221         
2222         This can't be layout tested as it depends on the sandbox.
2223         
2224         https://bugs.webkit.org/show_bug.cgi?id=26484
2225
2226         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2227         (WebCore::fontContainsCharacter):
2228
2229 2009-06-17  Eric Carlson  <eric.carlson@apple.com>
2230
2231         Reviewed by Dan Bernstein.
2232
2233         https://bugs.webkit.org/show_bug.cgi?id=26482
2234         <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
2235         playing (doesn't resume later)
2236
2237         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2238         (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
2239
2240         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2241         (WebCore::MediaPlayerPrivate::setRate): Ditto.
2242
2243 2009-06-17  Adam Roben  <aroben@apple.com>
2244
2245         Add all the generated JS*.cpp files back to WebCore.vcproj
2246
2247         They are not compiled by the vcproj directly. Instead they are
2248         compiled as part of DerivedSources.cpp. Having them listed in the
2249         vcproj makes them be included in Project Find, etc.
2250
2251         Rubber-stamped in advance by Steve Falkenburg.
2252
2253         * WebCore.vcproj/WebCore.vcproj:
2254
2255 2009-06-17  Kent Tamura  <tkent@chromium.org>
2256
2257         Reviewed by Darin Fisher.
2258
2259         Don't fire redundant 'change' events for a file upload form.
2260         https://bugs.webkit.org/show_bug.cgi?id=26471
2261
2262         * platform/FileChooser.cpp:
2263         (WebCore::FileChooser::chooseFiles): Suppress change event if the
2264         existing selected files and the incoming selected files are equal.
2265         (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
2266         files.
2267
2268 2009-06-17  Adam Treat  <adam.treat@torchmobile.com>
2269
2270         Reviewed by George Staikos.
2271
2272         https://bugs.webkit.org/show_bug.cgi?id=23155
2273         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
2274
2275         * platform/KeyboardCodes.h:
2276
2277 2009-06-17  George Staikos  <george.staikos@torchmobile.com>
2278
2279         Reviewed by Adam Treat.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=23155
2282         Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
2283
2284         * platform/graphics/qt/GraphicsContextQt.cpp:
2285         (WebCore::GraphicsContext::getWindowsContext):
2286         * platform/win/SystemTimeWin.cpp:
2287         (WebCore::userIdleTime):
2288
2289 2009-06-17  Adam Roben  <aroben@apple.com>
2290
2291         Speculative Mac build fix
2292
2293         * page/Page.h: Forward-declare RenderTheme instead of including
2294         RenderTheme.h so that we don't need to make RenderTheme.h a private
2295         header for WebKit's benefit.
2296
2297         * editing/SelectionController.cpp:
2298         * rendering/InlineTextBox.cpp:
2299         * rendering/RenderObject.cpp:
2300         Added #includes of RenderTheme.h.
2301
2302 2009-06-17  Adam Roben  <aroben@apple.com>
2303
2304         Speculative Mac build fix
2305
2306         * rendering/RenderThemeMac.mm:
2307         (WebCore::RenderTheme::create): Added.
2308
2309 2009-06-17  Adam Roben  <aroben@apple.com>
2310
2311         Speculative Mac build fix
2312
2313         * rendering/RenderThemeMac.mm:
2314         (WebCore::RenderTheme::themeForPage): Remove the name of an unused
2315         parameter.
2316
2317 2009-06-17  Adam Roben  <aroben@apple.com>
2318
2319         Speculative Mac build fix
2320
2321         * page/Page.cpp:
2322         (WebCore::Page::Page): Change the initializer order to match the
2323         declaration order.
2324
2325 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2326
2327         Reviewed by Simon Hausmann.
2328
2329         Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
2330         Patch that make WebCore have a RenderTheme per page
2331
2332         Make the Qt implementation of RenderTheme create a theme per page,
2333         and use the QStyle associated with the view of each page, in order
2334         to make the QWidget setStyle() method work as advertised.
2335
2336         * platform/qt/RenderThemeQt.cpp:
2337         (WebCore::RenderThemeQt::RenderThemeQt):
2338         (WebCore::RenderThemeQt::qStyle):
2339         (WebCore::findFrameLineWidth):
2340         (WebCore::inflateButtonRect):
2341         (WebCore::RenderThemeQt::adjustRepaintRect):
2342         (WebCore::RenderThemeQt::isControlStyled):
2343         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
2344         (WebCore::RenderThemeQt::setButtonPadding):
2345         (WebCore::RenderThemeQt::paintButton):
2346         (WebCore::RenderThemeQt::paintTextField):
2347         (WebCore::RenderThemeQt::setPopupPadding):
2348         * platform/qt/RenderThemeQt.h:
2349
2350 2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2351
2352         Reviewed by Dave Hyatt and Adam Roben.
2353
2354         https://bugs.webkit.org/show_bug.cgi?id=26278
2355         Patch that make WebCore have a RenderTheme per page
2356
2357
2358         Create a different RenderTheme per page, so that RenderTheme has
2359         access to page specific theming. This is needed for the Qt port, as Qt
2360         supports setting the theme (style) per widget.
2361
2362         This change was suggested and discussed with Dave Hyatt.
2363
2364         More detailed:
2365
2366         1) Create a theme per page or one global one, depending on the needs
2367            of the platform.
2368         2) Add an accesser to the theme from RenderObject.
2369         3) Change all uses of the theming to access the theme through
2370            RenderObject, using the global default theme as fallback, when the
2371            document of RenderObject has no page.
2372            When we don't have access to a RenderObject, use the default theme.
2373         4) Modify all RenderTheme platform implementations to work with the
2374            above changes, still creating only one global theme.
2375
2376
2377         * accessibility/AccessibilityRenderObject.cpp:
2378         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2379         * css/CSSStyleSelector.cpp:
2380         (WebCore::loadFullDefaultStyle):
2381         (WebCore::CSSStyleSelector::styleForElement):
2382         (WebCore::CSSStyleSelector::adjustRenderStyle):
2383         (WebCore::CSSStyleSelector::applyProperty):
2384         * dom/ContainerNode.cpp:
2385         (WebCore::ContainerNode::setActive):
2386         (WebCore::ContainerNode::setHovered):
2387         * editing/SelectionController.cpp:
2388         (WebCore::SelectionController::focusedOrActiveStateChanged):
2389         * html/HTMLFormControlElement.cpp:
2390         (WebCore::HTMLFormControlElement::parseMappedAttribute):
2391         * html/HTMLInputElement.cpp:
2392         (WebCore::HTMLInputElement::setChecked):
2393         (WebCore::HTMLInputElement::setIndeterminate):
2394         * page/Frame.cpp:
2395         (WebCore::Frame::selectionLayoutChanged):
2396         * page/FrameView.cpp:
2397         (WebCore::FrameView::updateControlTints):
2398         * page/Page.cpp:
2399         (WebCore::Page::Page):
2400         * page/Page.h:
2401         (WebCore::Page::theme):
2402         * platform/chromium/PopupMenuChromium.cpp:
2403         (WebCore::PopupListBox::paintRow):
2404         * platform/gtk/RenderThemeGtk.cpp:
2405         (WebCore::RenderThemeGtk::create):
2406         (WebCore::RenderTheme::themeForPage):
2407         (WebCore::RenderThemeGtk::RenderThemeGtk):
2408         (WebCore::RenderThemeGtk::~RenderThemeGtk):
2409         (WebCore::RenderThemeGtk::gtkEntry):
2410         (WebCore::RenderThemeGtk::gtkTreeView):
2411         * platform/gtk/RenderThemeGtk.h:
2412         * platform/qt/RenderThemeQt.cpp:
2413         (WebCore::RenderThemeQt::create):
2414         (WebCore::RenderTheme::themeForPage):
2415         * platform/qt/RenderThemeQt.h:
2416         * platform/win/PopupMenuWin.cpp:
2417         (WebCore::PopupMenu::paint):
2418         * rendering/RenderMediaControls.cpp:
2419         (WebCore::determineState):
2420         * platform/wx/RenderThemeWx.cpp:
2421         (WebCore::RenderThemeWx::create):
2422         (WebCore::RenderTheme::themeForPage):
2423         * rendering/InlineTextBox.cpp:
2424         (WebCore::InlineTextBox::paintTextMatchMarker):
2425         * rendering/MediaControlElements.cpp:
2426         (WebCore::MediaControlInputElement::hitTest):
2427         * rendering/RenderObject.cpp:
2428         (WebCore::RenderObject::theme):
2429         * rendering/RenderObject.h:
2430         * rendering/RenderTheme.cpp:
2431         (WebCore::RenderTheme::adjustStyle):
2432         * rendering/RenderTheme.h:
2433         (WebCore::RenderTheme::defaultTheme):
2434         * rendering/RenderThemeChromiumLinux.cpp:
2435         (WebCore::RenderThemeChromiumLinux::create):
2436         (WebCore::RenderTheme::themeForPage):
2437         * rendering/RenderThemeChromiumLinux.h:
2438         (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
2439         * rendering/RenderThemeChromiumMac.h:
2440         * rendering/RenderThemeChromiumMac.mm:
2441         (WebCore::RenderThemeChromiumMac::create):
2442         (WebCore::RenderTheme::themeForPage):
2443         * rendering/RenderThemeChromiumWin.cpp:
2444         (WebCore::RenderThemeChromiumWin::create):
2445         (WebCore::RenderTheme::themeForPage):
2446         * rendering/RenderThemeChromiumWin.h:
2447         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
2448         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
2449         * rendering/RenderThemeMac.h:
2450         * rendering/RenderThemeMac.mm:
2451         (WebCore::RenderTheme::themeForPage):
2452         * rendering/RenderThemeSafari.cpp:
2453         (WebCore::RenderThemeSafari::create):
2454         (WebCore::RenderTheme::themeForPage):
2455         * rendering/RenderThemeSafari.h:
2456         * rendering/RenderThemeWin.cpp:
2457         (WebCore::RenderThemeWin::create):
2458         (WebCore::RenderTheme::themeForPage):
2459         * rendering/RenderThemeWin.h:
2460
2461 2009-06-17  Gavin Barraclough  <barraclough@apple.com>
2462
2463         Reviewed by Oliver Hunt.
2464
2465         <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
2466
2467         JSDOMWindowCustom was using PropertySlot::putValue, however this interface
2468         appears to be fundaementally incorrect - PropertySlots are only used to get
2469         values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
2470         used in the fashion desired here - it only reports the caching type of a
2471         write that has been performed.
2472
2473         (This caused a bug where the put should have triggered a transition, and
2474         failed to do so.)
2475
2476         Removing the faulty case from the optimization leads to a ~0.5% progression
2477         on in-browser SunSpider (presumably the very first case was not being hit
2478         often, and the simplification here is beneficial).
2479
2480         * bindings/js/JSDOMWindowCustom.cpp:
2481         (WebCore::JSDOMWindow::put):
2482
2483 2009-06-17  David Levin  <levin@chromium.org>
2484
2485         Reviewed by NOBODY, layout tests fix.
2486
2487         https://bugs.webkit.org/show_bug.cgi?id=26326
2488         This reverts commit r44751.
2489
2490         Once that change was checked scrollbars/scrollbar-orientation.html started
2491         crashing on Windows.
2492
2493         * dom/Document.cpp:
2494         (WebCore::Document::detach):
2495         * page/FrameView.cpp:
2496         * page/FrameView.h:
2497         * platform/Scrollbar.h:
2498         * rendering/RenderObject.cpp:
2499         (WebCore::RenderObject::destroy):
2500         * rendering/RenderScrollbar.h:
2501
2502 2009-06-16  Kevin Watters  <kevinwatters@gmail.com>
2503
2504         Reviewed by Kevin Ollivier.
2505
2506         In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
2507         
2508         https://bugs.webkit.org/show_bug.cgi?id=26458
2509
2510         * platform/graphics/wx/ImageSourceWx.cpp:
2511         (WebCore::ImageSource::setData):
2512
2513 2009-06-16  David Levin  <levin@chromium.org>
2514
2515         Reviewed by David Hyatt.
2516
2517         REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
2518         https://bugs.webkit.org/show_bug.cgi?id=26326
2519
2520         Test: scrollbars/scrollbar-crash-on-refresh.html
2521
2522         * dom/Document.cpp:
2523         (WebCore::Document::detach):
2524         Gives the FrameView a change to do any necessary cleanup on
2525         Document::detach() which is where the renderArena gets detroyed.
2526         * page/FrameView.cpp:
2527         (WebCore::FrameView::detachCustomScrollbars):
2528         Gets rid of any custom scrollbars (if the docment supplied them).
2529         * page/FrameView.h:
2530         * platform/Scrollbar.h:
2531         (WebCore::Scrollbar::isCustomScrollbar):
2532         * rendering/RenderObject.cpp:
2533         (WebCore::RenderObject::destroy):
2534         Removed the check for document()->frame().  If frame() is 0 in this code,
2535         then the call to animation() is also incorrect (since it does document()->frame()->animation()).
2536         * rendering/RenderScrollbar.h:
2537         (WebCore::RenderScrollbar::isCustomScrollbar):
2538
2539 2009-06-16  Brian Weinstein  <bweinstein@apple.com>
2540
2541         Reviewed by Adele Peterson.
2542
2543         Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
2544         This patch kept the way events were firing as they were before, and Windows events are
2545         consistent with Mac.       
2546
2547         * editing/Editor.cpp:
2548         (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
2549         (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
2550
2551 2009-06-16  Antti Koivisto  <antti@apple.com>
2552
2553         Reviewed by Brady Eidson.
2554
2555         <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53
2556         
2557         When revalidating a resource, calling addClient() on one client might cause another to get removed.
2558         
2559         - made CachedResource::addClient() non-virtual and added virtual didAddClient()
2560         - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
2561         - check if the client is still in the set before invoking didAddClient() for it
2562         
2563         No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
2564         reference each other via @imports and reloading.
2565
2566         * WebCore.base.exp:
2567         * loader/CachedCSSStyleSheet.cpp:
2568         (WebCore::CachedCSSStyleSheet::didAddClient):
2569         * loader/CachedCSSStyleSheet.h:
2570         * loader/CachedFont.cpp:
2571         (WebCore::CachedFont::didAddClient):
2572         * loader/CachedFont.h:
2573         * loader/CachedImage.cpp:
2574         (WebCore::CachedImage::didAddClient):
2575         * loader/CachedImage.h:
2576         * loader/CachedResource.cpp:
2577         (WebCore::CachedResource::addClient):
2578         (WebCore::CachedResource::addClientToSet):
2579         (WebCore::CachedResource::switchClientsToRevalidatedResource):
2580         * loader/CachedResource.h:
2581         * loader/CachedScript.cpp:
2582         (WebCore::CachedScript::didAddClient):
2583         * loader/CachedScript.h:
2584         * loader/CachedXSLStyleSheet.cpp:
2585         (WebCore::CachedXSLStyleSheet::didAddClient):
2586         * loader/CachedXSLStyleSheet.h:
2587
2588 2009-06-16  Simon Fraser  <simon.fraser@apple.com>
2589
2590         No Review
2591
2592         Fix code inside an #ifdef that draws the video framerate.
2593
2594         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2595         (WebCore::MediaPlayerPrivate::paint):
2596
2597 2009-06-16  Jian Li  <jianli@chromium.org>
2598
2599         Reviewed by Dimitri Glazkov.
2600
2601         Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
2602         https://bugs.webkit.org/show_bug.cgi?id=26456
2603
2604         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2605         (WebCore::CALLBACK_FUNC_DECL):
2606         * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
2607           handling in Worker constructor for V8 bindings.
2608         (WebCore::CALLBACK_FUNC_DECL):
2609
2610 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
2611
2612         Reviewed by Maciej Stachowiak.
2613
2614         Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
2615         Provide an assignment operator to avoid improper reference
2616         counts on the Cairo font objects.  This brings the Windows
2617         Cairo port in line with the GTK+ port.
2618
2619         * platform/graphics/win/FontPlatformData.h:
2620         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2621         (WebCore::FontPlatformData::FontPlatformData):
2622         (WebCore::FontPlatformData::operator=):
2623
2624 2009-06-16  Eric Carlson  <eric.carlson@apple.com>
2625
2626         Reviewed by Simon Fraser.
2627
2628         Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
2629         the MediaControlInputElement, rather than computing it again
2630
2631         * html/HTMLMediaElement.cpp:
2632         (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
2633         * html/HTMLMediaElement.h:
2634
2635         * rendering/MediaControlElements.h:
2636         (WebCore::MediaControlInputElement::displayType): New, return m_displayType.
2637
2638         * rendering/RenderMediaControls.cpp:
2639         (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
2640         state from the button itself and get movie state from HTMLMediaElement.
2641
2642         * rendering/RenderThemeMac.mm:
2643         (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
2644         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
2645
2646 2009-06-16  Jian Li  <jianli@chromium.org>
2647
2648         Reviewed by David Levin.
2649
2650         Bug 26450: Rename values of enum RedirectOriginCheck to make them
2651         clearer.
2652         https://bugs.webkit.org/show_bug.cgi?id=26450
2653
2654         * loader/DocumentThreadableLoader.cpp:
2655         (WebCore::DocumentThreadableLoader::create):
2656         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2657         (WebCore::DocumentThreadableLoader::willSendRequest):
2658         * loader/DocumentThreadableLoader.h:
2659         * loader/ThreadableLoader.cpp:
2660         (WebCore::ThreadableLoader::create):
2661         (WebCore::ThreadableLoader::loadResourceSynchronously):
2662         * loader/ThreadableLoader.h:
2663         * workers/Worker.cpp:
2664         (WebCore::Worker::Worker):
2665         * workers/WorkerContext.cpp:
2666         (WebCore::WorkerContext::importScripts):
2667         * loader/WorkerThreadableLoader.cpp:
2668         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2669         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2670         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2671         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2672         * loader/WorkerThreadableLoader.h:
2673         (WebCore::WorkerThreadableLoader::create):
2674         * workers/WorkerScriptLoader.cpp:
2675         (WebCore::WorkerScriptLoader::loadSynchronously):
2676         (WebCore::WorkerScriptLoader::loadAsynchronously):
2677         * workers/WorkerScriptLoader.h:
2678         (WebCore::WorkerContext::importScripts):
2679         * xml/XMLHttpRequest.cpp:
2680         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2681
2682 2009-06-16  Tony Chang  <tony@chromium.org>
2683
2684         Reviewed by Darin Fisher.
2685
2686         Fix a UMR in WebCore::BitStack by initializing new memory to 0.
2687         https://bugs.webkit.org/show_bug.cgi?id=26449
2688         No new tests, covered by purify.
2689
2690         * editing/TextIterator.cpp:
2691         (WebCore::BitStack::push):
2692
2693 2009-06-16  Brent Fulgham  <bfulgham@webkit.org>
2694
2695         Reviewed by Xan Lopez.
2696
2697         Test: fast/multicol/columns-shorthand-parsing.html 
2698
2699         Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
2700         Null Cairo contextwill crash Windows Cairo build.
2701
2702         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2703         (WebCore::GraphicsContextPlatformPrivate::syncContext):
2704           Add a check for null context before attempting to
2705           retrieve the Cairo surface.
2706
2707 2009-06-16  Peter Kasting  <pkasting@google.com>
2708
2709         Reviewed by Xan Lopez.
2710
2711         https://bugs.webkit.org/show_bug.cgi?id=26447
2712         Fix animated GIF breakage in Cairo/wx ports.
2713
2714         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
2715         (WebCore::RGBA32Buffer::copyBitmapData):
2716         (WebCore::RGBA32Buffer::operator=):
2717         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2718         (WebCore::RGBA32Buffer::copyBitmapData):
2719         (WebCore::RGBA32Buffer::operator=):
2720
2721 2009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>
2722
2723         Reviewed by John Sullivan
2724         
2725         <rdar://problem/6937882>
2726         
2727         Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
2728
2729         * css/mediaControlsQT.css:
2730
2731 2009-06-16  Jian Li  <jianli@chromium.org>
2732
2733         Reviewed by Adam Barth and David Levin.
2734
2735         Bug 26146: Change to use ThreadableLoader to load the worker script
2736         in order to check URL origin for redirection.
2737         https://bugs.webkit.org/show_bug.cgi?id=26146
2738
2739         Test: http/tests/workers/worker-redirect.html
2740
2741         * GNUmakefile.am:
2742         * WebCore.pro:
2743         * WebCore.vcproj/WebCore.vcproj:
2744         * WebCore.xcodeproj/project.pbxproj:
2745         * workers/Worker.cpp:
2746         (WebCore::Worker::Worker):
2747         (WebCore::Worker::notifyFinished):
2748         * workers/Worker.h:
2749         * workers/WorkerContext.cpp:
2750         (WebCore::WorkerContext::importScripts):
2751         * workers/WorkerImportScriptsClient.cpp: Removed.
2752         * workers/WorkerImportScriptsClient.h: Removed.
2753         * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
2754           This to make it more generic so worker script loading could use it.
2755         (WebCore::WorkerScriptLoader::loadSynchronously):
2756         (WebCore::WorkerScriptLoader::loadAsynchronously):
2757         (WebCore::WorkerScriptLoader::didFinishLoading):
2758         (WebCore::WorkerScriptLoader::didFail):
2759         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
2760         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
2761         (WebCore::WorkerScriptLoader::notifyFinished):
2762         * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
2763           This to make it more generic so worker script loading could use it.
2764         * workers/WorkerScriptLoaderClient.h: Added.
2765
2766 2009-06-16  Brent Fulgham  <bfulgham@gmail.com>
2767
2768         Reviewed by Darin Adler.
2769
2770         Use consistent GUID comparison functions.
2771         https://bugs.webkit.org/show_bug.cgi?id=26427
2772
2773         * platform/win/WCDataObject.cpp:
2774         (WebCore::WCDataObject::QueryInterface):
2775
2776 2009-06-16  Xan Lopez  <xlopez@igalia.com>
2777
2778         Reviewed by Gustavo Noronha.
2779
2780         Fix compiler warning.
2781
2782         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2783         (webkit_accessible_class_init):
2784
2785 2009-06-16  Xan Lopez  <xlopez@igalia.com>
2786
2787         Reviewed by Gustavo Noronha.
2788
2789         Remove dummy AtkStreamableContent implementation.
2790
2791         It's completely empty, we'll add it back (and conditionally
2792         instead of unconditionally) when it does something.
2793
2794         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2795         (GetAtkInterfaceTypeFromWAIType):
2796         (getInterfaceMaskFromObject):
2797
2798 == Rolled over to ChangeLog-2009-06-16 ==