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