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