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