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