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