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