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