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