57 #include "HTMLNames.h" |
57 #include "HTMLNames.h" |
58 #include "HitTestRequest.h" |
58 #include "HitTestRequest.h" |
59 #include "HitTestResult.h" |
59 #include "HitTestResult.h" |
60 #include "OverflowEvent.h" |
60 #include "OverflowEvent.h" |
61 #include "PlatformMouseEvent.h" |
61 #include "PlatformMouseEvent.h" |
62 #include "PlatformScrollBar.h" |
62 #include "PlatformScrollbar.h" |
63 #include "RenderArena.h" |
63 #include "RenderArena.h" |
64 #include "RenderInline.h" |
64 #include "RenderInline.h" |
65 #include "RenderTheme.h" |
65 #include "RenderTheme.h" |
66 #include "RenderView.h" |
66 #include "RenderView.h" |
67 #include "SelectionController.h" |
67 #include "SelectionController.h" |
891 bool isBoxSizingBorder = renderer->style()->boxSizing() == BORDER_BOX; |
891 bool isBoxSizingBorder = renderer->style()->boxSizing() == BORDER_BOX; |
892 |
892 |
893 ExceptionCode ec; |
893 ExceptionCode ec; |
894 |
894 |
895 if (difference.width()) { |
895 if (difference.width()) { |
896 if (element->isControl()) { |
896 if (element && element->isControl()) { |
897 // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>). |
897 // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>). |
898 style->setProperty(CSS_PROP_MARGIN_LEFT, String::number(renderer->marginLeft()) + "px", false, ec); |
898 style->setProperty(CSS_PROP_MARGIN_LEFT, String::number(renderer->marginLeft()) + "px", false, ec); |
899 style->setProperty(CSS_PROP_MARGIN_RIGHT, String::number(renderer->marginRight()) + "px", false, ec); |
899 style->setProperty(CSS_PROP_MARGIN_RIGHT, String::number(renderer->marginRight()) + "px", false, ec); |
900 } |
900 } |
901 int baseWidth = renderer->width() - (isBoxSizingBorder ? 0 |
901 int baseWidth = renderer->width() - (isBoxSizingBorder ? 0 |
902 : renderer->borderLeft() + renderer->paddingLeft() + renderer->borderRight() + renderer->paddingRight()); |
902 : renderer->borderLeft() + renderer->paddingLeft() + renderer->borderRight() + renderer->paddingRight()); |
903 style->setProperty(CSS_PROP_WIDTH, String::number(baseWidth + difference.width()) + "px", false, ec); |
903 style->setProperty(CSS_PROP_WIDTH, String::number(baseWidth + difference.width()) + "px", false, ec); |
904 } |
904 } |
905 |
905 |
906 if (difference.height()) { |
906 if (difference.height()) { |
907 if (element->isControl()) { |
907 if (element && element->isControl()) { |
908 // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>). |
908 // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>). |
909 style->setProperty(CSS_PROP_MARGIN_TOP, String::number(renderer->marginTop()) + "px", false, ec); |
909 style->setProperty(CSS_PROP_MARGIN_TOP, String::number(renderer->marginTop()) + "px", false, ec); |
910 style->setProperty(CSS_PROP_MARGIN_BOTTOM, String::number(renderer->marginBottom()) + "px", false, ec); |
910 style->setProperty(CSS_PROP_MARGIN_BOTTOM, String::number(renderer->marginBottom()) + "px", false, ec); |
911 } |
911 } |
912 int baseHeight = renderer->height() - (isBoxSizingBorder ? 0 |
912 int baseHeight = renderer->height() - (isBoxSizingBorder ? 0 |
1296 |
1296 |
1297 // Paint the resizer control. |
1297 // Paint the resizer control. |
1298 static Image* resizeCornerImage; |
1298 static Image* resizeCornerImage; |
1299 if (!resizeCornerImage) |
1299 if (!resizeCornerImage) |
1300 resizeCornerImage = Image::loadPlatformResource("textAreaResizeCorner"); |
1300 resizeCornerImage = Image::loadPlatformResource("textAreaResizeCorner"); |
1301 #if PLATFORM(SYMBIAN) |
1301 IntPoint imagePoint(scrollCorner.right() - resizeCornerImage->width(), scrollCorner.bottom() - resizeCornerImage->height()); |
1302 if(resizeCornerImage){ |
1302 p->drawImage(resizeCornerImage, imagePoint); |
1303 IntPoint imagePoint(scrollCorner.right() - resizeCornerImage->width(), scrollCorner.bottom() - resizeCornerImage->height()); |
1303 |
1304 p->drawImage(resizeCornerImage, imagePoint); |
|
1305 } |
|
1306 #else |
|
1307 IntPoint imagePoint(scrollCorner.right() - resizeCornerImage->width(), scrollCorner.bottom() - resizeCornerImage->height()); |
|
1308 p->drawImage(resizeCornerImage, imagePoint); |
|
1309 #endif |
|
1310 // Draw a frame around the resizer (1px grey line) if there are any scrollbars present. |
1304 // Draw a frame around the resizer (1px grey line) if there are any scrollbars present. |
1311 // Clipping will exclude the right and bottom edges of this frame. |
1305 // Clipping will exclude the right and bottom edges of this frame. |
1312 if (m_hBar || m_vBar) { |
1306 if (m_hBar || m_vBar) { |
1313 p->save(); |
1307 p->save(); |
1314 scrollCorner.setSize(IntSize(scrollCorner.width() + 1, scrollCorner.height() + 1)); |
1308 scrollCorner.setSize(IntSize(scrollCorner.width() + 1, scrollCorner.height() + 1)); |