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