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