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