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