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