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