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