2011-02-04 Charlie Reis <creis@chromium.org>
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-02-04  Charlie Reis  <creis@chromium.org>
2
3         Reviewed by Mihai Parparita.
4
5         Crash in WebCore::HistoryController::itemsAreClones
6         https://bugs.webkit.org/show_bug.cgi?id=52819
7
8         Avoids deleting the current HistoryItem while it is still in use.
9         Ensures that provisional items are committed for same document navigations.
10         Ensures that error pages are committed on back/forward navigations.
11         Also removes unneeded sanity checks used for diagnosing the problem.
12
13         * loader/HistoryController.cpp:
14         * loader/HistoryController.h:
15
16 2011-02-04  Carol Szabo  <carol.szabo@nokia.com>
17
18         Reviewed by David Hyatt.
19
20         Code Changes.
21
22         CSS 2.1 failure: content-*
23         https://bugs.webkit.org/show_bug.cgi?id=52126
24
25         Test: fast/css/counters/content-021.html
26
27         * rendering/CounterNode.cpp:
28         (showCounterTree):
29         Made parameter const because it is supposed to be so.
30         * rendering/RenderCounter.cpp:
31         (WebCore::previousInPreOrder):
32         (WebCore::previousSiblingOrParent):
33         (WebCore::parentElement):
34         (WebCore::areRenderersElementsSiblings):
35         (WebCore::nextInPreOrder):
36         Added these local helper functions to help navigate the DOM tree
37         enriched with :before and :after pseudo elements.
38         (WebCore::planCounter):
39         Fixed bug that would create a repeat counter for second and
40         subsequent renderers associated with the same DOM element.
41         (WebCore::findPlaceForCounter):
42         (WebCore::makeCounterNode):
43         Changed to use the new tree navigation functions described above
44         instead of the Renderer Tree navigation functions.
45         (WebCore::RenderCounter::rendererSubtreeAttached):
46         (WebCore::RenderCounter::rendererStyleChanged):
47         Optimized to not bother about counters until the renderers are
48         finally attached.
49         (showRendererTree):
50         (showNodeTree):
51         Debug helper functions used to debug Counter bugs.
52
53 2011-02-04  Dan Bernstein  <mitz@apple.com>
54
55         Typo fix.
56
57         * html/parser/XSSFilter.cpp:
58         (WebCore::HTMLNames::containsJavaScriptURL):
59
60 2011-02-04  Dan Bernstein  <mitz@apple.com>
61
62         Reviewed by Anders Carlsson.
63
64         Make an infinite loop introduced in r77454 finite.
65
66         * html/parser/XSSFilter.cpp:
67         (WebCore::HTMLNames::containsJavaScriptURL):
68
69 2011-02-04  Jer Noble  <jer.noble@apple.com>
70
71         Reviewed by Eric Carlson.
72
73         Frame accurate seeking isn't always accurate
74         https://bugs.webkit.org/show_bug.cgi?id=52697
75
76         Test: media/video-frame-accurate-seek.html
77
78         Make seeking slightly more accurate by rounding instead of truncating
79         when converting from seconds-in-float to time/timeScale.
80
81         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
82         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
83         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
84         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
85         * platform/graphics/win/QTMovie.cpp:
86         (QTMovie::setCurrentTime):
87
88 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
89
90         Reviewed by Nate Chapin.
91
92         Second IndexedDB events overhaul patch
93         https://bugs.webkit.org/show_bug.cgi?id=53813
94
95         If an IDBRequest has a IDBTransaction, it should propogate
96         events through it. In order to do this, IDBRequest needs to
97         hold a transaction frontend object rather than a backend one.
98
99         Test: storage/indexeddb/request-event-propagation.html
100
101         * storage/IDBCursor.cpp:
102         (WebCore::IDBCursor::IDBCursor):
103         * storage/IDBCursor.h:
104         (WebCore::IDBCursor::create):
105         * storage/IDBDatabase.cpp:
106         (WebCore::IDBDatabase::setSetVersionTransaction):
107         (WebCore::IDBDatabase::createObjectStore):
108         (WebCore::IDBDatabase::deleteObjectStore):
109         * storage/IDBDatabase.h:
110         * storage/IDBIndex.cpp:
111         (WebCore::IDBIndex::IDBIndex):
112         (WebCore::IDBIndex::openCursor):
113         (WebCore::IDBIndex::openKeyCursor):
114         (WebCore::IDBIndex::get):
115         (WebCore::IDBIndex::getKey):
116         * storage/IDBIndex.h:
117         (WebCore::IDBIndex::create):
118         * storage/IDBObjectStore.cpp:
119         (WebCore::IDBObjectStore::IDBObjectStore):
120         (WebCore::IDBObjectStore::get):
121         (WebCore::IDBObjectStore::add):
122         (WebCore::IDBObjectStore::put):
123         (WebCore::IDBObjectStore::deleteFunction):
124         (WebCore::IDBObjectStore::createIndex):
125         (WebCore::IDBObjectStore::deleteIndex):
126         (WebCore::IDBObjectStore::openCursor):
127         * storage/IDBObjectStore.h:
128         (WebCore::IDBObjectStore::create):
129         * storage/IDBRequest.cpp:
130         (WebCore::IDBRequest::create):
131         (WebCore::IDBRequest::IDBRequest):
132         (WebCore::IDBRequest::resetReadyState):
133         (WebCore::IDBRequest::onSuccess):
134         (WebCore::IDBRequest::dispatchEvent):
135         * storage/IDBRequest.h:
136         * storage/IDBTransaction.cpp:
137         (WebCore::IDBTransaction::IDBTransaction):
138         (WebCore::IDBTransaction::objectStore):
139         (WebCore::IDBTransaction::contextDestroyed):
140         (WebCore::IDBTransaction::enqueueEvent):
141         * storage/IDBTransaction.h:
142         * storage/IDBTransaction.idl:
143
144 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
145
146         Reviewed by Nate Chapin.
147
148         First step towards event propogation within IndexedDB
149         https://bugs.webkit.org/show_bug.cgi?id=53795
150
151         This is the first step towards implementing
152         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
153         within IndexedDB. I've created a method that knows how
154         to capture and bubble (based on Node's dispatchGenericEvent).
155         I've then changed IDBRequest to use it.
156
157         The only functional change is that preventDefault now must
158         be called in error events to prevent the transaction from
159         being aborted. The tests reflect this change and there's one
160         specific test to look at this behavior.
161
162         Test: storage/indexeddb/error-causes-abort-by-default.html
163
164         * storage/IDBAbortEvent.cpp:
165         (WebCore::IDBAbortEvent::create):
166         (WebCore::IDBAbortEvent::IDBAbortEvent):
167         * storage/IDBAbortEvent.h:
168         * storage/IDBCompleteEvent.cpp:
169         (WebCore::IDBCompleteEvent::create):
170         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
171         * storage/IDBCompleteEvent.h:
172         * storage/IDBErrorEvent.cpp:
173         (WebCore::IDBErrorEvent::IDBErrorEvent):
174         * storage/IDBEvent.cpp:
175         (WebCore::IDBEvent::IDBEvent):
176         (WebCore::IDBEvent::dispatch):
177         * storage/IDBEvent.h:
178         * storage/IDBRequest.cpp:
179         (WebCore::IDBRequest::dispatchEvent):
180         * storage/IDBRequest.h:
181         * storage/IDBSuccessEvent.cpp:
182         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
183         * storage/IDBTransaction.cpp:
184         (WebCore::IDBTransaction::onAbort):
185         (WebCore::IDBTransaction::onComplete):
186         * storage/IDBTransaction.h:
187         (WebCore::IDBTransaction::backend):
188         * storage/IDBTransactionBackendImpl.cpp:
189         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
190
191 2011-02-04  Daniel Cheng  <dcheng@chromium.org>
192
193         Reviewed by Dmitry Titov.
194
195         Clone WebClipboard to be frame-specific.
196         https://bugs.webkit.org/show_bug.cgi?id=53727
197
198         For drop operations, Chrome currently snapshots the data and copies it
199         into the renderer process. As we add more supported drag data types, the
200         copy will become increasingly expensive. Instead, we'd like to snapshot
201         data in the browser to reduce the amount of data copied and to support
202         Blob in DataTransferItem. In order to allow this, we associated
203         WebClipboard with a frame so it can correctly route its IPCs to the
204         corresponding Chromium host.
205
206         No new tests because no new functionality.
207
208         * platform/chromium/ChromiumDataObject.cpp:
209         (WebCore::ChromiumDataObject::createReadable):
210         * platform/chromium/ChromiumDataObject.h:
211         * platform/chromium/ClipboardChromium.cpp:
212         (WebCore::ClipboardChromium::create):
213         * platform/chromium/PlatformBridge.h:
214         * platform/chromium/ReadableDataObject.cpp:
215         (WebCore::ReadableDataObject::create):
216         (WebCore::ReadableDataObject::ReadableDataObject):
217         (WebCore::ReadableDataObject::getData):
218         (WebCore::ReadableDataObject::urlTitle):
219         (WebCore::ReadableDataObject::htmlBaseUrl):
220         (WebCore::ReadableDataObject::filenames):
221         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
222         * platform/chromium/ReadableDataObject.h:
223
224 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
225
226         Revert https://bugs.webkit.org/show_bug.cgi?id=53795
227
228         * storage/IDBAbortEvent.cpp:
229         (WebCore::IDBAbortEvent::create):
230         (WebCore::IDBAbortEvent::IDBAbortEvent):
231         * storage/IDBAbortEvent.h:
232         * storage/IDBCompleteEvent.cpp:
233         (WebCore::IDBCompleteEvent::create):
234         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
235         * storage/IDBCompleteEvent.h:
236         * storage/IDBErrorEvent.cpp:
237         (WebCore::IDBErrorEvent::IDBErrorEvent):
238         * storage/IDBEvent.cpp:
239         (WebCore::IDBEvent::IDBEvent):
240         * storage/IDBEvent.h:
241         * storage/IDBRequest.cpp:
242         (WebCore::IDBRequest::dispatchEvent):
243         * storage/IDBRequest.h:
244         * storage/IDBSuccessEvent.cpp:
245         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
246         * storage/IDBTransaction.cpp:
247         (WebCore::IDBTransaction::onAbort):
248         (WebCore::IDBTransaction::onComplete):
249         * storage/IDBTransaction.h:
250         * storage/IDBTransactionBackendImpl.cpp:
251         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
252
253 2011-02-04  Martin Galpin  <martin@66laps.com>
254
255         Reviewed by David Levin.
256
257         CORS origin header not set on GET when a preflight request is required.
258         https://bugs.webkit.org/show_bug.cgi?id=50773
259         
260         Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
261
262         * loader/DocumentThreadableLoader.cpp:
263         (WebCore::DocumentThreadableLoader::preflightSuccess): 
264         Explicitly set the request origin after a preflight request succeeds.
265
266 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
267
268         Reviewed by Nate Chapin.
269
270         First step towards event propogation within IndexedDB
271         https://bugs.webkit.org/show_bug.cgi?id=53795
272
273         This is the first step towards implementing
274         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
275         within IndexedDB. I've created a method that knows how
276         to capture and bubble (based on Node's dispatchGenericEvent).
277         I've then changed IDBRequest to use it.
278
279         The only functional change is that preventDefault now must
280         be called in error events to prevent the transaction from
281         being aborted. The tests reflect this change and there's one
282         specific test to look at this behavior.
283
284         Test: storage/indexeddb/error-causes-abort-by-default.html
285
286         * storage/IDBAbortEvent.cpp:
287         (WebCore::IDBAbortEvent::create):
288         (WebCore::IDBAbortEvent::IDBAbortEvent):
289         * storage/IDBAbortEvent.h:
290         * storage/IDBCompleteEvent.cpp:
291         (WebCore::IDBCompleteEvent::create):
292         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
293         * storage/IDBCompleteEvent.h:
294         * storage/IDBErrorEvent.cpp:
295         (WebCore::IDBErrorEvent::IDBErrorEvent):
296         * storage/IDBEvent.cpp:
297         (WebCore::IDBEvent::IDBEvent):
298         (WebCore::IDBEvent::dispatch):
299         * storage/IDBEvent.h:
300         * storage/IDBRequest.cpp:
301         (WebCore::IDBRequest::dispatchEvent):
302         * storage/IDBRequest.h:
303         * storage/IDBSuccessEvent.cpp:
304         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
305         * storage/IDBTransaction.cpp:
306         (WebCore::IDBTransaction::onAbort):
307         (WebCore::IDBTransaction::onComplete):
308         * storage/IDBTransaction.h:
309         (WebCore::IDBTransaction::backend):
310         * storage/IDBTransactionBackendImpl.cpp:
311         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
312
313 2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
314
315         Reviewed by Csaba Osztrogonác.
316
317         [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
318         https://bugs.webkit.org/show_bug.cgi?id=53674
319
320         * css/mediaControlsQt.css:
321
322 2011-02-04  Dan Bernstein  <mitz@apple.com>
323
324         Reviewed by Darin Adler and Dave Hyatt.
325
326         <rdar://problem/8902704> Make ruby text size 50% by default
327         https://bugs.webkit.org/show_bug.cgi?id=53723
328
329         * css/html.css:
330         (ruby > rt): Changed the font-size from 60% to 50%.
331
332 2011-02-04  Antti Koivisto  <antti@apple.com>
333
334         Reviewed by Dimitri Glazkov.
335
336         https://bugs.webkit.org/show_bug.cgi?id=53610
337         Regression: adjacent sibling selector not working as expected
338         <rdar://problem/8960033>
339         
340         https://bugs.webkit.org/show_bug.cgi?id=53574
341         REGRESSION (r76012): :last-child:after not working as expected
342         <rdar://problem/8948643>
343         
344         Test for additional conditions in parent style that prevent sharing.
345
346         Tests: fast/selectors/style-sharing-adjacent-selector.html
347                fast/selectors/style-sharing-last-child.html
348
349         * css/CSSStyleSelector.cpp:
350         (WebCore::parentStylePreventsSharing):
351         (WebCore::CSSStyleSelector::locateSharedStyle):
352
353 2011-02-04  Mark Mentovai  <mark@chromium.org>
354
355         Reviewed by Dimitri Glazkov.
356
357         Chromium GYP build fix.
358
359         When various settings were moved to webcore_prerequisites in r66364,
360         things that should have been direct_dependent_settings were not marked
361         as such. GYP 'defines', for example, make no sense on a 'none'-type
362         target such as webcore_prerequisites. It appears that it was intended
363         for these settings to be pushed to direct dependents, which would make
364         direct_dependent_settings correct.
365
366         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
367         http://crbug.com/71537, which at best causes Mac console log spew, and
368         at worst may result in Chromium's copy of WebCore using system
369         definitions of certain Objective-C classes at runtime, or vice-versa.
370
371         The build now includes a postbuild step to prevent
372         http://crbug.com/71537 from regressing again. The build will fail upon
373         regression.
374
375         https://bugs.webkit.org/show_bug.cgi?id=53630
376
377         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
378           direct_dependent_settings as needed, add the check_objc_rename
379           postbuild step.
380         * WebCore.gyp/mac/check_objc_rename.sh: Added.
381
382 2011-02-04  Robert Hogan  <robert@webkit.org>
383
384         Reviewed by Darin Fisher.
385
386         Move chromium iframe shim code to cross-platform file
387         https://bugs.webkit.org/show_bug.cgi?id=52594
388
389         Move Chromium code for identifying and cutting out
390         iframe shims from plugins to cross-platform utility file
391         IFrameShimSupport.cpp.
392         Amend PluginViewQt to use this code to handle shims correctly.
393
394         * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
395         * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
396         * plugins/IFrameShimSupport.cpp: Added.
397         (WebCore::getObjectStack):
398         (WebCore::iframeIsAbovePlugin):
399         (WebCore::getPluginOcclusions):
400         * plugins/IFframeShimSupport.h: Added.
401         * plugins/qt/PluginViewQt.cpp:
402         (WebCore::PluginView::setNPWindowIfNeeded):
403
404 2011-02-04  Xiaomei Ji  <xji@chromium.org>
405
406         Reviewed by David Levin.
407
408         Implement "<option> should implement the dir attribute" for chromium port after r76983.
409         https://bugs.webkit.org/show_bug.cgi?id=50969
410
411         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
412         added in r76983.
413
414         * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
415         <select> drop-down setting.
416         (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
417         items in drop-down and pass-in bidi override flag when creating text run.
418         * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
419         PopupContainerSettings.
420
421 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
422
423         Build fix from merge mistake.
424
425         * storage/IDBTransaction.cpp:
426         (WebCore::IDBTransaction::ensureEventTargetData):
427
428 2011-02-04  Levi Weintraub  <leviw@chromium.org>
429
430         Reviewed by Darin Adler.
431
432         Remove unneeded function declarations in comments in EditorClient.h
433         https://bugs.webkit.org/show_bug.cgi?id=53745
434
435         Removing unused commented out function declarations. No tests since this is just cleanup.
436
437         * page/EditorClient.h:
438
439 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
440
441         Reviewed by Nate Chapin.
442
443         Refactor IDBRequest and IDBTransaction a bit
444         https://bugs.webkit.org/show_bug.cgi?id=53565
445
446         There were a lot of subtle issues with the way IDBTransaction
447         and IDBRequest used to be written. This cleans a lot of them up
448         and largely simplifies the logic. Using EventQueue rather than
449         timers is one example of the simplification.
450
451         * bindings/scripts/CodeGeneratorV8.pm:
452         * dom/EventQueue.cpp:
453         (WebCore::EventQueue::enqueueEvent):
454         (WebCore::EventQueue::dispatchEvent):
455         * storage/IDBCursor.cpp:
456         (WebCore::IDBCursor::continueFunction):
457         * storage/IDBRequest.cpp:
458         (WebCore::IDBRequest::create):
459         (WebCore::IDBRequest::IDBRequest):
460         (WebCore::IDBRequest::resetReadyState):
461         (WebCore::IDBRequest::onError):
462         (WebCore::IDBRequest::onSuccess):
463         (WebCore::IDBRequest::dispatchEvent):
464         (WebCore::IDBRequest::enqueueEvent):
465         (WebCore::IDBRequest::eventTargetData):
466         (WebCore::IDBRequest::ensureEventTargetData):
467         * storage/IDBRequest.h:
468         (WebCore::IDBRequest::dispatchEvent):
469         * storage/IDBTransaction.cpp:
470         (WebCore::IDBTransaction::create):
471         (WebCore::IDBTransaction::IDBTransaction):
472         (WebCore::IDBTransaction::objectStore):
473         (WebCore::IDBTransaction::abort):
474         (WebCore::IDBTransaction::onAbort):
475         (WebCore::IDBTransaction::onComplete):
476         (WebCore::IDBTransaction::onTimeout):
477         (WebCore::IDBTransaction::canSuspend):
478         (WebCore::IDBTransaction::stop):
479         (WebCore::IDBTransaction::enqueueEvent):
480         (WebCore::IDBTransaction::eventTargetData):
481         (WebCore::IDBTransaction::ensureEventTargetData):
482         * storage/IDBTransaction.h:
483
484 2011-02-01  Jeremy Orlow  <jorlow@chromium.org>
485
486         Reviewed by Nate Chapin.
487
488         Remove the timeout event from IndexedDB
489         https://bugs.webkit.org/show_bug.cgi?id=53521
490
491         Remove timeout and ontimeout from IDBTransaction per the spec.
492
493         * WebCore.gypi:
494         * storage/IDBDatabase.cpp:
495         (WebCore::IDBDatabase::transaction):
496         * storage/IDBDatabase.h:
497         (WebCore::IDBDatabase::transaction):
498         * storage/IDBDatabase.idl:
499         * storage/IDBDatabaseBackendImpl.cpp:
500         (WebCore::IDBDatabaseBackendImpl::setVersion):
501         (WebCore::IDBDatabaseBackendImpl::transaction):
502         * storage/IDBDatabaseBackendImpl.h:
503         * storage/IDBDatabaseBackendInterface.h:
504         * storage/IDBTimeoutEvent.cpp: Removed.
505         * storage/IDBTimeoutEvent.h: Removed.
506         * storage/IDBTransaction.cpp:
507         (WebCore::IDBTransaction::IDBTransaction):
508         (WebCore::IDBTransaction::onAbort):
509         (WebCore::IDBTransaction::onComplete):
510         * storage/IDBTransaction.h:
511         * storage/IDBTransaction.idl:
512         * storage/IDBTransactionBackendImpl.cpp:
513         (WebCore::IDBTransactionBackendImpl::create):
514         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
515         * storage/IDBTransactionBackendImpl.h:
516         * storage/IDBTransactionCallbacks.h:
517
518 2011-02-04  Chris Fleizach  <cfleizach@apple.com>
519
520         Reviewed by Darin Adler.
521
522         AX: Can't set accessibility overridden attributes on web objects
523         https://bugs.webkit.org/show_bug.cgi?id=53725
524
525         accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
526         the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
527         Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
528         attribute only when an AX client asks for it through the AX frameworks.
529
530         * accessibility/mac/AccessibilityObjectWrapper.mm:
531         (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
532
533 2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
534
535         Reviewed by Kent Tamura.
536
537         REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
538         https://bugs.webkit.org/show_bug.cgi?id=53691
539
540         Test: fast/repaint/slider-thumb-drag-release.html
541
542         * html/shadow/SliderThumbElement.cpp:
543         (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
544             that the thumb is repainted.
545
546 2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
547
548         Reviewed by Pavel Feldman.
549
550         Web Inspector: Add "show more" data grid node and waiting message UI components.
551         https://bugs.webkit.org/show_bug.cgi?id=53763
552
553         - "show more" data grid node is used for on-demand population of
554         data grid contents (similar to DOM tree capability for limiting
555         displayed nodes count);
556
557         - waiting message is used for informing user about long lasting
558         operations (with a possibility to cancel them).
559
560         * English.lproj/localizedStrings.js:
561         * WebCore.gypi:
562         * WebCore.vcproj/WebCore.vcproj:
563         * inspector/front-end/PleaseWaitMessage.js: Added.
564         (WebInspector.PleaseWaitMessage):
565         * inspector/front-end/ShowMoreDataGridNode.js: Added.
566         (WebInspector.ShowMoreDataGridNode):
567         * inspector/front-end/WebKit.qrc:
568         * inspector/front-end/inspector.css:
569         (.data-grid button):
570         (.please-wait-msg):
571         * inspector/front-end/inspector.html:
572
573 2011-02-04  Adele Peterson  <adele@apple.com>
574
575         Reviewed by Dan Bernstein.
576
577         Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
578         <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
579
580         Tests:
581         fast/forms/textarea-placeholder-visibility-1.html
582         fast/forms/textarea-placeholder-visibility-2.html
583         fast/forms/input-placeholder-visibility-1.html
584         fast/forms/input-placeholder-visibility-2.html
585         fast/forms/input-placeholder-visibility-3.html
586
587         * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
588         Add a check for shouldShowPlaceholderWhenFocused.
589         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
590         Whenever the value is updated, we should also update placeholder visibility.
591         * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
592         Make the default the same as the existing behavior.
593         * rendering/RenderThemeMac.h:
594         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
595         Show placeholder when appropriate. 
596
597 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
598
599         Reviewed by Pavel Feldman.
600
601         Web Inspector: evaluate on hover does not work on a breakpoint.
602         https://bugs.webkit.org/show_bug.cgi?id=53768
603
604         * inspector/front-end/SourceFrame.js:
605         (WebInspector.SourceFrame.prototype._mouseHover):
606
607 2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
608
609         Unreviewed, rolling out r77625 and r77626.
610         http://trac.webkit.org/changeset/77625
611         http://trac.webkit.org/changeset/77626
612         https://bugs.webkit.org/show_bug.cgi?id=53765
613
614         It broke Windows builds (Requested by Ossy_ on #webkit).
615
616         * Android.jscbindings.mk:
617         * CMakeLists.txt:
618         * ForwardingHeaders/pcre/pcre.h: Added.
619         * ForwardingHeaders/yarr/Yarr.h: Removed.
620         * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
621         * ForwardingHeaders/yarr/YarrPattern.h: Removed.
622         * WebCore.gyp/WebCore.gyp:
623         * WebCore.pro:
624         * WebCore.vcproj/WebCore.vcproj:
625         * WebCore.vcproj/copyForwardingHeaders.cmd:
626         * platform/text/RegularExpression.cpp:
627         (WebCore::RegularExpression::Private::regexp):
628         (WebCore::RegularExpression::Private::compile):
629         (WebCore::RegularExpression::Private::Private):
630         (WebCore::RegularExpression::Private::create):
631         (WebCore::RegularExpression::Private::~Private):
632         (WebCore::RegularExpression::match):
633
634 2011-02-04  Peter Varga  <pvarga@webkit.org>
635
636         Rubber-stamped by Csaba Osztrogonác.
637
638         Replace PCRE with Yarr in WebCore
639         https://bugs.webkit.org/show_bug.cgi?id=53496
640
641         Speculative windows build fix.
642
643         No new tests needed.
644
645         * platform/text/RegularExpression.cpp:
646
647 2011-02-04  Peter Varga  <pvarga@webkit.org>
648
649
650         Reviewed by Gavin Barraclough.
651
652         Replace PCRE with Yarr in WebCore
653         https://bugs.webkit.org/show_bug.cgi?id=53496
654
655         No new tests needed.
656
657         * Android.jscbindings.mk:
658         * CMakeLists.txt:
659         * ForwardingHeaders/pcre/pcre.h: Removed.
660         * ForwardingHeaders/yarr/Yarr.h: Added.
661         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
662         * ForwardingHeaders/yarr/YarrPattern.h: Added.
663         * WebCore.gyp/WebCore.gyp:
664         * WebCore.pro:
665         * WebCore.vcproj/WebCore.vcproj:
666         * WebCore.vcproj/copyForwardingHeaders.cmd:
667         * platform/text/RegularExpression.cpp:
668         (WebCore::RegularExpression::Private::create):
669         (WebCore::RegularExpression::Private::Private):
670         (WebCore::RegularExpression::Private::compile):
671         (WebCore::RegularExpression::match):
672
673 2011-02-04  Pavel Feldman  <pfeldman@chromium.org>
674
675         Reviewed by Yury Semikhatsky.
676
677         Web Inspector: Network panel filtering is broken.
678         https://bugs.webkit.org/show_bug.cgi?id=53764
679
680         * inspector/front-end/NetworkPanel.js:
681         (WebInspector.NetworkPanel.prototype._sortItems):
682         (WebInspector.NetworkPanel.prototype._sortByTimeline):
683         (WebInspector.NetworkPanel.prototype._filter):
684         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
685         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
686         (WebInspector.NetworkDataGridNode.prototype.get selectable):
687         (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
688         (WebInspector.NetworkTotalGridNode.prototype.get selectable):
689
690 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
691
692         Reviewed by Pavel Feldman.
693
694         Web Inspector: support overriding user agent strings
695         https://bugs.webkit.org/show_bug.cgi?id=51485
696
697         Test: http/tests/inspector/extensions-useragent.html
698
699         * inspector/Inspector.idl:
700         * inspector/InspectorController.cpp:
701         (WebCore::InspectorController::disconnectFrontend):
702         (WebCore::InspectorController::setUserAgentOverride):
703         (WebCore::InspectorController::userAgentOverride):
704         * inspector/InspectorController.h:
705         * inspector/front-end/ExtensionAPI.js:
706         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
707         * inspector/front-end/ExtensionServer.js:
708         (WebInspector.ExtensionServer.prototype._onReload):
709         * loader/FrameLoader.cpp:
710         (WebCore::FrameLoader::userAgent):
711         (WebCore::FrameLoader::applyUserAgent):
712
713 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
714
715         Reviewed by Pavel Feldman.
716
717         Web Inspector: scripts panel displays wrong file name after reload.
718         https://bugs.webkit.org/show_bug.cgi?id=53761
719
720         * inspector/front-end/ScriptsPanel.js:
721         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
722
723 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
724
725         Reviewed by Pavel Feldman.
726
727         Web Inspector: remove settings related methods from InspectorClient
728         https://bugs.webkit.org/show_bug.cgi?id=53686
729
730         * WebCore.exp.in:
731         * inspector/CodeGeneratorInspector.pm:
732         * inspector/InspectorClient.h:
733         * inspector/InspectorFrontendClientLocal.cpp:
734         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
735         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
736         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
737         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
738         provide platform-specific settings accessor.
739         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
740         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
741         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
742         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
743         * loader/EmptyClients.h:
744
745 2011-02-03  Anton Muhin  <antonm@chromium.org>
746
747         Reviewed by Adam Barth.
748
749         [v8] frame several more JS code invocations into v8::TryCatch
750         https://bugs.webkit.org/show_bug.cgi?id=53594
751
752         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
753         in v8::ThrowException---currently sometimes exceptions thrown by this method
754         do not reach surrounding v8::TryCatch handler (see
755         http://code.google.com/p/v8/issues/detail?id=1072 and
756         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
757         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
758         one rebaseline as of now.)
759
760         * bindings/v8/V8Proxy.cpp:
761         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
762         * bindings/v8/V8WindowErrorHandler.cpp:
763         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
764
765 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
766
767         Reviewed by Dan Bernstein.
768
769         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
770         https://bugs.webkit.org/show_bug.cgi?id=52897
771         <rdar://problem/8898294>
772
773         * WebCore.exp.in: Add export now needed by WebKit2
774
775 2011-02-03  Victoria Kirst  <vrk@google.com>
776
777         Reviewed by James Robinson.
778
779         Replaces float literals with uniform values in shader code
780         so that buggy drivers unable to parse float values in different
781         locales will not produce a pink video.
782
783         [chromium] Fix pink video bug with gpu-acceleration enabled
784         https://bugs.webkit.org/show_bug.cgi?id=53568
785
786         * platform/graphics/chromium/VideoLayerChromium.cpp:
787         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
788         (WebCore::VideoLayerChromium::drawYUV):
789         * platform/graphics/chromium/VideoLayerChromium.h:
790         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
791
792 2011-02-03  James Kozianski  <koz@chromium.org>
793
794         Reviewed by Dimitri Glazkov.
795
796         Add navigator.registerProtocolHandler behind a flag.
797         https://bugs.webkit.org/show_bug.cgi?id=52609
798
799         This method is described in the HTML5 specification here,
800         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
801
802         This change is largely cribbed from B. Green's 29651 patches. It is
803         behind a flag so as not to break JS feature detection.
804
805         New layout test fast/dom/registerProtocolHandler.html.
806
807         * Configurations/FeatureDefines.xcconfig:
808         * loader/EmptyClients.h:
809         (WebCore::EmptyChromeClient::registerProtocolHandler):
810         * page/Chrome.cpp:
811         (WebCore::Chrome::registerProtocolHandler):
812         * page/Chrome.h:
813         * page/ChromeClient.h:
814         * page/Navigator.cpp:
815         (WebCore::verifyCustomHandlerURL):
816         (WebCore::verifyProtocolHandlerScheme):
817         (WebCore::Navigator::registerProtocolHandler):
818         * page/Navigator.h:
819         * page/Navigator.idl:
820
821 2011-02-03  Brian Ryner  <bryner@chromium.org>
822
823         Reviewed by Darin Fisher.
824
825         Add a field to the ResourceResponse for tracking the socket address
826         of the host that the resource was fetched from.  Patch was originally
827         by Paul Marks.
828         https://bugs.webkit.org/show_bug.cgi?id=53699
829
830         * platform/network/chromium/ResourceResponse.cpp:
831         (WebCore::ResourceResponse::doPlatformCopyData):
832         (WebCore::ResourceResponse::doPlatformAdopt):
833         * platform/network/chromium/ResourceResponse.h:
834         (WebCore::ResourceResponse::socketAddress):
835         (WebCore::ResourceResponse::setSocketAddress):
836
837 2011-02-03  Adam Langley  <agl@chromium.org>
838
839         Reviewed by Adam Barth.
840
841         Plumb mixed script URL to FrameLoaderClient
842         https://bugs.webkit.org/show_bug.cgi?id=52384
843
844         Regressions covered by http/tests/security/mixedContent/*
845
846         * loader/EmptyClients.h:
847         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
848         * loader/FrameLoader.cpp:
849         (WebCore::FrameLoader::checkIfRunInsecureContent):
850         * loader/FrameLoaderClient.h:
851
852 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
853
854         Reviewed by Dan Bernstein.
855
856         REGRESSION: Artifacts on box-shadow corners in some cases
857         https://bugs.webkit.org/show_bug.cgi?id=53731
858
859         Fix overdrawing artifacts in ShadowBlur's tiling code path,
860         which show up in shadows using a color with alpha.
861         
862         Test: fast/box-shadow/shadow-tiling-artifact.html
863
864         * platform/graphics/ShadowBlur.cpp:
865         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
866         that the inner rect that gets filled does not overlap with any
867         of the eight tiled areas by having the corner and side dimensions
868         be the same for contiguous areas.
869
870 2011-02-03  Adam Barth  <abarth@webkit.org>
871
872         Reviewed by Alexey Proskuryakov.
873
874         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
875         percent signs in large posted data
876         https://bugs.webkit.org/show_bug.cgi?id=53405
877
878         If the input string contains many non-% characters followed by a %
879         character that is not a valid URL escape sequence, then the old
880         algorithm would only advance the initial search by one character
881         (instead of jumping to just after the % character).  That would cause
882         the algorithm to take N^2 time (in the number of characters before the
883         first % character).  This patch just advances the search past the first
884         % character so we can start looking for next % character sooner.
885
886         * platform/KURL.cpp:
887         (WebCore::decodeURLEscapeSequences):
888
889 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
890
891         Reviewed by Pavel Feldman.
892
893         Web Inspector: click on a breakpoint highlights wrong line in source frame.
894         https://bugs.webkit.org/show_bug.cgi?id=53692
895
896         * inspector/front-end/BreakpointsSidebarPane.js:
897         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
898
899 2011-02-03  Anton Muhin  <antonm@chromium.org>
900
901         Reviewed by Adam Barth.
902
903         [v8] Bail out if to string conversion returned empty handle
904         https://bugs.webkit.org/show_bug.cgi?id=53687
905
906         This a temporary measure: actually one probably should never get empty handle
907         if there was no exception.  The root cause is under investigation.
908         The bailout though allows Chromium not to crash---attempt to convert an empty
909         v8 hande into WebCore string crashes with invalid memory access.
910
911         See http://code.google.com/p/chromium/issues/detail?id=71544
912
913         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
914
915         * bindings/v8/V8Binding.cpp:
916         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
917         * bindings/v8/V8Binding.h:
918         (WebCore::V8ParameterBase::prepareBase): Ditto
919
920 2011-02-03  Adam Barth  <abarth@webkit.org>
921
922         Attempt to fix Chromium build.
923
924         * html/parser/XSSFilter.cpp:
925
926 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
927
928         Unreviewed, rolling out r77562.
929         http://trac.webkit.org/changeset/77562
930         https://bugs.webkit.org/show_bug.cgi?id=53630
931
932         broke chromium mac build
933
934         * WebCore.gyp/WebCore.gyp:
935         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
936
937 2011-02-03  Adam Barth  <abarth@webkit.org>
938
939         Reviewed by Daniel Bates.
940
941         XSS Auditor severely affects loading performance after submitting a large form
942         https://bugs.webkit.org/show_bug.cgi?id=49845
943
944         Switch over from the XSSAuditor to the XSSFilter, improving performance
945         on this example.
946
947         * html/parser/XSSFilter.cpp:
948         (WebCore::XSSFilter::filterToken):
949         * page/XSSAuditor.cpp:
950         (WebCore::XSSAuditor::isEnabled):
951
952 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
953
954         Unreviewed, rolling out r77567.
955         http://trac.webkit.org/changeset/77567
956         https://bugs.webkit.org/show_bug.cgi?id=53468
957
958         broke chromium linux svg, canvas tests, possibly win also?
959
960         * platform/graphics/skia/ImageBufferSkia.cpp:
961         (WebCore::getImageData):
962         (WebCore::ImageBuffer::getUnmultipliedImageData):
963         (WebCore::ImageBuffer::getPremultipliedImageData):
964         (WebCore::putImageData):
965         (WebCore::ImageBuffer::putUnmultipliedImageData):
966         (WebCore::ImageBuffer::putPremultipliedImageData):
967
968 2011-02-02  MORITA Hajime  <morrita@google.com>
969
970         Reviewed by Dimitri Glazkov.
971
972         Refactoring: <progress> should not use ShadowElement
973         https://bugs.webkit.org/show_bug.cgi?id=53583
974
975         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
976           to be responsible for bar-part layout,
977           which adopted layout logic from ShadowBlockElement.
978         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
979         - Remove dependency from RenderProgress to HTMLProgressElement and
980           ShadowBlockElement.
981         - The shadow tree is no longer removed on detach(). It becomes persistent.
982           This is now possible because the ShadowBlockElement dependency is gone.
983         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
984           That didn't make sense.
985
986         * html/HTMLProgressElement.cpp:
987         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
988         * html/HTMLProgressElement.h:
989         * html/shadow/ProgressBarValueElement.h: Added.
990         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
991         (WebCore::ProgressBarValueElement::shadowPseudoId):
992         (WebCore::ProgressBarValueElement::createRenderer):
993         (WebCore::ProgressBarValueElement::create):
994         * rendering/RenderIndicator.cpp:
995         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
996         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
997         (WebCore::RenderIndicatorPart::layout):
998         (WebCore::RenderIndicatorPart::styleDidChange):
999         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
1000         (WebCore::RenderIndicatorPart::originalVisibility):
1001         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
1002         (WebCore::RenderIndicatorPart::canHaveChildren):
1003         * rendering/RenderProgress.cpp:
1004         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
1005         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
1006         (WebCore::RenderProgress::updateFromElement):
1007         (WebCore::RenderProgress::layoutParts):
1008         (WebCore::RenderProgress::shouldHaveParts):
1009         * rendering/RenderProgress.h:
1010         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
1011
1012 2011-02-03  Jia Pu  <jpu@apple.com>
1013
1014         Reversion should not be marked as misspelled.
1015         https://bugs.webkit.org/show_bug.cgi?id=53255
1016
1017         This patch includes fix for reported bug, and also some housekeeping changes.
1018
1019         To implement desired behavior, we need:
1020         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
1021            that shouldn't be spellchecked and text shouldn't be autocorrected.
1022         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
1023            Otherwise the spell checking code in that function may interfere with autocorrection. This
1024            is achieved by explicitly applying pending correction when user types space, line break or
1025            paragraph break.
1026
1027         Housekeeping code changes include:
1028         1. Change manual-tests that were broken by relocated WebCore directory.
1029         2. Use TextIterator in various DocumentMarkerController functions instead of using
1030            Node::traverseNextNode() directly.
1031         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
1032            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
1033         4. Fixes of minor bugs that were exposed previously.
1034
1035         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
1036
1037         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
1038
1039         * dom/DocumentMarkerController.cpp:
1040         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
1041            consistent with addMarker() function. Allow passing in multiple marker types in one call.
1042            Added a boolean argument to specify the behavior when removing markers that partially
1043            overlap the specified range.
1044         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
1045            multiple marker types in one call.
1046         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
1047            consistent with addMarker() function. Allow passing in multiple marker types in one call.
1048
1049         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
1050            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
1051            removing markers that partially overlap the specified range.
1052
1053         * editing/Editor.cpp:
1054         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
1055         (WebCore::markerTypesForReplacement): Ditto.
1056         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
1057            setSelection() to make sure there is no pending correction when entering
1058            markAllMisspellingsAndBadGrammarInRanges().
1059         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
1060            is a top level command to improve efficiency.
1061         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
1062         (WebCore::Editor::insertLineBreak): Ditto.
1063         (WebCore::Editor::insertParagraphSeparator): Ditto.
1064         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
1065            text carries SpellCheckingExemption marker.
1066         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
1067            from spellchecker is an empty string.
1068         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
1069            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
1070            efficiency and readability.
1071         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
1072            applying correction, since it's unnecessary. Also, store pre-correction string together with
1073            the marker for reversion panel to use.
1074         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
1075         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
1076            where we have access to EditCommand object.
1077
1078         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
1079
1080         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
1081            were broken by relocated WebCore directory.
1082
1083         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
1084
1085         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
1086
1087         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
1088
1089         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
1090
1091         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
1092
1093         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
1094
1095         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
1096
1097         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
1098
1099         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
1100
1101         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
1102            were broken by relocated WebCore directory.
1103
1104         * rendering/InlineTextBox.cpp:
1105         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
1106
1107 2011-02-03  Abhishek Arya  <inferno@chromium.org>
1108
1109         Unreviewed, qt build fix.
1110
1111         * rendering/RenderBlock.cpp:
1112         (WebCore::RenderBlock::removeFloatingObject):
1113
1114 2011-02-03  Brian Salomon  <bsalomon@google.com>
1115
1116         Reviewed by James Robinson.
1117
1118         Handle non-raster backed images in getUnmultipliedImageData()
1119         https://bugs.webkit.org/show_bug.cgi?id=53468
1120
1121         No new tests. Existing canvas tests sufficient
1122         LayoutTests/canvas/philip/...
1123
1124         * platform/graphics/skia/ImageBufferSkia.cpp:
1125         (WebCore::getImageData):
1126         (WebCore::ImageBuffer::getUnmultipliedImageData):
1127         (WebCore::ImageBuffer::getPremultipliedImageData):
1128         (WebCore::putImageData):
1129         (WebCore::ImageBuffer::putUnmultipliedImageData):
1130         (WebCore::ImageBuffer::putPremultipliedImageData):
1131
1132 2011-02-03  Abhishek Arya  <inferno@chromium.org>
1133
1134         Reviewed by James Robinson.
1135
1136         Enforce more limits on root inline boxes height calculations.
1137         https://bugs.webkit.org/show_bug.cgi?id=53729
1138
1139         Test: fast/overflow/overflow-height-float-not-removed-crash.html
1140
1141         * rendering/RenderBlock.cpp:
1142         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
1143         become negative when logicalTop is INT_MAX.
1144         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
1145         is INT_MAX, we should dirty everything. So, we bail out to make
1146         afterLowest equal to the lastRootBox() or lowestDirstLine.
1147
1148 2011-02-03  David Levin  <levin@chromium.org>
1149
1150         Reviewed by Adam Barth and Oliver Hunt.
1151
1152         Worker.importScript() should clean errors for cross origin imports.
1153         https://bugs.webkit.org/show_bug.cgi?id=52871
1154
1155         Test: http/tests/workers/worker-importScriptsOnError.html
1156
1157         * bindings/js/WorkerScriptController.cpp:
1158         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
1159         to determine when to create a clean exception.
1160         * bindings/v8/WorkerContextExecutionProxy.cpp:
1161         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
1162         * dom/ScriptExecutionContext.cpp:
1163         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
1164         if the error needs to be cleaned up.
1165         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
1166         sanitizeScriptError for use by other places.
1167         * dom/ScriptExecutionContext.h:
1168         * workers/WorkerContext.cpp:
1169         (WebCore::WorkerContext::importScripts): Use the reponse url when
1170         telling the evaluate where the script came fro.
1171         * workers/WorkerScriptLoader.cpp:
1172         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
1173         the script was loaded from (which may be different from url() due
1174         to redirects).
1175         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
1176         * workers/WorkerScriptLoader.h:
1177
1178 2011-02-03  Mark Mentovai  <mark@chromium.org>
1179
1180         Reviewed by Dimitri Glazkov.
1181
1182         Chromium GYP build fix.
1183
1184         When various settings were moved to webcore_prerequisites in r66364,
1185         things that should have been direct_dependent_settings were not marked
1186         as such. GYP 'defines', for example, make no sense on a 'none'-type
1187         target such as webcore_prerequisites. It appears that it was intended
1188         for these settings to be pushed to direct dependents, which would make
1189         direct_dependent_settings correct.
1190
1191         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
1192         http://crbug.com/71537, which at best causes Mac console log spew, and
1193         at worst may result in Chromium's copy of WebCore using system
1194         definitions of certain Objective-C classes at runtime, or vice-versa.
1195
1196         The build now includes a postbuild step to prevent
1197         http://crbug.com/71537 from regressing again. The build will fail upon
1198         regression.
1199
1200         https://bugs.webkit.org/show_bug.cgi?id=53630
1201
1202         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
1203           direct_dependent_settings as needed, add the check_objc_rename
1204           postbuild step.
1205         * WebCore.gyp/mac/check_objc_rename.sh: Added.
1206
1207 2011-02-03  Adam Barth  <abarth@webkit.org>
1208
1209         Reviewed by Eric Seidel.
1210
1211         Make XSSFilter go fast by adding a SuffixTree
1212         https://bugs.webkit.org/show_bug.cgi?id=53665
1213
1214         The SuffixTree lets us quickly reject snippets if the POST data is
1215         large (because we can avoid a linear scan over the POST data).
1216
1217         * html/parser/XSSFilter.cpp:
1218         (WebCore::XSSFilter::init):
1219         (WebCore::XSSFilter::isContainedInRequest):
1220         * html/parser/XSSFilter.h:
1221
1222 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
1223
1224         Reviewed by Alexey Proskuryakov.
1225
1226         REGRESSION (r77355): Page cache layout tests crash
1227         https://bugs.webkit.org/show_bug.cgi?id=53648
1228
1229         Test: fast/events/pagehide-timeout.html
1230         
1231         Suspend active DOM objects after all pagehide event handlers have run,
1232         otherwise it's possible for them to create more objects that weren't
1233         getting suspended.
1234
1235         * history/CachedFrame.cpp:
1236         (WebCore::CachedFrame::CachedFrame):
1237
1238 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
1239
1240         Reviewed by Nate Chapin.
1241
1242         SerializedScriptValue should not require v8 to create undefined and null values
1243         https://bugs.webkit.org/show_bug.cgi?id=53730
1244
1245         Instead of creating a v8 type and passing that into the constructor, just use
1246         the writer class directly. While I was at it, I cleaned up the code a bit too
1247         by getting rid of the WireData/StringValue enum as I found that personally
1248         confusing.
1249
1250         This is necessary because these methods are called by IndexedDB in the browser
1251         process where v8 is not spun up.
1252
1253         No functionality changed and not possible to test.
1254
1255         * bindings/v8/SerializedScriptValue.cpp:
1256         (WebCore::SerializedScriptValue::createFromWire):
1257         (WebCore::SerializedScriptValue::create):
1258         (WebCore::SerializedScriptValue::nullValue):
1259         (WebCore::SerializedScriptValue::undefinedValue):
1260         (WebCore::SerializedScriptValue::release):
1261         (WebCore::SerializedScriptValue::SerializedScriptValue):
1262         * bindings/v8/SerializedScriptValue.h:
1263
1264 2011-02-03  Beth Dakin  <bdakin@apple.com>
1265
1266         Reviewed by Sam Weinig.
1267
1268         Fix for <rdar://problem/8944544> Ability to animate track
1269         for WKPainter scrollers
1270
1271         Two new WebKitSystemInterface functions.
1272         * WebCore.exp.in:
1273         * platform/mac/WebCoreSystemInterface.h:
1274         * platform/mac/WebCoreSystemInterface.mm:
1275
1276         Use Scrollbar::convertFromContainingView() to return the right point.
1277         * platform/mac/ScrollAnimatorMac.mm:
1278         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
1279         
1280         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
1281         now be used to animate the knob or the track.
1282         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
1283         (-[ScrollbarPartAnimation setCurrentProgress:]):
1284         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1285         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1286         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1287
1288         Scrollbars need invalodating after the overlay state changes. 
1289         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
1290
1291 2011-02-03  Sam Weinig  <sam@webkit.org>
1292
1293         Reviewed by Beth Dakin.
1294
1295         Scroll thumb jumps to top when resizing horizontally.
1296
1297         * platform/ScrollView.cpp:
1298         (WebCore::ScrollView::updateScrollbars): Add call to update
1299         the scrollbar's offset in the case where we may have created
1300         a new scrollbar but have not changed the current position.
1301
1302 2011-02-03  Justin Schuh  <jschuh@chromium.org>
1303
1304         Reviewed by Dirk Schulze.
1305
1306         startAnimations should use a local, RefCounted Vector.
1307         https://bugs.webkit.org/show_bug.cgi?id=53458
1308
1309         Test: svg/custom/use-animation-in-fill.html
1310
1311         * svg/SVGDocumentExtensions.cpp:
1312         (WebCore::SVGDocumentExtensions::startAnimations):
1313
1314 2011-02-03  Adam Barth  <abarth@webkit.org>
1315
1316         Reviewed by Daniel Bates.
1317
1318         XSSFilter shouldn't bother to analyze pages without "injection"
1319         characters in the request
1320         https://bugs.webkit.org/show_bug.cgi?id=53664
1321
1322         If the request lacks these "injection" characters, then it's unlikely
1323         that there's a reflective XSS attack happening.  This hueristic lets us
1324         avoid analyzing the vast majority of responses for XSS.  Of course, the
1325         hueristic isn't perfect.  Because of this huerstic, we miss out on
1326         injections into unquoted attributes.  However, it's a trade-off that's
1327         worked well in the XSSAuditor.
1328
1329         * html/parser/XSSFilter.cpp:
1330         (WebCore::HTMLNames::isRequiredForInjection):
1331         (WebCore::XSSFilter::XSSFilter):
1332         (WebCore::XSSFilter::init):
1333         (WebCore::XSSFilter::filterToken):
1334         (WebCore::XSSFilter::isContainedInRequest):
1335         * html/parser/XSSFilter.h:
1336
1337 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
1338
1339         Reviewed by Kenneth Russell.
1340
1341         [chromium] Fixing a compositor crash occurring on layers
1342         without an associated RenderSurface.
1343         https://bugs.webkit.org/show_bug.cgi?id=53679
1344         Regression was introduced by in r77425 
1345
1346         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
1347         anymore.
1348
1349         * platform/graphics/chromium/LayerRendererChromium.cpp:
1350         (WebCore::LayerRendererChromium::drawLayer):
1351
1352 2011-02-03  Dan Bernstein  <mitz@apple.com>
1353
1354         Reviewed by Anders Carlsson.
1355
1356         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
1357         https://bugs.webkit.org/show_bug.cgi?id=53709
1358
1359         Covered by rendering of fast/text/emphasis-vertical.html
1360
1361         * platform/graphics/mac/SimpleFontDataMac.mm:
1362         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
1363         has.
1364
1365 2011-02-02  Levi Weintraub  <leviw@chromium.org>
1366
1367         Reviewed by Ryosuke Niwa.
1368
1369         Moving cursor down in table cycles at the end of a row
1370         https://bugs.webkit.org/show_bug.cgi?id=50012
1371
1372         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
1373         end of a document due to a bug in nextLeafWithSameEditability.
1374
1375         Test: editing/selection/move-by-line-cycles-in-table.html
1376
1377         * editing/visible_units.cpp:
1378         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
1379         original leaf node.
1380
1381 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
1382
1383         Reviewed by Pavel Feldman.
1384
1385         Web Inspector: remove dead code related to changes panel.
1386         https://bugs.webkit.org/show_bug.cgi?id=53688
1387
1388         * WebCore.gypi:
1389         * WebCore.vcproj/WebCore.vcproj:
1390         * inspector/front-end/ChangesView.js: Removed.
1391         * inspector/front-end/WebKit.qrc:
1392         * inspector/front-end/inspector.css:
1393         (#error-warning-count):
1394         (#error-warning-count:hover):
1395         (#error-count + #warning-count):
1396         * inspector/front-end/inspector.html:
1397         * inspector/front-end/inspector.js:
1398
1399 2011-02-02  Sam Weinig  <sam@webkit.org>
1400
1401         Reviewed by Anders Carlsson.
1402
1403         Add notification of the end of a rubber band.
1404         <rdar://problem/8940648>
1405
1406         * WebCore.exp.in:
1407         Add additional exprots.
1408
1409         * page/ChromeClient.h:
1410         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
1411         * page/FrameView.cpp:
1412         (WebCore::FrameView::didCompleteRubberBand):
1413         * page/FrameView.h:
1414         * platform/ScrollView.cpp:
1415         (WebCore::ScrollView::didCompleteRubberBand):
1416         * platform/ScrollView.h:
1417         Add hook.
1418
1419         * platform/ScrollableArea.h:
1420         (WebCore::ScrollableArea::inLiveResize):
1421         (WebCore::ScrollableArea::maximumScrollPosition):
1422         (WebCore::ScrollableArea::visibleWidth):
1423         (WebCore::ScrollableArea::overhangAmount):
1424         (WebCore::ScrollableArea::didCompleteRubberBand):
1425         Reorganize and de-virtualize live resize notifications.
1426
1427         * platform/mac/ScrollAnimatorMac.mm:
1428         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1429         Call the new hook when the rubberband ends.
1430
1431 2011-02-02  Evan Martin  <evan@chromium.org>
1432
1433         Reviewed by Tony Chang.
1434
1435         [chromium] complex joining characters positioned in wrong place
1436         https://bugs.webkit.org/show_bug.cgi?id=53637
1437
1438         Provide the correct font metrics to Harfbuzz related to the font design space.
1439         There are used in some fonts for GPOS positioning.
1440
1441         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
1442
1443         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1444         (WebCore::ComplexTextController::setupFontForScriptRun):
1445         (WebCore::ComplexTextController::allocHarfbuzzFont):
1446         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1447         (WebCore::FontPlatformData::FontPlatformData):
1448         (WebCore::FontPlatformData::emSizeInFontUnits):
1449         (WebCore::FontPlatformData::operator=):
1450         * platform/graphics/chromium/FontPlatformDataLinux.h:
1451         (WebCore::FontPlatformData::FontPlatformData):
1452
1453 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1454
1455         Reviewed by Kent Tamura.
1456
1457         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
1458         https://bugs.webkit.org/show_bug.cgi?id=53634
1459
1460         Test: fast/dom/HTMLInputElement/input-slider-update.html
1461
1462         * html/HTMLInputElement.cpp:
1463         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
1464         * html/InputType.cpp:
1465         (WebCore::InputType::valueChanged): Added empty implementation.
1466         * html/InputType.h: Added def.
1467         * html/RangeInputType.cpp:
1468         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
1469             bit on the thumb.
1470         * html/RangeInputType.h: Added def.
1471
1472 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
1473
1474         Reviewed by Pavel Feldman.
1475
1476         Web Inspector: do not share source frames between resources panel and scripts panel.
1477         https://bugs.webkit.org/show_bug.cgi?id=53584
1478
1479         Currently, we show error messages only for resources. This change will allow showing error
1480         messages in source frame even when resource is not available (eval scripts, inlined scripts).
1481
1482         * inspector/front-end/ConsoleView.js:
1483         (WebInspector.ConsoleView.prototype.addMessage):
1484         (WebInspector.ConsoleView.prototype.clearMessages):
1485         * inspector/front-end/ResourceView.js:
1486         (WebInspector.ResourceView.recreateResourceView):
1487         * inspector/front-end/ResourcesPanel.js:
1488         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
1489         * inspector/front-end/ScriptsPanel.js:
1490         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
1491         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
1492         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
1493         (WebInspector.ScriptsPanel.prototype.reset):
1494         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
1495         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1496         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
1497
1498 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
1499
1500         Fix 32-bit builds.
1501
1502         * platform/graphics/ShadowBlur.cpp:
1503         (WebCore::ShadowBlur::blurLayerImage):
1504
1505 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
1506
1507         Reviewed by Pavel Feldman.
1508
1509         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
1510         https://bugs.webkit.org/show_bug.cgi?id=53592
1511
1512         In JSC there is no limit, thus 'undefined' value is returned.
1513         For V8, the limit reported by the VM is returned.
1514
1515         * Android.jscbindings.mk:
1516         * CMakeLists.txt:
1517         * GNUmakefile.am:
1518         * WebCore.gypi:
1519         * WebCore.pro:
1520         * WebCore.vcproj/WebCore.vcproj:
1521         * WebCore.xcodeproj/project.pbxproj:
1522         * bindings/js/JSBindingsAllInOne.cpp:
1523         * bindings/js/JSMemoryInfoCustom.cpp: Added.
1524         * bindings/js/ScriptGCEvent.cpp:
1525         (WebCore::ScriptGCEvent::getHeapSize):
1526         * bindings/js/ScriptGCEvent.h:
1527         * bindings/v8/ScriptGCEvent.cpp:
1528         (WebCore::ScriptGCEvent::getHeapSize):
1529         * bindings/v8/ScriptGCEvent.h:
1530         * inspector/InspectorTimelineAgent.cpp:
1531         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1532         * page/MemoryInfo.cpp:
1533         (WebCore::MemoryInfo::MemoryInfo):
1534         * page/MemoryInfo.h:
1535         (WebCore::MemoryInfo::jsHeapSizeLimit):
1536         * page/MemoryInfo.idl:
1537
1538 2011-01-27  Philippe Normand  <pnormand@igalia.com>
1539
1540         Reviewed by Martin Robinson.
1541
1542         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
1543         https://bugs.webkit.org/show_bug.cgi?id=53125
1544
1545         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1546         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
1547
1548 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
1549
1550         Reviewed by Sam Weinig.
1551
1552         ShadowBlur radius for CSS shadows is slightly too big
1553         https://bugs.webkit.org/show_bug.cgi?id=53660
1554         
1555         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
1556         shadows that extend further than the CSS "blur radius", which results
1557         in the shadows being truncated.
1558         
1559         Fix with a small fudge factor to reduce the kernel diameter slightly
1560         for CSS shadows.
1561         
1562         Also more closely follow the algorithm described in the SVG spec
1563         for computing the kernel size for different diameters, and clean up
1564         some variable naming relating to the shadow bounds.
1565
1566         * platform/graphics/ShadowBlur.cpp:
1567         (WebCore::ShadowBlur::blurLayerImage):
1568         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1569
1570 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
1571
1572         Reviewed by Pavel Feldman.
1573
1574         Web Inspector: introduce new api for managing JavaScript breakpoints.
1575         https://bugs.webkit.org/show_bug.cgi?id=53235
1576
1577         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
1578         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
1579         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
1580
1581         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
1582         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
1583
1584         * bindings/js/ScriptDebugServer.cpp:
1585         (WebCore::ScriptDebugServer::setBreakpoint):
1586         (WebCore::ScriptDebugServer::removeBreakpoint):
1587         * bindings/js/ScriptDebugServer.h:
1588         * bindings/v8/DebuggerScript.js:
1589         ():
1590         * bindings/v8/ScriptDebugServer.cpp:
1591         (WebCore::ScriptDebugServer::setBreakpoint):
1592         * bindings/v8/ScriptDebugServer.h:
1593         * inspector/Inspector.idl:
1594         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
1595         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1596         (WebCore::InspectorAgent::populateScriptObjects):
1597         (WebCore::InspectorAgent::restoreDebugger):
1598         (WebCore::InspectorAgent::showAndEnableDebugger):
1599         (WebCore::InspectorAgent::enableDebugger):
1600         * inspector/InspectorAgent.h:
1601         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
1602         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1603         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
1604         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
1605         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
1606         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
1607         (WebCore::InspectorDebuggerAgent::continueToLocation):
1608         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1609         (WebCore::InspectorDebuggerAgent::getScriptSource):
1610         (WebCore::InspectorDebuggerAgent::didParseSource):
1611         (WebCore::InspectorDebuggerAgent::didPause):
1612         * inspector/InspectorDebuggerAgent.h:
1613         (WebCore::InspectorDebuggerAgent::Script::Script):
1614         * inspector/InspectorValues.cpp:
1615         (WebCore::InspectorValue::asNumber):
1616         (WebCore::InspectorBasicValue::asNumber):
1617         (WebCore::InspectorObject::remove):
1618         * inspector/InspectorValues.h:
1619         (WebCore::InspectorObject::getNumber):
1620         (WebCore::InspectorObject::find):
1621         * inspector/ScriptBreakpoint.h:
1622         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
1623         * inspector/front-end/Breakpoint.js:
1624         (WebInspector.Breakpoint):
1625         (WebInspector.Breakpoint.prototype.addLocation):
1626         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
1627         (WebInspector.BreakpointManager):
1628         (WebInspector.BreakpointManager.prototype._projectChanged):
1629         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1630         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
1631         * inspector/front-end/BreakpointsSidebarPane.js:
1632         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
1633         * inspector/front-end/DebuggerModel.js:
1634         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
1635         * inspector/front-end/Script.js:
1636         (WebInspector.Script.prototype.sourceLine):
1637         * inspector/front-end/ScriptsPanel.js:
1638         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1639         * inspector/front-end/Settings.js:
1640         (WebInspector.Settings):
1641         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
1642         * inspector/front-end/inspector.js:
1643
1644 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
1645
1646         Reviewed by Dirk Schulze.
1647
1648         small text which is scaled to be large renders pixelated
1649         https://bugs.webkit.org/show_bug.cgi?id=12448
1650
1651         SVG <text> with font-size smaller or equal to 1 does not paint correctly
1652         https://bugs.webkit.org/show_bug.cgi?id=14242
1653
1654         misplaced text in SVG
1655         https://bugs.webkit.org/show_bug.cgi?id=17053
1656
1657         Don't render very small (but zoomed) text inside SVG
1658         https://bugs.webkit.org/show_bug.cgi?id=19393
1659
1660         Tiny fonts scaled up end up too large in Safari
1661         https://bugs.webkit.org/show_bug.cgi?id=20192
1662
1663         Stretched SVG Text has awful glyph spacing 
1664         https://bugs.webkit.org/show_bug.cgi?id=21774
1665
1666         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
1667         https://bugs.webkit.org/show_bug.cgi?id=49846
1668
1669         [Gtk] Text height in zoomed SVG is 1px too high
1670         https://bugs.webkit.org/show_bug.cgi?id=50313
1671
1672         SVG text smaller than 0.5px not displayed properly
1673         https://bugs.webkit.org/show_bug.cgi?id=50528
1674
1675         When rendering text, we're selecting a font with a size, as specified in the markup.
1676         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
1677         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
1678         problem becomes apparent.
1679
1680         Consider following two snippets, which should render exactly the same:
1681         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
1682         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
1683
1684         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
1685         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
1686         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
1687
1688         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
1689         remove any scaling from the context, draw the text using the scaled font size, then reapply
1690         the context scale. This makes the example snippets above render exactly the same and fixes
1691         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
1692         internally, depending on the scale of the document, it's very important to use the new
1693         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
1694
1695         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
1696                               svg/hixie/text/003.html (no more pixelation)
1697                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
1698                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
1699                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
1700
1701         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
1702                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
1703                svg/text/scaled-font.svg (reduction from bug 12448)
1704                svg/text/small-fonts-2.svg (reduction from bug 14242)
1705                svg/text/small-fonts-3.svg (reduction from bug 17053)
1706                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
1707                svg/text/small-fonts.svg (reduction from bug 20192))
1708
1709         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
1710         * rendering/svg/RenderSVGInlineText.h:
1711         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1712         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1713         * rendering/svg/SVGInlineTextBox.h:
1714         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1715         * rendering/svg/SVGTextMetrics.cpp: Ditto.
1716         * rendering/svg/SVGTextMetrics.h: Ditto.
1717         * rendering/svg/SVGTextQuery.cpp: Ditto.
1718         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1719         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1720         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1721         * svg/SVGTextPositioningElement.h: 
1722
1723 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
1724
1725         Reviewed by Yury Semikhatsky.
1726
1727         Web Inspector: resources panel doesn't show frames after reload.
1728         https://bugs.webkit.org/show_bug.cgi?id=53430
1729
1730         * inspector/front-end/ResourcesPanel.js:
1731         (WebInspector.ResourcesPanel.prototype.show):
1732         (WebInspector.ResourcesPanel.prototype.loadEventFired):
1733         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1734         (WebInspector.ResourcesPanel.prototype.reset):
1735         (WebInspector.ResourcesPanel.prototype.clear):
1736         * inspector/front-end/inspector.js:
1737         (WebInspector.loadEventFired):
1738
1739 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
1740
1741         Reviewed by Pavel Feldman.
1742
1743         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1744         https://bugs.webkit.org/show_bug.cgi?id=53492
1745
1746         * inspector/Inspector.idl:
1747         * inspector/InspectorCSSAgent.cpp:
1748         (WebCore::InspectorCSSAgent::getStylesForNode):
1749         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1750         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1751         (WebCore::InspectorCSSAgent::getAllStyles):
1752         (WebCore::InspectorCSSAgent::getStyleSheet):
1753         (WebCore::InspectorCSSAgent::getStyleSheetText):
1754         (WebCore::InspectorCSSAgent::setStyleSheetText):
1755         (WebCore::InspectorCSSAgent::setPropertyText):
1756         (WebCore::InspectorCSSAgent::toggleProperty):
1757         (WebCore::InspectorCSSAgent::setRuleSelector):
1758         (WebCore::InspectorCSSAgent::addRule):
1759         * inspector/InspectorCSSAgent.h:
1760         * inspector/front-end/AuditRules.js:
1761         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1762         * inspector/front-end/CSSStyleModel.js:
1763         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1764         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1765         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1766         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1767         (WebInspector.CSSStyleModel.prototype.addRule):
1768         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1769         (WebInspector.CSSStyleModel.prototype._onRevert):
1770         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1771         (WebInspector.CSSProperty.prototype.setText):
1772         (WebInspector.CSSProperty.prototype.setDisabled):
1773         (WebInspector.CSSStyleSheet.createForId):
1774         (WebInspector.CSSStyleSheet.prototype.setText):
1775
1776 2011-02-03  Adam Barth  <abarth@webkit.org>
1777
1778         Reviewed by Daniel Bates.
1779
1780         Teach XSSFilter about data URLs
1781         https://bugs.webkit.org/show_bug.cgi?id=53662
1782
1783         The XSS filter doesn't really make sense for data URLs because
1784         everything in a "response" from a data URL was part of the request.
1785
1786         Test: http/tests/security/xssAuditor/data-urls-work.html
1787
1788         * html/parser/XSSFilter.cpp:
1789         (WebCore::XSSFilter::init):
1790         (WebCore::XSSFilter::filterToken):
1791
1792 2011-02-02  Chris Evans  <cevans@chromium.org>
1793
1794         Reviewed by Darin Fisher.
1795
1796         window.find() can fail when switching case sensitivity
1797         https://bugs.webkit.org/show_bug.cgi?id=53654
1798
1799         Reset the pattern to a safe one when done, to avoid usearch_reset()
1800         indirectly touching the old, stale text pointer.
1801
1802         Test: fast/text/find-window.html
1803
1804         * editing/TextIterator.cpp:
1805         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1806
1807 2011-02-02  Adam Barth  <abarth@webkit.org>
1808
1809         Reviewed by Daniel Bates.
1810
1811         Teach XSSFilter that <param> elements can contain URLs
1812         https://bugs.webkit.org/show_bug.cgi?id=53652
1813
1814         When loading plugins for the <object> tag, we're "smart" enough to
1815         reach into the <param> elements and pull out the URL in some cases.
1816         This patch teaches the XSSFilter how to block injections into those
1817         sorts of param elements.
1818
1819         Fixes:
1820             http/tests/security/xssAuditor/object-*
1821
1822         * html/HTMLParamElement.cpp:
1823         (WebCore::HTMLParamElement::isURLParameter):
1824         (WebCore::HTMLParamElement::isURLAttribute):
1825         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1826         * html/HTMLParamElement.h:
1827             - Add a helper function so that HTMLParamElement can share the
1828               ground truth for these names with the XSSFilter.
1829         * html/parser/XSSFilter.cpp:
1830         (WebCore::XSSFilter::filterTokenInitial):
1831         (WebCore::XSSFilter::filterParamToken):
1832         * html/parser/XSSFilter.h:
1833
1834 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1835
1836         Reviewed by David Levin.
1837
1838         GCC compiler on ARM issues bogus warnings and fails to compile.
1839         https://bugs.webkit.org/show_bug.cgi?id=53620
1840
1841         Despite warnings explicitly being disallowed (-Wno-uninitialized),
1842         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1843
1844         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1845
1846         The fix is to add an extra condition, which somehow pacifies the compiler.
1847
1848         * css/CSSPrimitiveValue.cpp:
1849         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1850
1851 2011-02-02  Adam Barth  <abarth@webkit.org>
1852
1853         Reviewed by Daniel Bates.
1854
1855         Teach XSSFilter about X-XSS-Protection
1856         https://bugs.webkit.org/show_bug.cgi?id=53640
1857
1858         This patch causes us to pass:
1859             http/tests/security/xssAuditor/full-block-*
1860             http/tests/security/xssAuditor/no-protection-script-tag.html
1861
1862         * html/parser/XSSFilter.cpp:
1863         (WebCore::XSSFilter::XSSFilter):
1864         (WebCore::XSSFilter::init):
1865         (WebCore::XSSFilter::filterToken):
1866         * html/parser/XSSFilter.h:
1867
1868 2011-02-02  Adam Barth  <abarth@webkit.org>
1869
1870         Reviewed by Daniel Bates.
1871
1872         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1873         instead of the empty string
1874         https://bugs.webkit.org/show_bug.cgi?id=53643
1875
1876         In a URL context, the empty string completes to the URL of the current
1877         page, which causes these tests to go into an infinite loop.  Instead,
1878         we should use a "safe" JavaScript URL that does nothing.
1879
1880         Fixes:
1881             http/tests/security/xssAuditor/javascript-link*
1882
1883         * html/parser/XSSFilter.cpp:
1884         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1885
1886 2011-02-02  Dan Bernstein  <mitz@apple.com>
1887
1888         Reviewed by Sam Weinig.
1889
1890         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1891         https://bugs.webkit.org/show_bug.cgi?id=44942
1892
1893         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1894
1895         * platform/text/BidiResolver.h:
1896         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1897         a change to embedding levels.
1898         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1899         the explicit embedding sequence, then runs were not added, and we should continue normally.
1900
1901 2011-02-02  Sam Weinig  <sam@webkit.org>
1902
1903         Reviewed by Dan Bernstein.
1904
1905         Fix miscalculation of the overhang area used for painting. We were
1906         not correctly accounting for scrollbars resulting in an non-negative
1907         overhang even when we weren't over the edge.
1908
1909         * platform/ScrollView.cpp:
1910         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1911
1912 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
1913
1914         Reviewed by Nate Chapin.
1915
1916         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1917         https://bugs.webkit.org/show_bug.cgi?id=52722
1918
1919         The solution is to change ScriptExecutionContext's destructor to iterate over
1920         the list in a way that handles the mutations. This new method is destructive,
1921         but that's OK since the object is going away. I've also added a several asserts.
1922
1923         There should be no behavior change.
1924
1925         * dom/ScriptExecutionContext.cpp:
1926         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1927         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1928         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1929         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1930         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1931         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1932         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1933         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1934         * dom/ScriptExecutionContext.h:
1935         * storage/IDBTransaction.cpp:
1936         (WebCore::IDBTransaction::contextDestroyed):
1937         * storage/IDBTransaction.h:
1938
1939 2011-02-02  Mark Rowe  <mrowe@apple.com>
1940
1941         Build fix.
1942
1943         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1944         * platform/mac/ScrollbarThemeMac.mm:
1945         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1946         up in the HashMap rather than relying on a local variable that doesn't
1947         exist.
1948
1949 2011-02-02  Adam Barth  <abarth@webkit.org>
1950
1951         Reviewed by Daniel Bates.
1952
1953         Teach XSSFilter about JavaScript URLs
1954         https://bugs.webkit.org/show_bug.cgi?id=53635
1955
1956         This patch teaches the XSSFilter to check for JavaScript URLs in
1957         attribute values.  If this approach has too many false positives, we
1958         can restrict which attribute names we examine.
1959
1960         Fixes these tests:
1961             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1962             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1963             http/tests/security/xssAuditor/iframe-javascript-url*
1964
1965         * html/parser/XSSFilter.cpp:
1966         (WebCore::HTMLNames::containsJavaScriptURL):
1967         (WebCore::XSSFilter::filterTokenInitial):
1968         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1969         * html/parser/XSSFilter.h:
1970
1971 2011-02-02  Dan Bernstein  <mitz@apple.com>
1972
1973         Reviewed by Sam Weinig, even though this is just a...
1974
1975         ...build fix.
1976
1977         * platform/mac/ScrollAnimatorMac.mm:
1978         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1979
1980 2011-02-02  Mark Rowe  <mrowe@apple.com>
1981
1982         Reviewed by Beth Dakin.
1983
1984         <rdar://problem/8952012> Crash on launch inside scrollbar code.
1985
1986         We need to ensure that we remove ourselves as the delegates of objects when we're going
1987         away as failing to do this can lead to crashes if the lifetime of the other objects
1988         is longer than ours.
1989
1990         * platform/mac/ScrollAnimatorMac.mm:
1991         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1992         * platform/mac/ScrollbarThemeMac.mm:
1993         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1994
1995 2011-02-02  Beth Dakin  <bdakin@apple.com>
1996
1997         Build fix.
1998
1999         * WebCore.exp.in:
2000
2001 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
2002
2003         Unreviewed WinCE build fix for r77397.
2004
2005         * page/wince/FrameWinCE.cpp:
2006         (WebCore::computePageRectsForFrame):
2007
2008 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
2009
2010         Unreviewed WinCE build fix for r77398.
2011
2012         * platform/graphics/wince/PlatformPathWinCE.cpp:
2013         (WebCore::containsPoint):
2014         (WebCore::inflateRectToContainPoint):
2015         (WebCore::PlatformPath::addRect):
2016         * platform/graphics/wince/SharedBitmap.cpp:
2017         (WebCore::SharedBitmap::drawPattern):
2018         * rendering/RenderThemeWinCE.cpp:
2019         (WebCore::RenderThemeWinCE::paintMenuListButton):
2020         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2021         (WebCore::RenderThemeWinCE::paintSliderTrack):
2022         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
2023         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
2024         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
2025         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
2026
2027 2011-02-02  Jian Li  <jianli@chromium.org>
2028
2029         Reviewed by Kenneth Russell.
2030
2031         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
2032         https://bugs.webkit.org/show_bug.cgi?id=53559
2033
2034         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
2035
2036         * html/canvas/DataView.h:
2037         (WebCore::DataView::beyondRange):
2038
2039 2011-02-02  Sam Weinig  <sam@webkit.org>
2040
2041         Reviewed by Beth Dakin.
2042
2043         Add ChromeClient function to paint custom overhang areas.
2044         https://bugs.webkit.org/show_bug.cgi?id=53639
2045
2046         * page/Chrome.cpp:
2047         (WebCore::ChromeClient::paintCustomOverhangArea):
2048         * page/ChromeClient.h:
2049         Add ChromeClient function.
2050
2051         * page/FrameView.cpp:
2052         (WebCore::FrameView::paintOverhangAreas):
2053         * page/FrameView.h:
2054         Call out the the ChromeClient, call ScrollView base implementation
2055         if the ChromeClient returns false.
2056
2057         * platform/ScrollView.cpp:
2058         (WebCore::ScrollView::paintOverhangAreas):
2059         * platform/ScrollView.h:
2060         Add dirty rect for use when painting overhang areas.
2061
2062 2011-02-02  Peter Kasting  <pkasting@google.com>
2063
2064         Not reviewed, build fix.
2065
2066         Fix compile after r77427.
2067         https://bugs.webkit.org/show_bug.cgi?id=53455
2068
2069         * platform/graphics/qt/ImageDecoderQt.cpp:
2070         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
2071         * platform/image-decoders/ImageDecoder.cpp:
2072         (WebCore::ImageFrame::operator=):
2073         * platform/image-decoders/bmp/BMPImageReader.cpp:
2074         (WebCore::BMPImageReader::decodeBMP):
2075         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2076         (WebCore::JPEGImageDecoder::outputScanlines):
2077         * platform/image-decoders/png/PNGImageDecoder.cpp:
2078         (WebCore::PNGImageDecoder::rowAvailable):
2079         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2080         (WebCore::WEBPImageDecoder::decode):
2081
2082 2011-02-02  Peter Kasting  <pkasting@google.com>
2083
2084         Reviewed by David Levin.
2085
2086         Clean up ImageDecoder's comments (remove/trim/clarify).
2087         https://bugs.webkit.org/show_bug.cgi?id=53455
2088
2089         This also renames or eliminates a couple of functions for clarity, and
2090         switches a couple erroneous strncmp() calls to memcmp().
2091
2092         * platform/image-decoders/ImageDecoder.cpp:
2093         (WebCore::ImageDecoder::create):
2094         (WebCore::ImageFrame::clearPixelData):
2095         (WebCore::ImageFrame::zeroFillPixelData):
2096         (WebCore::ImageFrame::setSize):
2097         * platform/image-decoders/ImageDecoder.h:
2098         (WebCore::ImageFrame::originalFrameRect):
2099         (WebCore::ImageFrame::setOriginalFrameRect):
2100         (WebCore::ImageDecoder::ImageDecoder):
2101         (WebCore::ImageDecoder::~ImageDecoder):
2102         (WebCore::ImageDecoder::isSizeAvailable):
2103         (WebCore::ImageDecoder::size):
2104         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
2105         (WebCore::ImageDecoder::clearFrameBufferCache):
2106         (WebCore::ImageDecoder::isOverSize):
2107         * platform/image-decoders/bmp/BMPImageReader.cpp:
2108         (WebCore::BMPImageReader::processNonRLEData):
2109         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2110         (WebCore::ImageFrame::setSize):
2111         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2112         (WebCore::GIFImageDecoder::clearFrameBufferCache):
2113         (WebCore::GIFImageDecoder::frameComplete):
2114         (WebCore::GIFImageDecoder::initFrameBuffer):
2115         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2116         * platform/image-decoders/qt/ImageFrameQt.cpp:
2117         (WebCore::ImageFrame::operator=):
2118         (WebCore::ImageFrame::clearPixelData):
2119         (WebCore::ImageFrame::zeroFillPixelData):
2120         (WebCore::ImageFrame::setSize):
2121         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2122         (WebCore::ImageFrame::operator=):
2123         (WebCore::ImageFrame::clearPixelData):
2124         (WebCore::ImageFrame::zeroFillPixelData):
2125         (WebCore::ImageFrame::setSize):
2126         * platform/image-decoders/webp/WEBPImageDecoder.h:
2127
2128 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
2129
2130         [chromium] Adding support for reflections to the accelerated
2131         compositing path.
2132         https://bugs.webkit.org/show_bug.cgi?id=53179
2133
2134         All layout tests in compositing/reflections generate correct
2135         results with the exception of:
2136         1. nested-reflection-anchor-point.html : There appears to be
2137            some issue with the layer transform math that I haven't been
2138            able to track down yet.
2139         2. reflection-opacity.html : The current implementation applies
2140            opacity before doing the reflection which makes this test
2141            produce incorrect results.  This will affect reflected layers
2142            with opacity that overlap their original layer.  FIXME comment
2143            added in the code.
2144
2145         Tests: Covered by existing layout tests in compositing/reflections.
2146                Please see above for exceptions.
2147
2148         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2149         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2150         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2151         * platform/graphics/chromium/GraphicsLayerChromium.h:
2152         * platform/graphics/chromium/LayerChromium.cpp:
2153         (WebCore::LayerChromium::LayerChromium):
2154         * platform/graphics/chromium/LayerChromium.h:
2155         (WebCore::LayerChromium::setReplicaLayer):
2156         (WebCore::LayerChromium::replicaLayer):
2157         * platform/graphics/chromium/LayerRendererChromium.cpp:
2158         (WebCore::LayerRendererChromium::updateLayersRecursive):
2159         (WebCore::LayerRendererChromium::drawLayer):
2160         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2161         (WebCore::RenderSurfaceChromium::drawableContentRect):
2162         (WebCore::RenderSurfaceChromium::drawSurface):
2163         (WebCore::RenderSurfaceChromium::draw):
2164         * platform/graphics/chromium/RenderSurfaceChromium.h:
2165         (WebCore::RenderSurfaceChromium::drawTransform):
2166
2167 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
2168
2169         Reviewed by Tony Chang.
2170
2171         [Chromium] Select popup with padding has white strip on right
2172         https://bugs.webkit.org/show_bug.cgi?id=53602
2173
2174         No new tests as this change restores old behavior.
2175
2176         * platform/chromium/PopupMenuChromium.cpp:
2177         (WebCore::PopupListBox::layout):
2178
2179 2011-02-02  Beth Dakin  <bdakin@apple.com>
2180
2181         Reviewed by Mark Rowe.
2182
2183         Fix for <rdar://problem/8950343> CrashTracer: [USER]
2184         1 crash in WebProcess at com.apple.WebCore: 
2185         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
2186
2187         It is possible for a Scrollbar's ScrollableArea to be null,
2188         so we must null check.
2189         * platform/mac/ScrollbarThemeMac.mm:
2190         (WebCore::ScrollbarThemeMac::registerScrollbar):
2191         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2192
2193 2011-02-02  Zhenyao Mo  <zmo@google.com>
2194
2195         Reviewed by Kenneth Russell.
2196
2197         bufferData and bufferSubData should generate INVALID_VALUE with negative input
2198         https://bugs.webkit.org/show_bug.cgi?id=53626
2199
2200         * html/canvas/WebGLRenderingContext.cpp:
2201         (WebCore::WebGLRenderingContext::bufferData):
2202         (WebCore::WebGLRenderingContext::bufferSubData):
2203
2204 2011-02-02  Jeff Miller  <jeffm@apple.com>
2205
2206         Reviewed by Darin Adler and Steve Falkenburg.
2207
2208         Add DerivedSources.make to some Visual Studio projects
2209         https://bugs.webkit.org/show_bug.cgi?id=53607
2210
2211         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
2212
2213 2011-02-02  Cris Neckar  <cdn@chromium.org>
2214
2215         Reviewed by James Robinson.
2216
2217         Refcount domwindows when dispatching device orientation events.
2218         https://bugs.webkit.org/show_bug.cgi?id=53623
2219
2220         Test: fast/events/device-orientation-crash.html
2221
2222         * dom/DeviceMotionController.cpp:
2223         (WebCore::DeviceMotionController::timerFired):
2224         (WebCore::DeviceMotionController::didChangeDeviceMotion):
2225         * dom/DeviceMotionController.h:
2226         * dom/DeviceOrientationController.cpp:
2227         (WebCore::DeviceOrientationController::timerFired):
2228         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
2229         * dom/DeviceOrientationController.h:
2230
2231 2011-02-02  Zhenyao Mo  <zmo@google.com>
2232
2233         Reviewed by Kenneth Russell.
2234
2235         A deleted object should never been bound again
2236         https://bugs.webkit.org/show_bug.cgi?id=53604
2237
2238         * html/canvas/WebGLRenderingContext.cpp:
2239         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
2240         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
2241         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
2242         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
2243         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
2244         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
2245         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
2246         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
2247         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
2248         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
2249         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
2250         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
2251         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
2252         * html/canvas/WebGLRenderingContext.h:
2253         * html/canvas/WebGLTexture.h:
2254         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
2255
2256 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2257
2258         Unreviewed Efl buildfix after r77399.
2259
2260         * CMakeListsEfl.txt:
2261
2262 2011-02-02  Kenneth Russell  <kbr@google.com>
2263
2264         Reviewed by James Robinson.
2265
2266         Rename Typed Array subset to subarray
2267         https://bugs.webkit.org/show_bug.cgi?id=53618
2268
2269         * html/canvas/Float32Array.cpp:
2270         (WebCore::Float32Array::subarray):
2271         * html/canvas/Float32Array.h:
2272         * html/canvas/Float32Array.idl:
2273         * html/canvas/Int16Array.cpp:
2274         (WebCore::Int16Array::subarray):
2275         * html/canvas/Int16Array.h:
2276         * html/canvas/Int16Array.idl:
2277         * html/canvas/Int32Array.cpp:
2278         (WebCore::Int32Array::subarray):
2279         * html/canvas/Int32Array.h:
2280         * html/canvas/Int32Array.idl:
2281         * html/canvas/Int8Array.cpp:
2282         (WebCore::Int8Array::subarray):
2283         * html/canvas/Int8Array.h:
2284         * html/canvas/Int8Array.idl:
2285         * html/canvas/TypedArrayBase.h:
2286         (WebCore::TypedArrayBase::subarrayImpl):
2287         * html/canvas/Uint16Array.cpp:
2288         (WebCore::Uint16Array::subarray):
2289         * html/canvas/Uint16Array.h:
2290         * html/canvas/Uint16Array.idl:
2291         * html/canvas/Uint32Array.cpp:
2292         (WebCore::Uint32Array::subarray):
2293         * html/canvas/Uint32Array.h:
2294         * html/canvas/Uint32Array.idl:
2295         * html/canvas/Uint8Array.cpp:
2296         (WebCore::Uint8Array::subarray):
2297         * html/canvas/Uint8Array.h:
2298         * html/canvas/Uint8Array.idl:
2299
2300 2011-02-02  Adam Barth  <abarth@webkit.org>
2301
2302         Reviewed by Eric Seidel.
2303
2304         Add an empty file for Content Security Policy
2305         https://bugs.webkit.org/show_bug.cgi?id=53573
2306
2307         Posting this as a separate patch because editing the build files is so
2308         painful.
2309
2310         * Android.mk:
2311         * CMakeLists.txt:
2312         * GNUmakefile.am:
2313         * WebCore.gypi:
2314         * WebCore.pro:
2315         * WebCore.vcproj/WebCore.vcproj:
2316         * WebCore.xcodeproj/project.pbxproj:
2317
2318 2011-02-02  Dan Winship  <danw@gnome.org>
2319
2320         Reviewed by Martin Robinson.
2321
2322         [GTK] remove old data: URI handler, fix the SoupRequest-based one
2323         to pass tests
2324         https://bugs.webkit.org/show_bug.cgi?id=50885
2325
2326         * platform/network/soup/ResourceHandleSoup.cpp:
2327         (WebCore::sendRequestCallback): Do content-type sniffing here for
2328         non-HTTP requests.
2329         (WebCore::startHTTPRequest): Rename to match WebKit style.
2330         (WebCore::ResourceHandle::start): Pass everything except HTTP to
2331         startNonHTTPRequest, letting the SoupRequester decide whether it's
2332         supported or not.
2333         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
2334         code that was a no-op for file: URIs, but would break some data:
2335         URIs.
2336
2337 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
2338
2339         Update even more references to right() and bottom() in Chromium. Sheesh.
2340
2341         * platform/graphics/chromium/LayerRendererChromium.cpp:
2342         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
2343
2344 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2345
2346         Unreviewed Gtk3 buildfix after r77286.
2347
2348         https://bugs.webkit.org/show_bug.cgi?id=53520
2349         Remove the physical terminology from IntRect and FloatRect.
2350
2351         * platform/gtk/RenderThemeGtk3.cpp:
2352         (WebCore::RenderThemeGtk::paintMenuList):
2353
2354 2011-02-02  Anders Carlsson  <andersca@apple.com>
2355
2356         Fix build.
2357
2358         * platform/mac/ScrollAnimatorMac.mm:
2359         (WebCore::ScrollAnimatorMac::pinnedInDirection):
2360
2361 2011-02-02  David Hyatt  <hyatt@apple.com>
2362
2363         Reviewed by Dan Bernstein.
2364
2365         https://bugs.webkit.org/show_bug.cgi?id=53619
2366
2367         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
2368         with maxX/maxY.  This matches IntRect.
2369
2370         * rendering/RenderBlock.cpp:
2371         (WebCore::RenderBlock::addOverflowFromFloats):
2372         (WebCore::RenderBlock::flipFloatForWritingMode):
2373         (WebCore::RenderBlock::paintFloats):
2374         (WebCore::RenderBlock::selectionGaps):
2375         (WebCore::RenderBlock::addOverhangingFloats):
2376         (WebCore::RenderBlock::addIntrudingFloats):
2377         (WebCore::RenderBlock::hitTestFloats):
2378         (WebCore::RenderBlock::adjustForBorderFit):
2379         * rendering/RenderBlock.h:
2380         (WebCore::RenderBlock::FloatingObject::x):
2381         (WebCore::RenderBlock::FloatingObject::maxX):
2382         (WebCore::RenderBlock::FloatingObject::y):
2383         (WebCore::RenderBlock::FloatingObject::maxY):
2384         (WebCore::RenderBlock::FloatingObject::setX):
2385         (WebCore::RenderBlock::FloatingObject::setY):
2386         (WebCore::RenderBlock::logicalTopForFloat):
2387         (WebCore::RenderBlock::logicalBottomForFloat):
2388         (WebCore::RenderBlock::logicalLeftForFloat):
2389         (WebCore::RenderBlock::logicalRightForFloat):
2390         (WebCore::RenderBlock::setLogicalTopForFloat):
2391         (WebCore::RenderBlock::setLogicalLeftForFloat):
2392         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
2393         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
2394
2395 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
2396
2397         Update more references to right() and bottom() in Chromium Win.
2398
2399         * platform/graphics/chromium/TransparencyWin.cpp:
2400         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
2401         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
2402         * rendering/RenderThemeChromiumWin.cpp:
2403         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
2404
2405 2011-02-02  Adam Roben  <aroben@apple.com>
2406
2407         Encode/decode FormData and FormDataElement objects consistently
2408
2409         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
2410         that contains form data fails (asserts in Debug build)
2411
2412         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
2413         now, even though we don't have an automated test for it yet. Writing a test is covered by
2414         <http://webkit.org/b/53616>.
2415
2416         Reviewed by Darin Adler.
2417
2418         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
2419         FormData objects.
2420
2421         * platform/network/FormData.cpp:
2422         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
2423         default-constructed FormDataElement. Failing to do this meant that all future uses of the
2424         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
2425         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
2426         to correctly set the FormDataElement's type based on this decoded type later in the
2427         function.
2428         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
2429         matches its type and how we decode it.
2430
2431 2011-02-02  Dan Winship  <danw@gnome.org>
2432
2433         Reviewed by Martin Robinson.
2434
2435         [GTK] drop soup cache stuff, which has been moved to libsoup
2436         https://bugs.webkit.org/show_bug.cgi?id=50747
2437
2438         Use libsoup-based cache/requester API and remove the WebCore version
2439         of this functionality. This has been pushed upstream fully.
2440
2441         No new tests because this should not change functionality.
2442
2443         * GNUmakefile.am: Update for removed files.
2444         * platform/network/ResourceHandleInternal.h:
2445         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
2446         type names, drop m_requester.
2447         * platform/network/soup/ResourceHandleSoup.cpp:
2448         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
2449         session.
2450         (WebCore::parseDataUrl):
2451         (WebCore::startHttp): Get the requester from the session rather
2452         than using m_requester.
2453         (WebCore::sendRequestCallback):
2454         (WebCore::ResourceHandle::platformSetDefersLoading):
2455         (WebCore::readCallback):
2456         (WebCore::startGio): Update type names.
2457         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
2458         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
2459         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
2460         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
2461         * platform/network/soup/cache/soup-request-data.c: Removed.
2462         * platform/network/soup/cache/soup-request-data.h: Removed.
2463         * platform/network/soup/cache/soup-request-file.c: Removed.
2464         * platform/network/soup/cache/soup-request-file.h: Removed.
2465         * platform/network/soup/cache/soup-request-http.c: Removed.
2466         * platform/network/soup/cache/soup-request-http.h: Removed.
2467         * platform/network/soup/cache/soup-request.c: Removed.
2468         * platform/network/soup/cache/soup-request.h: Removed.
2469         * platform/network/soup/cache/soup-requester.c: Removed.
2470         * platform/network/soup/cache/soup-requester.h: Removed.
2471         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
2472         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
2473         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
2474
2475 2011-02-02  David Hyatt  <hyatt@apple.com>
2476
2477         Reviewed by Darin Adler.
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=53520
2480
2481         Remove physical accessors from IntRect and FloatRect.
2482
2483         * page/FrameView.cpp:
2484         (WebCore::FrameView::adjustPageHeightDeprecated):
2485         * platform/graphics/FloatRect.h:
2486         * platform/graphics/IntRect.h:
2487
2488 2011-02-02  David Hyatt  <hyatt@apple.com>
2489
2490         Reviewed by Dan Bernstein.
2491
2492         https://bugs.webkit.org/show_bug.cgi?id=53614
2493
2494         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
2495
2496         * rendering/InlineFlowBox.cpp:
2497         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2498         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2499         * rendering/InlineFlowBox.h:
2500         (WebCore::InlineFlowBox::minYLayoutOverflow):
2501         (WebCore::InlineFlowBox::maxYLayoutOverflow):
2502         (WebCore::InlineFlowBox::minXLayoutOverflow):
2503         (WebCore::InlineFlowBox::maxXLayoutOverflow):
2504         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
2505         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
2506         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
2507         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
2508         (WebCore::InlineFlowBox::minYVisualOverflow):
2509         (WebCore::InlineFlowBox::maxYVisualOverflow):
2510         (WebCore::InlineFlowBox::minXVisualOverflow):
2511         (WebCore::InlineFlowBox::maxXVisualOverflow):
2512         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
2513         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
2514         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
2515         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
2516         * rendering/RenderBlock.cpp:
2517         (WebCore::RenderBlock::adjustLinePositionForPagination):
2518         * rendering/RenderBlockLineLayout.cpp:
2519         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
2520         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
2521         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
2522         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
2523         * rendering/RenderBox.cpp:
2524         (WebCore::RenderBox::scrollWidth):
2525         (WebCore::RenderBox::scrollHeight):
2526         * rendering/RenderBox.h:
2527         (WebCore::RenderBox::minYLayoutOverflow):
2528         (WebCore::RenderBox::maxYLayoutOverflow):
2529         (WebCore::RenderBox::minXLayoutOverflow):
2530         (WebCore::RenderBox::maxXLayoutOverflow):
2531         (WebCore::RenderBox::logicalLeftLayoutOverflow):
2532         (WebCore::RenderBox::logicalRightLayoutOverflow):
2533         (WebCore::RenderBox::minYVisualOverflow):
2534         (WebCore::RenderBox::maxYVisualOverflow):
2535         (WebCore::RenderBox::minXVisualOverflow):
2536         (WebCore::RenderBox::maxXVisualOverflow):
2537         (WebCore::RenderBox::logicalLeftVisualOverflow):
2538         (WebCore::RenderBox::logicalRightVisualOverflow):
2539         * rendering/RenderInline.cpp:
2540         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2541         * rendering/RenderLayerCompositor.cpp:
2542         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2543         * rendering/RenderLineBoxList.cpp:
2544         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2545         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2546         (WebCore::RenderLineBoxList::paint):
2547         (WebCore::RenderLineBoxList::hitTest):
2548         * rendering/RenderMarquee.cpp:
2549         (WebCore::RenderMarquee::computePosition):
2550         * rendering/RenderOverflow.h:
2551         (WebCore::RenderOverflow::RenderOverflow):
2552         (WebCore::RenderOverflow::minYLayoutOverflow):
2553         (WebCore::RenderOverflow::maxYLayoutOverflow):
2554         (WebCore::RenderOverflow::minXLayoutOverflow):
2555         (WebCore::RenderOverflow::maxXLayoutOverflow):
2556         (WebCore::RenderOverflow::minYVisualOverflow):
2557         (WebCore::RenderOverflow::maxYVisualOverflow):
2558         (WebCore::RenderOverflow::minXVisualOverflow):
2559         (WebCore::RenderOverflow::maxXVisualOverflow):
2560         (WebCore::RenderOverflow::setminYVisualOverflow):
2561         (WebCore::RenderOverflow::visualOverflowRect):
2562         (WebCore::RenderOverflow::move):
2563         (WebCore::RenderOverflow::addVisualOverflow):
2564         (WebCore::RenderOverflow::setVisualOverflow):
2565         * rendering/RenderReplaced.cpp:
2566         (WebCore::RenderReplaced::shouldPaint):
2567         * rendering/RenderTable.cpp:
2568         (WebCore::RenderTable::layout):
2569         (WebCore::RenderTable::paint):
2570         * rendering/RenderTableCell.cpp:
2571         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2572         * rendering/RenderTreeAsText.cpp:
2573         (WebCore::writeLayers):
2574         * rendering/RenderView.cpp:
2575         (WebCore::RenderView::docTop):
2576
2577 2011-02-02  Steve Lacey  <sjl@chromium.org>
2578
2579         Reviewed by Eric Carlson.
2580
2581         Implement basic media statistics on media elements.
2582         https://bugs.webkit.org/show_bug.cgi?id=53322
2583
2584         * Configurations/FeatureDefines.xcconfig:
2585         * GNUmakefile.am:
2586         * features.pri:
2587         * html/HTMLMediaElement.cpp:
2588         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
2589         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
2590         * html/HTMLMediaElement.h:
2591         * html/HTMLMediaElement.idl:
2592         * html/HTMLVideoElement.cpp:
2593         (WebCore::HTMLVideoElement::webkitDecodedFrames):
2594         (WebCore::HTMLVideoElement::webkitDroppedFrames):
2595         * html/HTMLVideoElement.h:
2596         * html/HTMLVideoElement.idl:
2597         * platform/graphics/MediaPlayer.cpp:
2598         (WebCore::MediaPlayer::decodedFrames):
2599         (WebCore::MediaPlayer::droppedFrames):
2600         (WebCore::MediaPlayer::audioBytesDecoded):
2601         (WebCore::MediaPlayer::videoBytesDecoded):
2602         * platform/graphics/MediaPlayer.h:
2603         * platform/graphics/MediaPlayerPrivate.h:
2604         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
2605         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
2606         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
2607         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
2608
2609 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
2610
2611         Reviewed by David Hyatt.
2612
2613         More conversion from right()/bottom() to maxX()/maxY().
2614
2615         * page/qt/FrameQt.cpp:
2616         (WebCore::Frame::dragImageForSelection):
2617         * platform/graphics/qt/GraphicsContextQt.cpp:
2618         (WebCore::GraphicsContext::roundToDevicePixels):
2619
2620 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
2621
2622         [wx] Build fixes for wxWebKit.
2623
2624         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
2625         (documentWrite):
2626         * bindings/scripts/CodeGeneratorCPP.pm:
2627         * page/wx/DragControllerWx.cpp:
2628         (WebCore::DragController::dragOperation):
2629         * platform/graphics/wx/FontCustomPlatformData.h:
2630         * platform/graphics/wx/FontPlatformData.h:
2631         (WebCore::FontPlatformData::widthVariant):
2632         * platform/graphics/wx/FontPlatformDataWx.cpp:
2633         (WebCore::FontPlatformData::computeHash):
2634         * platform/graphics/wx/FontWx.cpp:
2635         * platform/graphics/wx/GraphicsContextWx.cpp:
2636         (WebCore::GraphicsContext::fillPath):
2637         (WebCore::GraphicsContext::strokePath):
2638         * platform/wx/RenderThemeWx.cpp:
2639
2640 2011-02-02  David Hyatt  <hyatt@apple.com>
2641
2642         Reviewed by Darin Adler.
2643
2644         More right()/bottom() to maxX()/maxY() conversion.
2645
2646         * page/chromium/FrameChromium.cpp:
2647         (WebCore::Frame::nodeImage):
2648         (WebCore::Frame::dragImageForSelection):
2649
2650 2011-02-02  Sam Weinig  <sam@webkit.org>
2651
2652         Fix windows clean build.
2653
2654         * DerivedSources.make:
2655
2656 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
2657
2658         Reviewed by Pavel Feldman.
2659
2660         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
2661
2662         https://bugs.webkit.org/show_bug.cgi?id=53606
2663
2664         Display progress while taking a snapshot, and hints while loading
2665         and parsing. This is needed because taking detailed heap snapshots
2666         takes time.
2667
2668         * English.lproj/localizedStrings.js:
2669         * inspector/front-end/DetailedHeapshotView.js:
2670         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2671         * inspector/front-end/ProfilesPanel.js:
2672         (WebInspector.ProfilesPanel.prototype._reset):
2673         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2674         (WebInspector.ProfilesPanel.prototype.getProfiles):
2675         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2676         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
2677         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2678         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2679         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2680         * inspector/front-end/SidebarTreeElement.js:
2681         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
2682
2683 2011-02-02  David Hyatt  <hyatt@apple.com>
2684
2685         Reviewed by Darin Adler.
2686
2687         More conversion from right()/bottom() to maxX()/maxY().
2688
2689         * platform/win/PopupMenuWin.cpp:
2690         (WebCore::PopupMenuWin::calculatePositionAndSize):
2691         (WebCore::PopupMenuWin::paint):
2692
2693 2011-02-02  David Hyatt  <hyatt@apple.com>
2694
2695         Reviewed by Darin Adler.
2696
2697         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
2698
2699         * platform/chromium/PopupMenuChromium.cpp:
2700         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2701         (WebCore::PopupListBox::scrollToRevealRow):
2702         (WebCore::PopupListBox::layout):
2703         * platform/graphics/FloatRect.h:
2704         * platform/graphics/IntRect.h:
2705         * platform/graphics/cairo/ImageBufferCairo.cpp:
2706         (WebCore::getImageData):
2707         (WebCore::putImageData):
2708         * platform/graphics/chromium/GLES2Canvas.cpp:
2709         (WebCore::GLES2Canvas::drawTexturedRect):
2710         * platform/graphics/chromium/LayerRendererChromium.cpp:
2711         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2712         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2713         (WebCore::LayerRendererChromium::setScissorToRect):
2714         (WebCore::LayerRendererChromium::setDrawViewportRect):
2715         * platform/graphics/chromium/LayerTilerChromium.cpp:
2716         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2717         (WebCore::LayerTilerChromium::growLayerToContain):
2718         * platform/graphics/gpu/TilingData.cpp:
2719         (WebCore::TilingData::tileBoundsWithBorder):
2720         (WebCore::TilingData::overlappedTileIndices):
2721         * platform/graphics/qt/ImageBufferQt.cpp:
2722         (WebCore::getImageData):
2723         (WebCore::putImageData):
2724         * platform/graphics/skia/FloatRectSkia.cpp:
2725         (WebCore::FloatRect::operator SkRect):
2726         * platform/graphics/skia/ImageBufferSkia.cpp:
2727         (WebCore::getImageData):
2728         (WebCore::putImageData):
2729         * platform/graphics/skia/IntRectSkia.cpp:
2730         (WebCore::IntRect::operator SkIRect):
2731         (WebCore::IntRect::operator SkRect):
2732         * platform/graphics/skia/PlatformContextSkia.cpp:
2733         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2734         * platform/graphics/win/GraphicsContextWin.cpp:
2735         (WebCore::GraphicsContextPlatformPrivate::clip):
2736         * platform/graphics/win/IntRectWin.cpp:
2737         (WebCore::IntRect::operator RECT):
2738         * platform/graphics/win/UniscribeController.cpp:
2739         (WebCore::UniscribeController::shapeAndPlaceItem):
2740         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2741         (WebCore::roundRect):
2742         (WebCore::mapRect):
2743         (WebCore::TransparentLayerDC::TransparentLayerDC):
2744         (WebCore::GraphicsContext::drawRect):
2745         (WebCore::GraphicsContext::drawEllipse):
2746         (WebCore::GraphicsContext::strokeArc):
2747         (WebCore::GraphicsContext::clip):
2748         (WebCore::GraphicsContext::clipOut):
2749         (WebCore::GraphicsContext::strokeRect):
2750         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2751         (WebCore::GIFImageDecoder::initFrameBuffer):
2752         * platform/win/PopupMenuWin.cpp:
2753         (WebCore::PopupMenuWin::calculatePositionAndSize):
2754         (WebCore::PopupMenuWin::paint):
2755         * plugins/win/PluginViewWin.cpp:
2756         (WebCore::PluginView::updatePluginWidget):
2757         (WebCore::PluginView::invalidateRect):
2758         * rendering/RenderThemeSafari.cpp:
2759         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2760         (WebCore::RenderThemeSafari::paintMenuListButton):
2761         (WebCore::RenderThemeSafari::paintSliderTrack):
2762         * rendering/RenderThemeWin.cpp:
2763         (WebCore::RenderThemeWin::paintInnerSpinButton):
2764         (WebCore::RenderThemeWin::paintMenuListButton):
2765
2766 2011-02-02  Antti Koivisto  <antti@apple.com>
2767
2768         Reviewed by Maciej Stachowiak.
2769
2770         Use Vector instead of a linked list for rules in CSSStyleSelector
2771         https://bugs.webkit.org/show_bug.cgi?id=53581
2772         
2773         - eliminate CSSRuleDataList, replace with Vector<RuleData>
2774         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
2775           (these are selector internal classes, CSS prefix is better reserved for public ones).
2776         - constify a bit
2777         - shrink the vectors to fit after collecting the rules
2778
2779         * css/CSSStyleSelector.cpp:
2780         (WebCore::RuleData::RuleData):
2781         (WebCore::RuleData::position):
2782         (WebCore::RuleData::rule):
2783         (WebCore::RuleData::selector):
2784         (WebCore::RuleSet::disableAutoShrinkToFit):
2785         (WebCore::RuleSet::getIDRules):
2786         (WebCore::RuleSet::getClassRules):
2787         (WebCore::RuleSet::getTagRules):
2788         (WebCore::RuleSet::getPseudoRules):
2789         (WebCore::RuleSet::getUniversalRules):
2790         (WebCore::RuleSet::getPageRules):
2791         (WebCore::collectSiblingRulesInDefaultStyle):
2792         (WebCore::CSSStyleSelector::CSSStyleSelector):
2793         (WebCore::loadFullDefaultStyle):
2794         (WebCore::loadSimpleDefaultStyle):
2795         (WebCore::loadViewSourceStyle):
2796         (WebCore::CSSStyleSelector::matchRules):
2797         (WebCore::CSSStyleSelector::matchRulesForList):
2798         (WebCore::operator >):
2799         (WebCore::operator <=):
2800         (WebCore::CSSStyleSelector::sortMatchedRules):
2801         (WebCore::CSSStyleSelector::matchUARules):
2802         (WebCore::RuleSet::RuleSet):
2803         (WebCore::RuleSet::~RuleSet):
2804         (WebCore::RuleSet::addToRuleSet):
2805         (WebCore::RuleSet::addRule):
2806         (WebCore::RuleSet::addPageRule):
2807         (WebCore::RuleSet::addRulesFromSheet):
2808         (WebCore::RuleSet::addStyleRule):
2809         (WebCore::collectIdsAndSiblingRulesFromList):
2810         (WebCore::RuleSet::collectIdsAndSiblingRules):
2811         (WebCore::shrinkMapVectorsToFit):
2812         (WebCore::RuleSet::shrinkToFit):
2813         (WebCore::CSSStyleSelector::matchPageRules):
2814         (WebCore::CSSStyleSelector::matchPageRulesForList):
2815         * css/CSSStyleSelector.h:
2816         (WebCore::CSSStyleSelector::addMatchedRule):
2817
2818 2011-02-02  Andrey Adaikin  <aandrey@google.com>
2819
2820         Reviewed by Pavel Feldman.
2821
2822         Web Inspector: Use DIVs instead of TABLE in TextViewer
2823         https://bugs.webkit.org/show_bug.cgi?id=53299
2824
2825         * inspector/front-end/SourceFrame.js:
2826         (WebInspector.SourceFrame.prototype._createTextViewer):
2827         (WebInspector.SourceFrame.prototype._mouseDown):
2828         * inspector/front-end/TextViewer.js:
2829         (WebInspector.TextViewer):
2830         (WebInspector.TextViewer.prototype.set mimeType):
2831         (WebInspector.TextViewer.prototype.revealLine):
2832         (WebInspector.TextViewer.prototype.addDecoration):
2833         (WebInspector.TextViewer.prototype.removeDecoration):
2834         (WebInspector.TextViewer.prototype.markAndRevealRange):
2835         (WebInspector.TextViewer.prototype.highlightLine):
2836         (WebInspector.TextViewer.prototype.clearLineHighlight):
2837         (WebInspector.TextViewer.prototype.freeCachedElements):
2838         (WebInspector.TextViewer.prototype._handleKeyDown):
2839         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2840         (WebInspector.TextViewer.prototype.editLine):
2841         (WebInspector.TextViewer.prototype.beginUpdates):
2842         (WebInspector.TextViewer.prototype.endUpdates):
2843         (WebInspector.TextViewer.prototype.resize):
2844         (WebInspector.TextViewer.prototype._textChanged):
2845         (WebInspector.TextViewer.prototype._updatePanelOffsets):
2846         (WebInspector.TextViewer.prototype._syncScroll):
2847         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2848         (WebInspector.TextEditorChunkedPanel):
2849         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2850         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2851         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2852         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2853         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2854         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2855         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2856         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2857         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2858         (WebInspector.TextEditorChunkedPanel.prototype.resize):
2859         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2860         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2861         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2862         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2863         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2864         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2865         (WebInspector.TextEditorGutterPanel):
2866         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2867         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2868         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2869         (WebInspector.TextEditorGutterChunk):
2870         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2871         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2872         (WebInspector.TextEditorGutterChunk.prototype.get height):
2873         (WebInspector.TextEditorGutterChunk.prototype._createRow):
2874         (WebInspector.TextEditorMainPanel):
2875         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2876         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2877         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2878         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2879         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2880         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2881         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2882         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2883         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2884         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2885         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2886         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2887         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2888         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2889         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2890         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2891         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2892         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2893         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2894         (WebInspector.TextEditorMainChunk):
2895         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2896         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2897         (WebInspector.TextEditorMainChunk.prototype.get height):
2898         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2899         (WebInspector.TextEditorMainChunk.prototype._createRow):
2900         (WebInspector):
2901         * inspector/front-end/textViewer.css:
2902         (.text-editor-lines):
2903         (.text-editor-contents):
2904         (.text-editor-editable):
2905         (.webkit-line-decorations):
2906         (.webkit-line-number):
2907         (.webkit-execution-line.webkit-line-content):
2908         (.diff-container .webkit-added-line.webkit-line-content):
2909         (.diff-container .webkit-removed-line.webkit-line-content):
2910         (.diff-container .webkit-changed-line.webkit-line-content):
2911         (.webkit-highlighted-line.webkit-line-content):
2912
2913 2011-02-02  Hans Wennborg  <hans@chromium.org>
2914
2915         Reviewed by Jeremy Orlow.
2916
2917         IndexedDB: Implement support for cursor updates
2918         https://bugs.webkit.org/show_bug.cgi?id=53421
2919
2920         Implement support for cursor updates using the same pattern as cursor
2921         deletes: forward the calls to the IDBObjectStoreBackend::put().
2922         The put() function's signature needs to be changed to allow for a
2923         "cursor update mode". This makes the signature more clear anyway,
2924         since it replaces the boolean parameter.
2925
2926         Test: storage/indexeddb/cursor-update.html
2927
2928         * storage/IDBCursor.idl:
2929         * storage/IDBCursorBackendImpl.cpp:
2930         (WebCore::IDBCursorBackendImpl::key):
2931         (WebCore::IDBCursorBackendImpl::update):
2932         * storage/IDBCursorBackendImpl.h:
2933         * storage/IDBObjectStore.cpp:
2934         (WebCore::IDBObjectStore::add):
2935         (WebCore::IDBObjectStore::put):
2936         * storage/IDBObjectStoreBackendImpl.cpp:
2937         (WebCore::IDBObjectStoreBackendImpl::put):
2938         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2939         * storage/IDBObjectStoreBackendImpl.h:
2940         * storage/IDBObjectStoreBackendInterface.h:
2941
2942 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
2943
2944         Reviewed by Kent Tamura.
2945
2946         Fix popup menu RTL bug introduced by Changeset 75982.
2947         https://bugs.webkit.org/show_bug.cgi?id=53567
2948
2949         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2950
2951         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2952
2953         * platform/chromium/PopupMenuChromium.cpp:
2954         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
2955         (WebCore::PopupContainer::showPopup): Change the passing parameter.
2956         (WebCore::PopupContainer::refresh): Change the passing parameter.
2957         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2958
2959 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2960
2961         Reviewed by Martin Robinson.
2962
2963         [GTK] Fix dist compilation
2964         https://bugs.webkit.org/show_bug.cgi?id=53579
2965
2966         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2967         added in r77153.
2968
2969 2011-02-02  Dai Mikurube  <dmikurube@google.com>
2970
2971         Reviewed by David Levin.
2972
2973         Make mime type lookup in File::create(path) thread-safe
2974         https://bugs.webkit.org/show_bug.cgi?id=47700
2975
2976         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2977         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2978         both FILE_SYSTEM and WORKERS are enabled.
2979
2980         No tests for this patch. This patch itself doesn't change the behaviors.
2981         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2982         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2983         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2984         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2985
2986         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2987         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2988         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2989         * platform/android/TemporaryLinkStubs.cpp:
2990         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2991         * platform/brew/MIMETypeRegistryBrew.cpp:
2992         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2993         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2994         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2995         * platform/efl/MIMETypeRegistryEfl.cpp:
2996         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2997         * platform/gtk/MIMETypeRegistryGtk.cpp:
2998         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2999         * platform/haiku/MIMETypeRegistryHaiku.cpp:
3000         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3001         * platform/mac/MIMETypeRegistryMac.mm:
3002         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3003         * platform/qt/MIMETypeRegistryQt.cpp:
3004         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3005         * platform/win/MIMETypeRegistryWin.cpp:
3006         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3007         * platform/wince/MIMETypeRegistryWinCE.cpp:
3008         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3009         * platform/wx/MimeTypeRegistryWx.cpp:
3010         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3011
3012 2011-02-01  Adam Barth  <abarth@webkit.org>
3013
3014         Reviewed by Alexey Proskuryakov.
3015
3016         Improve readability of updateWidget by converting bool parameter to an enum
3017         https://bugs.webkit.org/show_bug.cgi?id=53576
3018
3019         As requested on webkit-dev.
3020
3021         * html/HTMLEmbedElement.cpp:
3022         (WebCore::HTMLEmbedElement::updateWidget):
3023         * html/HTMLEmbedElement.h:
3024         * html/HTMLMediaElement.cpp:
3025         (WebCore::HTMLMediaElement::updateWidget):
3026         * html/HTMLMediaElement.h:
3027         * html/HTMLObjectElement.cpp:
3028         (WebCore::HTMLObjectElement::updateWidget):
3029         * html/HTMLObjectElement.h:
3030         * html/HTMLPlugInImageElement.cpp:
3031         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
3032         * html/HTMLPlugInImageElement.h:
3033         * page/FrameView.cpp:
3034         (WebCore::FrameView::updateWidget):
3035
3036 2011-02-01  James Robinson  <jamesr@chromium.org>
3037
3038         Reviewed by Adam Barth.
3039
3040         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
3041         https://bugs.webkit.org/show_bug.cgi?id=53566
3042
3043         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
3044         Other than being large enough for this one test case, this limit is arbitrary.
3045
3046         * bindings/v8/V8Proxy.h:
3047
3048 2011-02-01  Adam Barth  <abarth@webkit.org>
3049
3050         Reviewed by Andreas Kling.
3051
3052         Remove useless comment
3053         https://bugs.webkit.org/show_bug.cgi?id=53549
3054
3055         The reason for this parameter is captured in
3056         plugins/netscape-plugin-setwindow-size.html, which is a better place to
3057         capture it than in this comment (which otherwise just re-iterates the
3058         name of the parameter).
3059
3060         * html/HTMLPlugInImageElement.cpp:
3061         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
3062
3063 2011-02-01  James Simonsen  <simonjam@chromium.org>
3064
3065         Reviewed by Tony Gentilcore.
3066
3067         [WebTiming] Remove asserts that verify timestamp order
3068         https://bugs.webkit.org/show_bug.cgi?id=53548
3069
3070         Covered by existing tests.
3071
3072         * loader/FrameLoader.cpp:
3073         (WebCore::FrameLoader::stopLoading): Remove assert.
3074         * page/DOMWindow.cpp:
3075         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
3076
3077 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
3078
3079         Add the 'default_targets' enclosure to the flags.
3080
3081         * WebCore.gyp/WebCore.gyp: Did it.
3082
3083 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
3084
3085         Reviewed by James Robinson.
3086
3087         Async event handlers should not fire within a modal dialog
3088         https://bugs.webkit.org/show_bug.cgi?id=53202
3089
3090         Asychronous events that use EventQueue would currently fire while a
3091         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3092         SuspendableTimer (which automatically gets suspended while dialogs are
3093         up and in other cases where JS execution is not allowed).
3094         
3095         Test: fast/events/scroll-event-during-modal-dialog.html
3096
3097         * dom/Document.cpp:
3098         (WebCore::Document::Document):
3099         * dom/EventQueue.cpp:
3100         (WebCore::EventQueueTimer::EventQueueTimer):
3101         (WebCore::EventQueueTimer::fired):
3102         (WebCore::EventQueue::EventQueue):
3103         (WebCore::EventQueue::enqueueEvent):
3104         (WebCore::EventQueue::pendingEventTimerFired):
3105         * dom/EventQueue.h:
3106         (WebCore::EventQueue::create):
3107         * page/SuspendableTimer.cpp:
3108         (WebCore::SuspendableTimer::SuspendableTimer):
3109         (WebCore::SuspendableTimer::suspend):
3110         (WebCore::SuspendableTimer::resume):
3111         * page/SuspendableTimer.h:
3112
3113 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
3114
3115         Reviewed by Andreas Kling.
3116
3117         Change wrong PLATFORM(WIN) to USE(WININET)
3118         https://bugs.webkit.org/show_bug.cgi?id=53547
3119
3120         * platform/network/ResourceHandle.h:
3121
3122 2011-02-01  Beth Dakin  <bdakin@apple.com>
3123
3124         32-bit build fix.
3125
3126         * platform/mac/ScrollAnimatorMac.mm:
3127         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3128
3129 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
3130
3131         Reviewed by Gustavo Noronha Silva.
3132
3133         [GTK] Two tests crash after r76555
3134         https://bugs.webkit.org/show_bug.cgi?id=53057
3135
3136         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
3137         This ensures that ::start() is not called when there is a scheduled failure and also
3138         reduces code duplication.
3139
3140         * platform/network/soup/ResourceHandleSoup.cpp:
3141         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
3142
3143 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
3144
3145         Reviewed by Eric Seidel.
3146
3147         [GTK] GObject DOM bindings do no support the CallWith attribute
3148         https://bugs.webkit.org/show_bug.cgi?id=53331
3149
3150         Disable building GObject DOM bindings for IndexedDB because we do not support
3151         the CallWith attribute at this time.
3152
3153         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
3154
3155 2011-02-01  Darin Adler  <darin@apple.com>
3156
3157         Reviewed by Brady Eidson.
3158
3159         Fix a couple loose ends from the back/forward tree encode/decode work
3160         https://bugs.webkit.org/show_bug.cgi?id=53537
3161
3162         * history/HistoryItem.cpp:
3163         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
3164         original URL string; no need to encode it twice.
3165         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
3166         * history/HistoryItem.h: Removed declaration for function that is no
3167         longer defined nor used.
3168
3169 2011-02-01  Tony Chang  <tony@chromium.org>
3170
3171         Reviewed by Kent Tamura.
3172
3173         [chromium] disable arm uninitialized variable warnings
3174         https://bugs.webkit.org/show_bug.cgi?id=53553
3175
3176         We just got another error:
3177         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
3178         'colorTransparent.unstatic.4879' may be used uninitialized in this
3179         function
3180
3181         * WebCore.gyp/WebCore.gyp:
3182
3183 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
3184
3185         Reviewed by Adam Barth.
3186
3187         Self-replicating code makes Safari hang and eventually crash
3188         https://bugs.webkit.org/show_bug.cgi?id=15123
3189
3190        
3191         Here we are replicating the Firefox safeguard against
3192         recursive document.write( ) 's.
3193
3194         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
3195         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
3196             a) imposes a recursion limit of 20 on document.write( ) and
3197             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
3198         To see why this is necessary, consider the script : 
3199
3200         <script>
3201            var t = document.body.innerHTML;
3202            document.write(t);
3203         </script> 
3204
3205         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
3206         we just return one level after the recursion limit is reached, we still allow millions of copies to 
3207         duplicate (and execute).   
3208
3209         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
3210         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
3211
3212         Test: fast/dom/Document/document-write-recursion.html        
3213         Test: fast/dom/Document/document-close-iframe-load.html
3214         Test: fast/dom/Document/document-close-nested-iframe-load.html
3215
3216
3217         * dom/Document.cpp:
3218         (WebCore::Document::Document):
3219         (WebCore::Document::write):
3220         * dom/Document.h:
3221
3222 2011-02-01  Johnny Ding  <jnd@chromium.org>
3223
3224         Reviewed by Darin Adler.
3225
3226         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
3227         https://bugs.webkit.org/show_bug.cgi?id=53424
3228
3229         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
3230
3231         * html/HTMLAnchorElement.cpp:
3232         (WebCore::handleLinkClick):
3233
3234 2011-02-01  Csaba Osztrogonác  <ossy@webkit.org>
3235
3236         Unreviewed Qt buildfix after r77286.
3237
3238         https://bugs.webkit.org/show_bug.cgi?id=53520 
3239         Remove the physical terminology from IntRect and FloatRect.
3240
3241         * platform/graphics/TiledBackingStore.cpp:
3242         (WebCore::TiledBackingStore::createTiles):
3243
3244 2011-02-01  Sam Weinig  <sam@webkit.org>
3245
3246         Fix Mac production builds.
3247
3248         * DerivedSources.make:
3249         * WebCore.xcodeproj/project.pbxproj:
3250         * platform/mac/ScrollAnimatorMac.h:
3251         * platform/mac/ScrollbarThemeMac.h:
3252
3253 2011-02-01  Darin Adler  <darin@apple.com>
3254
3255         Reviewed by Chris Fleizach.
3256
3257         REGRESSION: Removing focus from area element causes unwanted scrolling
3258         https://bugs.webkit.org/show_bug.cgi?id=50169
3259
3260         Test: fast/images/imagemap-scroll.html
3261
3262         * html/HTMLAreaElement.cpp:
3263         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
3264         RenderImage::areaElementFocusChanged function.
3265         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
3266         here that calls setNeedsLayout on the image's renderer. This was an
3267         attempt to cause repaint of the renderer, but this function does not
3268         need to do that. Also changed this to use the imageElement function
3269         to avoid repeating code.
3270
3271         * html/HTMLAreaElement.h: Updated for above changes.
3272
3273         * rendering/RenderImage.cpp:
3274         (WebCore::RenderImage::paint): Updated for name change.
3275         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
3276         paintFocusRing, because it only paints area focus rings, and should
3277         not be confused with paintFocusRing functions in other classes. Also
3278         removed the unused style argument. Removed the code that used an
3279         HTMLCollection to see if the focused area element is for this image
3280         and instead just call imageElement on the area element.
3281         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
3282
3283         * rendering/RenderImage.h: Added a public areaElementFocusChanged
3284         function for HTMLAreaElement to call. Made the paintFocusRing function
3285         private, renamed it to paintAreaElementFocusRing, and removed its
3286         unused style argument.
3287
3288 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
3289
3290         Unreviewed WinCE build fix for r77286.
3291
3292         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3293         (WebCore::TransparentLayerDC::TransparentLayerDC):
3294
3295 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
3296
3297         Reviewed by Darin Adler.
3298
3299         AX: AXPosition of AXScrollArea is wrong
3300         https://bugs.webkit.org/show_bug.cgi?id=53511
3301
3302         AccessibilityScrollView needed to return a valid documentFrameView() object.
3303         At the same time, the code from document() should be consolidated in 
3304         AccessibilityObject, so all objects can use it.
3305
3306         Test: platform/mac/accessibility/webkit-scrollarea-position.html
3307
3308         * accessibility/AccessibilityObject.cpp:
3309         (WebCore::AccessibilityObject::document):
3310         * accessibility/AccessibilityObject.h:
3311         * accessibility/AccessibilityScrollView.cpp:
3312         (WebCore::AccessibilityScrollView::accessibilityHitTest):
3313         (WebCore::AccessibilityScrollView::documentFrameView):
3314         * accessibility/AccessibilityScrollView.h:
3315
3316 2011-02-01  Zhenyao Mo  <zmo@google.com>
3317
3318         Reviewed by Kenneth Russell.
3319
3320         getUniform should support SAMPLER_2D or SAMPLER_CUBE
3321         https://bugs.webkit.org/show_bug.cgi?id=52190
3322
3323         * html/canvas/WebGLRenderingContext.cpp:
3324         (WebCore::WebGLRenderingContext::getUniform):
3325
3326 2011-02-01  Zhenyao Mo  <zmo@google.com>
3327
3328         Reviewed by Darin Adler.
3329
3330         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
3331         https://bugs.webkit.org/show_bug.cgi?id=53531
3332
3333         With this fix, running WebGL conformance tests should no longer crash randomly.
3334
3335         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3336         (WebCore::GraphicsContext3D::getImageData):
3337
3338 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
3339
3340         One more Chromium build fix after r77286.
3341
3342         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3343         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
3344
3345 2011-02-01  Sam Weinig  <sam@webkit.org>
3346
3347         Fix the build for Beth.
3348
3349         * platform/mac/ScrollAnimatorMac.mm:
3350         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3351
3352 2011-02-01  Sam Weinig  <sam@webkit.org>
3353
3354         Reviewed by Beth Dakin.
3355
3356         Part 2 for <rdar://problem/8492788>
3357         Adopt WKScrollbarPainterController
3358
3359         Use header detection to define scrollbar painting controller #define.
3360
3361         * WebCore.exp.in:
3362         * platform/mac/ScrollAnimatorMac.h:
3363         * platform/mac/ScrollbarThemeMac.h:
3364         * platform/mac/WebCoreSystemInterface.h:
3365         * platform/mac/WebCoreSystemInterface.mm:
3366
3367 2011-02-01  David Hyatt  <hyatt@apple.com>
3368
3369         Reviewed by Oliver Hunt.
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=53520
3372         
3373         Remove the physical terminology from IntRect and FloatRect.
3374         
3375         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
3376         we need to update our terminology to be more accurate.
3377
3378         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
3379         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
3380         even for flipped rectangles.
3381
3382         * accessibility/AccessibilityRenderObject.cpp:
3383         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3384         * accessibility/mac/AccessibilityObjectWrapper.mm:
3385         (-[AccessibilityObjectWrapper position]):
3386         * dom/ClientRect.h:
3387         (WebCore::ClientRect::right):
3388         (WebCore::ClientRect::bottom):
3389         * html/HTMLCanvasElement.cpp:
3390         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
3391         * html/canvas/CanvasRenderingContext2D.cpp:
3392         (WebCore::normalizeRect):
3393         * inspector/InspectorAgent.cpp:
3394         (WebCore::InspectorAgent::drawElementTitle):
3395         * page/DOMWindow.cpp:
3396         (WebCore::DOMWindow::adjustWindowRect):
3397         * page/DragController.cpp:
3398         (WebCore::dragLocForSelectionDrag):
3399         * page/EventHandler.cpp:
3400         (WebCore::EventHandler::sendContextMenuEventForKey):
3401         * page/PrintContext.cpp:
3402         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3403         (WebCore::PrintContext::pageNumberForElement):
3404         * page/SpatialNavigation.cpp:
3405         (WebCore::end):
3406         (WebCore::areRectsFullyAligned):
3407         (WebCore::areRectsMoreThanFullScreenApart):
3408         (WebCore::below):
3409         (WebCore::rightOf):
3410         (WebCore::isRectInDirection):
3411         (WebCore::entryAndExitPointsForDirection):
3412         (WebCore::virtualRectForDirection):
3413         * page/WindowFeatures.cpp:
3414         (WebCore::WindowFeatures::WindowFeatures):
3415         * platform/ScrollView.cpp:
3416         (WebCore::ScrollView::wheelEvent):
3417         * platform/Scrollbar.cpp:
3418         (WebCore::Scrollbar::setFrameRect):
3419         * platform/ScrollbarThemeComposite.cpp:
3420         (WebCore::ScrollbarThemeComposite::splitTrack):
3421         * platform/chromium/ScrollbarThemeChromium.cpp:
3422         (WebCore::ScrollbarThemeChromium::paintTickmarks):
3423         * platform/graphics/FloatQuad.h:
3424         (WebCore::FloatQuad::FloatQuad):
3425         * platform/graphics/FloatRect.cpp:
3426         (WebCore::FloatRect::intersects):
3427         (WebCore::FloatRect::contains):
3428         (WebCore::FloatRect::intersect):
3429         (WebCore::FloatRect::unite):
3430         (WebCore::enclosingIntRect):
3431         * platform/graphics/FloatRect.h:
3432         (WebCore::FloatRect::maxX):
3433         (WebCore::FloatRect::maxY):
3434         (WebCore::FloatRect::contains):
3435         * platform/graphics/IntRect.cpp:
3436         (WebCore::IntRect::intersects):
3437         (WebCore::IntRect::contains):
3438         (WebCore::IntRect::intersect):
3439         (WebCore::IntRect::unite):
3440         * platform/graphics/IntRect.h:
3441         (WebCore::IntRect::maxX):
3442         (WebCore::IntRect::maxY):
3443         (WebCore::IntRect::shiftXEdgeTo):
3444         (WebCore::IntRect::shiftMaxXEdgeTo):
3445         (WebCore::IntRect::shiftYEdgeTo):
3446         (WebCore::IntRect::shiftMaxYEdgeTo):
3447         (WebCore::IntRect::contains):
3448         * platform/graphics/WidthIterator.cpp:
3449         (WebCore::WidthIterator::advance):
3450         * platform/graphics/cg/GraphicsContextCG.cpp:
3451         (WebCore::GraphicsContext::drawRect):
3452         (WebCore::GraphicsContext::fillPath):
3453         (WebCore::GraphicsContext::fillRect):
3454         * platform/graphics/cg/ImageBufferCG.cpp:
3455         (WebCore::getImageData):
3456         (WebCore::putImageData):
3457         * platform/graphics/cg/ImageCG.cpp:
3458         (WebCore::BitmapImage::draw):
3459         * platform/graphics/filters/FilterEffect.cpp:
3460         (WebCore::FilterEffect::copyImageBytes):
3461         * platform/graphics/mac/ComplexTextController.cpp:
3462         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3463         * platform/graphics/mac/SimpleFontDataMac.mm:
3464         (WebCore::SimpleFontData::platformBoundsForGlyph):
3465         * platform/graphics/transforms/AffineTransform.cpp:
3466         (WebCore::AffineTransform::mapRect):
3467         * platform/graphics/win/FontCGWin.cpp:
3468         (WebCore::drawGDIGlyphs):
3469         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3470         (WebCore::MediaPlayerPrivate::paint):
3471         * platform/gtk/RenderThemeGtk.cpp:
3472         (WebCore::centerRectVerticallyInParentInputElement):
3473         * platform/mac/WidgetMac.mm:
3474         (WebCore::Widget::paint):
3475         * rendering/InlineFlowBox.cpp:
3476         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3477         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3478         * rendering/InlineTextBox.cpp:
3479         (WebCore::InlineTextBox::selectionRect):
3480         (WebCore::InlineTextBox::paint):
3481         (WebCore::InlineTextBox::positionForOffset):
3482         * rendering/RenderBlock.cpp:
3483         (WebCore::RenderBlock::addOverflowFromChildren):
3484         (WebCore::RenderBlock::paintChildren):
3485         (WebCore::RenderBlock::paintEllipsisBoxes):
3486         (WebCore::RenderBlock::inlineSelectionGaps):
3487         (WebCore::RenderBlock::adjustPointToColumnContents):
3488         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
3489         (WebCore::RenderBlock::adjustForColumns):
3490         * rendering/RenderBlock.h:
3491         (WebCore::RenderBlock::FloatingObject::right):
3492         (WebCore::RenderBlock::FloatingObject::bottom):
3493         * rendering/RenderBox.cpp:
3494         (WebCore::RenderBox::reflectedRect):
3495         (WebCore::RenderBox::localCaretRect):
3496         (WebCore::RenderBox::addShadowOverflow):
3497         (WebCore::RenderBox::addLayoutOverflow):
3498         (WebCore::RenderBox::visualOverflowRectForPropagation):
3499         (WebCore::RenderBox::layoutOverflowRectForPropagation):
3500         (WebCore::RenderBox::flipForWritingMode):
3501         * rendering/RenderFrameSet.cpp:
3502         (WebCore::RenderFrameSet::paintColumnBorder):
3503         (WebCore::RenderFrameSet::paintRowBorder):
3504         * rendering/RenderInline.cpp:
3505         (WebCore::RenderInline::paintOutlineForLine):
3506         * rendering/RenderLayer.cpp:
3507         (WebCore::RenderLayer::getRectToExpose):
3508         (WebCore::cornerRect):
3509         (WebCore::RenderLayer::positionOverflowControls):
3510         (WebCore::RenderLayer::overflowBottom):
3511         (WebCore::RenderLayer::overflowRight):
3512         (WebCore::RenderLayer::paintResizer):
3513         * rendering/RenderLineBoxList.cpp:
3514         (WebCore::RenderLineBoxList::rangeIntersectsRect):
3515         (WebCore::RenderLineBoxList::paint):
3516         * rendering/RenderListItem.cpp:
3517         (WebCore::RenderListItem::positionListMarker):
3518         * rendering/RenderListMarker.cpp:
3519         (WebCore::RenderListMarker::paint):
3520         * rendering/RenderObject.cpp:
3521         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3522         * rendering/RenderOverflow.h:
3523         (WebCore::RenderOverflow::RenderOverflow):
3524         (WebCore::RenderOverflow::addLayoutOverflow):
3525         (WebCore::RenderOverflow::addVisualOverflow):
3526         (WebCore::RenderOverflow::setLayoutOverflow):
3527         (WebCore::RenderOverflow::setVisualOverflow):
3528         (WebCore::RenderOverflow::resetLayoutOverflow):
3529         * rendering/RenderReplaced.cpp:
3530         (WebCore::RenderReplaced::shouldPaint):
3531         * rendering/RenderScrollbarTheme.cpp:
3532         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
3533         * rendering/RenderTable.cpp:
3534         (WebCore::RenderTable::paint):
3535         * rendering/RenderTableCell.cpp:
3536         (WebCore::RenderTableCell::paint):
3537         * rendering/RenderTableSection.cpp:
3538         (WebCore::RenderTableSection::paintObject):
3539         * rendering/RenderText.cpp:
3540         (WebCore::RenderText::absoluteQuads):
3541         * rendering/RenderTextControlSingleLine.cpp:
3542         (WebCore::RenderTextControlSingleLine::forwardEvent):
3543         * rendering/RenderThemeMac.mm:
3544         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3545         (WebCore::RenderThemeMac::paintMenuListButton):
3546         (WebCore::RenderThemeMac::paintSliderTrack):
3547         * rendering/RenderView.cpp:
3548         (WebCore::RenderView::computeRectForRepaint):
3549         (WebCore::RenderView::docBottom):
3550         (WebCore::RenderView::docRight):
3551         * rendering/RootInlineBox.cpp:
3552         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3553         * rendering/svg/RenderSVGInlineText.cpp:
3554         (WebCore::RenderSVGInlineText::localCaretRect):
3555
3556 2011-02-01  Beth Dakin  <bdakin@apple.com>
3557
3558         Reviewed by Sam Weinig.
3559
3560         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
3561
3562         Lots of new WebCoreSystemInterface functions to export.
3563         * WebCore.exp.in:
3564         * platform/mac/WebCoreSystemInterface.h:
3565         * platform/mac/WebCoreSystemInterface.mm:
3566
3567         Let the scrollAnimator know when the mouse has