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