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