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