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