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