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