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